query("SELECT title, category FROM ".$xoopsDB->prefix("xcgal_albums")." WHERE aid = '$album_id'");
if (!$xoopsDB->getRowsNum($result)) redirect_header('index.php',2,_MD_NON_EXIST_AP);
$ALBUM_DATA=$xoopsDB->fetchArray($result);
$xoopsDB->freeRecordSet($result);
$cat = $ALBUM_DATA['category'];
$actual_cat = $cat;
if ($cat != FIRST_USER_CAT + USER_ID && !GALLERY_ADMIN_MODE) redirect_header('index.php',2,_MD_PERM_DENIED);
} else {
$ALBUM_DATA = array();
}
$THUMB_ROWSPAN=5;
if ($xoopsModuleConfig['user_field1_name'] != '') $THUMB_ROWSPAN++;
if ($xoopsModuleConfig['user_field2_name'] != '') $THUMB_ROWSPAN++;
if ($xoopsModuleConfig['user_field3_name'] != '') $THUMB_ROWSPAN++;
if ($xoopsModuleConfig['user_field4_name'] != '') $THUMB_ROWSPAN++;
$USER_ALBUMS_ARRAY=array(0 => array());
function get_post_var($var, $pid)
{
global $HTTP_POST_VARS;
$var_name = $var.$pid;
if(!isset($HTTP_POST_VARS[$var_name])) redirect_header('index.php',2,_MD_PARAM_MISSING." ($var_name)");
return $HTTP_POST_VARS[$var_name];
}
function process_post_data()
{
global $HTTP_POST_VARS, $xoopsModuleConfig, $xoopsDB;
global $user_albums_list, $xoopsModule, $myts;
$user_album_set = array();
foreach($user_albums_list as $album) $user_album_set[$album['aid']] = 1;
if (!is_array($HTTP_POST_VARS['pid'])) redirect_header('index.php',2,_MD_PARAM_MISSING);
$pid_array = &$HTTP_POST_VARS['pid'];
foreach($pid_array as $pid){
$pid = (int)$pid;
$aid = (int)get_post_var('aid', $pid);
$title = get_post_var('title', $pid);
$caption = get_post_var('caption', $pid);
$keywords = get_post_var('keywords', $pid);
$user1 = get_post_var('user1', $pid);
$user2 = get_post_var('user2', $pid);
$user3 = get_post_var('user3', $pid);
$user4 = get_post_var('user4', $pid);
$delete = isset($HTTP_POST_VARS['delete'.$pid]);
$reset_vcount = isset($HTTP_POST_VARS['reset_vcount'.$pid]);
$reset_votes = isset($HTTP_POST_VARS['reset_votes'.$pid]);
$del_comments = isset($HTTP_POST_VARS['del_comments'.$pid]) || $delete;
$query = "SELECT category, filepath, filename, owner_id FROM ".$xoopsDB->prefix("xcgal_pictures").", ".$xoopsDB->prefix("xcgal_albums")." WHERE ".$xoopsDB->prefix("xcgal_pictures").".aid = ".$xoopsDB->prefix("xcgal_albums").".aid AND pid='$pid'";
$result = $xoopsDB->query($query);
if (!$xoopsDB->getRowsNum($result)) redirect_header('index.php',2,_MD_NON_EXIST_AP);
$pic = $xoopsDB->fetchArray($result);
$xoopsDB->freeRecordSet($result);
if (!USER_IS_ADMIN) {
if ($pic['category'] != FIRST_USER_CAT + USER_ID) redirect_header('index.php',2, _MD_PERM_DENIED."
(picture category = {$pic['category']}/ $pid)");
if (!isset($user_album_set[$aid])) redirect_header('index.php',2,_MD_PERM_DENIED."
(target album = $aid)");
}
$update = "aid = '".$aid."'";
$update .= ", title = '".$myts->makeTboxData4Save($title)."'";
$update .= ", caption = '".$myts->makeTareaData4Save($caption,0)."'";
$update .= ", keywords = '".$myts->makeTboxData4Save($keywords)."'";
$update .= ", user1 = '".$myts->makeTboxData4Save($user1)."'";
$update .= ", user2 = '".$myts->makeTboxData4Save($user2)."'";
$update .= ", user3 = '".$myts->makeTboxData4Save($user3)."'";
$update .= ", user4 = '".$myts->makeTboxData4Save($user4)."'";
if ($reset_vcount) $update .= ", hits = '0'";
if ($reset_votes) $update .= ", pic_rating = '0', votes = '0'";
if (UPLOAD_APPROVAL_MODE) {
$approved = get_post_var('approved', $pid);
if ($approved == 'YES') {
$update .= ", approved = 'YES'";
} elseif ($approved == 'DELETE') {
$del_comments = 1;
$delete = 1;
}
}
if ($del_comments) {
//$query = "DELETE FROM ".$xoopsDB->prefix("xcgal_comments")." WHERE pid='$pid'";
//$result =$xoopsDB->query($query);
xoops_comment_delete($xoopsModule->getVar('mid'), $pid);
}
if ($delete) {
$dir=$xoopsModuleConfig['fullpath'].$pic['filepath'];
$file=$pic['filename'];
if (!is_writable($dir)) redirect_header('index.php',2, sprintf(_MD_DIRECTORY_RO, $dir));
$files=array($dir.$file, $dir.$xoopsModuleConfig['normal_pfx'].$file, $dir.$xoopsModuleConfig['thumb_pfx'].$file);
foreach ($files as $currFile){
if (is_file($currFile)) @unlink($currFile);
}
$query = "DELETE FROM ".$xoopsDB->prefix("xcgal_pictures")." WHERE pid='$pid' LIMIT 1";
$result = $xoopsDB->query($query);
} else {
$query = "UPDATE ".$xoopsDB->prefix("xcgal_pictures")." SET $update WHERE pid='$pid' LIMIT 1";
$result = $xoopsDB->query($query);
if ($pic['owner_id'] != 0){
$submitter = new XoopsUser($pic['owner_id']);
$submitter->incrementPost();
}
}
}
}
function form_pic_info()
{
global $CURRENT_PIC, $THUMB_ROWSPAN, $xoopsModuleConfig,$xoopsConfig;
global $filename, $pic_info, $thumb_url, $thumb_link,$myts;
if (UPLOAD_APPROVAL_MODE) {
$pic_info = $CURRENT_PIC['pwidth'].'x'.$CURRENT_PIC['pheight'].' - '.($CURRENT_PIC['filesize'] >> 10)._MD_KB;
$user_handler =& xoops_gethandler('member');
$pic_owner =& $user_handler->getUser($CURRENT_PIC['owner_id']);
if (is_object ($pic_owner)){
$pic_info .= ' - '.$pic_owner->uname().'';
} else $pic_info .= ' - '.$xoopsConfig['anonymous'];
} else {
$pic_info = sprintf(_MD_EDITPICS_INFOSTR, $CURRENT_PIC['pwidth'], $CURRENT_PIC['pheight'], ($CURRENT_PIC['filesize'] >> 10), $CURRENT_PIC['hits'], $CURRENT_PIC['votes']);
}
$thumb_url = get_pic_url($CURRENT_PIC, 'thumb');
$thumb_link = 'displayimage.php?pid='.$CURRENT_PIC['pid'].'&pos='.(-$CURRENT_PIC['pid']);
$filename = $myts->makeTboxData4Show($CURRENT_PIC['filename']);
}
function form_options()
{
global $CURRENT_PIC, $pic_opt;
if (UPLOAD_APPROVAL_MODE) {
$pic_opt= "
"._MD_EDITPICS_APPROVE."
"._MD_EDITPICS_PP_APPROVE."
"._MD_EDITPICS_DEL_PIC." ";
} else {
$pic_opt= "
"._MD_EDITPICS_DEL_PIC."
"._MD_EDITPICS_RVIEW."
"._MD_EDITPICS_RVOTES."
"._MD_EDITPICS_DCOM." ";
}
}
function form_alb_list_box()
{
global $xoopsModuleConfig, $CURRENT_PIC;
global $user_albums_list, $public_albums_list;
global $sel_name, $alb_opt;
$sel_album = $CURRENT_PIC['aid'];
$sel_name = 'aid'.$CURRENT_PIC['pid'];
$alb_opt='';
foreach($public_albums_list as $album){
$alb_opt.= '\n";
}
foreach($user_albums_list as $album){
$alb_opt.= '\n";
}
}
function get_user_albums($user_id)
{
global $USER_ALBUMS_ARRAY, $user_albums_list, $xoopsDB;
if (!isset($USER_ALBUMS_ARRAY[$user_id])) {
$user_albums = $xoopsDB->query("SELECT aid, title FROM ".$xoopsDB->prefix("xcgal_albums")." WHERE category='".(FIRST_USER_CAT + $user_id)."' ORDER BY title");
if ($xoopsDB->getRowsNum($user_albums)) {
$user_albums_list=db_fetch_rowset($user_albums);
} else {
$user_albums_list = array();
}
$xoopsDB->freeRecordSet($user_albums);
$USER_ALBUMS_ARRAY[$user_id] = $user_albums_list;
} else {
$user_albums_list = &$USER_ALBUMS_ARRAY[$user_id];
}
}
if (USER_IS_ADMIN) {
$public_albums = $xoopsDB->query("SELECT aid, title FROM ".$xoopsDB->prefix("xcgal_albums")." WHERE category < '".FIRST_USER_CAT."' ORDER BY title");
if ($xoopsDB->getRowsNum($public_albums)) {
$public_albums_list=db_fetch_rowset($public_albums);
} else {
$public_albums_list = array();
}
$xoopsDB->freeRecordSet($public_albums);
} else {
$public_albums_list = array();
}
get_user_albums(USER_ID);
if (count($HTTP_POST_VARS)) process_post_data();
$start = isset($HTTP_GET_VARS['start']) ? (int)$HTTP_GET_VARS['start'] : 0;
$count = isset($HTTP_GET_VARS['count']) ? (int)$HTTP_GET_VARS['count'] : 25;
$next_target = $PHP_SELF.'?album='.$album_id.'&start='.($start+$count).'&count='.$count;
$prev_target = $PHP_SELF.'?album='.$album_id.'&start='.max(0,$start-$count).'&count='.$count;
$s50 = $count == 50 ? 'selected="selected"' : '';
$s75 = $count == 75 ? 'selected="selected"' : '';
$s100 = $count == 100 ? 'selected="selected"' : '';
if (UPLOAD_APPROVAL_MODE) {
$result=$xoopsDB->query("SELECT count(*) FROM ".$xoopsDB->prefix("xcgal_pictures")." WHERE approved = 'NO'");
$nbEnr = $xoopsDB->fetchArray($result);
$pic_count = $nbEnr['count(*)'];
$sql = "SELECT * ".
"FROM ".$xoopsDB->prefix("xcgal_pictures")." ".
//"LEFT JOIN ".$xoopsDB->prefix("users")." AS u ON owner_id = uid ".
"WHERE approved = 'NO' ".
"ORDER BY pid ".
"LIMIT $start, $count";
$result = $xoopsDB->query($sql);
$form_target = $PHP_SELF.'?mode=upload_approval&start='.$start.'&count='.$count;
$title = _MD_EDITPICS_UPL_APPROVAL;
} else {
$result=$xoopsDB->query("SELECT count(*) FROM ".$xoopsDB->prefix("xcgal_pictures")." WHERE aid = '$album_id'");
$nbEnr = $xoopsDB->fetchArray($result);
$pic_count = $nbEnr['count(*)'];
$xoopsDB->freeRecordSet($result);
$result = $xoopsDB->query("SELECT * FROM ".$xoopsDB->prefix("xcgal_pictures")." WHERE aid = '$album_id' ORDER BY filename LIMIT $start, $count");
$form_target = $PHP_SELF.'?album='.$album_id.'&start='.$start.'&count='.$count;
$title = _MD_EDITPICS_EDIT;
}
global $HTTP_REFERER;
if (!$xoopsDB->getRowsNum($result)) redirect_header('index.php',2,_MD_NO_IMG_TO_DISPLAY);
if ($start + $count < $pic_count) {
$next_link = ""._MD_EDITPICS_NEXT." - ";
} else {
$next_link = '';
}
if ($start > 0) {
$prev_link = ""._MD_EDITPICS_PREV." - ";
} else {
$prev_link = '';
}
$pic_count_text = sprintf(_MD_NPICS, $pic_count);
$xoopsOption['template_main'] = 'xcgal_editpics.html';
include XOOPS_ROOT_PATH."/header.php";
//$xoopsTpl->assign('xcgal_header',pageheader($title));
$xoopsTpl->assign('title',$title);
$xoopsTpl->assign('form_target',$form_target);
$xoopsTpl->assign('pic_count_text',$pic_count_text);
$xoopsTpl->assign('prev_link',$prev_link);
$xoopsTpl->assign('next_link',$next_link);
$xoopsTpl->assign('n_of_pic_to_disp',_MD_EDITPICS_NUMDIS);
$xoopsTpl->assign('album_id',$album_id);
$xoopsTpl->assign('start',$start);
$xoopsTpl->assign('s50',$s50);
$xoopsTpl->assign('s75',$s75);
$xoopsTpl->assign('s100',$s100);
$form='';
$xoopsTpl->assign('lang_pic_info',_MD_EDITPICS_PIC_INFO);
$xoopsTpl->assign('rowspan',$THUMB_ROWSPAN);
$xoopsTpl->assign('lang_album',_MD_ALBUM);
$xoopsTpl->assign('lang_title',_MD_EDITPICS_TITLE);
$xoopsTpl->assign('lang_desc',_MD_EDITPICS_DESC);
$xoopsTpl->assign('lang_keywords',_MD_KEYS);
$xoopsTpl->assign('user1',$xoopsModuleConfig['user_field1_name']);
$xoopsTpl->assign('user2',$xoopsModuleConfig['user_field2_name']);
$xoopsTpl->assign('user3',$xoopsModuleConfig['user_field3_name']);
$xoopsTpl->assign('user4',$xoopsModuleConfig['user_field4_name']);
while($CURRENT_PIC = $xoopsDB->fetchArray($result)){
if (USER_IS_ADMIN) {
get_user_albums($CURRENT_PIC['owner_id']);
// $admin_mode=1;
}
//else $admin_mode=0;
//$form.=create_form($data);
form_alb_list_box();
form_pic_info();
ob_start();
$GLOBALS["caption{$CURRENT_PIC['pid']}"] = $myts->makeTareaData4Edit($CURRENT_PIC['caption']);
xoopsCodeTarea("caption{$CURRENT_PIC['pid']}",37,8);
$xoops_codes= ob_get_contents();
ob_end_clean();
ob_start();
xoopsSmilies(("caption".$CURRENT_PIC['pid']));
$smilies= ob_get_contents();
ob_end_clean();
$value_field1 = $myts->makeTboxData4Edit($CURRENT_PIC['user1']);
$name_field1 = 'user1'.$CURRENT_PIC['pid'];
$value_field2 = $myts->makeTboxData4Edit($CURRENT_PIC['user2']);
$name_field2 = 'user2'.$CURRENT_PIC['pid'];
$value_field3 = $myts->makeTboxData4Edit($CURRENT_PIC['user3']);
$name_field3 = 'user3'.$CURRENT_PIC['pid'];
$value_field4 = $myts->makeTboxData4Edit($CURRENT_PIC['user4']);
$name_field4 = 'user4'.$CURRENT_PIC['pid'];
form_options();
$xoopsTpl->append('pics', array('current' => $CURRENT_PIC['pid'],'filename'=>$filename,'pic_info' => $pic_info,'thumb_url' => $thumb_url,'thumb_link' => $thumb_link,'sel_name' => $sel_name,'alb_opt' => $alb_opt,'title_name'=> ('title'.$CURRENT_PIC['pid']),'title_value'=> $myts->makeTboxData4Edit($CURRENT_PIC['title']),'xoops_codes'=>$xoops_codes,'xoops_smilies'=>$smilies,'keywords_value'=>$myts->makeTboxData4Edit($CURRENT_PIC['keywords']),'keywords_name'=>('keywords'.$CURRENT_PIC['pid']),'name_field1'=>$name_field1,'value_field1'=>$value_field1,'name_field2'=>$name_field2,'value_field2'=>$value_field2,'name_field3'=>$name_field3,'value_field3'=>$value_field3,'name_field4'=>$name_field4,'value_field4'=>$value_field4,'pic_opt'=>$pic_opt));
} // while
$xoopsDB->freeRecordSet($result);
$xoopsTpl->assign('form',$form);
$xoopsTpl->assign('apply',_MD_EDITPICS_APPLY);
user_save_profile();
$xoopsTpl->assign('gallery', $xoopsModule->getVar('name'));
include_once "include/theme_func.php";
main_menu();
//$xoopsTpl->assign('xcgal_footer', pagefooter());
do_footer();
include_once "../../footer.php";
?>