Dotclear

source: plugins/eventHandler/_install.php @ 2648

Revision 2648, 2.7 KB checked in by JcDenis, 13 years ago (diff)

eventHandler 1.0-RC2

  • Fixed some bugs and typo
Line 
1<?php
2# -- BEGIN LICENSE BLOCK ----------------------------------
3# This file is part of eventHandler, 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('eventHandler','version');
17$old_version = $core->getVersion('eventHandler');
18# Compare versions
19if (version_compare($old_version,$new_version,'>=')) return;
20# Install
21try
22{
23     # Check DC version
24     if (version_compare(str_replace("-r","-p",DC_VERSION),'2.2-alpha','<'))
25     {
26          throw new Exception('Plugin called eventHandler requires Dotclear 2.2 or higher.');
27     }
28
29     # Database schema
30     $t = new dbStruct($core->con,$core->prefix);
31     $t->eventhandler
32          ->post_id ('bigint',0,false)
33          ->event_startdt ('timestamp',0,false,'now()')
34          ->event_enddt ('timestamp',0,false,'now()')
35          ->event_address('text','',true,null)
36          ->event_latitude('varchar',25,true,null)
37          ->event_longitude('varchar',25,true,null)
38         
39          ->index('idx_event_post_id','btree','post_id')
40          ->index('idx_event_event_start','btree','event_startdt')
41          ->index('idx_event_event_end','btree','event_enddt')
42          ->reference('fk_event_post','post_id','post','post_id','cascade','cascade');
43     
44     # Schema installation
45     $ti = new dbStruct($core->con,$core->prefix);
46     $changes = $ti->synchronize($t);
47     
48     # Settings options
49     $core->blog->settings->addNamespace('eventHandler');
50     $s = $core->blog->settings->eventHandler;
51     
52     $extra_css = file_get_contents(dirname(__FILE__).'/default-templates/default-eventhandler.css');
53     
54     $s->put('active',false,'boolean','Enabled eventHandler extension',false,true);
55     $s->put('public_events_of_post_place','after','string','Display related events on entries',false,true);
56     $s->put('public_posts_of_event_place','after','string','Display related posts on events',false,true);
57     $s->put('public_hidden_categories','','string','List of categories to hide from post content and widgets',false,true);
58     $s->put('public_map_zoom',9,'integer','Default zoom of map',false,true);
59     $s->put('public_map_type','ROADMAP','string','Default type of map',false,true);
60     //$s->put('public_disable_css',false,'boolean','Disabled default public CSS of eventHanlder',false,true);
61     $s->put('public_extra_css',$extra_css,'string','Custom CSS',false,true);
62     
63     # Set version
64     $core->setVersion('eventHandler',$new_version);
65     
66     return true;
67}
68catch (Exception $e)
69{
70     $core->error->add($e->getMessage());
71}
72return false;
73?>
Note: See TracBrowser for help on using the repository browser.

Sites map