function language_controler_flags() { global $user, $template, $conf, $page; $available_lang = get_languages(); if (isset($conf['no_flag_languages'])) { $available_lang = array_diff_key($available_lang, array_flip($conf['no_flag_languages'])); } $url_starting = get_query_string_diff(array('lang')); if (isset($page['section']) and $page['section'] == 'additional_page' and isset($page['additional_page'])) { $base_url = make_index_url(array('section' => 'page')) . '/' . (isset($page['additional_page']['permalink']) ? $page['additional_page']['permalink'] : $page['additional_page']['id']); } else { $base_url = duplicate_index_url(); } foreach ($available_lang as $code => $displayname) { $qlc = array('url' => add_url_params($base_url, array('lang' => $code)), 'alt' => ucwords($displayname), 'title' => substr($displayname, 0, -4), 'code' => $code); $lsw['flags'][$code] = $qlc; if ($code == $user['language']) { $lsw['Active'] = $qlc; } } $safe_themes = array('clear', 'dark', 'elegant', 'Sylvia', 'simple-grey', 'simple-black', 'simple-white', 'kardon', 'luciano', 'montblancxl'); // stripped (2.6) $template->assign(array('lang_switch' => $lsw, 'LANGUAGE_SWITCH_PATH' => LANGUAGE_SWITCH_PATH, 'LANGUAGE_SWITCH_LOAD_STYLE' => !in_array($user['theme'], $safe_themes))); $template->set_filename('language_flags', dirname(__FILE__) . '/flags.tpl'); $template->concat('PLUGIN_INDEX_ACTIONS', $template->parse('language_flags', true)); $template->clear_assign('lang_switch'); }
/** * Returns the current url minus MultiView params * * @param bool $with_amp - adds ? or & at the end of the url * @return string */ public function get_clean_url($with_amp = false) { if (script_basename() == 'picture') { $url = duplicate_picture_url(array(), $this->data_url_params); } else { if (script_basename() == 'index') { $url = duplicate_index_url(array(), $this->data_url_params); } else { $url = get_query_string_diff($this->data_url_params); } } if ($with_amp) { $url .= strpos($url, '?') !== false ? '&' : '?'; } return $url; }
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');
$template->set_filenames(array('element_set_ranks' => 'element_set_ranks.tpl')); $base_url = get_root_url() . 'admin.php'; $query = ' SELECT * FROM ' . CATEGORIES_TABLE . ' WHERE id = ' . $page['category_id'] . ' ;'; $category = pwg_db_fetch_assoc(pwg_query($query)); if ($category['image_order'] == 'rank ASC') { $image_order_choice = 'rank'; } elseif ($category['image_order'] != '') { $image_order_choice = 'user_define'; } // Navigation path $navigation = get_cat_display_name_cache($category['uppercats'], get_root_url() . 'admin.php?page=album-'); $template->assign(array('CATEGORIES_NAV' => $navigation, 'F_ACTION' => $base_url . get_query_string_diff(array()))); // +-----------------------------------------------------------------------+ // | thumbnails | // +-----------------------------------------------------------------------+ $query = ' SELECT id, file, path, representative_ext, width, height, rotation, name, rank FROM ' . IMAGES_TABLE . ' JOIN ' . IMAGE_CATEGORY_TABLE . ' ON image_id = id WHERE category_id = ' . $page['category_id'] . '
WHERE id = ' . $_GET['image_id'] . ' ;'; $row = pwg_db_fetch_assoc(pwg_query($query)); $storage_category_id = null; if (!empty($row['storage_category_id'])) { $storage_category_id = $row['storage_category_id']; } $image_file = $row['file']; // +-----------------------------------------------------------------------+ // | template init | // +-----------------------------------------------------------------------+ $template->set_filenames(array('picture_modify' => 'picture_modify.tpl')); $admin_url_start = $admin_photo_base_url . '-properties'; $admin_url_start .= isset($_GET['cat_id']) ? '&cat_id=' . $_GET['cat_id'] : ''; $src_image = new SrcImage($row); $template->assign(array('tag_selection' => $tag_selection, 'U_SYNC' => $admin_url_start . '&sync_metadata=1', 'U_DELETE' => $admin_url_start . '&delete=1&pwg_token=' . get_pwg_token(), 'PATH' => $row['path'], 'TN_SRC' => DerivativeImage::url(IMG_THUMB, $src_image), 'FILE_SRC' => DerivativeImage::url(IMG_LARGE, $src_image), 'NAME' => isset($_POST['name']) ? stripslashes($_POST['name']) : @$row['name'], 'TITLE' => render_element_name($row), 'DIMENSIONS' => @$row['width'] . ' * ' . @$row['height'], 'FILESIZE' => @$row['filesize'] . ' KB', 'REGISTRATION_DATE' => format_date($row['date_available']), 'AUTHOR' => htmlspecialchars(isset($_POST['author']) ? stripslashes($_POST['author']) : @$row['author']), 'DATE_CREATION' => $row['date_creation'], 'DESCRIPTION' => htmlspecialchars(isset($_POST['description']) ? stripslashes($_POST['description']) : @$row['comment']), 'F_ACTION' => get_root_url() . 'admin.php' . get_query_string_diff(array('sync_metadata')))); $added_by = 'N/A'; $query = ' SELECT ' . $conf['user_fields']['username'] . ' AS username FROM ' . USERS_TABLE . ' WHERE ' . $conf['user_fields']['id'] . ' = ' . $row['added_by'] . ' ;'; $result = pwg_query($query); while ($user_row = pwg_db_fetch_assoc($result)) { $row['added_by'] = $user_row['username']; } $intro_vars = array('file' => l10n('Original file : %s', $row['file']), 'add_date' => l10n('Posted %s on %s', time_since($row['date_available'], 'year'), format_date($row['date_available'], array('day', 'month', 'year'))), 'added_by' => l10n('Added by %s', $row['added_by']), 'size' => $row['width'] . '×' . $row['height'] . ' pixels, ' . sprintf('%.2f', $row['filesize'] / 1024) . 'MB', 'stats' => l10n('Visited %d times', $row['hit']), 'id' => l10n('Numeric identifier : %d', $row['id'])); if ($conf['rate'] and !empty($row['rating_score'])) { $query = ' SELECT COUNT(*)
} if (isset($_GET['action']) and isset($page['site'])) { $query = ' SELECT galleries_url FROM ' . SITES_TABLE . ' WHERE id = ' . $page['site'] . ' ;'; list($galleries_url) = pwg_db_fetch_row(pwg_query($query)); switch ($_GET['action']) { case 'delete': delete_site($page['site']); $page['infos'][] = $galleries_url . ' ' . l10n('deleted'); break; } } $template->assign(array('F_ACTION' => get_root_url() . 'admin.php' . get_query_string_diff(array('action', 'site', 'pwg_token')), 'PWG_TOKEN' => get_pwg_token())); $query = ' SELECT c.site_id, COUNT(DISTINCT c.id) AS nb_categories, COUNT(i.id) AS nb_images FROM ' . CATEGORIES_TABLE . ' AS c LEFT JOIN ' . IMAGES_TABLE . ' AS i ON c.id=i.storage_category_id WHERE c.site_id IS NOT NULL GROUP BY c.site_id ;'; $sites_detail = hash_from_query($query, 'site_id'); $query = ' SELECT * FROM ' . SITES_TABLE . ' ;'; $result = pwg_query($query); while ($row = pwg_db_fetch_assoc($result)) { $is_remote = url_is_remote($row['galleries_url']);
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');
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'])) {
// | 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'];
function insert_new_data_user_mail_notification() { global $conf, $page, $env_nbm; // Set null mail_address empty $query = ' update ' . USERS_TABLE . ' set ' . $conf['user_fields']['email'] . ' = null where trim(' . $conf['user_fields']['email'] . ') = \'\';'; pwg_query($query); // null mail_address are not selected in the list $query = ' select u.' . $conf['user_fields']['id'] . ' as user_id, u.' . $conf['user_fields']['username'] . ' as username, u.' . $conf['user_fields']['email'] . ' as mail_address from ' . USERS_TABLE . ' as u left join ' . USER_MAIL_NOTIFICATION_TABLE . ' as m on u.' . $conf['user_fields']['id'] . ' = m.user_id where u.' . $conf['user_fields']['email'] . ' is not null and m.user_id is null order by user_id;'; $result = pwg_query($query); if (pwg_db_num_rows($result) > 0) { $inserts = array(); $check_key_list = array(); while ($nbm_user = pwg_db_fetch_assoc($result)) { // Calculate key $nbm_user['check_key'] = find_available_check_key(); // Save key $check_key_list[] = $nbm_user['check_key']; // Insert new nbm_users $inserts[] = array('user_id' => $nbm_user['user_id'], 'check_key' => $nbm_user['check_key'], 'enabled' => 'false'); $page['infos'][] = l10n('User %s [%s] added.', stripslashes($nbm_user['username']), $nbm_user['mail_address']); } // Insert new nbm_users mass_inserts(USER_MAIL_NOTIFICATION_TABLE, array('user_id', 'check_key', 'enabled'), $inserts); // Update field enabled with specific function $check_key_treated = do_subscribe_unsubscribe_notification_by_mail(true, $conf['nbm_default_value_user_enabled'], $check_key_list); // On timeout simulate like tabsheet send if ($env_nbm['is_sendmail_timeout']) { $quoted_check_key_list = quote_check_key_list(array_diff($check_key_list, $check_key_treated)); if (count($quoted_check_key_list) != 0) { $query = 'delete from ' . USER_MAIL_NOTIFICATION_TABLE . ' where check_key in (' . implode(",", $quoted_check_key_list) . ');'; $result = pwg_query($query); redirect($base_url . get_query_string_diff(array(), false), l10n('Operation in progress') . "\n" . l10n('Please wait...')); } } } }
GROUP BY comment_id 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');
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,