1 | <?php |
---|
2 | |
---|
3 | if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); |
---|
4 | |
---|
5 | global $prefixeTable, $conf; |
---|
6 | |
---|
7 | load_conf_from_db('param = "additional_pages"'); |
---|
8 | $old_conf = explode ("," , $conf['additional_pages']); |
---|
9 | |
---|
10 | $query = 'ALTER TABLE ' . $prefixeTable . 'additionalpages |
---|
11 | CHANGE `id` `id` SMALLINT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT , |
---|
12 | CHANGE `pos` `pos` SMALLINT( 5 ) NULL DEFAULT NULL , |
---|
13 | CHANGE `lang` `lang` VARCHAR( 255 ) NULL DEFAULT NULL , |
---|
14 | CHANGE `text` `content` LONGTEXT NOT NULL , |
---|
15 | ADD `users` VARCHAR( 255 ) NULL DEFAULT NULL , |
---|
16 | ADD `groups` VARCHAR( 255 ) NULL DEFAULT NULL , |
---|
17 | ADD `permalink` VARCHAR( 64 ) NULL DEFAULT NULL , |
---|
18 | ADD `standalone` ENUM( "true", "false" ) NOT NULL DEFAULT "false";'; |
---|
19 | pwg_query($query); |
---|
20 | |
---|
21 | $query = ' |
---|
22 | SELECT id, pos, title, lang |
---|
23 | FROM '.$prefixeTable.'additionalpages |
---|
24 | ORDER BY pos ASC |
---|
25 | ;'; |
---|
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'; |
---|
32 | |
---|
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 | } |
---|
45 | |
---|
46 | $position = $row['pos']; |
---|
47 | if ($row['pos'] === '0') |
---|
48 | $position = '-100'; |
---|
49 | elseif (empty($row['pos'])) |
---|
50 | $position = '0'; |
---|
51 | |
---|
52 | $language = $row['lang'] != 'ALL' ? '"'.$row['lang'].'"' : 'NULL'; |
---|
53 | |
---|
54 | $query = ' |
---|
55 | UPDATE '.$prefixeTable.'additionalpages |
---|
56 | SET title = "'.addslashes($title).'", |
---|
57 | pos = '.$position.', |
---|
58 | lang = '.$language.', |
---|
59 | users = '.$authorized_users.', |
---|
60 | groups = '.$authorized_groups.' |
---|
61 | WHERE id = '.$row['id'].' |
---|
62 | ;'; |
---|
63 | pwg_query($query); |
---|
64 | } |
---|
65 | |
---|
66 | if ($old_conf[1] == 'off') |
---|
67 | { |
---|
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))); |
---|
76 | } |
---|
77 | |
---|
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 | ?> |
---|