function list_tad_gallery_cate_tree($def_csn = "") { global $xoopsDB, $xoopsTpl; $tadgallery = new tadgallery(); $cate_count = $tadgallery->get_tad_gallery_cate_count(); $path = get_tadgallery_cate_path($def_csn); $path_arr = array_keys($path); $sql = "select csn,of_csn,title from " . $xoopsDB->prefix("tad_gallery_cate") . " order by sort"; $result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'], 3, mysql_error()); while (list($csn, $of_csn, $title) = $xoopsDB->fetchRow($result)) { $font_style = $def_csn == $csn ? ", font:{'background-color':'yellow', 'color':'black'}" : ''; $open = in_array($csn, $path_arr) ? 'true' : 'false'; $display_counter = empty($cate_count[$csn]['file']) ? "" : " ({$cate_count[$csn]['file']})"; $data[] = "{ id:{$csn}, pId:{$of_csn}, name:'{$title}{$display_counter}', url:'cooliris.php?csn={$csn}', open: {$open} ,target:'_self' {$font_style}}"; } $json = implode(",\n", $data); if (!file_exists(XOOPS_ROOT_PATH . "/modules/tadtools/ztree.php")) { redirect_header("index.php", 3, _MA_NEED_TADTOOLS); } include_once XOOPS_ROOT_PATH . "/modules/tadtools/ztree.php"; $ztree = new ztree("album_tree", $json, '', '', "of_csn", "csn"); $ztree_code = $ztree->render(); $xoopsTpl->assign('ztree_code', $ztree_code); return $data; }
function edit_album($csn) { global $upload_powers; include_once XOOPS_ROOT_PATH . "/class/xoopsformloader.php"; $path = get_tadgallery_cate_path($csn, false); $patharr = array_keys($path); $make_option_js = ""; foreach ($patharr as $k => $of_csn) { $j = $k + 1; $make_option_js .= "make_option('of_csn_menu','{$k}','{$of_csn}','{$patharr[$j]}');\n"; } $span = $_SESSION['bootstrap'] == '3' ? 'col-md-' : 'span'; $controls_row = $_SESSION['bootstrap'] == '3' ? 'form-group' : 'control-group'; $album = tadgallery::get_tad_gallery_cate($csn); //可見群組 $SelectGroup_name = new XoopsFormSelectGroup("", "enable_group", false, explode(",", $album['enable_group']), 3, true); $SelectGroup_name->addOption("", _MD_TADGAL_ALL_OK, false); $SelectGroup_name->setExtra("class='{$span}12'"); $enable_group = $SelectGroup_name->render(); //可上傳群組 $SelectGroup_name = new XoopsFormSelectGroup("", "enable_upload_group", false, explode(",", $album['enable_upload_group']), 3, true); $SelectGroup_name->setExtra("class='{$span}12'"); $enable_upload_group = $SelectGroup_name->render(); if ($_SESSION['bootstrap'] == '3') { $form_col = "\n <div class='form-group'>\n <label class='col-md-2 control-label'>" . _MD_TADGAL_ALBUM_TITLE . "</label>\n <div class='col-md-10'>\n <input class='form-control' type='text' name='title' value='{$album['title']}' id='newTitle' placeholder='" . _MD_TADGAL_TITLE . "'>\n </div>\n </div>\n\n\n <div class='form-group'>\n <label class='col-md-2 control-label'>" . _MD_TADGAL_OF_CSN . "</label>\n <div class='col-md-10'>\n <select name='of_csn_menu[0]' id='of_csn_menu0' class='of_csn_menu'><option value=''></option></select>\n <select name='of_csn_menu[1]' id='of_csn_menu1' class='of_csn_menu' style='display: none;'></select>\n <select name='of_csn_menu[2]' id='of_csn_menu2' class='of_csn_menu' style='display: none;'></select>\n <select name='of_csn_menu[3]' id='of_csn_menu3' class='of_csn_menu' style='display: none;'></select>\n <select name='of_csn_menu[4]' id='of_csn_menu4' class='of_csn_menu' style='display: none;'></select>\n <select name='of_csn_menu[5]' id='of_csn_menu5' class='of_csn_menu' style='display: none;'></select>\n <select name='of_csn_menu[6]' id='of_csn_menu6' class='of_csn_menu' style='display: none;'></select>\n </div>\n </div>\n\n\n <div class='form-group'>\n <label class='col-md-2 control-label'>" . _MD_TADGAL_CATE_POWER_SETUP . "</label>\n <div class='col-md-5'>\n <label>" . _MD_TADGAL_ENABLE_GROUP . "</label>\n {$enable_group}\n </div>\n <div class='col-md-5'>\n <label>" . _MD_TADGAL_ENABLE_UPLOAD_GROUP . "</label>\n {$enable_upload_group}\n </div>\n </div>\n\n\n <div class='form-group'>\n <label class='col-md-2 control-label'>" . _MD_TADGAL_PASSWD . "</label>\n <div class='col-md-4'>\n <input type='text' name='passwd' class='form-control' value='{$album['passwd']}' placeholder='" . _MD_TADGAL_PASSWD_DESC . "'>\n </div>\n\n <label class='col-md-2 control-label'></label>\n <div class='col-md-4'>\n <input type='hidden' name='csn' value='{$album['csn']}'>\n <input type='hidden' name='show_mode' value='{$album['show_mode']}'>\n <input type='hidden' name='op' value='update_tad_gallery_cate'>\n <button type='submit' class='btn btn-primary' id='sbtn'>" . _TAD_SAVE . "</button>\n </div>\n </div>\n "; } else { $form_col = "\n <div class='control-group'>\n <label class='{$span}2 control-label'>" . _MD_TADGAL_ALBUM_TITLE . "</label>\n <div class='{$span}10 controls controls-row'>\n <input class='span12 form-control' type='text' name='title' value='{$album['title']}' id='newTitle' placeholder='" . _MD_TADGAL_TITLE . "'>\n </div>\n </div>\n\n\n <div class='control-group'>\n <label class='{$span}2 control-label'>" . _MD_TADGAL_OF_CSN . "</label>\n <div class='{$span}10 controls controls-row'>\n <select name='of_csn_menu[0]' id='of_csn_menu0' class='of_csn_menu'><option value=''></option></select>\n <select name='of_csn_menu[1]' id='of_csn_menu1' class='of_csn_menu' style='display: none;'></select>\n <select name='of_csn_menu[2]' id='of_csn_menu2' class='of_csn_menu' style='display: none;'></select>\n <select name='of_csn_menu[3]' id='of_csn_menu3' class='of_csn_menu' style='display: none;'></select>\n <select name='of_csn_menu[4]' id='of_csn_menu4' class='of_csn_menu' style='display: none;'></select>\n <select name='of_csn_menu[5]' id='of_csn_menu5' class='of_csn_menu' style='display: none;'></select>\n <select name='of_csn_menu[6]' id='of_csn_menu6' class='of_csn_menu' style='display: none;'></select>\n </div>\n </div>\n\n\n <div class='control-group'>\n <label class='{$span}2 control-label'>" . _MD_TADGAL_CATE_POWER_SETUP . "</label>\n <div class='{$span}5 controls controls-row'>\n <label>" . _MD_TADGAL_ENABLE_GROUP . "</label>\n {$enable_group}\n </div>\n <div class='{$span}5 controls controls-row'>\n <label>" . _MD_TADGAL_ENABLE_UPLOAD_GROUP . "</label>\n {$enable_upload_group}\n </div>\n </div>\n\n\n <div class='control-group'>\n <label class='{$span}2 control-label'>" . _MD_TADGAL_PASSWD . "</label>\n <div class='{$span}4 controls controls-row'>\n <input type='text' name='passwd' class='span12 form-control' value='{$album['passwd']}' placeholder='" . _MD_TADGAL_PASSWD_DESC . "'>\n </div>\n\n <label class='{$span}2 control-label'></label>\n <div class='{$span}4 controls controls-row'>\n <input type='hidden' name='csn' value='{$album['csn']}'>\n <input type='hidden' name='op' value='update_tad_gallery_cate'>\n <button type='submit' class='btn btn-primary' id='sbtn'>" . _TAD_SAVE . "</button>\n </div>\n </div>\n "; } $form = "\n <script>\n \$(function(){\n {$make_option_js}\n \$('#myForm').bind('submit', function() {\n \$.ajax({\n type : 'POST',\n cache : false,\n url : 'ajax.php',\n data : \$(this).serializeArray(),\n success: function(data) {\n if(\$('#newTitle').val()!=''){\n \$('#albumTitle{$csn}').parent().addClass('outline');\n \$('#albumTitle{$csn}').text(\$('#newTitle').val());\n }\n\n \$.fancybox.close();\n location.reload();\n }\n });\n return false;\n });\n })\n\n\n function make_option(menu_name , num , of_csn , def_csn){\n \$('#'+menu_name+num).show();\n \$.post('ajax_menu.php', {'of_csn': of_csn , 'def_csn': def_csn} , function(data) {\n \$('#'+menu_name+num).html(\"<option value=''>/</option>\"+data);\n });\n\n \$('.'+menu_name).change(function(){\n var menu_id= \$(this).attr('id');\n var len=menu_id.length-1;\n var next_num = Number(menu_id.charAt(len))+1\n var next_menu = menu_name + next_num;\n \$.post('ajax_menu.php', {'of_csn': \$('#'+menu_id).val()} , function(data) {\n if(data==''){\n \$('#'+next_menu).hide();\n }else{\n \$('#'+next_menu).show();\n \$('#'+next_menu).html(\"<option value=''>/</option>\"+data);\n }\n\n });\n });\n }\n </script>\n\n <form action='' method='post' id='myForm' style='width:600px;' class='form-horizontal' role='form'>\n {$form_col}\n </form>"; return $form; }
$xoopsTpl->assign("csn", $csn); } /*-----------執行動作判斷區----------*/ $op = system_CleanVars($_REQUEST, 'op', '', 'string'); $sn = system_CleanVars($_REQUEST, 'sn', 0, 'int'); $uid = system_CleanVars($_REQUEST, 'uid', 0, 'int'); $show_uid = system_CleanVars($_REQUEST, 'show_uid', 0, 'int'); if (!empty($csn) and !empty($passwd)) { $_SESSION['tadgallery'][$csn] = $passwd; } switch ($op) { case "passwd_form": passwd_form($csn, $cate['title']); break; default: list_photos($csn, $show_uid); break; } /*-----------秀出結果區--------------*/ $arr = get_tadgallery_cate_path($csn); $jBreadCrumbPath = breadcrumb($csn, $arr); $xoopsTpl->assign("path", $jBreadCrumbPath); $author_menu = get_all_author($show_uid); $xoopsTpl->assign("author_option", $author_menu); $xoopsTpl->assign("toolbar", toolbar_bootstrap($interface_menu)); if ($xoTheme) { $xoTheme->addStylesheet('modules/tadgallery/module.css'); $xoTheme->addStylesheet('modules/tadgallery/class/jquery.thumbs/jquery.thumbs.css'); $xoTheme->addScript('modules/tadgallery/class/jquery.thumbs/jquery.thumbs.js'); } include_once XOOPS_ROOT_PATH . '/footer.php';
function view_pic($sn = "") { global $xoopsDB, $xoopsUser, $xoopsModule, $xoopsModuleConfig, $xoopsTpl, $xoTheme; $tadgallery = new tadgallery(); //判斷是否對該模組有管理權限, 若空白 if ($xoopsUser) { $nowuid = $xoopsUser->getVar('uid'); $module_id = $xoopsModule->getVar('mid'); $isAdmin = $xoopsUser->isAdmin($module_id); } else { $isAdmin = false; $nowuid = ""; } $sql = "select * from " . $xoopsDB->prefix("tad_gallery") . " where sn='{$sn}'"; $result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'], 3, mysql_error()); $all = $xoopsDB->fetchArray($result); //$csn,$title,$description,$filename,$size,$type,$width,$height,$dir,$uid,$post_date,$counter,$exif,$good,$tag,$photo_sort foreach ($all as $k => $v) { ${$k} = $v; $xoopsTpl->assign($k, $v); } $photo_s = $tadgallery->get_pic_url($dir, $sn, $filename, "s"); $photo_m = $tadgallery->get_pic_url($dir, $sn, $filename, "m"); $photo_l = $tadgallery->get_pic_url($dir, $sn, $filename); $xoopsTpl->assign("photo_s", $photo_s); $xoopsTpl->assign("photo_m", $photo_m); $xoopsTpl->assign("photo_l", $photo_l); if (!empty($csn)) { $ok_cat = $tadgallery->chk_cate_power(); $cate = $tadgallery->get_tad_gallery_cate($csn); if (!in_array($csn, $ok_cat)) { redirect_header("index.php?csn={$csn}&op=passwd_form", 3, sprintf(_TADGAL_NO_PASSWD_CONTENT, $cate['title'])); exit; } $sql = "select * from " . $xoopsDB->prefix("tad_gallery") . " where csn='{$csn}' order by photo_sort , post_date"; $result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'], 3, mysql_error()); $slides1 = $slides2 = ""; $i = 0; $start = false; while ($all = $xoopsDB->fetchArray($result)) { if ($sn == $all['sn']) { $start = true; $i = 0; } if ($start) { $slides1[$i]['sn'] = $all['sn']; $slides1[$i]['photo'] = $tadgallery->get_pic_url($all['dir'], $all['sn'], $all['filename']); $slides1[$i]['description'] = strip_tags($all['description']); $slides1[$i]['thumb'] = $tadgallery->get_pic_url($all['dir'], $all['sn'], $all['filename'], 's'); } else { $slides2[$i]['sn'] = $all['sn']; $slides2[$i]['photo'] = $tadgallery->get_pic_url($all['dir'], $all['sn'], $all['filename']); $slides2[$i]['description'] = strip_tags($all['description']); $slides2[$i]['thumb'] = $tadgallery->get_pic_url($all['dir'], $all['sn'], $all['filename'], 's'); } $i++; } } $xoopsTpl->assign("slides1", $slides1); $xoopsTpl->assign("slides2", $slides2); //找出上一張或下一張 $pnp = get_pre_next($csn, $sn); $xoopsTpl->assign("next", $pnp['next']); $xoopsTpl->assign("back", $pnp['pre']); $arr = get_tadgallery_cate_path($csn); $jBreadCrumbPath = breadcrumb($csn, $arr); $xoopsTpl->assign("path", $jBreadCrumbPath); if (!file_exists(XOOPS_ROOT_PATH . "/modules/tadtools/fancybox.php")) { redirect_header("index.php", 3, _MA_NEED_TADTOOLS); } include_once XOOPS_ROOT_PATH . "/modules/tadtools/fancybox.php"; $fancybox = new fancybox('.fancybox'); $fancybox_code = $fancybox->render(false); $xoopsTpl->assign('fancybox_code', $fancybox_code); $title = empty($title) ? $filename : $title; $div_width = $xoopsModuleConfig['thumbnail_m_width'] + 30; $size_txt = sizef($size); if ($uid == $nowuid or $isAdmin) { $xoopsTpl->assign('show_del', 1); //$del_btn="<a src='javascript:delete_tad_gallery_func($sn)' title='"._TADGAL_DEL_PIC."' class='btn btn-danger'>"._TAD_DEL."</a>"; $xoopsTpl->assign('good', $good); $del_js = "\n <script>\n function delete_tad_gallery_func(sn){\n var sure = window.confirm('" . _TAD_DEL_CONFIRM . "');\n if (!sure) return;\n location.href=\"{$_SERVER['PHP_SELF']}?op=delete_tad_gallery&sn=\" + sn;\n }\n </script>"; } else { $del_btn = $admin_tool = $del_js = ""; } $xoopsTpl->assign('del_btn', $del_btn); //秀出各種尺寸圖示 if ($xoopsModuleConfig['show_copy_pic']) { $xoopsTpl->assign("photo_s", $photo_s); $xoopsTpl->assign("photo_m", $photo_m); $xoopsTpl->assign("photo_l", $photo_l); $xoopsTpl->assign("description", $description); $xoopsTpl->assign("sel_size", 1); } else { $xoopsTpl->assign("sel_size", 0); } //推文工具 $push = push_url($xoopsModuleConfig['use_social_tools']); $xoopsTpl->assign("push", $push); $xoopsTpl->assign("pic_toolbar", $xoopsModuleConfig['pic_toolbar']); $xoopsTpl->assign("thumb_slider", $xoopsModuleConfig['thumb_slider']); //計數器 add_tad_gallery_counter($sn); //地圖部份 $info = explode("||", $exif); foreach ($info as $v) { $exif_arr = explode("=", $v); $exif_arr[1] = str_replace("�", "", $exif_arr[1]); $bb = "\$photoexif{$exif_arr[0]}=\"{$exif_arr[1]}\";"; if (empty($exif_arr[0])) { continue; } @eval($bb); } $latitude = $photoexif['GPS']['latitude']; $longitude = $photoexif['GPS']['longitude']; $xoopsTpl->assign("latitude", $latitude); $xoopsTpl->assign("longitude", $longitude); $jquery_path = get_jquery(true); $xoopsTpl->assign("jquery", $jquery_path); $xoopsTpl->assign("path", $jBreadCrumbPath); $xoopsTpl->assign("del_js", $del_js); $xoopsTpl->assign("div_width", $div_width); $facebook_comments = facebook_comments($xoopsModuleConfig['facebook_comments_width'], 'tadgallery', 'view.php', 'sn', $sn); $xoopsTpl->assign("facebook_comments", $facebook_comments); $fb_tag = "\n <meta property=\"og:title\" content=\"{$title}\" />\n <meta property=\"og:description\" content=\"{$description}\" />\n <meta property=\"og:image\" content=\"" . $tadgallery->get_pic_url($dir, $sn, $filename, "m") . "\" />\n "; $xoopsTpl->assign("xoops_module_header", $fb_tag); $xoopsTpl->assign("xoops_pagetitle", $title); if (is_object($xoTheme)) { $xoTheme->addMeta('meta', 'keywords', $title); $xoTheme->addMeta('meta', 'description', $description); } else { $xoopsTpl->assign('xoops_meta_keywords', 'keywords', $title); $xoopsTpl->assign('xoops_meta_description', $description); } }