:::
所有書籍
「1041 XOOPS模組開發」目錄
MarkDown
3-2 temaplates/tad_ebook_adm_main.html
1. XOOPS的開發環境
1-1 xoops_version.php
1-2 languages/tchinese_utf8/modinfo.php
1-3 images/logo.png
1-4 tad_ebook 資料表
1-5 tad_ebook_page 資料表
2. 後台頁面與表單物件
2-1 sql/mysql.sql
2-2 xoops_version.php
2-3 admin/menu.php
2-4 language/tchinese_utf8/modinfo.php
2-5 templates/tad_ebook_adm_main.html
2-6 admin/main.php
3. 樣板與管理功能
3-1 admin/main.php
3-2 temaplates/tad_ebook_adm_main.html
4. 前台頁面與HTML表單
4-1 admin/main.php
4-2 /templates/tad_ebook_adm_main.html
4-3 /interface_menu.php
4-4 /post.php
4-5 /templates/tad_ebook_post.html
4-6 /xoops_version.php
5. 前台顯示及各種控管
5-1 /post.php
5-2 /templates/tad_ebook_post.html
5-3 /index.php
5-4 /templates/tad_ebook_index.html
5-5 /xoops_version.php
6. XOOPS群組與權限
6-1 /admin/menu.php
6-2 /admin/groupperm.php
6-3 /modules/system/admin/groupperm.php
6-4 /interface_menu.php
6-5 /xoops_version.php
6-6 /function.php
6-7 /verify.php
6-8 /templates/tad_ebook_verify.html
6-9 /post.php
6-10 /templates/tad_ebook_post.html
7. 搜尋、語系、偏好設定、自動功能
7-1 /templates/tad_ebook_post.html
7-2 /xoops_version.php
7-3 /include/search.php
7-4 /admin/main.php
7-5 /language/tchinese_utf8/admin.php
7-6 /templates/tad_ebook_adm_main.html
7-7 /language/tchinese_utf8/modinfo.php
7-8 /post.php
7-9 /include/onUpdate.php
7-10 /include/onInstall.php
7-11 /sql/mysql.sql
7-12 /include/onUninstall.php
7-13 /index.php
8. 上傳、區塊與BootStrapS3
8-1 /xoops_version.php
8-2 /sql/mysql.sql
8-3 /include/onUpdate.php
8-4 /admin/main.php
8-5 /templates/tad_ebook_adm_main.html
8-6 /blocks/tad_ebook_list.php
8-7 /templates/blocks/tad_ebook_list.html
8-8 /index.php
8-9 /templates/tad_ebook_index.html
9. 評論與通知功能
9-1 /xoops_version.php
9-2 /index.php
9-3 /templates/tad_ebook_index.html
9-4 /comment_new.php
9-5 /include/notification.inc.php
9-6 /admin/main.php
9-7 /language/tchinese_utf8/mail_template/new_ebook.tpl
9-8 Uniform Server的信件設定
9-9 /templates/tad_ebook_index_b3.html
9-10 /templates/tad_ebook_verify_b3.html
9-11 bootstrap2與bootstrap3水平表單結構
9-12 /templates/tad_ebook_post_b3.html
9-13 /templates/tad_ebook_adm_main_b3.html
4-1 admin/main.php
1041 XOOPS模組開發 ============== [](http://www.tad0616.net/uploads/tad_book3/file/1041/4.pdf) ### 一、 寫入時的文字過濾(盡量能存) 1. 存入時,若有特殊符號,如:「\\」、「"」、「'」,若沒有處理,那麼可能無法存入。 ``` <pre class="brush:php;"> $myts =& MyTextSanitizer::getInstance(); ``` 2. 替特殊符號加入脫逸斜線,以順利存入資料庫中。若PHP的magic\_quotes\_gpc設定為on,那麼是不會再加上斜線的。 ``` <pre class="brush:php;"> $myts->addSlashes(文字); ``` 3. 用來過濾不雅字元,需搭配XOOPS後台的「偏好設定→系統設定→敏感字詞檢查」設定來使用。 ``` <pre class="brush:php;"> $myts->censorString(文字); ``` ### 二、 讀出文章的文字過濾(過濾危險) 1. 目的:過濾一些可能會危害網站的語法。 2. 呈現大量文字: ``` <pre class="brush:php;"> $myts->displayTarea($text, $html=0, $smiley=1, $xcode=1, $image=1, $br=1); ``` - (1) 「$text」就是要被處理之後呈現的文字。 - (2) 「$html」是否允許使用HTML語法,用所見即所得編輯器製作出來的請填1。 - (3) 「$smiley」是否轉換表情圖,預設為1,會將:) 這類的符號轉換為圖片。 - (4) 「$xcode」是否使用BBCode,如:\[color=red\]文字\[/color\]。 - (5) 「$image」是否允許在文字中使用圖片。若為0,圖片會以連結來顯示。 - (6) 「$br」是否要將「\\n」換行符轉換為<br />,用所見即所得編輯器者請設為0。 3. 呈現一般文字: ``` <pre class="brush:php;"> $myts->htmlSpecialChars($text, $quote_style=ENT_QUOTES, $charset= 'ISO-8859-1', $double_encode=true); ``` - (1) 「$text」就是要被處理之後呈現的文字。 - (2) 「$quote\_style」要處理的引號模式,「ENT\_COMPAT」僅處理雙引號;「ENT\_QUOTES」處理雙引號和單引號(預設);「ENT\_NOQUOTES」不對任何引號進行處理。 - (3) 「$charset」轉換的預設編碼,通常使用預設值即可。 - (4) 「$double\_encode」只有PHP 5.2.3之後才有效。若設為false,則不對現有的HTML實體做編碼的動作。 ### 三、 interface\_menu.php 前台選單設定 1. $isAdmin 會判斷目前登入者是否對此模組有管理權限。 2. 每一組選項格式(記得實際生出對應檔案): ``` <pre class="brush:php;"> //點選後欲連結的檔案 $interface_menu[選項名稱]="index.php"; //Font Awesome 圖示 $interface_icon[選項名稱]="fa-chevron-right"; ``` 3. <http://fortawesome.github.io/Font-Awesome/icons/> ### 四、 前台基本結構(新增投稿頁面post.php) 1. 前台頁面基本格式(可複製index.php): ``` <pre class="brush:php;"> <?php include_once "header.php"; $xoopsOption['template_main'] = set_bootstrap("bootstrap2樣板檔.html"); include_once XOOPS_ROOT_PATH."/header.php"; /***** 略 *****/ include_once XOOPS_ROOT_PATH.'/footer.php'; ?> ``` 2. header.php是一個自製檔案(非XOOPS規範),會引入網站主設定檔mainfile.php 、自製的選單檔interface\_menu.php、自製共同函數檔function.php 3. 自製共同函數檔function.php中又會引入tadtools工具箱的tad\_function.php 4. set\_bootstrap("bootstrap2樣板檔.html"); 用來自動判別需載入bootstrap2或bootstrap3,此檔案放在tadtools工具箱的tad\_function.php中。 5. bootstrap3樣板檔,只要在bootstrap2樣板檔名加上「\_b3」即可。 6. 記得實際生出樣板檔,並修改xoops\_version.php後更新模組以讀取新設定。 ### 五、 套用工具列到樣板上 1. 在php檔尾前加入以下語法: ``` <pre class="brush:php;"> $xoopsTpl->assign( "toolbar" , toolbar_bootstrap($interface_menu)) ; include_once XOOPS_ROOT_PATH.'/footer.php'; ``` 2. toolbar\_bootstrap($interface\_menu) 會將選單設定做成bootstrap選單 3. 在樣板檔中加上該標籤語法即可:<{$toolbar}> ### 六、 $xoopsUser 使用者物件(可用來判斷有無登入) 1. 幾個常用的$xoopsUser物件方法: - (1) $xoopsUser->uid():1 //使用者編號 - (2) $xoopsUser->name():吳大頭 //真實姓名 - (3) $xoopsUser->uname():tad //登入帳號 - (4) $xoopsUser->email():tad0616@gmail.com //Email - (5) $xoopsUser->url():http://localhost/x25/ //個人網站 - (6) $xoopsUser->user\_avatar():avatars/cavt50877193c9788.png //頭像 2. 避免沒登入產生錯誤:$uid=($xoopsUser)?$xoopsUser->uid():0; 3. 以uid取得使用者名稱 ``` <pre class="brush:php;"> $uid_name=XoopsUser::getUnameFromId($uid,1); if(empty($uid_name))$uid_name=XoopsUser::getUnameFromId($uid,0); ``` ### 七、 自製表單(HTML表單) 1. 文字框:<input type="text" name="名稱" value="預設值" size="大小"> 2. 隱藏框:<input type="hidden" name="名稱" value="預設值"> 3. 上傳框:<input type="file" name="名稱" size="大小"> 4. 送出鈕:<input type="submit" value="按鈕文字"> 5. 單選框:<input type="radio" name="名稱" value="值 1">選項文字 1 - (1) 單選框通常會有好幾個選項,一組選項就要一組<input>,name 都要一樣才行! - (2) 若要預設選取,要加上 checked="checked" - (3) 可以用<label for="id">選項</label>,以便點選文字就可以勾選該項目。 6. 複選框:<input type="checkbox" name="名稱\[\]" value="值 1">選項文字 1 - (1) 複選框通常同時會有好幾個選項,一組選項就要一組<input> - (2) name 都要一樣才行!而且因為是複選,所以 name 要加上\[\],如此會送出陣列。 - (3) 若要預設選取,要加上 checked="checked" 7. 下拉選單:<select name="名稱" size=1>選項</select> - (1) 選項:<option value="值">選項文字</option> - a. 一組選項,就是一組<option> - b. 若要預設選取:要在<option>中加入 selected="selected" - (2) 若希望下拉選單可以複選,除了 name 要加上\[\]外,還要加上 multiple 屬性。 8. 大量文字框:<textarea name="名稱" cols="欄寬" rows="列高">預設值</textarea> 9. 可套用BootStrap來美化表單 <https://kkbruce.tw/bs2/BaseCSS#forms> ### 八、自己測試一下 輸入以下的內容到您的表單中,若是有跳出訊息或是看到影片,那就表示您的安全做得不夠好。 ``` <pre class="brush: xhtml;" title="code"> <script>alert('我要入侵了')</script> ``` ``` <pre class="brush: xhtml;" title="code"> <iframe width="420" height="315" src="http://www.youtube.com/embed/DC766xWLldM" frameborder="0" allowfullscreen></iframe> ``` ### 九、所見即所得編輯器 ``` <pre class="brush:php;"> 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("模組名稱","欄位名稱",$預設值); $fck->setHeight(350); $editor=$fck->render(); ```
:::
搜尋
search
進階搜尋
QR Code 區塊
快速登入
所有討論區
「PHP全端開發」線上課程討論區
XOOPS使用討論區
一般研習學員
社大學員專用
路過哈啦區
XOOPS佈景設計
XOOPS模組開發
Tad書籍區
即時留言簿
書籍目錄
總目錄
1.XOOPS的開發環境
1-1xoops_version.php
1-2languages/tchinese_utf8/modinfo.php
1-3images/logo.png
1-4tad_ebook 資料表
1-5tad_ebook_page 資料表
2.後台頁面與表單物件
2-1sql/mysql.sql
2-2xoops_version.php
2-3admin/menu.php
2-4language/tchinese_utf8/modinfo.php
2-5templates/tad_ebook_adm_main.html
2-6admin/main.php
3.樣板與管理功能
3-1admin/main.php
3-2temaplates/tad_ebook_adm_main.html
4.前台頁面與HTML表單
4-1admin/main.php
4-2/templates/tad_ebook_adm_main.html
4-3/interface_menu.php
4-4/post.php
4-5/templates/tad_ebook_post.html
4-6/xoops_version.php
5.前台顯示及各種控管
5-1/post.php
5-2/templates/tad_ebook_post.html
5-3/index.php
5-4/templates/tad_ebook_index.html
5-5/xoops_version.php
6.XOOPS群組與權限
6-1/admin/menu.php
6-2/admin/groupperm.php
6-3/modules/system/admin/groupperm.php
6-4/interface_menu.php
6-5/xoops_version.php
6-6/function.php
6-7/verify.php
6-8/templates/tad_ebook_verify.html
6-9/post.php
6-10/templates/tad_ebook_post.html
7.搜尋、語系、偏好設定、自動功能
7-1/templates/tad_ebook_post.html
7-2/xoops_version.php
7-3/include/search.php
7-4/admin/main.php
7-5/language/tchinese_utf8/admin.php
7-6/templates/tad_ebook_adm_main.html
7-7/language/tchinese_utf8/modinfo.php
7-8/post.php
7-9/include/onUpdate.php
7-10/include/onInstall.php
7-11/sql/mysql.sql
7-12/include/onUninstall.php
7-13/index.php
8.上傳、區塊與BootStrapS3
8-1/xoops_version.php
8-2/sql/mysql.sql
8-3/include/onUpdate.php
8-4/admin/main.php
8-5/templates/tad_ebook_adm_main.html
8-6/blocks/tad_ebook_list.php
8-7/templates/blocks/tad_ebook_list.html
8-8/index.php
8-9/templates/tad_ebook_index.html
9.評論與通知功能
9-1/xoops_version.php
9-2/index.php
9-3/templates/tad_ebook_index.html
9-4/comment_new.php
9-5/include/notification.inc.php
9-6/admin/main.php
9-7/language/tchinese_utf8/mail_template/new_ebook.tpl
9-8Uniform Server的信件設定
9-9/templates/tad_ebook_index_b3.html
9-10/templates/tad_ebook_verify_b3.html
9-11bootstrap2與bootstrap3水平表單結構
9-12/templates/tad_ebook_post_b3.html
9-13/templates/tad_ebook_adm_main_b3.html
展開
|
闔起
線上使用者
36
人線上 (
10
人在瀏覽
線上書籍
)
會員: 0
訪客: 36
更多…
:::
主選單
NTPC OpenID
活動報名
模組控制台
進階區塊管理
站長工具箱(急救版)
網站地圖
Tad Tools 工具包
站長工具箱
行事曆
討論留言
嵌入區塊模組
快速登入
網站計數器
好站連結
最新消息
檔案下載
線上書籍
電子相簿
影音播放
常見問題
萬用表單
友站消息
社大學員
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
登入
登入
帳號
密碼
登入