source: extensions/AdditionalPages/trunk/maintain.inc.php @ 12617

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

Avoid fatal error on restore.

File size: 2.2 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 AUTO_INCREMENT,
13pos SMALLINT( 5 ) NULL default NULL ,
14lang VARCHAR( 255 ) NULL default NULL ,
15title VARCHAR( 255 ) NOT NULL ,
16content LONGTEXT NOT NULL ,
17users VARCHAR( 255 ) NULL DEFAULT NULL ,
18groups VARCHAR( 255 ) NULL DEFAULT NULL ,
19level TINYINT( 3 ) UNSIGNED NOT NULL DEFAULT "0" ,
20permalink VARCHAR( 64 ) NULL DEFAULT NULL ,
21standalone ENUM( "true", "false" ) NOT NULL DEFAULT "false" ,
22PRIMARY KEY (id) ,
23INDEX (pos) ,
24INDEX (lang))
25DEFAULT CHARACTER SET utf8';
26    if ('mysql' == $conf['dblayer'])
27    {
28      $query .= ' ENGINE=MYISAM';
29    }
30    pwg_query($query.';');
31  }
32
33  if (!isset($conf['additional_pages']))
34  {
35    $config = array(
36      'languages' => array('default' => 'Additional Pages'),
37      'show_home' => true,
38      'level_perm' => false,
39      'group_perm' => false,
40      'user_perm' => false,
41      'language_perm' => false,
42      'homepage' => null,
43    );
44
45    $query = 'INSERT INTO ' . CONFIG_TABLE . ' (param,value,comment)
46VALUES ("additional_pages" , "'.pwg_db_real_escape_string(serialize($config)).'" , "Additional Pages configuration");';
47    pwg_query($query);
48  }
49}
50
51function plugin_activate()
52{
53  global $prefixeTable;
54
55  $q = pwg_query('SHOW COLUMNS FROM ' . HISTORY_TABLE . ' LIKE "section"');
56  $section = mysql_fetch_array($q);
57  $type = $section['Type'];
58
59  // Add additional page section into history table
60  if (strpos($type, 'additional_page') === false)
61  {
62    $type = strtr($type , array(')' => ',\'additional_page\')'));
63    pwg_query('ALTER TABLE ' . HISTORY_TABLE . ' CHANGE section section ' . $type . ' DEFAULT NULL');
64  }
65}
66
67function plugin_uninstall()
68{
69  global $prefixeTable, $conf;
70
71        $q = 'DROP TABLE ' . $prefixeTable . 'additionalpages;';
72  pwg_query($q);
73
74        $q = 'DELETE FROM ' . CONFIG_TABLE . ' WHERE param="additional_pages" LIMIT 1;';
75  pwg_query($q);
76  unset($conf['additional_pages']);
77}
78
79?>
Note: See TracBrowser for help on using the repository browser.