Example #1
0
/**
* album_adm_menu()
*
* This has been added to keep the list_albums() function clean.
*
* @param integer $aid Album id
* @param integer $cat Category id
*
* @return html_albummenu($aid) Administration menu
*/
function album_adm_menu($aid, $cat, $owner)
{
    global $CONFIG, $USER_DATA, $lang_album_admin_menu;
    if (GALLERY_ADMIN_MODE) {
        return html_albummenu($aid);
    }
    static $public_album_uploads = null;
    if ($public_album_uploads === null) {
        $public_album_uploads = array();
        $result = cpg_db_query("SELECT a.aid FROM {$CONFIG['TABLE_ALBUMS']} AS a INNER JOIN {$CONFIG['TABLE_PICTURES']} as p ON p.aid = a.aid WHERE uploads = 'YES' AND category < " . FIRST_USER_CAT . " AND (visibility = '0' OR visibility IN " . USER_GROUP_SET . " OR alb_password != '') AND owner_id = " . USER_ID);
        while ($row = $result->fetchAssoc()) {
            $public_album_uploads[] = $row['aid'];
        }
        $result->free();
    }
    if (USER_ADMIN_MODE) {
        if ($cat == USER_ID + FIRST_USER_CAT) {
            return html_albummenu($aid);
        }
        if ($owner == USER_ID) {
            if ($CONFIG['allow_user_edit_after_cat_close'] == 0) {
                $result = cpg_db_query("SELECT DISTINCT alb.category FROM {$CONFIG['TABLE_ALBUMS']} AS alb INNER JOIN {$CONFIG['TABLE_CATMAP']} AS catm ON alb.category=catm.cid WHERE alb.owner = '" . $USER_DATA['user_id'] . "' AND alb.aid='{$aid}' AND catm.group_id IN (" . implode(', ', $USER_DATA['groups']) . ")");
                $allowed_albums = cpg_db_fetch_rowset($result, true);
                if (!$allowed_albums || $allowed_albums[0]['category'] == '') {
                    if ($CONFIG['users_can_edit_pics'] && in_array($aid, $public_album_uploads)) {
                        return html_albummenu2($aid);
                    } else {
                        return "<strong>" . $lang_album_admin_menu['cat_locked'] . "</strong>";
                    }
                }
            }
            if (!$CONFIG['users_can_edit_pics']) {
                return html_albummenu3($aid);
            } else {
                return html_albummenu($aid);
            }
        }
    }
    if (MODERATOR_MODE && in_array($aid, $USER_DATA['allowed_albums'])) {
        return html_albummenu2($aid);
    }
    if (USER_CAN_UPLOAD_PICTURES && $CONFIG['users_can_edit_pics'] && in_array($aid, $public_album_uploads)) {
        return html_albummenu2($aid);
    }
    return '';
}
Example #2
0
/**
* album_adm_menu()
*
* This has been added to keep the list_albums() function clean.
*
* @param integer $aid Album id
* @param integer $cat Category id
*
* @return html_albummenu($aid) Administration menu
*/
function album_adm_menu($aid, $cat)
{
    global $CONFIG, $USER_DATA, $lang_album_admin_menu;
    //check if user is allowed to edit album
    if (USER_ADMIN_MODE) {
        //check if it is the user's gallery
        if ($cat == USER_ID + FIRST_USER_CAT) {
            return html_albummenu($aid);
        }
        //check if the user is the owner of the album
        $sql = "SELECT * FROM {$CONFIG['TABLE_ALBUMS']} WHERE aid='{$aid}' AND owner='" . $USER_DATA['user_id'] . "'";
        $result = cpg_db_query($sql);
        $check = cpg_db_fetch_rowset($result);
        if ($check[0] != '') {
            //check if admin allows editing after closing category
            if ($CONFIG['allow_user_edit_after_cat_close'] == 0) {
                //Disallowed -> Check if albums is in such a category
                $result = cpg_db_query("SELECT DISTINCT alb.category FROM {$CONFIG['TABLE_ALBUMS']} AS alb INNER JOIN {$CONFIG['TABLE_CATMAP']} AS catm ON alb.category=catm.cid WHERE alb.owner = '" . $USER_DATA['user_id'] . "' AND alb.aid='{$aid}' AND catm.group_id='" . $USER_DATA['group_id'] . "'");
                $allowed_albums = cpg_db_fetch_rowset($result);
                if ($allowed_albums[0]['category'] == '') {
                    return "<b>" . $lang_album_admin_menu['cat_locked'] . "</b>";
                }
            }
            if (!$CONFIG['users_can_edit_pics']) {
                //return menu without edit pics button
                return html_albummenu3($aid);
            } else {
                //return whole menu
                return html_albummenu($aid);
            }
        } else {
            return '';
        }
    } else {
        if (GALLERY_ADMIN_MODE) {
            return html_albummenu($aid);
        } else {
            if (in_array($alb_thumb['aid'], $USER_DATA['allowed_albums'])) {
                //check for moderator rights
                return html_albummenu2($aid);
            } else {
                return '';
            }
        }
    }
}