[ Index ] |
|
Code source de GeekLog 1.4.1 |
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 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Wed Nov 21 12:27:40 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |