Exemplo n.º 1
0
    function move_album()
    {
        global $cache, $db, $user;
        $album_id = request_var('album_id', 0);
        phpbb_gallery_album::check_user($album_id);
        $move = request_var('move', '', true);
        $moving = phpbb_gallery_album::get_info($album_id);
        $sql = 'SELECT album_id, left_id, right_id
			FROM ' . GALLERY_ALBUMS_TABLE . "\n\t\t\tWHERE parent_id = {$moving['parent_id']}\n\t\t\t\tAND album_user_id = {$user->data['user_id']}\n\t\t\t\tAND " . ($move == 'move_up' ? "right_id < {$moving['right_id']} ORDER BY right_id DESC" : "left_id > {$moving['left_id']} ORDER BY left_id ASC");
        $result = $db->sql_query_limit($sql, 1);
        $target = $db->sql_fetchrow($result);
        $db->sql_freeresult($result);
        if (!sizeof($target)) {
            // The album is already on top or bottom
            return false;
        }
        if ($move == 'move_up') {
            $left_id = $target['left_id'];
            $right_id = $moving['right_id'];
            $diff_up = $moving['left_id'] - $target['left_id'];
            $diff_down = $moving['right_id'] + 1 - $moving['left_id'];
            $move_up_left = $moving['left_id'];
            $move_up_right = $moving['right_id'];
        } else {
            $left_id = $moving['left_id'];
            $right_id = $target['right_id'];
            $diff_up = $moving['right_id'] + 1 - $moving['left_id'];
            $diff_down = $target['right_id'] - $moving['right_id'];
            $move_up_left = $moving['right_id'] + 1;
            $move_up_right = $target['right_id'];
        }
        // Now do the dirty job
        $sql = 'UPDATE ' . GALLERY_ALBUMS_TABLE . "\n\t\t\tSET left_id = left_id + CASE\n\t\t\t\tWHEN left_id BETWEEN {$move_up_left} AND {$move_up_right} THEN -{$diff_up}\n\t\t\t\tELSE {$diff_down}\n\t\t\tEND,\n\t\t\tright_id = right_id + CASE\n\t\t\t\tWHEN right_id BETWEEN {$move_up_left} AND {$move_up_right} THEN -{$diff_up}\n\t\t\t\tELSE {$diff_down}\n\t\t\tEND,\n\t\t\talbum_parents = ''\n\t\t\tWHERE\n\t\t\t\tleft_id BETWEEN {$left_id} AND {$right_id}\n\t\t\t\tAND right_id BETWEEN {$left_id} AND {$right_id}\n\t\t\t\tAND album_user_id = {$user->data['user_id']}";
        $db->sql_query($sql);
        $cache->destroy('sql', GALLERY_ALBUMS_TABLE);
        $cache->destroy('_albums');
        phpbb_gallery_url::redirect('phpbb', 'ucp', 'i=gallery&amp;mode=manage_albums&amp;action=manage&amp;parent_id=' . $moving['parent_id']);
    }
Exemplo n.º 2
0
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include 'common.' . $phpEx;
include $phpbb_root_path . 'common.' . $phpEx;
phpbb_gallery::setup(array('mods/gallery', 'mods/gallery_mcp'));
phpbb_gallery_url::_include(array('functions_display'), 'phpbb');
$mode = request_var('mode', 'album');
$action = request_var('action', '');
$option_id = request_var('option_id', 0);
$image_id = request_var('image_id', 0);
$album_id = request_var('album_id', 0);
if (request_var('quickmod', 0) == 1 && $action == 'report_details') {
    $mode = 'report_details';
    $option_id = (int) $image_data['image_reported'];
} else {
    if (request_var('quickmod', 0) == 1 && $action == 'image_edit') {
        phpbb_gallery_url::redirect('posting', "mode=image&amp;submode=edit&amp;album_id={$album_id}&amp;image_id={$image_id}");
    }
}
if ($mode == 'whois' && $auth->acl_get('a_') && request_var('ip', '')) {
    phpbb_gallery_url::_include(array('functions_user'), 'phpbb');
    $template->assign_var('WHOIS', user_ipwhois(request_var('ip', '')));
    page_header($user->lang['WHO_IS_ONLINE']);
    $template->set_filenames(array('body' => 'viewonline_whois.html'));
    page_footer();
}
//Basic-Information && Permissions
if ($image_id) {
    $image_data = phpbb_gallery_image::get_info($image_id);
    $album_id = $image_data['image_album_id'];
    $user_id = $image_data['image_user_id'];
}