Dotclear

source: plugins/newsletter/trunk/_install.php @ 1532

Revision 1532, 2.3 KB checked in by kwon, 14 years ago (diff)

Newsletter 3.6.0rc1 :

  • closes #117 : retourne les billets des catégories filles
  • closes #156 : prise en compte de l'export / import
  • closes #233 : choix de la date de tri des billets
  • many others things ...
Line 
1<?php
2# -- BEGIN LICENSE BLOCK ----------------------------------
3# This file is part of Newsletter, a plugin for Dotclear.
4#
5# Copyright (c) 2009 Benoit de Marne
6# benoit.de.marne@gmail.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
13// filtrage des droits
14if (!defined('DC_CONTEXT_ADMIN')) exit;
15
16// chargement des librairies
17require_once dirname(__FILE__).'/inc/class.newsletter.plugin.php';
18require_once dirname(__FILE__).'/inc/class.newsletter.core.php';
19require_once dirname(__FILE__).'/inc/class.newsletter.admin.php';
20
21// est-ce qu'on a besoin d'installer et est-ce qu'on peut le faire ?
22// on vérifie qu'il s'agit bien d'une version plus récente
23$versionnew = $core->plugins->moduleInfo(newsletterPlugin::pname(), 'version');
24$versionold = $core->getVersion(newsletterPlugin::pname());
25
26try {
27     if (version_compare($versionold, $versionnew, '>=')) {
28          // version a jour
29          return;
30     } else if ($versionold != '') {
31          // update
32         
33          // activation des paramètres par défaut
34          $core->blog->dcNewsletter = new dcNewsletter($core);
35
36          if (version_compare($versionold, '3.6.0', '<')) {
37               // import des paramètres existants
38               $core->blog->dcNewsletter->newsletter_settings->repriseSettings();
39          } else {
40               $core->blog->dcNewsletter->newsletter_settings->defaultsSettings();
41          }
42
43          // Prise en compte de la nouvelle version
44          $core->setVersion(newsletterPlugin::pname(), $versionnew);
45          unset($versionnew, $versionold);
46
47          return true;
48         
49     } else {
50          // nouvelle install
51          // création du schéma de la table
52          $_s = new dbStruct($core->con, $core->prefix);
53          require dirname(__FILE__).'/inc/db-schema.php';
54     
55          $si = new dbStruct($core->con, $core->prefix);
56          $changes = $si->synchronize($_s);
57
58          // activation des paramètres par défaut
59          $core->blog->dcNewsletter = new dcNewsletter($core);
60          $core->blog->dcNewsletter->newsletter_settings->defaultsSettings();
61
62          // Prise en compte de la nouvelle version
63          $core->setVersion(newsletterPlugin::pname(), $versionnew);
64          unset($versionnew, $versionold);
65                   
66          return true;
67     }
68
69} catch (Exception $e) { 
70     $core->error->add(__('Unable to install the plugin Newsletter'));
71     $core->error->add($e->getMessage()); 
72     return false;
73}
74
75?>
Note: See TracBrowser for help on using the repository browser.

Sites map