array('id'), 'update' => array('name','author','level','comment','date_creation') ), $datas ); $page['infos'][] = l10n('Photo informations updated'); invalidate_user_cache(); } // +-----------------------------------------------------------------------+ // | template init | // +-----------------------------------------------------------------------+ $template->set_filenames( array('batch_manager_unit' => 'batch_manager_unit.tpl')); $base_url = PHPWG_ROOT_PATH.'admin.php'; $template->assign( array( 'U_ELEMENTS_PAGE' => $base_url.get_query_string_diff(array('display','start')), 'F_ACTION' => $base_url.get_query_string_diff(array()), 'level_options' => get_privacy_level_options(), 'ADMIN_PAGE_TITLE' => l10n('Batch Manager'), 'PWG_TOKEN' => get_pwg_token(), ) ); // +-----------------------------------------------------------------------+ // | global mode thumbnails | // +-----------------------------------------------------------------------+ // how many items to display on this page if (!empty($_GET['display'])) { $page['nb_images'] = intval($_GET['display']); } elseif (in_array($conf['batch_manager_images_per_page_unit'], array(5, 10, 50))) { $page['nb_images'] = $conf['batch_manager_images_per_page_unit']; } else { $page['nb_images'] = 5; } 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(array('navbar' => $nav_bar)); $element_ids = array(); $is_category = false; if (isset($_SESSION['bulk_manager_filter']['category']) and !isset($_SESSION['bulk_manager_filter']['category_recursive'])) { $is_category = true; } if (isset($_SESSION['bulk_manager_filter']['prefilter']) and 'duplicates' == $_SESSION['bulk_manager_filter']['prefilter']) { $conf['order_by'] = ' ORDER BY file, id'; } $query = ' SELECT * FROM '.IMAGES_TABLE; if ($is_category) { $category_info = get_cat_info($_SESSION['bulk_manager_filter']['category']); $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_category) { $query.= ' AND category_id = '.$_SESSION['bulk_manager_filter']['category']; } $query.= ' '.$conf['order_by'].' LIMIT '.$page['nb_images'].' OFFSET '.$page['start'].' ;'; $result = pwg_query($query); $storage_category_id = null; if (!empty($row['storage_category_id'])) { $storage_category_id = $row['storage_category_id']; } $level_convert = [ "0" => "4", "1" => "3", "2" => "2", "4" => "1", "8" => "0", ]; while ($row = pwg_db_fetch_assoc($result)) { $element_ids[] = $row['id']; $src_image = new SrcImage($row); $image_file = $row['file']; $query = ' SELECT id, name FROM '.IMAGE_TAG_TABLE.' AS it JOIN '.TAGS_TABLE.' AS t ON t.id = it.tag_id WHERE image_id = '.$row['id'].' ;'; $tag_selection = get_taglist($query); $legend = render_element_name($row); if ($legend != get_name_from_file($row['file'])) { $legend.= ' ('.$row['file'].')'; } $extTab = explode('.',$row['path']); // represent // categories $query = ' SELECT category_id, uppercats, dir FROM '.IMAGE_CATEGORY_TABLE.' AS ic INNER JOIN '.CATEGORIES_TABLE.' AS c ON c.id = ic.category_id WHERE image_id = '.$row['id'].' ;'; $sub_result = pwg_query($query); $related_categories = array(); $related_category_ids = array(); $media['image'] = get_image_infos($row['id'], true); while ($item = pwg_db_fetch_assoc($sub_result)) { $name = get_cat_display_name_cache( $item['uppercats'], get_root_url().'admin.php?page=album-' ); if ($item['category_id'] == $storage_category_id) { $template->assign('STORAGE_CATEGORY', $name); } $related_categories[$item['category_id']] = array('name' => $name, 'unlinkable' => $item['category_id'] != $storage_category_id); $related_category_ids[] = $item['category_id']; } // jump to link $image_file = $row['file']; $query = ' SELECT category_id FROM '.IMAGE_CATEGORY_TABLE.' WHERE image_id = '.$row['id'].' ;'; $authorizeds = array_diff( array_from_query($query, 'category_id'), explode( ',', calculate_permissions($user['id'], $user['status']) ) ); if (isset($row['cat_id']) and in_array($row['cat_id'], $authorizeds)) { $url_img = make_picture_url( array( 'image_id' => $row['id'], 'image_file' => $image_file, 'category' => $cache['cat_names'][ $row['cat_id'] ], ) ); } else { foreach ($authorizeds as $category) { $url_img = make_picture_url( array( 'image_id' => $row['id'], //utile ? 'image_file' => $image_file, 'category' => $cache['cat_names'][ $category ], ) ); break; } } $admin_photo_base_url = get_root_url().'admin.php?page=photo-'.$row['id']; $admin_url_start = $admin_photo_base_url.'-properties'; $admin_url_start.= isset($row['cat_id']) ? '&cat_id='.$row['cat_id'] : ''; $selected_level = isset($row['level']) ? $row['level'] : $row['level']; $template->append( 'elements', array_merge($row, array( 'ID' => $row['id'], 'TN_SRC' => DerivativeImage::url(IMG_MEDIUM, $src_image), 'FILE_SRC' => DerivativeImage::url(IMG_LARGE, $src_image), 'LEGEND' => $legend, 'U_EDIT' => get_root_url().'admin.php?page=photo-'.$row['id'], 'NAME' => htmlspecialchars(isset($row['name']) ? $row['name'] : ""), 'AUTHOR' => htmlspecialchars(isset($row['author']) ? $row['author'] : ""), 'LEVEL' => !empty($row['level'])?$row['level']:'0', 'DESCRIPTION' => htmlspecialchars(isset($row['comment']) ? $row['comment'] : ""), 'DATE_CREATION' => $row['date_creation'], 'TAGS' => $tag_selection, 'is_svg' => (strtoupper(end($extTab)) == 'SVG'), 'TITLE' => render_element_name($row), 'DIMENSIONS' => @$row['width'].'x'.@$row['height'].' px', 'FORMAT' => ($row['width'] >= $row['height'])? 1:0,//0:horizontal, 1:vertical 'FILESIZE' => l10n('%.2f MB',$row['filesize']/1024), 'REGISTRATION_DATE' => format_date($row['date_available']), 'EXT' => l10n('%s file type',end($extTab)), 'POST_DATE' => l10n('Posted the %s', format_date($row['date_available'], array('day', 'month', 'year'))), 'AGE' => l10n(ucfirst(time_since($row['date_available'], 'year'))), 'ADDED_BY' => l10n('Added by %s', $row['added_by']), 'STATS' => l10n('Visited %d times', $row['hit']), 'FILE' => l10n('%s', $row['file']), 'related_categories' => $related_categories, 'related_category_ids' => json_encode($related_category_ids,JSON_NUMERIC_CHECK), 'U_JUMPTO' => (isset($url_img) and $user['level'] >= $media['image']['level']) ? $url_img : null, 'tag_selection' => $tag_selection, 'U_DOWNLOAD' => 'action.php?id='.$row['id'].'&part=e&pwg_token='.get_pwg_token().'&download', 'U_HISTORY' => get_root_url().'admin.php?page=history&filter_image_id='.$row['id'], 'U_DELETE' => $admin_url_start.'&delete=1&pwg_token='.get_pwg_token(), 'U_SYNC' => $admin_url_start.'&sync_metadata=1', 'PATH'=>$row['path'], 'LEVEL_CONVERT' => $level_convert[!empty($row['level'])?$row['level']:'0'], 'level_options_selected' => array($selected_level) ) )); } $template->assign(array( 'ELEMENT_IDS' => implode(',', $element_ids), 'CACHE_KEYS' => get_admin_client_cache_keys(array('tags')), )); } trigger_notify('loc_end_element_set_unit'); // +-----------------------------------------------------------------------+ // | sending html code | // +-----------------------------------------------------------------------+ $template->assign_var_from_handle('ADMIN_CONTENT', 'batch_manager_unit'); ?>