diff options
author | plegall <plg@piwigo.org> | 2010-12-31 15:19:11 +0000 |
---|---|---|
committer | plegall <plg@piwigo.org> | 2010-12-31 15:19:11 +0000 |
commit | 38aad287ebe7fc945203051aff477b049fa2418b (patch) | |
tree | b83412bdd4a5517af7a6047aae9f5831a5405351 /admin/element_set_global.php | |
parent | 68634c24b2355245a575cc0a023252bca214c217 (diff) |
feature 2089: finish removing element_set, now it's time for batch_manager
git-svn-id: http://piwigo.org/svn/trunk@8417 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'admin/element_set_global.php')
-rw-r--r-- | admin/element_set_global.php | 490 |
1 files changed, 0 insertions, 490 deletions
diff --git a/admin/element_set_global.php b/admin/element_set_global.php deleted file mode 100644 index 26eb57ca6..000000000 --- a/admin/element_set_global.php +++ /dev/null @@ -1,490 +0,0 @@ -<?php -// +-----------------------------------------------------------------------+ -// | Piwigo - a PHP based picture gallery | -// +-----------------------------------------------------------------------+ -// | Copyright(C) 2008-2010 Piwigo Team http://piwigo.org | -// | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net | -// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick | -// +-----------------------------------------------------------------------+ -// | This program is free software; you can redistribute it and/or modify | -// | it under the terms of the GNU General Public License as published by | -// | the Free Software Foundation | -// | | -// | This program is distributed in the hope that it will be useful, but | -// | WITHOUT ANY WARRANTY; without even the implied warranty of | -// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | -// | General Public License for more details. | -// | | -// | You should have received a copy of the GNU General Public License | -// | along with this program; if not, write to the Free Software | -// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | -// | USA. | -// +-----------------------------------------------------------------------+ - -/** - * Management of elements set. Elements can belong to a category or to the - * user caddie. - * - */ - -if (!defined('PHPWG_ROOT_PATH')) -{ - die('Hacking attempt!'); -} - -include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); - -// +-----------------------------------------------------------------------+ -// | Check Access and exit when user status is not ok | -// +-----------------------------------------------------------------------+ -check_status(ACCESS_ADMINISTRATOR); - -trigger_action('loc_begin_element_set_global'); - -// +-----------------------------------------------------------------------+ -// | deletion form submission | -// +-----------------------------------------------------------------------+ - -// the $_POST['selection'] was already checked in element_set.php -check_input_parameter('del_tags', $_POST, true, PATTERN_ID); -check_input_parameter('associate', $_POST, false, PATTERN_ID); -check_input_parameter('dissociate', $_POST, false, PATTERN_ID); - -if (isset($_POST['delete'])) -{ - if (isset($_POST['confirm_deletion']) and 1 == $_POST['confirm_deletion']) - { - $collection = array(); - - switch ($_POST['target_deletion']) - { - case 'all' : - { - $collection = $page['cat_elements_id']; - break; - } - case 'selection' : - { - if (!isset($_POST['selection']) or count($_POST['selection']) == 0) - { - array_push($page['errors'], l10n('Select at least one picture')); - } - else - { - $collection = $_POST['selection']; - } - break; - } - } - - if (count($collection) > 0) - { - $deleted_count = delete_elements($collection, true); - if ($deleted_count > 0) - { - array_push( - $page['infos'], - sprintf( - l10n_dec( - '%d photo was deleted', - '%d photos were deleted', - $deleted_count - ), - $deleted_count - ) - ); - } - else - { - array_push($page['errors'], l10n('No photo can be deleted')); - } - } - } - else - { - array_push($page['errors'], l10n('You need to confirm deletion')); - } -} - -// +-----------------------------------------------------------------------+ -// | global mode form submission | -// +-----------------------------------------------------------------------+ - -if (isset($_POST['submit'])) -{ - $collection = array(); - -// echo '<pre>'; -// print_r($_POST); -// echo '</pre>'; -// exit(); - - switch ($_POST['target']) - { - case 'all' : - { - $collection = $page['cat_elements_id']; - break; - } - case 'selection' : - { - if (!isset($_POST['selection']) or count($_POST['selection']) == 0) - { - array_push($page['errors'], l10n('Select at least one picture')); - } - else - { - $collection = $_POST['selection']; - } - break; - } - } - - if (isset($_POST['add_tags']) and count($collection) > 0) - { - $tag_ids = get_fckb_tag_ids($_POST['add_tags']); - add_tags($tag_ids, $collection); - } - - if (isset($_POST['del_tags']) and count($collection) > 0) - { - $query = ' -DELETE - FROM '.IMAGE_TAG_TABLE.' - WHERE image_id IN ('.implode(',', $collection).') - AND tag_id IN ('.implode(',', $_POST['del_tags']).') -;'; - pwg_query($query); - } - - if ($_POST['associate'] != 0 and count($collection) > 0) - { - associate_images_to_categories( - $collection, - array($_POST['associate']) - ); - } - - if ($_POST['dissociate'] != 0 and count($collection) > 0) - { - // physical links must not be broken, so we must first retrieve image_id - // which create virtual links with the category to "dissociate from". - $query = ' -SELECT id - FROM '.IMAGE_CATEGORY_TABLE.' - INNER JOIN '.IMAGES_TABLE.' ON image_id = id - WHERE category_id = '.$_POST['dissociate'].' - AND id IN ('.implode(',', $collection).') - AND ( - category_id != storage_category_id - OR storage_category_id IS NULL - ) -;'; - $dissociables = array_from_query($query, 'id'); - - if (!empty($dissociables)) - { - $query = ' -DELETE - FROM '.IMAGE_CATEGORY_TABLE.' - WHERE category_id = '.$_POST['dissociate'].' - AND image_id IN ('.implode(',', $dissociables).') -'; - pwg_query($query); - - // we remove the dissociated images if we are currently displaying the - // category to dissociate from. - if (is_numeric($_GET['cat']) and $_POST['dissociate'] == $_GET['cat']) - { - $page['cat_elements_id'] = array_diff( - $page['cat_elements_id'], - $dissociables - ); - } - } - - update_category($_POST['dissociate']); - } - - $datas = array(); - $dbfields = array('primary' => array('id'), 'update' => array()); - - $formfields = array('author', 'name', 'date_creation', 'level'); - foreach ($formfields as $formfield) - { - if ($_POST[$formfield.'_action'] != 'leave') - { - array_push($dbfields['update'], $formfield); - } - } - - // updating elements is useful only if needed... - if (count($dbfields['update']) > 0 and count($collection) > 0) - { - $query = ' -SELECT id - FROM '.IMAGES_TABLE.' - WHERE id IN ('.implode(',', $collection).') -;'; - $result = pwg_query($query); - - while ($row = pwg_db_fetch_assoc($result)) - { - $data = array(); - $data['id'] = $row['id']; - - if ('set' == $_POST['author_action']) - { - $data['author'] = $_POST['author']; - if ('' == $data['author']) - { - unset($data['author']); - } - } - - if ('set' == $_POST['name_action']) - { - $data['name'] = $_POST['name']; - if ('' == $data['name']) - { - unset($data['name']); - } - } - - if ('set' == $_POST['date_creation_action']) - { - $data['date_creation'] = - $_POST['date_creation_year'] - .'-'.$_POST['date_creation_month'] - .'-'.$_POST['date_creation_day'] - ; - } - - if ('set' == $_POST['level_action']) - { - $data['level'] = $_POST['level']; - } - - array_push($datas, $data); - } - // echo '<pre>'; print_r($datas); echo '</pre>'; - mass_updates(IMAGES_TABLE, $dbfields, $datas); - } -} - -// +-----------------------------------------------------------------------+ -// | template init | -// +-----------------------------------------------------------------------+ -$template->set_filenames( - array('element_set_global' => 'element_set_global.tpl')); - -$base_url = get_root_url().'admin.php'; - -// $form_action = $base_url.'?page=element_set_global'; - -$template->assign( - array( - 'CATEGORIES_NAV'=>$page['title'], - - 'U_DISPLAY'=>$base_url.get_query_string_diff(array('display')), - - 'U_UNIT_MODE' - => - $base_url - .get_query_string_diff(array('mode','display')) - .'&mode=unit', - - 'F_ACTION'=>$base_url.get_query_string_diff(array()), - ) - ); - -// +-----------------------------------------------------------------------+ -// | caddie options | -// +-----------------------------------------------------------------------+ - -$template->assign('IN_CADDIE', 'caddie' == $_GET['cat'] ? true : false ); - -// +-----------------------------------------------------------------------+ -// | deletion form | -// +-----------------------------------------------------------------------+ - -// we can only remove photos that are not remote -if (count($page['cat_elements_id']) > 0) -{ - $query = ' -SELECT - COUNT(*) - FROM '.IMAGES_TABLE.' - WHERE id IN ('.implode(',', $page['cat_elements_id']).') - AND path NOT LIKE \'http%\' -;'; - list($counter) = pwg_db_fetch_row(pwg_query($query)); - - if ($counter > 0) - { - $template->assign('show_delete_form', true); - } -} - -// +-----------------------------------------------------------------------+ -// | global mode form | -// +-----------------------------------------------------------------------+ - -// Virtualy associate a picture to a category -$query = ' -SELECT id,name,uppercats,global_rank - FROM '.CATEGORIES_TABLE.' -;'; -display_select_cat_wrapper($query, array(), 'associate_options', true); - -// Dissociate from a category : categories listed for dissociation can -// only represent virtual links. Links to physical categories can't be -// broken -if (count($page['cat_elements_id']) > 0) -{ - $query = ' -SELECT - DISTINCT(category_id) AS id, - c.name, - c.uppercats, - c.global_rank - FROM '.IMAGE_CATEGORY_TABLE.' AS ic - JOIN '.CATEGORIES_TABLE.' AS c ON c.id = ic.category_id - JOIN '.IMAGES_TABLE.' AS i ON i.id = ic.image_id - WHERE ic.image_id IN ('.implode(',', $page['cat_elements_id']).') - AND ( - ic.category_id != i.storage_category_id - OR i.storage_category_id IS NULL - ) -;'; - display_select_cat_wrapper($query, array(), 'dissociate_options', true); -} - -if (count($page['cat_elements_id']) > 0) -{ - // remove tags - $tags = get_common_tags($page['cat_elements_id'], -1); - - $template->assign( - array( - 'DEL_TAG_SELECTION' => get_html_tag_selection($tags, 'del_tags'), - ) - ); -} - -// creation date -$day = -empty($_POST['date_creation_day']) ? date('j') : $_POST['date_creation_day']; - -$month = -empty($_POST['date_creation_month']) ? date('n') : $_POST['date_creation_month']; - -$year = -empty($_POST['date_creation_year']) ? date('Y') : $_POST['date_creation_year']; - -$month_list = $lang['month']; -$month_list[0]='------------'; -ksort($month_list); -$template->assign( array( - 'month_list' => $month_list, - 'DATE_CREATION_DAY' => (int)$day, - 'DATE_CREATION_MONTH'=> (int)$month, - 'DATE_CREATION_YEAR' => (int)$year, - ) - ); - -// image level options -$template->assign( - array( - 'level_options'=> get_privacy_level_options(), - 'level_options_selected' => 0, - ) - ); - -// +-----------------------------------------------------------------------+ -// | global mode thumbnails | -// +-----------------------------------------------------------------------+ - -// how many items to display on this page -if (!empty($_GET['display'])) -{ - if ('all' == $_GET['display']) - { - $page['nb_images'] = count($page['cat_elements_id']); - } - else - { - $page['nb_images'] = intval($_GET['display']); - } -} -else -{ - $page['nb_images'] = 20; -} - -if (count($page['cat_elements_id']) > 0) -{ - $nav_bar = create_navigation_bar( - $base_url.get_query_string_diff(array('start')), - count($page['cat_elements_id']), - $page['start'], - $page['nb_images'] - ); - $template->assign('navbar', $nav_bar); - - $query = ' -SELECT id,path,tn_ext,file,filesize,level - FROM '.IMAGES_TABLE; - - if (is_numeric($_GET['cat'])) - { - $category_info = get_cat_info($_GET['cat']); - - $conf['order_by'] = $conf['order_by_inside_category']; - if (!empty($category_info['image_order'])) - { - $conf['order_by'] = ' ORDER BY '.$category_info['image_order']; - } - - $query.= ' - JOIN '.IMAGE_CATEGORY_TABLE.' ON id = image_id'; - } - - $query.= ' - WHERE id IN ('.implode(',', $page['cat_elements_id']).')'; - - if (is_numeric($_GET['cat'])) - { - $query.= ' - AND category_id = '.$_GET['cat']; - } - - $query.= ' - '.$conf['order_by'].' - LIMIT '.$page['nb_images'].' OFFSET '.$page['start'].' -;'; - $result = pwg_query($query); - - // template thumbnail initialization - while ($row = pwg_db_fetch_assoc($result)) - { - $src = get_thumbnail_url($row); - - $template->append( - 'thumbnails', - array( - 'ID' => $row['id'], - 'TN_SRC' => $src, - 'FILE' => $row['file'], - 'TITLE' => get_thumbnail_title($row), - 'LEVEL' => $row['level'] - ) - ); - } -} - -trigger_action('loc_end_element_set_global'); - -//----------------------------------------------------------- sending html code -$template->assign_var_from_handle('ADMIN_CONTENT', 'element_set_global'); -?> |