/** * 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 ''; }
/** * 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 ''; } } } }