source: extensions/manage_properties_photos/maintain.class.php

Last change on this file was 32902, checked in by ddtddt, 16 months ago

[manage_properties_photos] compatybilité php8

File size: 7.8 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | Manage Properties Photos plugin for Piwigo by TEMMII                  |
4// +-----------------------------------------------------------------------+
5// | Copyright(C) 2007-2023 ddtddt               http://temmii.com/piwigo/ |
6// +-----------------------------------------------------------------------+
7// | This program is free software; you can redistribute it and/or modify  |
8// | it under the terms of the GNU General Public License as published by  |
9// | the Free Software Foundation                                          |
10// |                                                                       |
11// | This program is distributed in the hope that it will be useful, but   |
12// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
13// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
14// | General Public License for more details.                              |
15// |                                                                       |
16// | You should have received a copy of the GNU General Public License     |
17// | along with this program; if not, write to the Free Software           |
18// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
19// | USA.                                                                  |
20// +-----------------------------------------------------------------------+
21
22defined('PHPWG_ROOT_PATH') or die('Hacking attempt!');
23
24/* definie Typ
250 : default piwigo properties
261 : properties texte
272 : properties date
283 : properties exif
294 : properties select
305 : properties radio
316 : properties IPTC
32
33$conf['mpp_idexif'] ** picture id for list exif
34$conf['mpp_max_fields'] ** max fileds for select and radio default 5
35*/
36
37
38class manage_properties_photos_maintain extends PluginMaintain
39{
40  private $installed = false;
41
42  function __construct($plugin_id){
43    parent::__construct($plugin_id);
44  }
45
46  function install($plugin_version, &$errors=array()){
47       global $prefixeTable, $conf;
48
49if (!defined('ADD_PROP_PHOTO_TABLE')) define('ADD_PROP_PHOTO_TABLE', $prefixeTable.'add_properties_photos');
50        $query = "CREATE TABLE IF NOT EXISTS ". ADD_PROP_PHOTO_TABLE ." (
51id_prop_pho SMALLINT(5) UNSIGNED NOT NULL auto_increment,
52wording VARCHAR(255) NOT NULL ,
53orderprop SMALLINT(5) UNSIGNED NOT NULL ,
54active SMALLINT(5) UNSIGNED NOT NULL ,
55edit SMALLINT(5) UNSIGNED NOT NULL ,
56Typ SMALLINT(5) DEFAULT 1,
57dataprop LONGTEXT,
58PRIMARY KEY (id_prop_pho))DEFAULT CHARSET=utf8;";
59        $result = pwg_query($query);
60
61if (!defined('ADD_PROP_PHOTO_DATA_TABLE')) define('ADD_PROP_PHOTO_DATA_TABLE', $prefixeTable.'add_properties_photos_data');
62        $query = "CREATE TABLE IF NOT EXISTS ". ADD_PROP_PHOTO_DATA_TABLE ." (
63id_img SMALLINT(5) UNSIGNED NOT NULL ,
64id_prop_pho SMALLINT(5) UNSIGNED NOT NULL ,
65data VARCHAR(255) NOT NULL ,
66PRIMARY KEY (id_img,id_prop_pho))DEFAULT CHARSET=utf8;";
67        $result = pwg_query($query);
68       
69if (!defined('ADD_PROP_PHOTO_DATADATE_TABLE')) define('ADD_PROP_PHOTO_DATADATE_TABLE', $prefixeTable.'add_properties_photos_datadate');
70        $query = "CREATE TABLE IF NOT EXISTS ". ADD_PROP_PHOTO_DATADATE_TABLE ." (
71                id_img SMALLINT(5) UNSIGNED NOT NULL ,
72                id_prop_pho SMALLINT(5) UNSIGNED NOT NULL ,
73                datadate datetime ,
74                PRIMARY KEY (id_img,id_prop_pho))DEFAULT CHARSET=utf8;";
75        $result = pwg_query($query);
76
77       
78 
79  $activ=unserialize($conf['picture_informations']);
80  if($activ['author']==true){$activauteur=0;}else{$activauteur=1;}
81  if($activ['created_on']==true){$activco=0;}else{$activco=1;}
82  if($activ['posted_on']==true){$activpo=0;}else{$activpo=1;}
83  if($activ['dimensions']==true){$activdim=0;}else{$activdim=1;}
84  if($activ['file']==true){$activfile=0;}else{$activfile=1;}
85  if($activ['filesize']==true){$activfilesize=0;}else{$activfilesize=1;}
86  if($activ['tags']==true){$activtags=0;}else{$activtags=1;}
87  if($activ['categories']==true){$activcategories=0;}else{$activcategories=1;}
88  if($activ['visits']==true){$activvisits=0;}else{$activvisits=1;}
89  if($activ['rating_score']==true){$activrs=0;}else{$activrs=1;}
90  if($activ['privacy_level']==true){$activpl=0;}else{$activpl=1;}
91  $q = 'INSERT INTO ' . $prefixeTable . 'add_properties_photos(id_prop_pho,wording,orderprop,active,edit,Typ)VALUES
92        (1,"author",1,'.$activauteur.',0,0),
93        (2,"Created on",2,'.$activco.',0,0),
94        (3,"Posted on",3,'.$activpo.',0,0),
95        (4,"Dimensions",4,'.$activdim.',0,0),
96        (5,"File",5,'.$activfile.',0,0),
97        (6,"Filesize",6,'.$activfilesize.',0,0),
98        (7,"Tags",7,'.$activtags.',0,0),
99        (8,"Albums",8,'.$activcategories.',0,0),
100        (9,"Visits",9,'.$activvisits.',0,0),
101        (10,"Average",10,'.$activrs.',0,0),
102        (11,"Who can see this photo?",11,'.$activpl.',0,0)
103        ;';
104  pwg_query($q); 
105 
106if (!defined('ADD_PROP_PHOTO_DATADATE_TABLE')) define('ADD_PROP_PHOTO_DATADATE_TABLE', $prefixeTable.'add_properties_photos_datadate');
107        $query = "CREATE TABLE IF NOT EXISTS ". ADD_PROP_PHOTO_DATADATE_TABLE ." (
108id_img SMALLINT(5) UNSIGNED NOT NULL ,
109id_prop_pho SMALLINT(5) UNSIGNED NOT NULL ,
110datadate datetime ,
111PRIMARY KEY (id_img,id_prop_pho))DEFAULT CHARSET=utf8;";
112        $result = pwg_query($query);
113 
114  }
115
116  function activate($plugin_version, &$errors=array()){
117        global $prefixeTable, $pwg_loaded_plugins;
118        if (!defined('ADD_PROP_PHOTO_TABLE')) define('ADD_PROP_PHOTO_TABLE', $prefixeTable.'add_properties_photos'); 
119        /*Update to manage Typ select date*/
120        $col = pwg_db_fetch_assoc(pwg_query("SHOW COLUMNS FROM " . ADD_PROP_PHOTO_TABLE . " LIKE 'Typ';"));
121     if ($col == NULL){
122                pwg_query('ALTER TABLE '. ADD_PROP_PHOTO_TABLE.' ADD COLUMN `Typ` SMALLINT(5) DEFAULT 1;');
123                pwg_query('ALTER TABLE '. ADD_PROP_PHOTO_TABLE.' ADD COLUMN `dataprop` LONGTEXT;');
124                pwg_query('UPDATE '. ADD_PROP_PHOTO_TABLE.' set Typ = 0 where edit =0;');
125         }
126       
127        /*Update for manage date*/
128        if (!defined('ADD_PROP_PHOTO_DATADATE_TABLE')) define('ADD_PROP_PHOTO_DATADATE_TABLE', $prefixeTable.'add_properties_photos_datadate');
129        $datatable= pwg_db_fetch_assoc(pwg_query("SHOW TABLES LIKE '" . ADD_PROP_PHOTO_DATADATE_TABLE . "';"));
130         if ($datatable == NULL){
131                $query = "CREATE TABLE IF NOT EXISTS ". ADD_PROP_PHOTO_DATADATE_TABLE ." (
132                id_img SMALLINT(5) UNSIGNED NOT NULL ,
133                id_prop_pho SMALLINT(5) UNSIGNED NOT NULL ,
134                datadate datetime ,
135                PRIMARY KEY (id_img,id_prop_pho))DEFAULT CHARSET=utf8;";
136                $result = pwg_query($query);
137         } 
138  }
139
140  function update($old_version, $new_version, &$errors=array()){
141        global $prefixeTable, $pwg_loaded_plugins;
142        if (!defined('ADD_PROP_PHOTO_TABLE')) define('ADD_PROP_PHOTO_TABLE', $prefixeTable.'add_properties_photos'); 
143        /*Update to manage Typ select date*/
144        $col = pwg_db_fetch_assoc(pwg_query("SHOW COLUMNS FROM " . ADD_PROP_PHOTO_TABLE . " LIKE 'Typ';"));
145     if ($col == NULL){
146                pwg_query('ALTER TABLE '. ADD_PROP_PHOTO_TABLE.' ADD COLUMN `Typ` SMALLINT(5) DEFAULT 1;');
147                pwg_query('ALTER TABLE '. ADD_PROP_PHOTO_TABLE.' ADD COLUMN `dataprop` LONGTEXT;');
148                pwg_query('UPDATE '. ADD_PROP_PHOTO_TABLE.' set Typ = 0 where edit =0;');
149         }
150       
151        /*Update for manage date*/
152        if (!defined('ADD_PROP_PHOTO_DATADATE_TABLE')) define('ADD_PROP_PHOTO_DATADATE_TABLE', $prefixeTable.'add_properties_photos_datadate');
153        $datatable= pwg_db_fetch_assoc(pwg_query("SHOW TABLES LIKE '" . ADD_PROP_PHOTO_DATADATE_TABLE . "';"));
154         if ($datatable == NULL){
155                $query = "CREATE TABLE IF NOT EXISTS ". ADD_PROP_PHOTO_DATADATE_TABLE ." (
156                id_img SMALLINT(5) UNSIGNED NOT NULL ,
157                id_prop_pho SMALLINT(5) UNSIGNED NOT NULL ,
158                datadate datetime ,
159                PRIMARY KEY (id_img,id_prop_pho))DEFAULT CHARSET=utf8;";
160                $result = pwg_query($query);
161         }
162  }
163 
164  function deactivate(){
165  }
166
167  function uninstall(){
168          global $prefixeTable;
169    pwg_query('DROP TABLE ' . $prefixeTable . 'add_properties_photos;');
170    pwg_query('DROP TABLE ' . $prefixeTable . 'add_properties_photos_data;');
171        pwg_query('DROP TABLE ' . $prefixeTable . 'add_properties_photos_datadate;');
172  }
173}
174?>
Note: See TracBrowser for help on using the repository browser.