$where_clauses[] = 'com.id = ' . pwg_db_real_escape_string($_GET['comment_id']); } // number of comments for this picture $query = ' SELECT COUNT(*) AS nb_comments FROM ' . GUESTBOOK_TABLE . ' as com WHERE ' . implode(' AND ', $where_clauses) . ' ;'; $row = pwg_db_fetch_assoc(pwg_query($query)); // navigation bar creation $page['start'] = 0; if (isset($_GET['start']) && is_numeric($_GET['start']) && $_GET['start'] >= 0) { $page['start'] = $_GET['start']; } $navigation_bar = create_navigation_bar(GUESTBOOK_URL, $row['nb_comments'], $page['start'], $conf['guestbook']['nb_comment_page'], false); $template->assign(array('COMMENT_COUNT' => $row['nb_comments'], 'navbar' => $navigation_bar)); if ($row['nb_comments'] > 0) { $query = ' SELECT com.id, author, author_id, ' . $conf['user_fields']['username'] . ' AS username, date, content, validated, website, rate, email FROM ' . GUESTBOOK_TABLE . ' AS com
state, from_name, from_address, subject FROM ' . IMAGES_TABLE . ' JOIN ' . PFEMAIL_PENDINGS_TABLE . ' ON id = image_id WHERE image_id IN (' . implode(',', $pending_ids) . ') ORDER BY image_id DESC LIMIT ' . $page['start'] . ', ' . $page['nb_pendings_per_page'] . ' ;'; $result = pwg_query($query); $rows = array(); $image_ids = array(); while ($row = pwg_db_fetch_assoc($result)) { array_push($rows, $row); array_push($image_ids, $row['id']); } $template->assign(array('F_ACTION' => $admin_base_url)); foreach ($rows as $row) { $thumb = DerivativeImage::thumb_url(array('id' => $row['image_id'], 'path' => $row['path'])); $template->append('photos', array('U_EDIT' => get_root_url() . 'admin.php?page=plugin-showcase_admin-photo&image_id=' . $row['image_id'], 'ID' => $row['image_id'], 'TN_SRC' => $thumb, 'WEBSIZE_SRC' => $row['path'], 'ADDED_BY' => $row['author'], 'ADDED_ON' => format_date($row['date_available'], true), 'NAME' => $row['name'], 'FILE' => $row['file'], 'DATE_CREATION' => empty($row['date_creation']) ? l10n('N/A') : format_date($row['date_creation']), 'DESCRIPTION' => $row['comment'], 'FROM' => @$row['from_name'] . ' <' . $row['from_address'] . '>')); } // +-----------------------------------------------------------------------+ // | navigation bar | // +-----------------------------------------------------------------------+ $template->assign('navbar', create_navigation_bar(get_root_url() . 'admin.php' . get_query_string_diff(array('start', 'action', 'showcase_id')), count($pending_ids), $page['start'], $page['nb_pendings_per_page'])); // +-----------------------------------------------------------------------+ // | sending html code | // +-----------------------------------------------------------------------+ $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
validated, c.anonymous_id FROM ' . COMMENTS_TABLE . ' AS c INNER JOIN ' . IMAGES_TABLE . ' AS i ON i.id = c.image_id LEFT JOIN ' . USERS_TABLE . ' AS u ON u.' . $conf['user_fields']['id'] . ' = c.author_id WHERE ' . implode(' AND ', $where_clauses) . ' ORDER BY c.date DESC LIMIT ' . $page['start'] . ', ' . $conf['comments_page_nb_comments'] . ' ;'; $result = pwg_query($query); while ($row = pwg_db_fetch_assoc($result)) { $thumb = DerivativeImage::thumb_url(array('id' => $row['image_id'], 'path' => $row['path'])); if (empty($row['author_id'])) { $author_name = $row['author']; } else { $author_name = stripslashes($row['username']); } $template->append('comments', array('U_PICTURE' => get_root_url() . 'admin.php?page=photo-' . $row['image_id'], 'ID' => $row['id'], 'TN_SRC' => $thumb, 'AUTHOR' => trigger_change('render_comment_author', $author_name), 'DATE' => format_date($row['date'], array('day_name', 'day', 'month', 'year', 'time')), 'CONTENT' => trigger_change('render_comment_content', $row['content']), 'IS_PENDING' => 'false' == $row['validated'], 'IP' => $row['anonymous_id'])); $list[] = $row['id']; } // +-----------------------------------------------------------------------+ // | navigation bar | // +-----------------------------------------------------------------------+ $navbar = create_navigation_bar(get_root_url() . 'admin.php' . get_query_string_diff(array('start')), 'pending' == $page['filter'] ? $nb_pending : $nb_total, $page['start'], $conf['comments_page_nb_comments']); $template->assign('navbar', $navbar); // +-----------------------------------------------------------------------+ // | sending html code | // +-----------------------------------------------------------------------+ $template->assign_var_from_handle('ADMIN_CONTENT', 'comments');
$representative_infos = $infos_of_image[$category['representative_picture_id']]; $tpl_var = array_merge($category, array('ID' => $category['id'], 'representative' => $representative_infos, 'TN_ALT' => strip_tags($category['name']), 'URL' => make_index_url(array('category' => $category)), 'CAPTION_NB_IMAGES' => get_display_images_count($category['nb_images'], $category['count_images'], $category['count_categories'], true, '<br>'), 'DESCRIPTION' => trigger_change('render_category_literal_description', trigger_change('render_category_description', @$category['comment'], 'subcatify_category_description')), 'NAME' => $name)); if ($conf['index_new_icon']) { $tpl_var['icon_ts'] = get_icon($category['max_date_last'], $category['is_child_date_last']); } if ($conf['display_fromto']) { if (isset($dates_of_category[$category['id']])) { $from = $dates_of_category[$category['id']]['from']; $to = $dates_of_category[$category['id']]['to']; if (!empty($from)) { $tpl_var['INFO_DATES'] = format_fromto($from, $to); } } } $tpl_thumbnails_var[] = $tpl_var; } // pagination $page['total_categories'] = count($tpl_thumbnails_var); $tpl_thumbnails_var_selection = array_slice($tpl_thumbnails_var, $page['startcat'], $conf['nb_categories_page']); $derivative_params = trigger_change('get_index_album_derivative_params', ImageStdParams::get_by_type(IMG_THUMB)); $tpl_thumbnails_var_selection = trigger_change('loc_end_index_category_thumbnails', $tpl_thumbnails_var_selection); $template->assign(array('maxRequests' => $conf['max_requests'], 'category_thumbnails' => $tpl_thumbnails_var_selection, 'derivative_params' => $derivative_params)); $template->assign_var_from_handle('CATEGORIES', 'index_category_thumbnails'); // navigation bar $page['cats_navigation_bar'] = array(); if ($page['total_categories'] > $conf['nb_categories_page']) { $page['cats_navigation_bar'] = create_navigation_bar(duplicate_index_url(array(), array('startcat')), $page['total_categories'], $page['startcat'], $conf['nb_categories_page'], true, 'startcat'); } $template->assign('cats_navbar', $page['cats_navigation_bar']); } pwg_debug('end include/category_cats.inc.php');
// | 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())); // +-----------------------------------------------------------------------+ // | global mode thumbnails | // +-----------------------------------------------------------------------+ // how many items to display on this page if (!empty($_GET['display'])) { $page['nb_images'] = intval($_GET['display']); } 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'];
foreach ($username_of as $user_id => $user_name) { $member_string = $user_name . ' <a href="'; $member_string .= get_root_url() . 'admin.php?page=history'; $member_string .= '&search_id=' . $page['search_id']; $member_string .= '&user_id=' . $user_id; $member_string .= '">+</a>'; $member_strings[] = $member_string; } $template->assign('search_summary', array('NB_LINES' => l10n_dec('%d line filtered', '%d lines filtered', $page['nb_lines']), 'FILESIZE' => $summary['total_filesize'] != 0 ? ceil($summary['total_filesize'] / 1024) . ' MB' : '', 'USERS' => l10n_dec('%d user', '%d users', $summary['nb_members'] + $summary['nb_guests']), 'MEMBERS' => sprintf(l10n_dec('%d member', '%d members', $summary['nb_members']) . ': %s', implode(', ', $member_strings)), 'GUESTS' => l10n_dec('%d guest', '%d guests', $summary['nb_guests']))); unset($name_of_tag); } // +-----------------------------------------------------------------------+ // | navigation bar | // +-----------------------------------------------------------------------+ if (isset($page['search_id'])) { $navbar = create_navigation_bar(get_root_url() . 'admin.php' . get_query_string_diff(array('start')), $page['nb_lines'], $page['start'], $conf['nb_logs_page']); $template->assign('navbar', $navbar); } // +-----------------------------------------------------------------------+ // | filter form | // +-----------------------------------------------------------------------+ $form = array(); if (isset($page['search'])) { if (isset($page['search']['fields']['date-after'])) { $form['start'] = $page['search']['fields']['date-after']; } if (isset($page['search']['fields']['date-before'])) { $form['end'] = $page['search']['fields']['date-before']; } $form['types'] = $page['search']['fields']['types']; if (isset($page['search']['fields']['user'])) {
$all_elements = array_map(create_function('$p', 'return \'"\'.$p["id"].\'"\';'), $all_photos); foreach ($page_photos as &$photo) { $photo['thumb'] = $flickr->buildPhotoURL($photo, "thumbnail"); $photo['src'] = $flickr->get_biggest_size($photo['id'], "medium_800"); $photo['url'] = $flickr_root_url . $photo['id']; } unset($photo); $template->assign(array('nb_thumbs_set' => count($all_photos), 'nb_thumbs_page' => count($page_photos), 'thumbnails' => $page_photos, 'all_elements' => $all_elements, 'album' => $_GET['album'], 'F_ACTION' => FLICKR_ADMIN . '-import&action=import_set', 'U_DISPLAY' => $self_url)); // get piwigo categories $query = ' SELECT id, name, uppercats, global_rank FROM ' . CATEGORIES_TABLE . ' ;'; display_select_cat_wrapper($query, array(), 'category_parent_options'); // get navbar $nav_bar = create_navigation_bar($self_url, count($all_elements), $page['start'], $page['display']); $template->assign('navbar', $nav_bar); break; // list all photos of the user // list all photos of the user case 'list_all': $flickr_prefix = 'flickr-' . $u['username'] . '-'; // get all photos in all albums $all_albums = $flickr->photosets_getList($u['id']); $all_albums = $all_albums['photoset']; $all_photos = array(); foreach ($all_albums as $album) { $album_photos = $flickr->photosets_getPhotos($album['id'], NULL, NULL, 500, NULL, 'photos'); $album_photos = $album_photos['photoset']['photo']; foreach ($album_photos as $photo) { $all_photos[$photo['id']][] = $album['title'];
} else { pwg_unset_session_var('image_order'); } redirect(duplicate_index_url(array(), array('start'))); } if (isset($_GET['display'])) { $page['meta_robots']['noindex'] = 1; if (array_key_exists($_GET['display'], ImageStdParams::get_defined_type_map())) { pwg_set_session_var('index_deriv', $_GET['display']); } } //-------------------------------------------------------------- initialization // navigation bar $page['navigation_bar'] = array(); if (count($page['items']) > $page['nb_image_page']) { $page['navigation_bar'] = create_navigation_bar(duplicate_index_url(array(), array('start')), count($page['items']), $page['start'], $page['nb_image_page'], true, 'start'); } $template->assign('thumb_navbar', $page['navigation_bar']); // caddie filling :-) if (isset($_GET['caddie'])) { fill_caddie($page['items']); redirect(duplicate_index_url()); } if (isset($page['is_homepage']) and $page['is_homepage']) { $canonical_url = get_gallery_home_url(); } else { $start = $page['nb_image_page'] * round($page['start'] / $page['nb_image_page']); if ($start > 0 && $start >= count($page['items'])) { $start -= $page['nb_image_page']; } $canonical_url = duplicate_index_url(array('start' => $start));
} else { $validated_clause = ''; } // number of comments for this picture $query = ' SELECT COUNT(*) AS nb_comments FROM ' . COMMENTS_TABLE . ' WHERE image_id = ' . $page['image_id'] . $validated_clause . ' ;'; $row = pwg_db_fetch_assoc(pwg_query($query)); // navigation bar creation if (!isset($page['start'])) { $page['start'] = 0; } $navigation_bar = create_navigation_bar(duplicate_picture_url(array(), array('start')), $row['nb_comments'], $page['start'], $conf['nb_comment_page'], true); $template->assign(array('COMMENT_COUNT' => $row['nb_comments'], 'navbar' => $navigation_bar)); if ($row['nb_comments'] > 0) { // comments order (get, session, conf) if (!empty($_GET['comments_order']) && in_array(strtoupper($_GET['comments_order']), array('ASC', 'DESC'))) { pwg_set_session_var('comments_order', $_GET['comments_order']); } $comments_order = pwg_get_session_var('comments_order', $conf['comments_order']); $template->assign(array('COMMENTS_ORDER_URL' => add_url_params(duplicate_picture_url(), array('comments_order' => $comments_order == 'ASC' ? 'DESC' : 'ASC')), 'COMMENTS_ORDER_TITLE' => $comments_order == 'ASC' ? l10n('Show latest comments first') : l10n('Show oldest comments first'))); $query = ' SELECT com.id, author, author_id, u.' . $conf['user_fields']['email'] . ' AS user_email, date,
ORDER BY ' . $page['sort_by'] . ' ' . $page['sort_order']; if ('all' != $page['items_number']) { $query .= ' LIMIT ' . $page['items_number'] . ' OFFSET ' . $start; } $query .= ' ;'; $result = pwg_query($query); while ($row = pwg_db_fetch_assoc($result)) { $comments[] = $row; $element_ids[] = $row['image_id']; $category_ids[] = $row['category_id']; } list($counter) = pwg_db_fetch_row(pwg_query('SELECT FOUND_ROWS()')); $url = PHPWG_ROOT_PATH . 'comments.php' . get_query_string_diff(array('start', 'edit', 'delete', 'validate', 'pwg_token')); $navbar = create_navigation_bar($url, $counter, $start, $page['items_number'], ''); $template->assign('navbar', $navbar); if (count($comments) > 0) { // retrieving element informations $query = ' SELECT * FROM ' . IMAGES_TABLE . ' WHERE id IN (' . implode(',', $element_ids) . ') ;'; $elements = query2array($query, 'id'); // retrieving category informations $query = 'SELECT id, name, permalink, uppercats FROM ' . CATEGORIES_TABLE . ' WHERE id IN (' . implode(',', $category_ids) . ')'; $categories = query2array($query, 'id'); foreach ($comments as $comment) {
SELECT ' . $conf['user_fields']['username'] . ' as username, ' . $conf['user_fields']['id'] . ' as id FROM ' . USERS_TABLE . ' ;'; $result = pwg_query($query); while ($row = pwg_db_fetch_assoc($result)) { $users[$row['id']] = stripslashes($row['username']); } $query = 'SELECT COUNT(DISTINCT(r.element_id)) FROM ' . RATE_TABLE . ' AS r WHERE 1=1' . $page['user_filter']; list($nb_images) = pwg_db_fetch_row(pwg_query($query)); // +-----------------------------------------------------------------------+ // | template init | // +-----------------------------------------------------------------------+ $template->set_filename('rating', 'rating.tpl'); $template->assign(array('navbar' => create_navigation_bar(PHPWG_ROOT_PATH . 'admin.php' . get_query_string_diff(array('start', 'del')), $nb_images, $start, $elements_per_page), 'F_ACTION' => PHPWG_ROOT_PATH . 'admin.php', 'DISPLAY' => $elements_per_page, 'NB_ELEMENTS' => $nb_images)); $available_order_by = array(array(l10n('Rate date'), 'recently_rated DESC'), array(l10n('Rating score'), 'score DESC'), array(l10n('Average rate'), 'avg_rates DESC'), array(l10n('Number of rates'), 'nb_rates DESC'), array(l10n('Sum of rates'), 'sum_rates DESC'), array(l10n('File name'), 'file DESC'), array(l10n('Creation date'), 'date_creation DESC'), array(l10n('Post date'), 'date_available DESC')); for ($i = 0; $i < count($available_order_by); $i++) { $template->append('order_by_options', $available_order_by[$i][0]); } $template->assign('order_by_options_selected', array($order_by_index)); $user_options = array('all' => l10n('all'), 'user' => l10n('Users'), 'guest' => l10n('Guests')); $template->assign('user_options', $user_options); $template->assign('user_options_selected', array(@$_GET['users'])); $query = ' SELECT i.id, i.path, i.file, i.representative_ext, i.rating_score AS score, MAX(r.date) AS recently_rated,