Changeset 9261 for extensions/AdditionalPages/maintain.inc.php
- Timestamp:
- Feb 17, 2011, 4:27:09 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/AdditionalPages/maintain.inc.php
r3609 r9261 11 11 $query = 'CREATE TABLE ' . $prefixeTable . 'additionalpages ( 12 12 id SMALLINT( 5 ) UNSIGNED NOT NULL , 13 pos SMALLINT( 5 ) UNSIGNEDdefault NULL ,14 lang VARCHAR( 255 ) N OTNULL ,13 pos SMALLINT( 5 ) NULL default NULL , 14 lang VARCHAR( 255 ) NULL default NULL , 15 15 title VARCHAR( 255 ) NOT NULL , 16 text LONGTEXT NOT NULL , 16 content LONGTEXT NOT NULL , 17 permalink VARCHAR( 64 ) NULL DEFAULT NULL , 17 18 PRIMARY KEY (id) , 18 19 INDEX (pos) , … … 24 25 if (!isset($conf['additional_pages'])) 25 26 { 27 $config = array( 28 'languages' => array('default' => 'Additional Pages'), 29 'show_menu' => true, 30 'show_home' => true, 31 'redirect' => false, 32 'group_perm' => false, 33 'user_perm' => false, 34 'homepage' => null, 35 ); 26 36 $query = 'INSERT INTO ' . CONFIG_TABLE . ' (param,value,comment) 27 VALUES ("additional_pages" , " Additional Pages,on,on,off,off,,off,off" , "Parametres du plugin Additional Pages");';37 VALUES ("additional_pages" , "'.addslashes(serialize($config)).'" , "Additional Pages config configuration");'; 28 38 pwg_query($query); 29 39 } … … 51 61 { 52 62 upgrade_ap_from_17(); 63 } 64 $result = array_from_query($query, 'Field'); 65 if (!in_array('permalink', $result)) 66 { 67 upgrade_ap_from_21(); 53 68 } 54 69 } … … 78 93 } 79 94 95 function upgrade_ap_from_21() 96 { 97 global $prefixeTable, $conf; 98 99 $query = 'ALTER TABLE ' . $prefixeTable . 'additionalpages 100 CHANGE `id` `id` SMALLINT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT , 101 CHANGE `pos` `pos` SMALLINT( 5 ) NULL DEFAULT NULL , 102 CHANGE `lang` `lang` VARCHAR( 255 ) NULL DEFAULT NULL , 103 CHANGE `text` `content` LONGTEXT NOT NULL , 104 ADD `users` VARCHAR( 255 ) NULL DEFAULT NULL , 105 ADD `groups` VARCHAR( 255 ) NULL DEFAULT NULL , 106 ADD `permalink` VARCHAR( 64 ) NULL DEFAULT NULL;'; 107 pwg_query($query); 108 109 $query = ' 110 SELECT id, pos, title, lang 111 FROM '.$prefixeTable.'additionalpages 112 ORDER BY pos ASC, id ASC 113 ;'; 114 $result = pwg_query($query); 115 while ($row = mysql_fetch_assoc($result)) 116 { 117 $title = $row['title']; 118 $authorized_users = 'NULL'; 119 $authorized_groups = 'NULL'; 120 121 if (strpos($title , '/user_id=')) 122 { 123 $array = explode('/user_id=' , $title); 124 $title = $array[0]; 125 $authorized_users = '"'.$array[1].'"'; 126 } 127 if (strpos($title , '/group_id=')) 128 { 129 $array = explode('/group_id=' , $title); 130 $title = $array[0]; 131 $authorized_groups = '"'.$array[1].'"'; 132 } 133 134 $position = $row['pos']; 135 if ($row['pos'] === '0') 136 $position = '-1'; 137 elseif (empty($row['pos'])) 138 $position = '0'; 139 140 $language = $row['lang'] != 'ALL' ? '"'.$row['lang'].'"' : 'NULL'; 141 142 $query = ' 143 UPDATE '.$prefixeTable.'additionalpages 144 SET title = "'.addslashes($title).'", 145 pos = '.$position.', 146 lang = '.$language.', 147 users = '.$authorized_users.', 148 groups = '.$authorized_groups.' 149 WHERE id = '.$row['id'].' 150 ;'; 151 pwg_query($query); 152 } 153 154 $old_conf = explode ("," , $conf['additional_pages']); 155 156 $new_conf = array( 157 'show_menu' => @($old_conf[1] == 'on'), 158 'show_home' => @($old_conf[2] == 'on'), 159 'redirect' => @($old_conf[4] == 'on'), 160 'group_perm' => @($old_conf[6] == 'on'), 161 'user_perm' => @($old_conf[7] == 'on'), 162 'homepage' => null, 163 ); 164 165 $languages = explode('/', $old_conf[0]); 166 $new_conf['languages'] = array(); 167 foreach($languages as $language) 168 { 169 $array = explode(':', $language); 170 if (!isset($array[1])) $new_conf['languages']['default'] = $array[0]; 171 else $new_conf['languages'][$array[0]] = $array[1]; 172 } 173 174 $query = ' 175 UPDATE '.CONFIG_TABLE.' 176 SET value = "'.addslashes(serialize($new_conf)).'" 177 WHERE param = "additional_pages" 178 ;'; 179 pwg_query($query); 180 } 181 80 182 ?>
Note: See TracChangeset
for help on using the changeset viewer.