source: extensions/lmt/lmt_install.class.inc.php @ 6468

Last change on this file since 6468 was 5548, checked in by grum, 14 years ago

Update the plugin for compatibility with Piwigo 2.1

  • Property svn:executable set to *
File size: 2.9 KB
RevLine 
[3396]1<?php
2/* -----------------------------------------------------------------------------
3  Plugin     : LMT
4  Author     : Grum
5    email    : grum@piwigo.org
6    website  : http://photos.grum.fr
7
8    << May the Little SpaceFrog be with you ! >>
9  ------------------------------------------------------------------------------
10  See main.inc.php for release information
11
12  LMT_Install : classe to manage plugin install
13
14  --------------------------------------------------------------------------- */
[5548]15
16   include_once('lmt_version.inc.php'); // => Don't forget to update this file !!
[3396]17  @include_once('lmt_root.class.inc.php');
[5548]18  @include_once(PHPWG_PLUGINS_PATH.'GrumPluginClasses/classes/GPCTables.class.inc.php');
[3396]19
20  /* lmt class for install process */
21  class LMT_Install extends LMT_root
22  {
23    private $tablef;
24    private $exportfile;
25
[5548]26    public function __construct($prefixeTable, $filelocation)
[3396]27    {
28      parent::__construct($prefixeTable, $filelocation);
[5548]29      $this->tablef= new GPCTables($this->tables);
30      $this->exportfile=dirname($this->getFileLocation()).'/'.$this->getPluginNameFiles().'.sql';
[3396]31    }
32
[5548]33    public function __destruct()
34    {
35      unset($this->tablef);
36      unset($this->exportfile);
37      parent::__destruct();
38    }
39
40    /*
41        function for installation process
42        return true if install process is ok, otherwise false
43    */
[3396]44    public function install()
45    {
[5548]46      $this->initConfig();
47      $this->loadConfig();
48      $this->config['installed']=LMT_VERSION2;
49      $this->saveConfig();
50
[3396]51      $tables_def=array(
52"CREATE TABLE   `".$this->tables['images']."` (
53  `image_id` mediumint(8) unsigned NOT NULL default '0',
54  `licence_type` char(8) NOT NULL default 'cc-none',
55  `author_id` int UNSIGNED NOT NULL default '0',
56  PRIMARY KEY  (`image_id`),
57  KEY `by_licence` (`licence_type`),
58  KEY `by_author_id` (`author_id`)
[5548]59)
60ENGINE=MyISAM
[3396]61CHARACTER SET utf8 COLLATE utf8_general_ci",
62
63"CREATE TABLE `".$this->tables['licence_author']."` (
64  `id` int UNSIGNED NOT NULL AUTO_INCREMENT,
65  `text1` CHAR(25)  NOT NULL,
66  `text2` CHAR(25)  NOT NULL,
67  PRIMARY KEY (`id`)
68)
69ENGINE = MyISAM
70CHARACTER SET utf8 COLLATE utf8_general_ci",
71      );
72
73      //if present, try to import backup
[5548]74      //if backup file
[3396]75      $import=$this->tablef->import($this->exportfile);
76      if($import['errors']<0)
77      {
[5548]78        $result=$this->tablef->create($tables_def);
[3396]79        return($result);
80      }
81      else
82      {
83        return(true);
84      }
85    }
86
87
88    /*
89        function for uninstall process
90    */
91    public function uninstall()
92    {
93      $this->tablef->export($this->exportfile);
[5548]94      $this->deleteConfig();
95      $this->tablef->drop();
[3396]96      return('');
97    }
98
99    public function activate()
100    {
101      global $template;
102
[5548]103      $this->initConfig();
104      $this->loadConfig();
105      $this->config['installed']=LMT_VERSION2;
106      $this->saveConfig();
[3396]107      return('');
108    }
109
110    public function deactivate()
111    {
112    }
113
114  } //class
115
116?>
Note: See TracBrowser for help on using the repository browser.