Toggle main menu visibility
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
:::
登入
登入
帳號
密碼
登入
重整畫面
:::
所有書籍
「[1071]XOOPS模組開發」目錄
MarkDown
7-2 templates/op_snews_list.tpl
1. XOOPS模組基礎架構
1-1 xoops_version.php
1-2 sql/mysql.sql
1-3 admin/menu.php
1-4 language/tchinese_utf8
1-5 admin/main.php
1-6 templates/snews_adm_main.tpl
1-7 admin/topic.php
1-8 templates/snews_adm_topic.tpl
2. 表單、資料庫、使用者物件
2-1 admin/main.php
2-2 templates/snews_adm_main.tpl
2-3 templates/op_snews_list.tpl
2-4 templates/op_snews_form.tpl
2-5 sql/mysql.php
2-6 xoops_version.php
2-7 function.php
3. 前台顯示、編輯、刪除
3-1 index.php
3-2 xoops_version.php
3-3 menu.php
3-4 header.php
3-5 templates/snews_index.tpl
3-6 templates/op_snews_show.tpl
3-7 templates/op_snews_list.tpl
3-8 admin/main.php
4. 首頁精選文章輪播
4-1 admin/main.php
4-2 index.php
4-3 templates/op_snews_show.tpl
4-4 templates/op_snews_list.tpl
5. 自動生成群組並做權限判斷
5-1 xoops_version.php
5-2 interface_menu.php
5-3 header.php
5-4 index.php
5-5 admin/main.php
5-6 include/onUpdate.php
5-7 include/onInstall.php
5-8 include/onUninstall.php
5-9 templates/op_snews_list.tpl
5-10 templates/op_snews_show.tpl
5-11 include/search.php
6. json應用與XOOPS區塊
6-1 xoops_version.php
6-2 language/tchinese_utf8/modinfo.php
6-3 index.php
6-4 html.php
6-5 templates/op_snews_show.tpl
6-6 function.php
6-7 blocks/snews_block_focus.php
6-8 blocks/snews_block_focus.tpl
6-9 css/module.css
6-10 interface_menu.php
6-11 language/tchinese_utf8/blocks.php
6-12 templates/op_snews_list.tpl
6-13 function_block.php
7. 產生PDF及拉動排序
7-1 templates/snews_index.tpl
7-2 templates/op_snews_list.tpl
7-3 index.php
7-4 css/module.css
7-5 templates/op_snews_show.tpl
7-6 pdf.php
7-7 interface_menu.php
7-8 pdf_all.php
8. Excel匯出匯入及點擊編輯
8-1 interface_menu.php
8-2 focus.php
8-3 function.php
8-4 templates/op_snews_focus.tpl
8-5 save_sort.php
8-6 excel.php
8-7 excel2.php
8-8 import.php
8-9 templates/op_import_form.tpl
9. 產生word檔、壓縮及解壓
9-1 index.php
9-2 templates/op_snews_show.tpl
9-3 save.php
9-4 interface_menu.php
9-5 word.php
9-6 zip.php
9-7 templates/op_zip_import.tpl
7-4 css/module.css
\[1071\]XOOPS模組開發 ================= ``` prefix('snews'); $sql = "SELECT * FROM `$tbl` WHERE `sn` = '{$sn}'"; $result = $xoopsDB->query($sql) or web_error($sql); $snews = $xoopsDB->fetchArray($result); $snews['content'] = $myts->displayTarea($snews['content'], 1, 0, 0, 0, 0); $snews['title'] = $myts->htmlSpecialChars($snews['title']); $snews['username'] = $myts->htmlSpecialChars($snews['username']); $TadUpFiles->set_col('sn', $sn); $snews['cover'] = $TadUpFiles->show_files('pic', false); $TadUpFiles->set_col('snews', $sn); $snews['files'] = $TadUpFiles->show_files(); // die(var_dump($snews)); $xoopsTpl->assign('snews', $snews); if (!file_exists(XOOPS_ROOT_PATH . "/modules/tadtools/sweet_alert.php")) { redirect_header("index.php", 3, _MA_NEED_TADTOOLS); } include_once XOOPS_ROOT_PATH . "/modules/tadtools/sweet_alert.php"; $sweet_alert = new sweet_alert(); $sweet_alert->render("snews_del", "index.php?op=snews_delete&sn=", 'sn'); if (power_chk("", "1")) { $xoopsTpl->assign('snews_post', true); } if (power_chk("", "2")) { $xoopsTpl->assign('snews_delete', true); } } //顯示列表 function snews_list() { global $xoopsTpl, $xoopsDB, $TadUpFiles, $xoopsModuleConfig; $myts = MyTextSanitizer::getInstance(); $tbl = $xoopsDB->prefix('snews'); $sql = "SELECT * FROM `$tbl` ORDER BY `update_time` DESC"; //getPageBar($原sql語法, 每頁顯示幾筆資料, 最多顯示幾個頁數選項); $PageBar = getPageBar($sql, $xoopsModuleConfig['show_num'], 10); $bar = $PageBar['bar']; $sql = $PageBar['sql']; $total = $PageBar['total']; $result = $xoopsDB->query($sql) or web_error($sql); $all = array(); while ($snews = $xoopsDB->fetchArray($result)) { $snews['content'] = $myts->displayTarea($snews['content'], 1, 0, 0, 0, 0); $snews['title'] = $myts->htmlSpecialChars($snews['title']); $snews['username'] = $myts->htmlSpecialChars($snews['username']); $TadUpFiles->set_col('sn', $snews['sn']); $snews['cover'] = $TadUpFiles->get_pic_file('thumb'); $content = str_replace(array("\n", "\r"), '', strip_tags($snews['content'])); $snews['summary'] = word_cut($content, 60); $all[] = $snews; } $xoopsTpl->assign('all', $all); $xoopsTpl->assign('bar', $bar); $xoopsTpl->assign('total', $total); } //顯示精選文章 function snews_focus() { global $xoopsTpl, $xoopsDB, $TadUpFiles; $json = file_get_contents(XOOPS_URL . "/uploads/snews/focus.json"); // $json = file_get_contents("http://stu.tncomu.tn.edu.tw/~cie/uploads/snews/focus.json"); $all_focus = json_decode($json, true); $xoopsTpl->assign('all_focus', $all_focus); } //刪除內容 function snews_delete($sn) { global $xoopsTpl, $xoopsDB, $TadUpFiles; if (!power_chk('snews', 2)) { redirect_header('index.php', 3, '無操作權限'); } $tbl = $xoopsDB->prefix('snews'); $sql = "DELETE FROM `$tbl` WHERE `sn` = '{$sn}'"; $xoopsDB->queryF($sql) or web_error($sql); $TadUpFiles->set_col('sn', $sn); $TadUpFiles->del_files(); $TadUpFiles->set_col('snews', $sn); $TadUpFiles->del_files(); } //新增文章的表單 function snews_form($sn) { global $xoopsTpl, $xoopsUser, $TadUpFiles, $xoopsDB; if (!power_chk('snews', 1)) { redirect_header('index.php', 3, '無操作權限'); } $snews = array(); if ($sn) { $tbl = $xoopsDB->prefix('snews'); $sql = "SELECT * FROM `$tbl` WHERE `sn` = '{$sn}'"; $result = $xoopsDB->query($sql) or web_error($sql); $snews = $xoopsDB->fetchArray($result); } include_once XOOPS_ROOT_PATH . "/class/xoopsformloader.php"; //建立表單 $form = new XoopsThemeForm('編輯文章', 'myForm', 'index.php', 'post', true); //建立類別選項 $select = new XoopsFormRadio('類別或主題', 'topic_sn', $snews['topic_sn']); $options['1'] = '街巷故事'; $options['2'] = '市井觀點'; $options['3'] = '私房知識塾'; $select->addOptionArray($options); $form->addElement($select); //建立標題欄位 $form->addElement(new XoopsFormText('文章標題', 'title', 60, 100, $snews['title']), true); //所見即所得編輯器 include_once XOOPS_ROOT_PATH . "/modules/tadtools/ck.php"; $ck = new CKEditor("snews", "content", $snews['content']); $ck->setHeight(250); $editor = $ck->render(); $form->addElement(new XoopsFormLabel('文章內容', $editor)); //精選(是否選單) $form->addElement(new XoopsFormRadioYN('精選', 'focus', $snews['focus'])); //作者輸入框 $username = ($sn) ? $snews['username'] : $xoopsUser->name(); $form->addElement(new XoopsFormText('作者', 'username', 60, 100, $username)); //上傳表單 $form->setExtra("enctype='multipart/form-data'"); $TadUpFiles->set_col('sn', $sn); $upform = $TadUpFiles->upform(true, 'pic', null, true, '.jpg,.png'); $form->addElement(new XoopsFormLabel('封面圖', $upform)); //上傳附檔表單 $TadUpFiles->set_col('snews', $sn); $upform = $TadUpFiles->upform(true, 'snews'); $form->addElement(new XoopsFormLabel('附檔', $upform)); //使用者編號 if ($sn) { $uid = $_SESSION['snewsAdmin'] ? $snews['uid'] : $xoopsUser->uid(); } else { $uid = $xoopsUser->uid(); } $form->addElement(new XoopsFormHidden('uid', $uid)); //下個動作 if ($sn) { $form->addElement(new XoopsFormHidden('op', 'snews_update')); $form->addElement(new XoopsFormHidden('sn', $sn)); } else { $form->addElement(new XoopsFormHidden('op', 'snews_insert')); } //儲存按鈕 $form->addElement(new XoopsFormButton('', '', '儲存', 'submit')); //產生程式碼 $snews_form = $form->render(); //將表單送到樣板 $xoopsTpl->assign('snews_form', $snews_form); } function snews_insert() { global $xoopsDB, $TadUpFiles; if (!power_chk('snews', 1)) { redirect_header('index.php', 3, '無操作權限'); } //安全判斷 if (!$GLOBALS['xoopsSecurity']->check()) { $error = implode("
", $GLOBALS['xoopsSecurity']->getErrors()); throw new Exception($error); } $myts = MyTextSanitizer::getInstance(); foreach ($_POST as $key => $value) { $$key = $myts->addSlashes($value); } $tbl = $xoopsDB->prefix('snews'); $sql = "insert into `$tbl` (`focus`, `topic_sn`, `sort`, `title`, `content`, `username`, `create_time`, `update_time`, `uid`) values('{$focus}', '{$topic_sn}', '{$sort}', '{$title}', '{$content}', '{$username}', now(), now(), '{$uid}')"; $xoopsDB->query($sql) or web_error($sql); $sn = $xoopsDB->getInsertId(); //取得最後新增的編號 $TadUpFiles->set_col('sn', $sn); $TadUpFiles->upload_file('pic', 1920, 640, null, $title, true, false, null, 'png;jpg'); $TadUpFiles->set_col('snews', $sn); $TadUpFiles->upload_file('snews', 1920, 640, null, null, true); mk_html($sn); mk_json(); return $sn; } function snews_update($sn) { global $xoopsDB, $TadUpFiles; if (!power_chk('snews', 1)) { redirect_header('index.php', 3, '無操作權限'); } //安全判斷 if (!$GLOBALS['xoopsSecurity']->check()) { $error = implode("
", $GLOBALS['xoopsSecurity']->getErrors()); throw new Exception($error); } $myts = MyTextSanitizer::getInstance(); foreach ($_POST as $key => $value) { $$key = $myts->addSlashes($value); } $tbl = $xoopsDB->prefix('snews'); $sql = "update `$tbl` set `focus`='{$focus}', `topic_sn`='{$topic_sn}', `title`='{$title}', `content`='{$content}', `username`='{$username}',`update_time`= now(), `uid`='{$uid}' where `sn`='{$sn}'"; $xoopsDB->queryF($sql) or web_error($sql); $TadUpFiles->set_col('sn', $sn); $TadUpFiles->upload_file('pic', 1920, 640, null, $title, true, false, null, 'png;jpg'); $TadUpFiles->set_col('snews', $sn); $TadUpFiles->upload_file('snews', 1920, 640, null, null, true); mk_html($sn); mk_json(); return $sn; } /*-----------執行動作判斷區----------*/ include_once $GLOBALS['xoops']->path('/modules/system/include/functions.php'); $op = system_CleanVars($_REQUEST, 'op', '', 'string'); $sn = system_CleanVars($_REQUEST, 'sn', 0, 'int'); switch ($op) { case "snews_form": snews_form($sn); break; case "snews_insert": $sn = snews_insert(); header("location: index.php?sn={$sn}"); exit; case "snews_update": snews_update($sn); header("location: index.php?sn={$sn}"); exit; //下載檔案 case "tufdl": $files_sn = isset($_GET['files_sn']) ? intval($_GET['files_sn']) : ""; $TadUpFiles->add_file_counter($files_sn, false, true); exit; case "snews_delete": snews_delete($sn); header("location: index.php"); exit; case "mk_json": mk_json(); header("location: index.php"); exit; default: if ($sn) { snews_show($sn); $op = "snews_show"; } else { snews_list(); snews_focus(); $op = "snews_list"; } break; } /*-----------秀出結果區--------------*/ $xoopsTpl->assign('op', $op); $xoopsTpl->assign("toolbar", toolbar_bootstrap($interface_menu)); include_once XOOPS_ROOT_PATH . '/footer.php'; ```
:::
搜尋
search
進階搜尋
QR Code 區塊
快速登入
所有討論區
「PHP全端開發」線上課程討論區
XOOPS使用討論區
一般研習學員
社大學員專用
路過哈啦區
XOOPS佈景設計
XOOPS模組開發
Tad書籍區
即時留言簿
書籍目錄
展開
|
闔起
線上使用者
89
人線上 (
24
人在瀏覽
線上書籍
)
會員: 0
訪客: 89
更多…