source: extensions/AdditionalPages/maintain.inc.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
3function plugin_install()
4{
5  global $prefixeTable, $conf;
6
7  $query = 'SHOW TABLES LIKE "' . $prefixeTable . 'additionalpages"';
8  $result = pwg_query($query);
9  if (!mysql_fetch_row($result))
10  {
11    $query = 'CREATE TABLE ' . $prefixeTable . 'additionalpages (
12id SMALLINT( 5 ) UNSIGNED NOT NULL ,
13pos SMALLINT( 5 ) NULL default NULL ,
14lang VARCHAR( 255 ) NULL default NULL ,
15title VARCHAR( 255 ) NOT NULL ,
16content LONGTEXT NOT NULL ,
17permalink VARCHAR( 64 ) NULL DEFAULT NULL ,
18PRIMARY KEY (id) ,
19INDEX (pos) ,
20INDEX (lang))
21DEFAULT CHARACTER SET utf8;';
22    pwg_query($query);
23  }
24
25  if (!isset($conf['additional_pages']))
26  {
27    $config = array(
28      'languages' => array('default' => 'Additional Pages'),
29      'show_home' => true,
30      'group_perm' => false,
31      'user_perm' => false,
32      'homepage' => null,
33    );
34    $query = 'INSERT INTO ' . CONFIG_TABLE . ' (param,value,comment)
35VALUES ("additional_pages" , "'.addslashes(serialize($config)).'" , "Additional Pages config configuration");';
36    pwg_query($query);
37  }
38}
39
40function plugin_activate()
41{
42  global $prefixeTable;
43
44  $q = pwg_query('SHOW COLUMNS FROM ' . HISTORY_TABLE . ' LIKE "section"');
45  $section = mysql_fetch_array($q);
46  $type = $section['Type'];
47
48  // Add additional page section into history table
49  if (strpos($type, 'additional_page') === false)
50  {
51    $type = strtr($type , array(')' => ',\'additional_page\')'));
52    pwg_query('ALTER TABLE ' . HISTORY_TABLE . ' CHANGE section section ' . $type . ' DEFAULT NULL');
53  }
54 
55  // Check if upgrade is needed
56  $query = 'SHOW FULL COLUMNS FROM ' . $prefixeTable . 'additionalpages;';
57  $result = array_from_query($query, 'Collation');
58  if (strpos($result[4], 'utf8') === false)
59  {
60    upgrade_ap_from_17();
61  }
62}
63
64function plugin_uninstall()
65{
66  global $prefixeTable;
67
68        $q = 'DROP TABLE ' . $prefixeTable . 'additionalpages;';
69  pwg_query($q);
70
71        $q = 'DELETE FROM ' . CONFIG_TABLE . ' WHERE param="additional_pages" LIMIT 1;';
72  pwg_query($q);
73}
74
75function upgrade_ap_from_17()
76{
77  global $prefixeTable;
78
79  $query = 'ALTER TABLE ' . $prefixeTable . 'additionalpages
80MODIFY COLUMN lang varchar(255) CHARACTER SET utf8 NOT NULL,
81MODIFY COLUMN title varchar(255) CHARACTER SET utf8 NOT NULL,
82MODIFY COLUMN text longtext CHARACTER SET utf8 NOT NULL,
83DEFAULT CHARACTER SET utf8;';
84
85  pwg_query($query);
86}
87
88?>
Note: See TracBrowser for help on using the repository browser.