<?php /*-----------引入檔案區--------------*/ include_once "header_admin.php"; include_once "../up_file.php"; /*-----------function區--------------*/ //contact編輯表單 function contact_form($sn=""){ global $xoopsDB,$xoopsUser; //抓取預設值 if(!empty($sn)){ $DBV=get_contact($sn); }else{ $DBV=array(); } //預設值設定 //設定「tel」欄位預設值 $tel=(!isset($DBV['tel']))?"":$DBV['tel']; //設定「email」欄位預設值 $email=(!isset($DBV['email']))?"":$DBV['email']; //設定「name」欄位預設值 $name=(!isset($DBV['name']))?"":$DBV['name']; //設定「gsn」欄位預設值 $gsn=(!isset($DBV['gsn']))?null:$DBV['gsn']; //設定「sn」欄位預設值 $sn=(!isset($DBV['sn']))?$sn:$DBV['sn']; //設定「birthday」欄位預設值 $birthday=(!isset($DBV['birthday']))?"":$DBV['birthday']; //設定「zip」欄位預設值 $zip=(!isset($DBV['zip']))?"":$DBV['zip']; //設定「county」欄位預設值 $county=(!isset($DBV['county']))?"":$DBV['county']; //設定「city」欄位預設值 $city=(!isset($DBV['city']))?"":$DBV['city']; //設定「addr」欄位預設值 $addr=(!isset($DBV['addr']))?"":$DBV['addr']; $op=(empty($sn))?"insert_contact":"update_contact"; $jquery=get_jquery(); include_once XOOPS_ROOT_PATH."/modules/tadtools/formValidator.php"; $formValidator= new formValidator("#myForm",false); $formValidator_code=$formValidator->render(); $main=" $jquery $formValidator_code <script language='javascript' src='../class/twzipcode-1.3.1.js'></script> <script type='text/javascript'> $(document).ready(function(){ $.post('ajax.php' , function(data){ $('#menu1').html(data); $.post('ajax.php' , {parent_gsn: $('#menu1').val()} , function(data){ $('#menu2').html(data); }); }); $('#menu1').change(function(){ $.post('ajax.php' , {parent_gsn: $('#menu1').val()} , function(data){ $('#menu2').html(data); }); }); $('#AddrForm').twzipcode({ countyName: 'county', areaName: 'city', zipName: 'zip', countySel: '$county', areaSel: '$city', zipSel: '$zip', zipReadonly: false }); }); </script> <script src='".TADTOOLS_URL."/multiple-file-upload/jquery.MultiFile.js'></script> <form action='{$_SERVER['PHP_SELF']}' method='post' id='myForm' enctype='multipart/form-data'> <table class='form_tbl'> <!--群組--> <tr><td class='title' nowrap>群組</td> <td class='col'> <select id='menu1'></select> <select name='gsn' id='menu2'></select> </td></tr> <!--姓名--> <tr><td class='title' nowrap>姓名</td> <td class='col'><input type='text' name='name' size='20' value='{$name}' id='name' class='validate[required,minSize[2],maxSize[10]]'></td></tr> <!--電話--> <tr><td class='title' nowrap>電話</td> <td class='col'><input type='text' name='tel' size='20' value='{$tel}' id='tel' class='validate[required,custom[phone]]'></td></tr> <!--信箱--> <tr><td class='title' nowrap>信箱</td> <td class='col'><input type='text' name='email' size='20' value='{$email}' id='email' class='validate[required,custom[email]]'></td></tr> <!--生日--> <tr><td class='title' nowrap>生日</td> <td class='col'><input type='text' name='birthday' size='20' value='{$birthday}' id='birthday'></td></tr> <!--上傳--> <tr><td class='title' nowrap>上傳圖片</td> <td class='col'> <input type='file' name='upfile[]' class='multi' maxlength='1' accept='gif|jpg|png|GIF|JPG|PNG'>". list_del_file('photo',$sn)." </td></tr> <!--上傳--> <tr><td class='title' nowrap>上傳相關檔案</td> <td class='col'> <input type='file' name='docs[]' class='multi' >". list_del_file('files',$sn)." </td></tr> <!--地址--> <tr><td class='title' nowrap>地址</td> <td class='col'> <div style='position:relative;'> <span id='AddrForm'></span> <input type='text' name='addr' size='30' value='{$addr}' id='addr'> </div> </td></tr> <tr> <td class='bar' colspan='2'> <!--編號--> <input type='hidden' name='sn' value='{$sn}'> <input type='hidden' name='op' value='{$op}'> <input type='submit' value='儲存'> </td> </tr> </table> </form>"; //raised,corners,inset $main=div_3d("通訊錄管理",$main,"raised"); return $main; } //新增資料到contact中 function insert_contact(){ global $xoopsDB,$xoopsUser; $myts =& MyTextSanitizer::getInstance(); $_POST['tel']=$myts->addSlashes($_POST['tel']); $_POST['email']=$myts->addSlashes($_POST['email']); $_POST['name']=$myts->addSlashes($_POST['name']); $_POST['birthday']=$myts->addSlashes($_POST['birthday']); $_POST['zip']=$myts->addSlashes($_POST['zip']); $_POST['county']=$myts->addSlashes($_POST['county']); $_POST['city']=$myts->addSlashes($_POST['city']); $_POST['addr']=$myts->addSlashes($_POST['addr']); $sql = "insert into `".$xoopsDB->prefix("contact")."` (`tel` , `email` , `name` , `gsn` , `birthday` , `zip` , `county` , `city` , `addr`) values('{$_POST['tel']}' , '{$_POST['email']}' , '{$_POST['name']}' , '{$_POST['gsn']}' , '{$_POST['birthday']}' , '{$_POST['zip']}' , '{$_POST['county']}' , '{$_POST['city']}' , '{$_POST['addr']}')"; $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error()); //取得最後新增資料的流水編號 $sn = $xoopsDB->getInsertId(); upload_file('photo' , $sn , '400'); upload_file('files' , $sn , '400' , 'docs'); return $sn; } //更新contact某一筆資料 function update_contact($sn=""){ global $xoopsDB,$xoopsUser; $myts =& MyTextSanitizer::getInstance(); $_POST['tel']=$myts->addSlashes($_POST['tel']); $_POST['email']=$myts->addSlashes($_POST['email']); $_POST['name']=$myts->addSlashes($_POST['name']); $_POST['birthday']=$myts->addSlashes($_POST['birthday']); $_POST['zip']=$myts->addSlashes($_POST['zip']); $_POST['county']=$myts->addSlashes($_POST['county']); $_POST['city']=$myts->addSlashes($_POST['city']); $_POST['addr']=$myts->addSlashes($_POST['addr']); $sql = "update `".$xoopsDB->prefix("contact")."` set `tel` = '{$_POST['tel']}' , `email` = '{$_POST['email']}' , `name` = '{$_POST['name']}' , `gsn` = '{$_POST['gsn']}' , `birthday` = '{$_POST['birthday']}' , `zip` = '{$_POST['zip']}' , `county` = '{$_POST['county']}' , `city` = '{$_POST['city']}' , `addr` = '{$_POST['addr']}' where `sn` = '$sn'"; $xoopsDB->queryF($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error()); upload_file('photo' , $sn , '400'); upload_file('files' , $sn , '400' , 'docs'); return $sn; } //列出所有contact資料 function list_contact($show_function=1){ global $xoopsDB , $xoopsModule , $isAdmin; //製作選項 $sql = "select gsn,title from `".$xoopsDB->prefix("contact_cate")."` where parent_gsn!='0' order by sort"; $result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error()); while(list($gsn,$title)=$xoopsDB->fetchRow($result)){ $cate_arr[]="'$gsn':'$title'"; } $cate_option=implode(" , ",$cate_arr); include_once XOOPS_ROOT_PATH."/modules/tadtools/jeditable.php"; $file="save.php"; $jeditable = new jeditable(); //$jeditable->setTextCol("#id",$file,'140px','12px',"{'sn':$sn,'op' : 'save'}","點擊編輯"); //$jeditable->setTextAreaCol("#id",$file,'140px','12px',"{'sn':$sn,'op' : 'save'}","點擊編輯"); //$jeditable->setSelectCol("#id",$file,"{'boy':'男生' , 'girl':'女生'}","{'sn' : $sn , 'op' : 'save'}","點擊編輯"); $sql = "select * from `".$xoopsDB->prefix("contact")."` "; $result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error()); $function_title=($show_function)?"<th>功能</th>":""; $all_content=""; while($all=$xoopsDB->fetchArray($result)){ //以下會產生這些變數: $tel , $email , $name , $gsn , $sn , $birthday , $zip , $county , $city , $addr foreach($all as $k=>$v){ $$k=$v; } $fun=($show_function)?" <td> <a href='{$_SERVER['PHP_SELF']}?op=contact_form&sn=$sn' class='link_button'>編輯</a> <a href=\"javascript:delete_contact_func($sn);\" class='link_button'>刪除</a> </td>":""; $jeditable->setSelectCol("#gsn_{$sn}",$file,"{{$cate_option}}","{'sn' : $sn , 'col' : 'gsn'}"); $jeditable->setTextCol("#name_{$sn}",$file,'100px','12px',"{'sn':$sn , 'col' : 'name'}"); $jeditable->setTextCol("#email_{$sn}",$file,'100px','12px',"{'sn':$sn , 'col' : 'email'}"); $cate=get_contact_cate_all(); $file_counter1=get_file_amount('photo' , $sn); $file_counter2=get_file_amount('files' , $sn); $all_content.=" <tr> <td id='gsn_{$sn}'>{$cate[$gsn]['title']}</td> <td id='name_{$sn}'>{$name}</td> <td>{$tel}</td> <td id='email_{$sn}'>{$email}</td> <td>{$birthday}</td> <td>{$zip}</td> <td>{$county}</td> <td>{$city}</td> <td>{$addr}</td> <td>{$file_counter1}</td> <td>{$file_counter2}</td> $fun </tr> "; } $jeditable_set=$jeditable->render(); //if(empty($all_content))return ""; $add_button=($show_function)?"<a href='{$_SERVER['PHP_SELF']}?op=contact_form' class='link_button_r'>新增</a>":""; //刪除確認的JS $main=" $jeditable_set <script> function delete_contact_func(sn){ var sure = window.confirm('確定刪除此資料?'); if (!sure) return; location.href=\"{$_SERVER['PHP_SELF']}?op=delete_contact&sn=\" + sn; } </script> <table summary='list_table' id='tbl' style='width:100%;'> <tr> <th>群組</th> <th>姓名</th> <th>電話</th> <th>信箱</th> <th>生日</th> <th>郵遞區號</th> <th>縣市</th> <th>鄉鎮市區</th> <th>地址</th> <th>相片</th> <th>檔案數</th> $function_title </tr> <tbody> $all_content </tbody> <tr> <td colspan=11 class='bar'> {$add_button} </td> </tr> </table>"; //raised,corners,inset $main=div_3d("",$main,"corners"); return $main; } //以流水號取得某筆contact資料 function get_contact($sn=""){ global $xoopsDB; if(empty($sn))return; $sql = "select * from `".$xoopsDB->prefix("contact")."` where `sn` = '{$sn}'"; $result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error()); $data=$xoopsDB->fetchArray($result); return $data; } //刪除contact某筆資料資料 function delete_contact($sn=""){ global $xoopsDB , $isAdmin; $sql = "delete from `".$xoopsDB->prefix("contact")."` where `sn` = '{$sn}'"; $xoopsDB->queryF($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error()); del_files('' , 'photo' , $sn); del_files('' , 'files' , $sn); } //取得所有contact_cate分類選單的選項(模式 = edit[編輯用] or show[顯示用],目前分類編號,目前分類的所屬編號) function get_contact_cate_options($mode='show' , $default_gsn="0" , $default_parent_gsn="0" , $unselect_level="" , $start_search_sn="0" , $level=0){ global $xoopsDB , $xoopsModule; $sql = "select `gsn` , `title` from `".$xoopsDB->prefix("contact_cate")."` where `parent_gsn` = '{$start_search_sn}' order by `sort`"; $result = $xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'] , 3, mysql_error()); $prefix=str_repeat(" " , $level); $level++; $unselect=explode("," , $unselect_level); $main=""; while(list($gsn , $title)=$xoopsDB->fetchRow($result)){ if($mode=="edit"){ $selected=($gsn==$default_parent_gsn)?"selected=selected":""; $selected.=($gsn==$default_gsn)?"disabled=disabled":""; $selected.=(in_array($level , $unselect))?"disabled=disabled":""; }else{ $selected=($gsn==$default_gsn)?"selected=selected":""; $selected.=(in_array($level , $unselect))?"disabled=disabled":""; } $main.="<option value=$gsn $selected>{$prefix}{$title}</option>"; $main.=get_contact_cate_options($mode , $default_gsn , $default_parent_gsn , $unselect_level , $gsn , $level); } return $main; } /*-----------執行動作判斷區----------*/ $op = empty($_REQUEST['op'])? "":$_REQUEST['op']; $sn=empty($_REQUEST['sn'])?"":intval($_REQUEST['sn']); $gsn=empty($_REQUEST['gsn'])?"":intval($_REQUEST['gsn']); $files_sn=empty($_REQUEST['files_sn'])?"":intval($_REQUEST['files_sn']); switch($op){ /*---判斷動作請貼在下方---*/ //新增資料 case "insert_contact": $sn=insert_contact(); header("location: {$_SERVER['PHP_SELF']}?sn=$sn"); break; //更新資料 case "update_contact": update_contact($sn); header("location: {$_SERVER['PHP_SELF']}"); break; //輸入表格 case "contact_form": $main=contact_form($sn); break; //刪除資料 case "delete_contact": delete_contact($sn); header("location: {$_SERVER['PHP_SELF']}"); break; //預設動作 default: $main=list_contact(); break; /*---判斷動作請貼在上方---*/ } /*-----------秀出結果區--------------*/ module_admin_footer($main,0); ?>