Changeset 9310 for extensions/AdditionalPages/admin/upgrade.inc.php
- Timestamp:
- Feb 19, 2011, 11:13:22 PM (13 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
extensions/AdditionalPages/admin/upgrade.inc.php
r9275 r9310 5 5 global $prefixeTable, $conf; 6 6 7 load_conf_from_db('param = "additional_pages"'); 8 $old_conf = explode ("," , $conf['additional_pages']); 7 $query = 'SHOW FULL COLUMNS FROM ' . $prefixeTable . 'additionalpages;'; 8 $result = array_from_query($query, 'Collation'); 9 if (strpos($result[4], 'utf8') === false) 10 { 11 $query = 'ALTER TABLE ' . $prefixeTable . 'additionalpages 12 MODIFY COLUMN lang varchar(255) CHARACTER SET utf8 NOT NULL, 13 MODIFY COLUMN title varchar(255) CHARACTER SET utf8 NOT NULL, 14 MODIFY COLUMN text longtext CHARACTER SET utf8 NOT NULL, 15 DEFAULT CHARACTER SET utf8;'; 9 16 10 $query = 'ALTER TABLE ' . $prefixeTable . 'additionalpages 17 pwg_query($query); 18 } 19 20 if ($conf['additional_pages'] === false) 21 { 22 load_conf_from_db('param = "additional_pages"'); 23 $old_conf = explode ("," , $conf['additional_pages']); 24 25 $query = ' 26 ALTER TABLE ' . $prefixeTable . 'additionalpages 11 27 CHANGE `id` `id` SMALLINT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT , 12 28 CHANGE `pos` `pos` SMALLINT( 5 ) NULL DEFAULT NULL , … … 17 33 ADD `permalink` VARCHAR( 64 ) NULL DEFAULT NULL , 18 34 ADD `standalone` ENUM( "true", "false" ) NOT NULL DEFAULT "false";'; 19 pwg_query($query);35 pwg_query($query); 20 36 21 $query = '37 $query = ' 22 38 SELECT id, pos, title, lang 23 39 FROM '.$prefixeTable.'additionalpages 24 40 ORDER BY pos ASC 25 41 ;'; 26 $result = pwg_query($query);27 while ($row = mysql_fetch_assoc($result))28 {29 $title = $row['title'];30 $authorized_users = 'NULL';31 $authorized_groups = 'NULL';42 $result = pwg_query($query); 43 while ($row = pwg_db_fetch_assoc($result)) 44 { 45 $title = $row['title']; 46 $authorized_users = 'NULL'; 47 $authorized_groups = 'NULL'; 32 48 33 if ($old_conf[7] == 'on' and strpos($title , '/user_id='))34 {35 $array = explode('/user_id=' , $title);36 $title = $array[0];37 $authorized_users = !empty($array[1]) ? '"'.$array[1].'"' : '"admin"';38 }39 if ($old_conf[6] == 'on' and strpos($title , '/group_id='))40 {41 $array = explode('/group_id=' , $title);42 $title = $array[0];43 $authorized_groups = !empty($array[1]) ? '"'.$array[1].'"' : 'NULL';44 }49 if ($old_conf[7] == 'on' and strpos($title , '/user_id=')) 50 { 51 $array = explode('/user_id=' , $title); 52 $title = $array[0]; 53 $authorized_users = !empty($array[1]) ? '"'.$array[1].'"' : '"admin"'; 54 } 55 if ($old_conf[6] == 'on' and strpos($title , '/group_id=')) 56 { 57 $array = explode('/group_id=' , $title); 58 $title = $array[0]; 59 $authorized_groups = !empty($array[1]) ? '"'.$array[1].'"' : 'NULL'; 60 } 45 61 46 $position = $row['pos'];47 if ($row['pos'] === '0')48 $position = '-100';49 elseif (empty($row['pos']))50 $position = '0';62 $position = $row['pos']; 63 if ($row['pos'] === '0') 64 $position = '-100'; 65 elseif (empty($row['pos'])) 66 $position = '0'; 51 67 52 $language = $row['lang'] != 'ALL' ? '"'.$row['lang'].'"' : 'NULL';68 $language = $row['lang'] != 'ALL' ? '"'.$row['lang'].'"' : 'NULL'; 53 69 54 $query = '70 $query = ' 55 71 UPDATE '.$prefixeTable.'additionalpages 56 72 SET title = "'.addslashes($title).'", … … 61 77 WHERE id = '.$row['id'].' 62 78 ;'; 63 pwg_query($query); 79 pwg_query($query); 80 } 81 82 if ($old_conf[1] == 'off') 83 { 84 $mb_conf = @unserialize($conf['blk_menubar']); 85 if (!isset($mb_conf['mbAdditionalPages'])) 86 { 87 $last = @abs(end($mb_conf)); 88 $mb_conf['mbAdditionalPages'] = $last + 50; 89 } 90 $mb_conf['mbAdditionalPages'] = -1 * abs($mb_conf['mbAdditionalPages']); 91 conf_update_param('blk_menubar', pwg_db_real_escape_string(serialize($mb_conf))); 92 } 93 94 $new_conf = array( 95 'show_home' => @($old_conf[2] == 'on'), 96 'group_perm' => @($old_conf[6] == 'on'), 97 'user_perm' => @($old_conf[7] == 'on'), 98 'homepage' => null, 99 ); 100 101 $languages = explode('/', $old_conf[0]); 102 $new_conf['languages'] = array(); 103 foreach($languages as $language) 104 { 105 $array = explode(':', $language); 106 if (!isset($array[1])) $new_conf['languages']['default'] = $array[0]; 107 else $new_conf['languages'][$array[0]] = $array[1]; 108 } 109 110 $conf['additional_pages'] = $new_conf; 111 112 conf_update_param('additional_pages', pwg_db_real_escape_string(serialize($new_conf))); 64 113 } 65 114 66 if ( $old_conf[1] == 'off')115 if (!isset($conf['additional_pages']['level_perm'])) 67 116 { 68 $mb_conf = @unserialize($conf['blk_menubar']); 69 if (!isset($mb_conf['mbAdditionalPages'])) 70 { 71 $last = @abs(end($mb_conf)); 72 $mb_conf['mbAdditionalPages'] = $last + 50; 73 } 74 $mb_conf['mbAdditionalPages'] = -1 * abs($mb_conf['mbAdditionalPages']); 75 conf_update_param('blk_menubar', pwg_db_real_escape_string(serialize($mb_conf))); 117 $query = ' 118 ALTER TABLE ' . $prefixeTable . 'additionalpages 119 ADD `level` TINYINT( 3 ) UNSIGNED NOT NULL DEFAULT "0" AFTER `groups` 120 ;'; 121 pwg_query($query); 122 123 $query = ' 124 UPDATE ' . $prefixeTable . 'additionalpages 125 SET users = CONCAT( users, ",admin,webmaster" ) 126 WHERE users IS NOT NULL 127 ;'; 128 pwg_query($query); 129 130 $conf['additional_pages']['level_perm'] = false; 131 132 conf_update_param('additional_pages', pwg_db_real_escape_string(serialize($conf['additional_pages']))); 76 133 } 77 134 78 $new_conf = array(79 'show_home' => @($old_conf[2] == 'on'),80 'group_perm' => @($old_conf[6] == 'on'),81 'user_perm' => @($old_conf[7] == 'on'),82 'homepage' => null,83 );84 85 $languages = explode('/', $old_conf[0]);86 $new_conf['languages'] = array();87 foreach($languages as $language)88 {89 $array = explode(':', $language);90 if (!isset($array[1])) $new_conf['languages']['default'] = $array[0];91 else $new_conf['languages'][$array[0]] = $array[1];92 }93 94 $conf['additional_pages'] = $new_conf;95 96 conf_update_param('additional_pages', pwg_db_real_escape_string(serialize($new_conf)));97 98 135 ?>
Note: See TracChangeset
for help on using the changeset viewer.