source: branches/2.1/admin/element_set_unit.php @ 6276

Last change on this file since 6276 was 6276, checked in by plg, 14 years ago

merge r6265 from trunk to branch 2.1

Correct text alignement in .infos, .errors
30px => 53px

File size: 7.9 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | Piwigo - a PHP based picture gallery                                  |
4// +-----------------------------------------------------------------------+
5// | Copyright(C) 2008-2010 Piwigo Team                  http://piwigo.org |
6// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
7// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
8// +-----------------------------------------------------------------------+
9// | This program is free software; you can redistribute it and/or modify  |
10// | it under the terms of the GNU General Public License as published by  |
11// | the Free Software Foundation                                          |
12// |                                                                       |
13// | This program is distributed in the hope that it will be useful, but   |
14// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
15// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
16// | General Public License for more details.                              |
17// |                                                                       |
18// | You should have received a copy of the GNU General Public License     |
19// | along with this program; if not, write to the Free Software           |
20// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
21// | USA.                                                                  |
22// +-----------------------------------------------------------------------+
23
24/**
25 * Management of elements set. Elements can belong to a category or to the
26 * user caddie.
27 *
28 */
29
30if (!defined('PHPWG_ROOT_PATH'))
31{
32  die('Hacking attempt!');
33}
34
35include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
36
37// +-----------------------------------------------------------------------+
38// | Check Access and exit when user status is not ok                      |
39// +-----------------------------------------------------------------------+
40check_status(ACCESS_ADMINISTRATOR);
41
42trigger_action('loc_begin_element_set_unit');
43
44// +-----------------------------------------------------------------------+
45// |                        unit mode form submission                      |
46// +-----------------------------------------------------------------------+
47
48if (isset($_POST['submit']))
49{
50  $collection = explode(',', $_POST['element_ids']);
51
52  $datas = array();
53
54  $query = '
55SELECT id, date_creation
56  FROM '.IMAGES_TABLE.'
57  WHERE id IN ('.implode(',', $collection).')
58;';
59  $result = pwg_query($query);
60
61  while ($row = pwg_db_fetch_assoc($result))
62  {
63    $data = array();
64
65    $data['id'] = $row['id'];
66    $data['name'] = $_POST['name-'.$row['id']];
67    $data['author'] = $_POST['author-'.$row['id']];
68    $data['level'] = $_POST['level-'.$row['id']];
69
70    foreach (array('name', 'author', 'level') as $field)
71    {
72      if (!empty($_POST[$field.'-'.$row['id']]))
73      {
74        $data[$field] = strip_tags($_POST[$field.'-'.$row['id']]);
75      }
76    }
77
78    if ($conf['allow_html_descriptions'])
79    {
80      $data['comment'] = @$_POST['description-'.$row['id']];
81    }
82    else
83    {
84      $data['comment'] = strip_tags(@$_POST['description-'.$row['id']]);
85    }
86
87    if (isset($_POST['date_creation_action-'.$row['id']]))
88    {
89      if ('set' == $_POST['date_creation_action-'.$row['id']])
90      {
91        $data['date_creation'] =
92          $_POST['date_creation_year-'.$row['id']]
93            .'-'.$_POST['date_creation_month-'.$row['id']]
94            .'-'.$_POST['date_creation_day-'.$row['id']];
95      }
96      else if ('unset' == $_POST['date_creation_action-'.$row['id']])
97      {
98        $data['date_creation'] = '';
99      }
100    }
101    else
102    {
103      $data['date_creation'] = $row['date_creation'];
104    }
105
106    array_push($datas, $data);
107
108    // tags management
109    if (isset($_POST[ 'tags-'.$row['id'] ]))
110    {
111      $tag_ids = get_fckb_tag_ids($_POST[ 'tags-'.$row['id'] ]);
112      set_tags($tag_ids, $row['id']);
113    }
114  }
115
116  mass_updates(
117    IMAGES_TABLE,
118    array(
119      'primary' => array('id'),
120      'update' => array('name','author','level','comment','date_creation')
121      ),
122    $datas
123    );
124
125  array_push($page['infos'], l10n('Picture informations updated'));
126}
127
128// +-----------------------------------------------------------------------+
129// |                             template init                             |
130// +-----------------------------------------------------------------------+
131
132$template->set_filenames(
133  array('element_set_unit' => 'element_set_unit.tpl'));
134
135$base_url = PHPWG_ROOT_PATH.'admin.php';
136
137$month_list = $lang['month'];
138$month_list[0]='------------';
139ksort($month_list);
140
141$template->assign(
142  array(
143    'CATEGORIES_NAV'=>$page['title'],
144    'U_ELEMENTS_PAGE'
145    =>$base_url.get_query_string_diff(array('display','start')),
146    'U_GLOBAL_MODE'
147    =>
148    $base_url
149    .get_query_string_diff(array('mode','display'))
150    .'&amp;mode=global',
151    'F_ACTION'=>$base_url.get_query_string_diff(array()),   
152    'month_list' => $month_list,
153    'level_options' => get_privacy_level_options(),
154    )
155  );
156
157// +-----------------------------------------------------------------------+
158// |                        global mode thumbnails                         |
159// +-----------------------------------------------------------------------+
160
161// how many items to display on this page
162if (!empty($_GET['display']))
163{
164  if ('all' == $_GET['display'])
165  {
166    $page['nb_images'] = count($page['cat_elements_id']);
167  }
168  else
169  {
170    $page['nb_images'] = intval($_GET['display']);
171  }
172}
173else
174{
175  $page['nb_images'] = 5;
176}
177
178
179
180if (count($page['cat_elements_id']) > 0)
181{
182  $nav_bar = create_navigation_bar(
183    $base_url.get_query_string_diff(array('start')),
184    count($page['cat_elements_id']),
185    $page['start'],
186    $page['nb_images']
187    );
188  $template->assign(array('navbar' => $nav_bar));
189
190  // tags
191  $all_tags = get_all_tags();
192
193  $element_ids = array();
194
195  $query = '
196SELECT id,path,tn_ext,name,date_creation,comment,author,level,file
197  FROM '.IMAGES_TABLE.'
198  WHERE id IN ('.implode(',', $page['cat_elements_id']).')
199  '.$conf['order_by'].'
200  LIMIT '.$page['nb_images'].' OFFSET '.$page['start'].'
201;';
202  $result = pwg_query($query);
203
204  while ($row = pwg_db_fetch_assoc($result))
205  {
206    array_push($element_ids, $row['id']);
207
208    $src = get_thumbnail_url($row);
209
210    // creation date
211    if (!empty($row['date_creation']))
212    {
213      list($year,$month,$day) = explode('-', $row['date_creation']);
214    }
215    else
216    {
217      list($year,$month,$day) = array('',0,0);
218    }
219
220    $query = '
221SELECT
222    tag_id,
223    name AS tag_name
224  FROM '.IMAGE_TAG_TABLE.' AS it
225    JOIN '.TAGS_TABLE.' AS t ON t.id = it.tag_id
226  WHERE image_id = '.$row['id'].'
227;';
228    $tag_selection = get_fckb_taglist($query);
229
230    $template->append(
231      'elements',
232      array(
233        'ID' => $row['id'],
234        'TN_SRC' => $src,
235        'LEGEND' => !empty($row['name']) ?
236            $row['name'] : get_name_from_file($row['file']),
237        'U_EDIT' =>
238            PHPWG_ROOT_PATH.'admin.php?page=picture_modify'.
239            '&amp;image_id='.$row['id'],
240        'NAME' => !empty($row['name'])?$row['name']:'',
241        'AUTHOR' => !empty($row['author'])?$row['author']:'',
242        'LEVEL' => !empty($row['level'])?$row['level']:'0',
243        'DESCRIPTION' => !empty($row['comment'])?$row['comment']:'',
244        'DATE_CREATION_YEAR' => $year,
245        'DATE_CREATION_MONTH' => (int)$month,
246        'DATE_CREATION_DAY' => (int)$day,
247        'TAGS' => $tag_selection,
248        )
249      );
250  }
251
252  $template->assign('ELEMENT_IDS', implode(',', $element_ids));
253}
254
255trigger_action('loc_end_element_set_unit');
256
257// +-----------------------------------------------------------------------+
258// |                           sending html code                           |
259// +-----------------------------------------------------------------------+
260
261$template->assign_var_from_handle('ADMIN_CONTENT', 'element_set_unit');
262?>
Note: See TracBrowser for help on using the repository browser.