XOOPS 模組開發
<?php
/*
main.php 是模組後台的主要內容頁面(入口)。
但並不一定要叫做 main.php ,您愛命名為什麼都行,只要 menu.php 設定好就好。
*/
/*------------------ 檔頭(引入檔案) ------------------*/
//使用樣板檔
$xoopsOption['template_main'] = "school_news_adm_main.html";
//引入XOOPS前台檔案檔頭(必要)
include 'header.php';
//引入共同檔案設定檔(必要)
include_once "../function.php"; //引入自訂的共同函數檔
/*------------------ 流程判斷(告訴程式現在要做什麼) -----------------*/
//$op 為XOOPS常用之動作變數,用來告知程式欲執行之動作
$op=isset($_REQUEST['op'])?$_REQUEST['op']:"";
//判斷目前動作該執行哪一個
switch($op){
//當 $op 的值等於「動作1」時,欲執行的動作
case "save_news":
save_news();
break;
//預設動作
default:
news_form();
break;
}
/*------------------ 所有函數(實際執行動作) ------------------*/
//存新聞
function save_news(){
global $xoopsDB ,$xoopsUser;
//利用$xoopsUser使用者物件抓取登入者的使用者編號
$uid=$xoopsUser->uid();
//將資料表套用前置字串
$table=$xoopsDB->prefix('school_news');
//產生SQL寫入語法
$sql="insert into `{$table}` (`title`, `content`, `unit`, `uid`, `post_date`) values('{$_POST['title']}' , '{$_POST['content']}' , '{$_POST['unit']}' , '{$uid}' , now() )";
//將SQL語法送到資料庫,執行失敗會秀出訊息
$xoopsDB->query($sql) or die(mysql_error());
//儲存成功後轉向並秀出訊息
redirect_header('main.php', 3, "發布成功!");
}
//新聞編輯表單
function news_form(){
global $xoopsTpl;
//引入 XOOPS 表單物件檔
include_once(XOOPS_ROOT_PATH."/class/xoopsformloader.php");
//產生一個表單
$form = new XoopsThemeForm('新聞編輯表單', 'name', 'main.php', 'post', 1 , '新聞編輯表單');
//把文字框元件加入表單中
$form->addElement(new XoopsFormText('新聞標題', 'title', 60 , 255 , $title) , 1);
//把大量文字框元件加入表單中
$form->addElement(new XoopsFormTextArea ("新聞內容", "content", $content, 5, 50));
//建立一個下拉選單元件
$select = new XoopsFormSelect ("所屬單位", "unit", $unit,1);
//建立多個選項
$options["教導處"]="教導處";
$options["總務處"]="總務處";
//加入多個選項到下拉選單元件
$select->addOptionArray($options);
//把下拉選單元件加入表單中
$form->addElement($select , 1);
//建立一個隱藏元件
$form->addElement(new XoopsFormHidden ("op", "save_news"));
//建立一個送出按鈕
$form->addElement(new XoopsFormButton ("", "", "送出", "submit"));
//將表單轉換成為網頁語法
$f=$form->render();
//將往頁語法送到樣板檔來呈現
$xoopsTpl->assign("newsform",$f);
}
/*------------------ 檔尾(輸出內容到樣板) ------------------*/
include "footer.php"; //XOOPS檔尾
?>