input
// 1 => yes/no
// 2 => Category
// 3 => Textarea
// 4 => Album thumbnail
// 5 => Album visibility
// add footnote
$notice1 = ' *';
$captionLabel = $lang_modifyalb_php['alb_desc'];
if ($CONFIG['show_bbcode_help']) {$captionLabel .= '
'.$lang_bbcode_help;}
$data = array($lang_modifyalb_php['general_settings'],
array($lang_modifyalb_php['alb_title'], 'title', 0),
array($lang_modifyalb_php['alb_cat'], 'category', 2),
array($captionLabel, 'description', 3),
array($lang_modifyalb_php['alb_thumb'], 'thumb', 4),
$lang_modifyalb_php['alb_perm'],
array($lang_modifyalb_php['can_view'], 'visibility', 5),
array($lang_modifyalb_php['can_upload'].$notice1, 'uploads', 1),
array($lang_modifyalb_php['can_post_comments'].$notice1, 'comments', 1),
array($lang_modifyalb_php['can_rate'].$notice1, 'votes', 1),
);
function get_subcat_data($parent, $ident = '')
{
global $CONFIG, $CAT_LIST;
$result = db_query("SELECT cid, name, description FROM {$CONFIG['TABLE_CATEGORIES']} WHERE parent = '$parent' AND cid != 1 ORDER BY pos");
if (mysql_num_rows($result) > 0) {
$rowset = db_fetch_rowset($result);
foreach ($rowset as $subcat) {
$CAT_LIST[] = array($subcat['cid'], $ident . $subcat['name']);
get_subcat_data($subcat['cid'], $ident . ' ');
}
}
}
function form_label($text)
{
echo <<
$text
EOT;
}
function form_input($text, $name)
{
global $ALBUM_DATA;
$value = $ALBUM_DATA[$name];
echo <<
$text
EOT;
}
function form_yes_no($text, $name)
{
global $ALBUM_DATA, $lang_yes, $lang_no;
if ($name == 'uploads' && USER_ADMIN_MODE) {
echo " ";
return;
}
$value = isset($ALBUM_DATA[$name]) ? $ALBUM_DATA[$name] : false;
$yes_selected = $value == 'YES' ? 'checked="checked"' : '';
$no_selected = $value == 'NO' ? 'checked="checked"' : '';
echo <<
$text
$lang_yes
$lang_no
EOT;
}
function form_category($text, $name)
{
global $ALBUM_DATA, $CAT_LIST, $USER_DATA, $lang_modifyalb_php;
if (!GALLERY_ADMIN_MODE || $ALBUM_DATA['category'] > FIRST_USER_CAT) {
echo <<
$text
{$lang_modifyalb_php['user_gal']}
EOT;
return;
}
$CAT_LIST = array();
$CAT_LIST[] = array(0, $lang_modifyalb_php['no_cat']);
get_subcat_data(0, '');
echo <<
$text
EOT;
foreach($CAT_LIST as $category) {
echo ' " . $category[1] . " \n";
}
echo <<
EOT;
}
function form_textarea($text, $name)
{
global $ALBUM_DATA;
$value = $ALBUM_DATA[$name];
echo <<
$text
EOT;
}
function form_alb_thumb($text, $name)
{
global $CONFIG, $ALBUM_DATA, $album, $lang_modifyalb_php;
$results = db_query("SELECT pid, filepath, filename, url_prefix FROM {$CONFIG['TABLE_PICTURES']} WHERE aid='$album' AND approved='YES' ORDER BY filename");
if (mysql_num_rows($results) == 0) {
echo <<
$text
{$lang_modifyalb_php['alb_empty']}
EOT;
return;
}
echo <<
var Pic = new Array()
Pic[0] = 'images/nopic.jpg'
EOT;
$initial_thumb_url = 'images/nopic.jpg';
$img_list = array(0 => $lang_modifyalb_php['last_uploaded']);
while ($picture = mysql_fetch_array($results)) {
$thumb_url = get_pic_url($picture, 'thumb');
echo "Pic[{$picture['pid']}] = '" . $thumb_url . "'\n";
if ($picture['pid'] == $ALBUM_DATA[$name]) $initial_thumb_url = $thumb_url;
$img_list[$picture['pid']] = htmlspecialchars($picture['filename']);
} // while
echo <<
EOT;
$thumb_cell_height = $CONFIG['thumb_width'] + 17;
echo <<
$text
EOT;
foreach($img_list as $pid => $pic_name) {
echo ' ' . $pic_name . " \n";
}
echo <<
EOT;
}
function form_visibility($text, $name)
{
global $CONFIG, $USER_DATA, $ALBUM_DATA, $lang_modifyalb_php;
if (!$CONFIG['allow_private_albums']) {
echo ' ' . "\n";
return;
}
if (GALLERY_ADMIN_MODE) {
$options = array(0 => $lang_modifyalb_php['public_alb'], FIRST_USER_CAT + USER_ID => $lang_modifyalb_php['me_only']);
if ($ALBUM_DATA['category'] > FIRST_USER_CAT) {
if (defined('UDB_INTEGRATION')) {
$owner_name = udb_get_user_name($ALBUM_DATA['category'] - FIRST_USER_CAT);
} else {
$result = db_query("SELECT user_name FROM {$CONFIG['TABLE_USERS']} WHERE user_id='" . ($ALBUM_DATA['category'] - FIRST_USER_CAT) . "'");
if (mysql_num_rows($result)) {
$user = mysql_fetch_array($result);
$owner_name = $user['user_name'];
}
}
$options[$ALBUM_DATA['category']] = sprintf($lang_modifyalb_php['owner_only'], $owner_name);
}
$result = db_query("SELECT group_id, group_name FROM {$CONFIG['TABLE_USERGROUPS']} WHERE 1");
while ($group = mysql_fetch_array($result)) {
$options[$group['group_id']] = sprintf($lang_modifyalb_php['groupp_only'], $group['group_name']);
} // while
} else {
$options = array(0 => $lang_modifyalb_php['public_alb'],
FIRST_USER_CAT + USER_ID => $lang_modifyalb_php['me_only'],
);
$result = db_query("SELECT group_id, group_name FROM {$CONFIG['TABLE_USERGROUPS']} WHERE group_id IN " . USER_GROUP_SET);
while ($group = mysql_fetch_array($result)) {
$options[$group['group_id']] = sprintf($lang_modifyalb_php['groupp_only'], $group['group_name']);
} // while
}
echo <<
$text
EOT;
foreach ($options as $value => $caption) {
echo ' ' . $caption . " \n";
}
echo <<
EOT;
}
function create_form(&$data)
{
foreach($data as $element) {
if ((is_array($element))) {
switch ($element[2]) {
case 0 :
form_input($element[0], $element[1]);
break;
case 1 :
form_yes_no($element[0], $element[1]);
break;
case 2 :
form_category($element[0], $element[1]);
break;
case 3 :
form_textarea($element[0], $element[1]);
break;
case 4 :
form_alb_thumb($element[0], $element[1]);
break;
case 5 :
form_visibility($element[0], $element[1]);
break;
default:
cpg_die(CRITICAL_ERROR, 'Invalid action for form creation', __FILE__, __LINE__);
} // switch
} else {
form_label($element);
}
}
}
function alb_list_box()
{
global $CONFIG, $album, $PHP_SELF;
if (GALLERY_ADMIN_MODE) {
$result = db_query("SELECT aid, title FROM {$CONFIG['TABLE_ALBUMS']} WHERE category < '" . FIRST_USER_CAT . "' ORDER BY title");
$rowset = db_fetch_rowset($result);
mysql_free_result($result);
if (defined('UDB_INTEGRATION')) {
$sql = udb_get_admin_album_list();
} else {
$sql = "SELECT aid, CONCAT('(', user_name, ') ', title) AS title " . "FROM {$CONFIG['TABLE_ALBUMS']} AS a " . "INNER JOIN {$CONFIG['TABLE_USERS']} AS u ON category = (" . FIRST_USER_CAT . " + user_id) " . "ORDER BY title";
}
$result = db_query($sql);
while ($row = mysql_fetch_array($result)) $rowset[] = $row;
mysql_free_result($result);
} else {
$result = db_query("SELECT aid, title FROM {$CONFIG['TABLE_ALBUMS']} WHERE category = '" . (FIRST_USER_CAT + USER_ID) . "' ORDER BY title");
$rowset = db_fetch_rowset($result);
mysql_free_result($result);
}
if (count($rowset)) {
$lb = "\n";
foreach ($rowset as $row) {
$selected = ($row['aid'] == $album) ? "SELECTED" : "";
$lb .= " " . $row['title'] . " \n";
}
$lb .= " \n";
return $lb;
}
}
if (!isset($HTTP_GET_VARS['album'])) {
if (GALLERY_ADMIN_MODE) {
$results = db_query("SELECT * FROM {$CONFIG['TABLE_ALBUMS']} WHERE 1 LIMIT 1");
} else {
$results = db_query("SELECT * FROM {$CONFIG['TABLE_ALBUMS']} WHERE category = " . (FIRST_USER_CAT + USER_ID) . " LIMIT 1");
}
if (mysql_num_rows($results) == 0) cpg_die(ERROR, $lang_modifyalb_php['err_no_alb_to_modify'], __FILE__, __LINE__);
$ALBUM_DATA = mysql_fetch_array($results);
$album = $ALBUM_DATA['aid'];
} else {
$album = (int)$HTTP_GET_VARS['album'];
$results = db_query("SELECT * FROM {$CONFIG['TABLE_ALBUMS']} WHERE aid='$album'");
if (!mysql_num_rows($results)) cpg_die(CRITICAL_ERROR, $lang_errors['non_exist_ap'], __FILE__, __LINE__);
$ALBUM_DATA = mysql_fetch_array($results);
}
$cat = $ALBUM_DATA['category'];
$actual_cat = $cat;
if (!GALLERY_ADMIN_MODE && $ALBUM_DATA['category'] != FIRST_USER_CAT + USER_ID) {
cpg_die(ERROR, $lang_errors['perm_denied'], __FILE__, __LINE__);
}
pageheader(sprintf($lang_modifyalb_php['upd_alb_n'], $ALBUM_DATA['title']));
starttable("100%");
$album_lb = alb_list_box();
echo <<
{$lang_modifyalb_php['update']}
$album_lb