source: extensions/manage_properties_photos/initadmin.php @ 32215

Last change on this file since 32215 was 32188, checked in by ddtddt, 4 years ago

[manage_properties_photos]

File size: 7.3 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | Manage Properties Photos plugin for Piwigo by TEMMII                  |
4// +-----------------------------------------------------------------------+
5// | Copyright(C) 2007-2020 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
22//add admin menu
23add_event_handler('get_admin_plugin_menu_links', 'add_info_photo_admin_menu');
24
25function add_info_photo_admin_menu($menu){
26  if (is_webmaster()){
27    load_language('plugin.lang', ADD_PROP_PHOTO_PATH);
28    $menu[] = array(
29        'NAME' => l10n('Manage properties photos'),
30        'URL' => ADD_PROP_PHOTO_ADMIN,
31    );
32  }
33     return $menu;
34}
35
36add_event_handler('tabsheet_before_select', 'aip_tabsheet_before_select',
37    EVENT_HANDLER_PRIORITY_NEUTRAL);
38
39function aip_tabsheet_before_select($sheets, $id){
40  global $template, $page;
41  if ($id == 'photo'){
42    $sheets['iap'] = array(
43      'caption' => l10n('Properties additionals'),
44      'url' => ADD_PROP_PHOTO_ADMIN.'-iap&amp;image_id='.$_GET['image_id'],
45      );
46  }
47  return $sheets;
48}
49
50//add manage by batch Manager
51add_event_handler('loc_end_element_set_global', 'MPP_loc_end_element_set_global');
52add_event_handler('element_set_global_action', 'MPP_element_set_global_action', EVENT_HANDLER_PRIORITY_NEUTRAL, 2);
53 
54function MPP_loc_end_element_set_global(){
55  global $template;
56 
57  $template->assign(array(
58  'ADD_PROP_PHOTO_PATH'=> get_root_url() . ADD_PROP_PHOTO_PATH,
59  )); 
60 
61  $q = 'SELECT 1 FROM ' . ADD_PROP_PHOTO_TABLE . ' WHERE edit=1';
62  $test = pwg_query($q);
63  $row = pwg_db_fetch_assoc($test);
64  if (!empty($row)){
65        $propertieslist = array();
66        $propertieslist2 = tab_add_info_by_photo();
67        $PAED = pwg_db_fetch_assoc(pwg_query("SELECT state FROM " . PLUGINS_TABLE . " WHERE id = 'ExtendedDescription';"));
68          if($PAED['state'] == 'active'){
69                add_event_handler('AP_render_content', 'get_user_language_desc');
70                $template->assign('useED',1);
71      }else{
72        $template->assign('useED',0);
73      }
74                $template->assign('DATADATE', date('Y-m-d').' 10:05:05');
75        while ($info_select = pwg_db_fetch_assoc($propertieslist2)){
76                $items = array(
77                        'IDINFOPHO' => $info_select['id_prop_pho'],
78                        'AIPWORDING' => trigger_change('AP_render_content',$info_select['wording']),
79                        'AIPTYP' => $info_select['Typ'],
80                );
81                if($info_select['Typ']==4||$info_select['Typ']==5){
82                        $items['AIPDATAPROP'] =  json_encode(unserialize($info_select['dataprop']));
83                }               
84                if($info_select['wording']=="**delpho**"){
85                        $items['AIPWORDING'] =l10n('Delete photo');
86                }
87                $template->append('info_select', $items);
88        }
89       
90    $template->set_filename('MMPP', realpath(ADD_PROP_PHOTO_PATH.'mmp.tpl'));
91    $template->assign('propertieslist', $propertieslist);
92    $template->append('element_set_global_plugins_actions', array(
93      'ID' => 'MPP', 
94      'NAME' => l10n('Change photos properties'), 
95      'CONTENT' => $template->parse('MMPP', true)
96        ));
97  }
98}
99 
100function MPP_element_set_global_action($action, $collection){
101  if ($action == 'MPP'){
102        global $page,$template,$prefixeTable;
103    $id_prop_pho= $_POST['IDMPP'];
104        $Typ=$_POST['invisibleTyp'];
105        if($Typ==2){
106                $data= $_POST['datadate'];
107        }else if($Typ==4){
108                $data= $_POST['dataselect'];
109        }else if($Typ==5){
110                $data= $_POST['radioselect'];
111        }else{
112                $data= $_POST['dataglob'];
113        }
114       
115  if($Typ==2){
116        if (!empty($_POST['check_MPP'])){
117          foreach ($collection as $image_id){
118                $query = 'DELETE FROM ' . $prefixeTable . 'add_properties_photos_datadate WHERE id_img=' . $image_id . ' AND id_prop_pho=' . $id_prop_pho;
119                pwg_query($query);
120      }
121    }else{
122      foreach ($collection as $image_id){
123            $q = 'SELECT 1 FROM ' . ADD_PROP_PHOTO_DATADATE_TABLE . ' WHERE id_img=' . $image_id . ' AND id_prop_pho=' . $id_prop_pho;
124        $test = pwg_query($q);
125        $row = pwg_db_fetch_assoc($test);
126        if (!empty($row)) {
127                  if ($data != '') {
128                        $query = 'UPDATE ' . $prefixeTable . 'add_properties_photos_datadate SET datadate="' . $data . '" WHERE id_img=' . $image_id . ' AND id_prop_pho=' . $id_prop_pho;
129                        pwg_query($query);
130                  }else{
131                        $query = 'DELETE FROM ' . $prefixeTable . 'add_properties_photos_datadate WHERE id_img=' . $image_id . ' AND id_prop_pho=' . $id_prop_pho;
132                        pwg_query($query);
133                  }
134        }else if ($data != ''){
135            $query = 'INSERT ' . $prefixeTable . 'add_properties_photos_datadate(id_img,id_prop_pho,datadate) VALUES (' . $image_id . ',' . $id_prop_pho . ',"' . $data . '");';
136            pwg_query($query);
137        }
138      }
139    }
140  }else{
141        if (!empty($_POST['check_MPP'])){
142          foreach ($collection as $image_id){
143                $query = 'DELETE FROM ' . $prefixeTable . 'add_properties_photos_data WHERE id_img=' . $image_id . ' AND id_prop_pho=' . $id_prop_pho;
144                pwg_query($query);
145      }
146    }else{
147      foreach ($collection as $image_id){
148            $q = 'SELECT id_img FROM ' . ADD_PROP_PHOTO_DATA_TABLE . ' WHERE id_img=' . $image_id . ' AND id_prop_pho=' . $id_prop_pho;
149        $test = pwg_query($q);
150        $row = pwg_db_fetch_assoc($test);
151        if (!empty($row)) {
152                  if ($data != '') {
153                        $query = 'UPDATE ' . $prefixeTable . 'add_properties_photos_data SET data="' . $data . '" WHERE id_img=' . $image_id . ' AND id_prop_pho=' . $id_prop_pho;
154                        pwg_query($query);
155                  }else{
156                        $query = 'DELETE FROM ' . $prefixeTable . 'add_properties_photos_data WHERE id_img=' . $image_id . ' AND id_prop_pho=' . $id_prop_pho;
157                        pwg_query($query);
158                  }
159        }else if ($data != ''){
160            $query = 'INSERT ' . $prefixeTable . 'add_properties_photos_data(id_img,id_prop_pho,data) VALUES (' . $image_id . ',' . $id_prop_pho . ',"' . $data . '");';
161            pwg_query($query);
162        }
163      }
164    }
165  }
166  }
167}
168 
169add_event_handler('loc_begin_admin_page', 'mpp_change_admin_show');
170function mpp_change_admin_show(){
171  global $template;
172  $template->set_prefilter('config', 'mpp_change_admin_show_prefilter');
173}
174
175function mpp_change_admin_show_prefilter($content, &$smarty){
176  $search = '#(<fieldset id="pictureInfoConf">).*</fieldset>#ms';
177  return preg_replace($search, '
178  <fieldset id="pictureInfoConf">
179    <legend>{\'Photo Properties\'|@translate}</legend>
180          <a href="'.ADD_PROP_PHOTO_ADMIN.'"><span class="icon-arrows-cw"></span>{\'Manage properties photos\'|@translate}</a>
181  </fieldset>
182  ', $content);
183}
Note: See TracBrowser for help on using the repository browser.