plugins/admin/PageGroups.php
author Dan
Wed, 12 Dec 2007 21:37:23 -0500
changeset 317 f8356d9c3481
parent 195 eec079676fe7
child 326 ab66d6d1f1f4
permissions -rw-r--r--
Rebrand as 1.0.3 (Dyrad)
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
        $json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   485
        $return = array('successful' => false);
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
        //
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   488
        // Add the specified page to the group
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
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   491
        // Get ID of the group
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   492
        $edit_id = intval($_POST['pg_id']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   493
        if ( !$edit_id )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   494
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   495
          $return = array('mode' => 'error', 'text' => 'Hack attempt');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   496
          echo $json->encode($return);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   497
          return;
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
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   500
        // 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
   501
        $page = $_POST['new_page'];
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   502
        if ( empty($page) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   503
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   504
          $return = array('mode' => 'error', 'text' => 'Please enter a page title.');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   505
          echo $json->encode($return);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   506
          return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   507
        }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   508
        
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
   509
        /*
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
   510
        // We're gonna allow adding nonexistent pages for now
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   511
        if ( !isPage($page) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   512
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   513
          $return = array('mode' => 'error', 'text' => 'The page you are trying to add (' . htmlspecialchars($page) . ') does not exist.');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   514
          echo $json->encode($return);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   515
          return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   516
        }
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
   517
        */
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   518
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   519
        list($page_id, $namespace) = RenderMan::strToPageID($page);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   520
        $page_id = sanitize_page_id($page_id);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   521
        
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
   522
        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
   523
        {
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
   524
          $return = array('mode' => 'error', 'text' => 'Invalid namespace return from RenderMan::strToPageID()');
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
          echo $json->encode($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
          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
   527
        }
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
   528
        
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   529
        $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
   530
        if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   531
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   532
          $return = array('mode' => 'error', 'text' => $db->get_error());
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   533
          echo $json->encode($return);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   534
          return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   535
        }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   536
        if ( $db->numrows() > 0 )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   537
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   538
          $return = array('mode' => 'error', 'text' => 'The page you are trying to add is already in this group.');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   539
          echo $json->encode($return);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   540
          return;
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
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   543
        $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
   544
        if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   545
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   546
          $return = array('mode' => 'error', 'text' => $db->get_error());
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   547
          echo $json->encode($return);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   548
          return;
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
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   551
        $title = "($namespace) " . get_page_title($paths->nslist[$namespace] . $page_id);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   552
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   553
        $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
   554
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   555
        echo $json->encode($return);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   556
        return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   557
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   558
      
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
   559
      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
   560
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   561
        $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
   562
        $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
   563
        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
   564
        {
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
          // 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
   566
          $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
   567
          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
   568
          {
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
            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
   570
          }
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
          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
   572
          {
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
            $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
   574
            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
   575
              $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
   576
            $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
   577
            $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
   578
            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
   579
            {
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
              $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
   581
              $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
   582
              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
   583
                $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
   584
              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
   585
                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
   586
            }
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
            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
   588
            {
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 = $_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
   590
              $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
   591
              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
   592
              {
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
                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
   594
              }
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
              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
   596
              {
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
                $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
   598
                $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
   599
                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
   600
                  $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
   601
                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
   602
                  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
   603
              }
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
   604
            }
183
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   605
            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
   606
            {
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   607
              $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
   608
              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
   609
              {
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   610
                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
   611
              }
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   612
              else
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   613
              {
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   614
                $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
   615
                $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
   616
                if ( !$q )
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   617
                  $db->_die();
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   618
                else
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   619
                  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
   620
              }
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   621
            }
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
   622
            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
   623
            {
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
              $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
   625
              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
   626
              {
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
                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
   628
              }
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
              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
   630
              {
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
                $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
   632
                $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
   633
                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
   634
                  $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
   635
                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
   636
                  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
   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
      }
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
      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
   643
      {
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 = $_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
   645
        $edit_id = intval($edit_id);
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   646
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   647
      else
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   648
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   649
        $edit_id = array_keys($_POST['action']['edit']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   650
        $edit_id = intval($edit_id[0]);
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
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   653
      if ( empty($edit_id) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   654
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   655
        echo 'Hack attempt';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   656
        return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   657
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   658
      
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
   659
      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
   660
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   661
        $vals = array_keys($_POST['action']['edit_save']['rm']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   662
        $good = array();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   663
        foreach ( $vals as $id )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   664
        {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   665
          if ( strval(intval($id)) == $id )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   666
            $good[] = $id;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   667
        }
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
   668
        $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
   669
        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
   670
        {
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
          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
   672
        }
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
   673
        else
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   674
        {
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
   675
          $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
   676
          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
   677
          {
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
            $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
   679
          }
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
   680
          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
   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
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   684
      // Fetch information about page group
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   685
      $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
   686
      if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   687
        $db->_die();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   688
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   689
      if ( $db->numrows() < 1 )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   690
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   691
        echo 'Bad request - can\'t load page group from database.';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   692
        return;
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
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   695
      $row = $db->fetchrow();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   696
      $db->free_result();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   697
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   698
      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
   699
      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
   700
      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
   701
      echo '<div class="tblholder">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   702
              <table border="0" cellspacing="1" cellpadding="4">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   703
                <tr>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   704
                  <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
   705
                </tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   706
      // Group name
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   707
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   708
      echo '    <tr>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   709
                  <td class="row2">Group name:</td>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   710
                  <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
   711
                </tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   712
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   713
      $ajax_page_add = false;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   714
                
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   715
      // This is where the going gets tricky.
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   716
      // 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
   717
      // 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
   718
      // 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
   719
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   720
      // You can guess which one I dreaded.
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   721
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   722
      switch ( $row['pg_type'] )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   723
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   724
        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
   725
          
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   726
          // You have guessed correct.
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   727
          // *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
   728
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   729
          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
   730
          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
   731
          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
   732
          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
   733
          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
   734
          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
   735
                  <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
   736
                    <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
   737
                      <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
   738
                    </tr>';
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   739
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   740
          $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
   741
                                 LEFT JOIN '.table_prefix.'pages AS p
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   742
                                   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
   743
                                 WHERE m.pg_id=' . $edit_id . ';');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   744
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   745
          if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   746
            $db->_die();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   747
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   748
          $delim = ceil( $db->numrows() / 2 );
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   749
          if ( $delim < 5 )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   750
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   751
            $delim = 0xFFFFFFFE;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   752
            // stupid hack
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   753
            $colspan = '2" id="pg_edit_tackon2me';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   754
          }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   755
          else
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   756
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   757
            $colspan = "1";
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
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   760
          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
   761
          $i = 0;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   762
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   763
          while ( $row = $db->fetchrow() )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   764
          {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   765
            $i++;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   766
            if ( $i == $delim )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   767
            {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   768
              echo '</td><td class="row1" id="pg_edit_tackon2me">';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   769
            }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   770
            $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
   771
            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
   772
          }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   773
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   774
          echo '</td></tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   775
          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
   776
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   777
          // More javascript magic!
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   778
          ?>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   779
          <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
   780
            var __pg_edit_submitAuthorized = true;
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   781
            var __ol_pg_edit_setup = function()
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   782
            {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   783
              var input = document.getElementById('inptext_pg_add_member');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   784
              input.onkeyup = function(e) { ajaxPageNameComplete(this); };
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   785
              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
   786
            }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   787
            addOnloadHook(__ol_pg_edit_setup);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   788
            var __pg_edit_objcache = false;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   789
            function __pg_edit_ajaxadd(obj)
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   790
            {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   791
              if ( __pg_edit_objcache )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   792
                return false;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   793
              __pg_edit_objcache = obj;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   794
              
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   795
              if ( obj.nextSibling )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   796
              {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   797
                if ( obj.nextSibling.tagName == 'DIV' )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   798
                {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   799
                  obj.parentNode.removeChild(obj.nextSibling);
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
              
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   803
              // 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
   804
              var w = $(obj).Width();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   805
              w = w + 24;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   806
              obj.parentNode.style.width = w + 'px';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   807
              
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   808
              // append the ajaxy loading image
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   809
              var img = document.createElement('img');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   810
              img.src = scriptPath + '/images/loading.gif';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   811
              img.style.marginLeft = '4px';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   812
              insertAfter(obj.parentNode, img, obj);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   813
              
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   814
              var url = makeUrlNS('Admin', 'PageGroups', 'src=ajax');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   815
              var page_add = escape(obj.value);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   816
              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
   817
              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
   818
                {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   819
                  if ( ajax.readyState == 4 )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   820
                  {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   821
                    var obj = __pg_edit_objcache;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   822
                    __pg_edit_objcache = false;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   823
                    
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   824
                    // kill the loading graphic
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   825
                    obj.parentNode.removeChild(obj.nextSibling);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   826
                    
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   827
                    var resptext = String(ajax.responseText + '');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   828
                    if ( resptext.substr(0, 1) != '{' )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   829
                    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   830
                      // This ain't JSON baby.
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   831
                      alert('Invalid JSON response:\n' + resptext);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   832
                      return false;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   833
                    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   834
                    var json = parseJSON(resptext);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   835
                    
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   836
                    var div = document.createElement('div');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   837
                    if ( json.mode == 'info' )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   838
                    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   839
                      div.className = 'info-box-mini';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   840
                    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   841
                    else if ( json.mode == 'error' )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   842
                    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   843
                      div.className = 'error-box-mini';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   844
                    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   845
                    div.appendChild(document.createTextNode(json.text));
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   846
                    insertAfter(obj.parentNode, div, obj);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   847
                    
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   848
                    if ( json.successful )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   849
                    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   850
                      var td = document.getElementById('pg_edit_tackon2me');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   851
                      var lbl = document.createElement('label');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   852
                      var check = document.createElement('input');
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   853
                      check.type = 'checkbox';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   854
                      check.name = 'action[edit_save][rm][' + json.member_id + ']';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   855
                      lbl.appendChild(check);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   856
                      lbl.appendChild(document.createTextNode(' ' + json.title));
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   857
                      td.appendChild(lbl);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   858
                      td.appendChild(document.createElement('br'));
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
            }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   864
          </script>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   865
          <?php
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   866
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   867
          $ajax_page_add = true;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   868
          
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   869
          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
   870
        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
   871
          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
   872
                  <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
   873
                    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
   874
                  </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
   875
                  <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
   876
                    <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
   877
                  </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
   878
                </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
   879
          break;
183
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   880
        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
   881
          echo '<tr>
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   882
                  <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
   883
                    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
   884
                    <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
   885
                           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
   886
                           <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
   887
                           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
   888
                           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
   889
                           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
   890
                  </td>
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   891
                  <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
   892
                    <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
   893
                  </td>
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   894
                </tr>';
91127e62f38f Fixed some regular expressions in HTML optimization algorithm; regex page groups can be edited now (oops)
Dan
parents: 156
diff changeset
   895
          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
   896
        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
   897
          
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
          // 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
   899
          $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
   900
          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
   901
            $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
   902
          
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
          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
   904
          {
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
            $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
   906
          }
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
          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
   908
          {
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
            $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
   910
            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
   911
            {
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
              $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
   913
              $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
   914
            }
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
            $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
   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
          
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
          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
   919
                  <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
   920
                    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
   921
                    <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
   922
                           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
   923
                           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
   924
                           </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
   925
                  </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
   926
                  <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
   927
                    ' . $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
   928
                  </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
   929
                </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
   930
          
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
   931
          break;
75
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
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   934
      if ( $ajax_page_add )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   935
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   936
        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
   937
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   938
      else
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   939
      {
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
   940
        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
   941
                <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
   942
                <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
   943
              </th></tr>';
75
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
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   946
      echo '  </table>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   947
            </div>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   948
      echo '</form>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   949
      
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
   950
      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
   951
      {
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
        // 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
   953
        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
   954
        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
   955
        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
   956
        // 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
   957
        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
   958
        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
   959
        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
   960
      }
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   961
      
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   962
      return;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   963
    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   964
    else if ( isset($_POST['action']['noop']) )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   965
    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   966
      // 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
   967
    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   968
    else
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   969
    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   970
      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
   971
    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   972
  }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   973
  // No action defined - show default menu
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   974
  
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   975
  echo '<h2>Manage page groups</h2>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   976
  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
   977
  
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   978
  $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
   979
  if ( !$q )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   980
    $db->_die();
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   981
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   982
  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
   983
  
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   984
  echo '<div class="tblholder">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   985
          <table border="0" cellspacing="1" cellpadding="4">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   986
            <tr>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   987
              <th>Group name</th>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   988
              <th>Type</th>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   989
              <th>Target</th>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   990
              <th colspan="2">Actions</th>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   991
            </tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   992
  
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   993
  if ( $row = $db->fetchrow() )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   994
  {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   995
    do
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   996
    {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   997
      $name = htmlspecialchars($row['pg_name']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   998
      $type = 'Invalid';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
   999
      switch ( $row['pg_type'] )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1000
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1001
        case PAGE_GRP_CATLINK:
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1002
          $type = 'Link to category';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1003
          break;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1004
        case PAGE_GRP_TAGGED:
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1005
          $type = 'Set of tagged pages';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1006
          break;
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1007
        case PAGE_GRP_NORMAL:
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1008
          $type = 'Static set of pages';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1009
          break;
156
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
  1010
        case PAGE_GRP_REGEX:
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
  1011
          $type = 'Regular expression match';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
  1012
          break;
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1013
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1014
      $target = '';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1015
      if ( $row['pg_type'] == PAGE_GRP_TAGGED )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1016
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1017
        $target = 'Tag: ' . htmlspecialchars($row['pg_target']);
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1018
      }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1019
      else if ( $row['pg_type'] == PAGE_GRP_CATLINK )
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1020
      {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1021
        $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
  1022
      }
156
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
  1023
      else if ( $row['pg_type'] == PAGE_GRP_REGEX )
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
  1024
      {
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
  1025
        $target = 'Expression: <tt>' . htmlspecialchars($row['pg_target']) . '</tt>';
edbff85d43e8 Feature add: new page group type: regular expression match (PCRE)
Dan
parents: 142
diff changeset
  1026
      }
75
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1027
      $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
  1028
      $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
  1029
      // stupid jEdit bug/hack
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1030
      $quot = '"';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1031
      echo "<tr>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1032
              <td class={$quot}row1{$quot}>$name</td>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1033
              <td class={$quot}row2{$quot}>$type</td>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1034
              <td class={$quot}row1{$quot}>$target</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_edit</td>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1036
              <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
  1037
            </tr>";
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1038
    }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1039
    while ( $row = $db->fetchrow() );
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1040
  }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1041
  else
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1042
  {
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1043
    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
  1044
  }
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1045
  
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1046
  echo '    <tr>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1047
              <th class="subhead" colspan="5">
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1048
                <input type="submit" name="action[create]" value="Create new group" />
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1049
              </th>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1050
            </tr>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1051
  
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1052
  echo '  </table>
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1053
        </div>';
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1054
        
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1055
  echo '</form>';          
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
1f85c1c609fd Oops, forgot to add PageGroups.php in plugins/admin/
Dan
parents:
diff changeset
  1059
?>