[ Index ]
 

Code source de GeekLog 1.4.1

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/sql/updates/ -> mysql_1.3.11_to_1.4.0.php (source)

   1  <?php
   2  
   3  $_SQL[] = "CREATE TABLE {$_TABLES['trackback']} (
   4    cid int(10) unsigned NOT NULL auto_increment, 
   5    sid varchar(40) NOT NULL, 
   6    url varchar(255) default NULL,
   7    title varchar(128) default NULL,
   8    blog varchar(80) default NULL, 
   9    excerpt text,
  10    date datetime default NULL,
  11    type varchar(30) NOT NULL default 'article',
  12    ipaddress varchar(15) NOT NULL default '',
  13    PRIMARY KEY (cid),
  14    INDEX trackback_sid(sid), 
  15    INDEX trackback_url(url), 
  16    INDEX trackback_date(date), 
  17    INDEX trackback_type(type)
  18  ) TYPE=MyISAM";
  19  
  20  $_SQL[] = "CREATE TABLE {$_TABLES['pingservice']} (
  21    pid smallint(5) unsigned NOT NULL auto_increment,
  22    name varchar(128) default NULL,
  23    ping_url varchar(255) default NULL,
  24    site_url varchar(255) default NULL,
  25    method varchar(80) default NULL,
  26    is_enabled tinyint(1) unsigned NOT NULL DEFAULT '1',
  27    PRIMARY KEY (pid),
  28    INDEX pingservice_is_enabled(is_enabled)
  29  ) TYPE=MyISAM";
  30  
  31  $_SQL[] = "CREATE TABLE {$_TABLES['trackbackcodes']} (
  32    code tinyint(4) NOT NULL default '0',
  33    name varchar(32) default NULL,
  34    PRIMARY KEY  (code)
  35  ) TYPE=MyISAM ";
  36  
  37  // a weblog directory to ping (which, in turn, pings others)
  38  $_SQL[] = "INSERT INTO {$_TABLES['pingservice']} (pid, name, site_url, ping_url, method, is_enabled) VALUES (1, 'Ping-O-Matic', 'http://pingomatic.com/', 'http://rpc.pingomatic.com/', 'weblogUpdates.ping', 1)";
  39  
  40  $_SQL[] = "INSERT INTO {$_TABLES['trackbackcodes']} (code, name) VALUES (0,'Trackback Enabled') ";
  41  $_SQL[] = "INSERT INTO {$_TABLES['trackbackcodes']} (code, name) VALUES (-1,'Trackback Disabled') ";
  42  
  43  // max. number of entries to import into a portal block
  44  $_SQL[] = "ALTER TABLE {$_TABLES['blocks']} ADD rdflimit smallint(5) unsigned NOT NULL default '0' AFTER rdfupdated";
  45  
  46  // new story.ping feature (also see function upgrade_addFeature below)
  47  $_SQL[] = "INSERT INTO {$_TABLES['features']} (ft_name, ft_descr, ft_gl_core) VALUES ('story.ping', 'Ability to send pings, pingbacks, or trackbacks for stories', 1)";
  48  
  49  // remote authentication fields
  50  $_SQL[] = "ALTER TABLE {$_TABLES['users']} ADD remoteusername varchar(60) NULL after username";
  51  $_SQL[] = "ALTER TABLE {$_TABLES['users']} ADD remoteservice varchar(60) NULL after remoteusername";
  52  // new user status, for ban etc.
  53  $_SQL[] = "ALTER TABLE {$_TABLES['users']} ADD status smallint(5) unsigned NOT NULL default '1'";
  54  // Make all users WITH a password active.
  55  $_SQL[] = "UPDATE {$_TABLES['users']} SET status=3 WHERE (passwd IS NOT NULL) OR (passwd != '')";
  56  // a few more indexes on the users table can' hurt ...
  57  $_SQL[] = "ALTER TABLE {$_TABLES['users']} ADD INDEX users_username(username)";
  58  $_SQL[] = "ALTER TABLE {$_TABLES['users']} ADD INDEX users_fullname(fullname)";
  59  $_SQL[] = "ALTER TABLE {$_TABLES['users']} ADD INDEX users_email(email)";
  60  $_SQL[] = "ALTER TABLE {$_TABLES['users']} ADD INDEX users_passwd(passwd)";
  61  $_SQL[] = "ALTER TABLE {$_TABLES['users']} ADD INDEX users_pwrequestid(pwrequestid)";
  62  // Add the remote authenticated group:
  63  $_SQL[] = "INSERT INTO {$_TABLES['groups']} (grp_name, grp_descr, grp_gl_core) VALUES ('Remote Users', 'Users in this group can have authenticated against a remote server.',1) ";
  64  
  65  // for quicker access to large speedlimit tables
  66  $_SQL[] = "ALTER TABLE {$_TABLES['speedlimit']} ADD INDEX type_ipaddress(type,ipaddress)";
  67  $_SQL[] = "ALTER TABLE {$_TABLES['speedlimit']} ADD INDEX date(date)";
  68  
  69  // new 'in transit' status
  70  $_SQL[] = "ALTER TABLE {$_TABLES['stories']} ADD in_transit tinyint(1) unsigned default '0' AFTER frontpage";
  71  $_SQL[] = "ALTER TABLE {$_TABLES['stories']} ADD INDEX stories_in_transit(in_transit)";
  72  
  73  // trackback code - just like commentcode
  74  $_SQL[] = "ALTER TABLE {$_TABLES['stories']} ADD trackbackcode tinyint(4) NOT NULL default '0' AFTER commentcode";
  75  
  76  // trackback counter
  77  $_SQL[] = "ALTER TABLE {$_TABLES['stories']} ADD trackbacks mediumint(8) unsigned NOT NULL default '0' AFTER comments";
  78  
  79  // new header-link for feeds
  80  $_SQL[] = "ALTER TABLE {$_TABLES['syndication']} ADD header_tid varchar(48) NOT NULL default 'none' AFTER topic;";
  81  // add logo
  82  $_SQL[] = "ALTER TABLE {$_TABLES['syndication']} ADD feedlogo varchar(255) AFTER description;";
  83  // change default format to RSS-2.0
  84  $_SQL[] = "ALTER TABLE {$_TABLES['syndication']} CHANGE format format varchar(20) NOT NULL default 'RSS-2.0';";
  85  // Upgrade format values
  86  $_SQL[] = "UPDATE {$_TABLES['syndication']} SET format='Atom-0.3' WHERE format='atom'";
  87  $_SQL[] = "UPDATE {$_TABLES['syndication']} SET format='RDF-1.0' WHERE format='rdf'";
  88  $_SQL[] = "UPDATE {$_TABLES['syndication']} SET format='RSS-0.9x' WHERE format='rss'";
  89  $_SQL[] = "UPDATE {$_TABLES['syndication']} SET format='RSS-2.0' WHERE format='rss2'";
  90  
  91  // add links plugin
  92  $_SQL[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_enabled, pi_homepage) VALUES ('links', '1.0', '1.4.0', 1, 'http://www.geeklog.net/')";
  93  // update links feeds to links plugin
  94  $_SQL[] = "UPDATE {$_TABLES['syndication']} SET type = 'links', topic = 'all' WHERE topic = '::links';";
  95  
  96  // add polls plugin
  97  $_SQL[] = "INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version,pi_enabled, pi_homepage) VALUES ('polls', '1.0', '1.4.0', '1', 'http://www.geeklog.net/')";
  98  
  99  // updates core -> plugin
 100  $_SQL[] = "UPDATE {$_TABLES['blocks']} SET type = 'phpblock', phpblockfn ='phpblock_polls' WHERE name = 'poll_block';";
 101  
 102  $_SQL[] = "UPDATE {$_TABLES['features']} SET ft_gl_core = '0', ft_name='polls.edit' WHERE ft_name = 'poll.edit';";
 103  $_SQL[] = "UPDATE {$_TABLES['groups']} SET grp_gl_core = '0', grp_name = 'Links Admin' WHERE grp_name = 'Link Admin';";
 104  $_SQL[] = "UPDATE {$_TABLES['groups']} SET grp_gl_core = '0', grp_name = 'Polls Admin' WHERE grp_name = 'Poll Admin';";
 105  
 106  // rename "link.*" features to "links.*" to match the plugin name
 107  $_SQL[] = "UPDATE {$_TABLES['features']} SET ft_name = 'links.moderate', ft_gl_core = '0' WHERE ft_name = 'link.moderate';";
 108  $_SQL[] = "UPDATE {$_TABLES['features']} SET ft_name = 'links.edit', ft_gl_core = '0' WHERE ft_name = 'link.edit';";
 109  $_SQL[] = "UPDATE {$_TABLES['features']} SET ft_name = 'links.submit', ft_gl_core = '0' WHERE ft_name = 'link.submit';";
 110  
 111  // the included Spam-X requires Geeklog 1.4.0 now (for the MassDelete modules)
 112  $_SQL[] = "UPDATE {$_TABLES['plugins']} SET pi_version = '1.0.3', pi_gl_version = '1.4.0' WHERE pi_name = 'spamx'";
 113  
 114  // Static Pages plugin is version 1.4.2 now
 115  $_SQL[] = "UPDATE {$_TABLES['plugins']} SET pi_version = '1.4.2', pi_gl_version = '1.4.0', pi_homepage = 'http://www.geeklog.net/' WHERE pi_name = 'staticpages'";
 116  
 117  // update poll(s) comments
 118  $_SQL[] = "UPDATE {$_TABLES['comments']} SET type = 'polls' WHERE type = 'poll'";
 119  
 120  // allow for more topic ids in the user's preferences (bug #490)
 121  $_SQL[] = "ALTER TABLE {$_TABLES['userindex']} CHANGE etids etids text";
 122  
 123  // add a hits counter for events
 124  $_SQL[] = "ALTER TABLE {$_TABLES['events']} ADD hits mediumint(8) unsigned NOT NULL default '0' AFTER url";
 125  $_SQL[] = "ALTER TABLE {$_TABLES['events']} ADD postmode varchar(10) NOT NULL default 'plaintext' AFTER description";
 126  $_SQL[] = "ALTER TABLE {$_TABLES['personal_events']} ADD postmode varchar(10) NOT NULL default 'plaintext' AFTER description";
 127  
 128  // allow up to 40 characters for a link id
 129  $_SQL[] = "ALTER TABLE {$_TABLES['links']} CHANGE lid lid varchar(40) NOT NULL default ''";
 130  $_SQL[] = "ALTER TABLE {$_TABLES['linksubmission']} CHANGE lid lid varchar(40) NOT NULL default ''";
 131  
 132  // add the new 'story.ping' feature to the Story Admin group
 133  function upgrade_addFeature ()
 134  {
 135      global $_TABLES;
 136  
 137      $grp_id = DB_getItem ($_TABLES['groups'], 'grp_id',
 138                            "grp_name = 'Story Admin'");
 139      $ft_id = DB_getItem ($_TABLES['features'], 'ft_id',
 140                           "ft_name = 'story.ping'");
 141  
 142      if (($grp_id > 0) && ($ft_id > 0)) {
 143          DB_query ("INSERT INTO {$_TABLES['access']} (acc_ft_id, acc_grp_id) VALUES ($ft_id,$grp_id)");
 144      }
 145  }
 146  
 147  function upgrade_uniqueGroupNames()
 148  {
 149      global $_TABLES;
 150  
 151      $groups = DB_count ($_TABLES['groups']);
 152      $result = DB_query ("SELECT DISTINCT grp_name FROM {$_TABLES['groups']} ORDER BY grp_gl_core ASC");
 153      $numGroups = DB_numRows($result);
 154  
 155      if ($groups != $numGroups) {
 156          // find and delete the duplicates
 157  
 158          // first, prepare a list of all unique group names
 159          $names = array ();
 160          for ($i = 0; $i < $numGroups; $i++) {
 161              $A = DB_fetchArray ($result);
 162              $names[] = $A['grp_name'];
 163          }
 164  
 165          // then search for names that occur more than once
 166          foreach ($names as $name) {
 167              $result = DB_query ("SELECT grp_id FROM {$_TABLES['groups']} WHERE grp_name = '$name'");
 168              $num = DB_numRows ($result);
 169              if ($num > 1) {
 170                  // we're going to keep the first entry - fetch and discard
 171                  $A = DB_fetchArray ($result);
 172                  $num--;
 173                  for ($i = 0; $i < $num; $i++) {
 174                      list($grp_id) = DB_fetchArray ($result);
 175  
 176                      DB_delete ($_TABLES['access'], 'acc_grp_id', $grp_id);
 177                      DB_delete ($_TABLES['group_assignments'], 'ug_grp_id', $grp_id);
 178                      DB_delete ($_TABLES['group_assignments'], 'ug_main_grp_id', $grp_id);
 179                      DB_delete ($_TABLES['groups'], 'grp_id', $grp_id);
 180                  }
 181  
 182                  // check if we already found all the duplicates
 183                  $groups -= $num;
 184                  if ($groups == $numGroups) {
 185                      break;
 186                  }
 187              }
 188          }
 189      }
 190  
 191      // make 'grp_name' a unique index
 192      DB_query ("ALTER TABLE {$_TABLES['groups']} DROP INDEX grp_name");
 193      DB_query ("ALTER TABLE {$_TABLES['groups']} ADD UNIQUE grp_name(grp_name)");
 194  }
 195  
 196  ?>


Généré le : Wed Nov 21 12:27:40 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics