source: extensions/AdditionalPages/admin/upgrade_from_21.php @ 9262

Last change on this file since 9262 was 9262, checked in by patdenice, 13 years ago

Automatic upgrade from previous version.
Hide manage tab if no page in database.

File size: 2.3 KB
Line 
1<?php
2
3if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
4
5global $prefixeTable, $conf;
6
7$query = 'ALTER TABLE ' . $prefixeTable . 'additionalpages
8CHANGE `id` `id` SMALLINT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
9CHANGE `pos` `pos` SMALLINT( 5 ) NULL DEFAULT NULL ,
10CHANGE `lang` `lang` VARCHAR( 255 ) NULL DEFAULT NULL ,
11CHANGE `text` `content` LONGTEXT NOT NULL ,
12ADD `users` VARCHAR( 255 ) NULL DEFAULT NULL ,
13ADD `groups` VARCHAR( 255 ) NULL DEFAULT NULL ,
14ADD `permalink` VARCHAR( 64 ) NULL DEFAULT NULL;';
15pwg_query($query);
16
17$query = '
18SELECT id, pos, title, lang
19FROM '.$prefixeTable.'additionalpages
20ORDER BY pos ASC, id ASC
21;';
22$result = pwg_query($query);
23while ($row = mysql_fetch_assoc($result))
24{
25  $title = $row['title'];
26  $authorized_users = 'NULL';
27  $authorized_groups = 'NULL';
28
29  if (strpos($title , '/user_id='))
30  {
31    $array = explode('/user_id=' , $title);
32    $title = $array[0];
33    $authorized_users = '"'.$array[1].'"';
34  }
35  if (strpos($title , '/group_id='))
36  {
37    $array = explode('/group_id=' , $title);
38    $title = $array[0];
39    $authorized_groups = '"'.$array[1].'"';
40  }
41
42  $position = $row['pos'];
43  if ($row['pos'] === '0')
44    $position = '-1';
45  elseif (empty($row['pos']))
46    $position = '0';
47
48  $language = $row['lang'] != 'ALL' ? '"'.$row['lang'].'"' : 'NULL';
49
50  $query = '
51UPDATE '.$prefixeTable.'additionalpages
52SET title = "'.addslashes($title).'",
53    pos = '.$position.',
54    lang = '.$language.',
55    users = '.$authorized_users.',
56    groups = '.$authorized_groups.'
57WHERE id = '.$row['id'].'
58;';
59  pwg_query($query);
60}
61
62$old_conf = explode ("," , $conf['additional_pages']);
63
64$new_conf = array(
65  'show_home' => @($old_conf[2] == 'on'),
66  'group_perm' => @($old_conf[6] == 'on'),
67  'user_perm' => @($old_conf[7] == 'on'),
68  'homepage' => null,
69  );
70
71$languages = explode('/', $old_conf[0]);
72$new_conf['languages'] = array();
73foreach($languages as $language)
74{
75  $array = explode(':', $language);
76  if (!isset($array[1])) $new_conf['languages']['default'] = $array[0];
77  else $new_conf['languages'][$array[0]] = $array[1];
78}
79
80$conf['additional_pages'] = $new_conf;
81
82$query = '
83UPDATE '.CONFIG_TABLE.'
84SET value = "'.addslashes(serialize($new_conf)).'"
85WHERE param = "additional_pages"
86;';
87pwg_query($query);
88
89?>
Note: See TracBrowser for help on using the repository browser.