Dotclear

source: plugins/eventdata/_install.php @ 2088

Revision 2088, 3.0 KB checked in by JcDenis, 14 years ago (diff)

eventdata 0.9:

  • Fixed bug of first day on widget
  • Fixed bug of one day event on widget
  • Added Next/Previous? in calendar widget
Line 
1<?php
2# -- BEGIN LICENSE BLOCK ----------------------------------
3# This file is part of eventdata, a plugin for Dotclear 2.
4#
5# Copyright (c) 2009-2010 JC Denis and contributors
6# jcdenis@gdwd.com
7#
8# Licensed under the GPL version 2.0 license.
9# A copy of this license is available in LICENSE file or at
10# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
11# -- END LICENSE BLOCK ------------------------------------
12
13if (!defined('DC_CONTEXT_ADMIN')){return;}
14
15# Get new version
16$new_version = $core->plugins->moduleInfo('eventdata','version');
17$old_version = $core->getVersion('eventdata');
18# Compare versions
19if (version_compare($old_version,$new_version,'>=')) return;
20# Install
21try {
22     # Check DC version (dev on) //2.1.6 due to datepicker
23     if (!version_compare(DC_VERSION,'2.1.6','>=')) {
24          throw new Exception('Plugin called eventdata requires Dotclear 2.1.5 or higher.');
25     }
26     # Check DC version (new settings)
27     if (version_compare(DC_VERSION,'2.2','>=')) {
28          throw new Exception('Plugin called eventdata requires Dotclear up to 2.2.');
29     }
30     # Database schema
31     $s = new dbStruct($core->con,$core->prefix);
32     $s->eventdata
33          ->post_id ('bigint',0,false)
34          ->eventdata_start ('timestamp',0,false,'now()')
35          ->eventdata_end ('timestamp',0,false,'now()')
36          ->eventdata_type('varchar',64,false)
37          ->eventdata_location('text','',true)
38          ->primary('pk_eventdata','eventdata_type','post_id','eventdata_start','eventdata_end')
39          ->index('idx_eventdata_post_id','btree','post_id')
40          ->index('idx_eventdata_event_type','btree','eventdata_type')
41          ->index('idx_eventdata_event_start','btree','eventdata_start')
42          ->index('idx_eventdata_event_end','btree','eventdata_end')
43          ->reference('fk_eventdata_post','post_id','post','post_id','cascade','cascade');
44     # Schema installation
45     $si = new dbStruct($core->con,$core->prefix);
46     $changes = $si->synchronize($s);
47     # Settings options
48     $s = $core->blog->settings;
49     $s->setNameSpace('eventdata');
50     $s->put('eventdata_active',
51          false,'boolean','eventdata plugin enabled',false,true);
52     $s->put('eventdata_blog_menu',
53          false,'boolean','eventdata icon on blog menu',false,true);
54     $s->put('eventdata_public_active',
55          false,'boolean','eventdata public page enabled',false,true);
56     $s->put('eventdata_importexport_active',
57          true,'boolean','Enabled import/export behaviors',false,true);
58     # Settings templates
59     $s->put('eventdata_tpl_title',
60          'Events','string','Public page title',false,true);
61     $s->put('eventdata_tpl_desc',
62          '','string','Public page description',false,true);
63     $s->put('eventdata_tpl_dis_bhv',
64          false,'boolean','Disable public entry behavior',false,true);
65     $s->put('eventdata_tpl_theme',
66          'default','string','Public page template',false,true);
67     $s->put('eventdata_tpl_cats',
68          '','string','Redirected categories',false,true);
69     $s->put('eventdata_no_cats',
70          '','string','Unlisted categories',false,true);
71     $s->setNameSpace('system');
72     # Set version
73     $core->setVersion('eventdata',$new_version);
74     return true;
75}
76catch (Exception $e) {
77     $core->error->add($e->getMessage());
78     return false;
79}
80?>
Note: See TracBrowser for help on using the repository browser.

Sites map