線上書籍

Home

1041 XOOPS模組開發

<?php /*-----------引入檔案區--------------*/ $xoopsOption['template_main'] = "tad_ebook_adm_main.html"; include_once "header.php"; include_once "../function.php"; /*-----------function區--------------*/ //管理電子校刊表單 function ebook_form($ebook_sn=""){ global $xoopsTpl , $xoopsDB; if($ebook_sn){ $myts =& MyTextSanitizer::getInstance(); $tbl=$xoopsDB->prefix('tad_ebook'); $sql="select * from `{$tbl}` where ebook_sn='{$ebook_sn}'"; $result=$xoopsDB->query($sql) or die(mysql_error()); $all=$xoopsDB->fetchArray($result); $ebook_title=$myts->htmlSpecialChars($all['ebook_title']); $ebook_post_date=strtotime($myts->htmlSpecialChars($all['ebook_post_date'])); $ebook_publish_date=strtotime($myts->htmlSpecialChars($all['ebook_publish_date'])); $ebook_content=$myts->displayTarea($all['ebook_content'], 1, 1, 1, 1, 0); $op='update_ebook'; }else{ $ebook_title = ""; $ebook_post_date = time() + 3600 * 24 * 14; $ebook_publish_date = time() + 3600 * 24 * 28; $ebook_content=""; $op='insert_ebook'; } //引入表單物件 include_once(XOOPS_ROOT_PATH."/class/xoopsformloader.php"); $form = new XoopsThemeForm('電子校刊管理表單', 'ebook', 'main.php', 'post', true); $Text = new XoopsFormText('電子校刊標題', 'ebook_title', 200 , 80 , $ebook_title); //$Text->setExtra("style='width: 400px; color: white; background-color: #000000;'"); $Text->setExtra("style='width: 400px;'"); $Text->setExtra("placeholder='"._MA_TADEBOOK_PLACEHOLDER."'"); $form->addElement($Text); $DateSelect=new XoopsFormTextDateSelect('投稿截止日', 'ebook_post_date', 15, $ebook_post_date); $DateSelect->setExtra("style='width: 100px;'"); $form->addElement($DateSelect); $DateSelect1=new XoopsFormTextDateSelect(_MA_TADEBOOK_PUBLIC_DATE, 'ebook_publish_date', 15, $ebook_publish_date); $DateSelect1->setExtra("style='width: 100px;'"); $form->addElement($DateSelect1); //CK編輯器 if(!file_exists(XOOPS_ROOT_PATH."/modules/tadtools/ck.php")){ redirect_header("http://www.tad0616.net/modules/tad_uploader/index.php?of_cat_sn=50",3, _TAD_NEED_TADTOOLS); } include_once XOOPS_ROOT_PATH."/modules/tadtools/ck.php"; $fck=new CKEditor("tad_ebook","ebook_content",$ebook_content); $fck->setHeight(350); $editor=$fck->render(); $form->addElement(new XoopsFormLabel('內容說明', $editor)); $Tray=new XoopsFormElementTray('', '&nbsp;', ''); $Tray->addElement(new XoopsFormButton('', '', _SUBMIT, 'submit')); $Tray->addElement(new XoopsFormButton('', '', _RESET, 'reset')); $form->addElement($Tray); $form->addElement(new XoopsFormHidden('ebook_sn', $ebook_sn)); $form->addElement(new XoopsFormHidden('op', $op)); //安全機制 $form->addElement(new XoopsFormHiddenToken('XOOPS_TOKEN_REQUEST',360)); $ebook_form = $form->render(); $xoopsTpl->assign('ebook_form' , $ebook_form); } //寫入資料庫 function insert_ebook(){ global $xoopsDB; //安全判斷 if(!$GLOBALS['xoopsSecurity']->check()){ //錯誤訊息 $error=implode("<br />" , $GLOBALS['xoopsSecurity']->getErrors()); //轉向到首頁 redirect_header($_SERVER['PHP_SELF'],3, $error); } $myts =& MyTextSanitizer::getInstance(); $ebook_title=$myts->addSlashes($_POST['ebook_title']); $ebook_post_date=$myts->addSlashes($_POST['ebook_post_date']); $ebook_publish_date=$myts->addSlashes($_POST['ebook_publish_date']); $ebook_content=$myts->addSlashes($_POST['ebook_content']); $tbl=$xoopsDB->prefix('tad_ebook'); $sql="insert into `{$tbl}` (`ebook_title` ,`ebook_post_date` , `ebook_publish_date` , `ebook_content`) values('{$ebook_title}' , '{$ebook_post_date}' ,'{$ebook_publish_date}' ,'{$ebook_content}')"; $xoopsDB->query($sql) or die(mysql_error()); } //列出所有書籍 function ebook_list(){ global $xoopsDB , $xoopsTpl; $myts =& MyTextSanitizer::getInstance(); $tbl=$xoopsDB->prefix('tad_ebook'); $sql="select * from `{$tbl}` order by ebook_sn desc"; $result=$xoopsDB->query($sql) or die(mysql_error()); $i=0; $all_data=""; while($all=$xoopsDB->fetchArray($result)){ $all['ebook_title']=$myts->htmlSpecialChars($all['ebook_title']); $all['del_title']=urlencode($all['ebook_title']); $all['ebook_post_date']=$myts->htmlSpecialChars($all['ebook_post_date']); $all['ebook_publish_date']=$myts->htmlSpecialChars($all['ebook_publish_date']); $all_data[$i]=$all; $i++; } //die(var_export($all_data)); $xoopsTpl->assign('all_data' , $all_data); } //從資料庫刪除 function del_ebook($ebook_sn=""){ global $xoopsDB; $tbl=$xoopsDB->prefix('tad_ebook'); $sql="delete from `{$tbl}` where ebook_sn='{$ebook_sn}'"; $xoopsDB->queryF($sql) or die(mysql_error()); } //更新資料庫 function update_ebook($ebook_sn=""){ global $xoopsDB; //安全判斷 if(!$GLOBALS['xoopsSecurity']->check()){ //錯誤訊息 $error=implode("<br />" , $GLOBALS['xoopsSecurity']->getErrors()); //轉向到首頁 redirect_header($_SERVER['PHP_SELF'],3, $error); } $myts =& MyTextSanitizer::getInstance(); $ebook_title=$myts->addSlashes($_POST['ebook_title']); $ebook_post_date=$myts->addSlashes($_POST['ebook_post_date']); $ebook_publish_date=$myts->addSlashes($_POST['ebook_publish_date']); $ebook_content=$myts->addSlashes($_POST['ebook_content']); $tbl=$xoopsDB->prefix('tad_ebook'); $sql=" update `{$tbl}` set `ebook_title`='{$ebook_title}' , `ebook_post_date`='{$ebook_post_date}' , `ebook_publish_date`='{$ebook_publish_date}', `ebook_content`='{$ebook_content}' where ebook_sn='{$ebook_sn}'"; $xoopsDB->queryF($sql) or die(mysql_error()); } /*-----------執行動作判斷區----------*/ $op=empty($_REQUEST['op'])?"":$_REQUEST['op']; $ebook_sn=isset($_REQUEST['ebook_sn'])?intval($_REQUEST['ebook_sn']):""; switch($op){ case "insert_ebook": insert_ebook(); header("location:{$_SERVER['PHP_SELF']}"); exit; break; case "del_ebook": del_ebook($ebook_sn); header("location:{$_SERVER['PHP_SELF']}"); exit; break; case "update_ebook": update_ebook($ebook_sn); header("location:{$_SERVER['PHP_SELF']}"); exit; break; case "edit_ebook": ebook_form($ebook_sn); break; default: ebook_form(); ebook_list(); break; } /*-----------引入檔案區--------------*/ include_once 'footer.php'; ?>