Dotclear

source: plugins/eventdata/_install.php @ 1005

Revision 1005, 4.7 KB checked in by JcDenis, 14 years ago (diff)

eventdata: fix conflict with icsFeed plugin

Line 
1<?php
2# -- BEGIN LICENSE BLOCK ----------------------------------
3# This file is part of eventdata, a plugin for Dotclear 2.
4#
5# Copyright (c) 2009 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     eventdataInstall::setTable($core);
23     eventdataInstall::setSettings($core);
24     eventdataInstall::setVersion($core);
25
26     # Move event old table to eventdata new table for plugin version < 0.3.4
27     if (version_compare($old_version,'0.1','>') && version_compare($old_version,'0.3.5','<')) {
28
29          $rs = $core->con->select('SELECT post_id,event_start,event_end,event_type FROM '.$core->prefix.'event ');
30          if (!$rs->isEmpty())
31          {
32               $cur_eventdata = $core->con->openCursor($core->prefix.'eventdata');
33               while ($rs->fetch()) {
34                    $cur_eventdata->post_id     = (integer) $rs->post_id;
35                    $cur_eventdata->eventdata_start     = (string) $rs->event_start;
36                    $cur_eventdata->eventdata_end     = (string) $rs->event_end;
37                    $cur_eventdata->eventdata_type     = (string) ($rs->event_type == 'event' ? 'eventdata' : $rs->event_type);
38                    $cur_eventdata->insert();
39               }
40               $core->con->execute('DELETE FROM '.$core->prefix.'event WHERE event_type = \'event\'');
41
42               $core->blog->settings->setNameSpace('eventdata');
43               $core->blog->settings->put('eventdata_option_active',$core->blog->settings->event_option_active,'boolean','eventdata plugin enabled',true,false);
44               $core->blog->settings->put('eventdata_option_menu',$core->blog->settings->event_option_menu,'boolean','Icon place on admin menu',true,false);
45               $core->blog->settings->put('eventdata_option_public',$core->blog->settings->event_option_public,'boolean','eventdata public page enabled',true,false);
46               $core->blog->settings->put('eventdata_perm_pst',$core->blog->settings->event_perm_pst,'boolean','Perm to manage events on entries',true,false);
47               $core->blog->settings->put('eventdata_perm_cat',$core->blog->settings->event_perm_cat,'boolean','Perm to manage events categories',true,false);
48               $core->blog->settings->put('eventdata_perm_tpl',$core->blog->settings->event_perm_tpl,'boolean','Perm to manage events template',true,false);
49               $core->blog->settings->put('eventdata_perm_adm',$core->blog->settings->event_perm_adm,'boolean','Perm to manage eventdata plugin',true,false);
50               $core->blog->settings->put('eventdata_tpl_title',$core->blog->settings->event_tpl_title,'string','Public page title',true,false);
51               $core->blog->settings->put('eventdata_tpl_desc','',$core->blog->settings->event_tpl_desc,'Public page description',true,false);
52               $core->blog->settings->put('eventdata_tpl_url',$core->blog->settings->event_tpl_url,'string','Public page default name',true,false);
53               $core->blog->settings->put('eventdata_tpl_dis_bhv',$core->blog->settings->event_tpl_dis_bhv,'boolean','Disable public entry behavior',true,false);
54               $core->blog->settings->put('eventdata_tpl_theme',$core->blog->settings->event_tpl_theme,'string','Public page template',true,false);
55               $core->blog->settings->put('eventdata_tpl_cats',$core->blog->settings->event_tpl_cats,'string','Redirected categories',true,false);
56               $core->blog->settings->put('eventdata_no_cats',$core->blog->settings->event_no_cats,'string','Unlisted categories',true,false);
57
58               $set = $core->blog->settings;
59               $set->drop('event_option_active');
60               $set->drop('event_option_menu');
61               $set->drop('event_option_public');
62               $set->drop('event_perm_pst');
63               $set->drop('event_perm_cat');
64               $set->drop('event_perm_tpl');
65               $set->drop('event_perm_adm');
66               $set->drop('event_tpl_title');
67               $set->drop('event_tpl_desc');
68               $set->drop('event_tpl_url');
69               $set->drop('event_tpl_dis_bhv');
70               $set->drop('event_tpl_theme');
71               $set->drop('event_tpl_cats');
72               $set->drop('event_no_cats');
73
74               $set = new dcSettings($core,null);
75               $set->drop('event_option_active');
76               $set->drop('event_option_menu');
77               $set->drop('event_option_public');
78               $set->drop('event_perm_pst');
79               $set->drop('event_perm_cat');
80               $set->drop('event_perm_tpl');
81               $set->drop('event_perm_adm');
82               $set->drop('event_tpl_title');
83               $set->drop('event_tpl_desc');
84               $set->drop('event_tpl_url');
85               $set->drop('event_tpl_dis_bhv');
86               $set->drop('event_tpl_theme');
87               $set->drop('event_tpl_cats');
88               $set->drop('event_no_cats');
89
90          }
91          unset($rs,$res);
92     }
93}
94catch (Exception $e) {
95     $core->error->add($e->getMessage());
96}
97return true;
98?>
Note: See TracBrowser for help on using the repository browser.

Sites map