亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? plugins_design.htm

?? 論壇軟件系統亦稱電子公告板(BBS)系統
?? HTM
?? 第 1 頁 / 共 2 頁
字號:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Discuz! 用戶使用說明書 - 插件相關</title><link rel="stylesheet" href="discuz_guide.css">
<base target="_blank">
</head>

<body leftmargin="0" rightmargin="0" topmargin="0">
<script language="JavaScript" src="header.js"></script>

<table width="100%" cellpadding="0" cellspacing="0" border="0">

<tr><td class="title">本欄目下相關鏈接</td></tr>
<tr><td><br><ul><script language="JavaScript" src="plugins.js"></script></ul><br></td></tr>

<tr><td class="title">插件設計</td></tr>
<tr><td><br>
<p>您在開始論壇插件的設計之前,有必要了解一下我們所推薦的插件設計方式,更好的規范性和兼容性,將使得您設計的插件受到更多使用者的歡迎,對于程序員而言,也有助于形成良好的編碼習慣,實現自身能力的提升。如果您有意編寫 Discuz! 論壇插件,請按照先后順序仔細閱讀本文檔。

<br><br><br></td></tr><tr><td class="title">準備工作</td></tr>
<tr><td><br>

<p class="subtitle">插件實現流程<ul>
<p>開始編寫論壇插件,您應當首先對插件實現的流程有一個大致的了解,以下是我們推薦的插件編寫流程:
<p><ul>
<li>熟練使用 Discuz! 論壇系統后,對希望完善或補充的個性化功能進行評估,進而提出插件的功能需求。
<li>對插件做一個概括性的設計,例如:需要使用什么菜單、什么參數,配置哪些選項、數據結構如何設計、前后臺實現哪些功能等等。
<li>閱讀本文檔并在系統設置中實際體驗 Discuz! 插件接口所實現的功用,例如:您的插件應當如何設計才能良好的掛接到論壇系統中來。插件接口能夠實現哪些功能、不能實現哪些功能,插件為此而需要做的優化、改造和取舍。
<li>編寫相應程序代碼和模板語句,實現所需的功能并進行代碼測試、兼容性測試和代碼改進。
<li>如果需要公開您的插件,可以用插件導出的方式,將插件配置信息導出到一個文本文件中,連同相應的程序和模板文件一同打包。同時,編寫一個適合新手的插件的說明書也是必不可少的,其中包括:插件適用的 Discuz! 版本、功能概述、兼容性聲明、安裝方法、使用方法、卸載方法等等。
<li>將插件提供給他人,或自己使用,根據使用者反饋,對插件進行完善。插件實現流程至此結束。
</ul>

</ul><p class="subtitle">文件命名規范<ul>
<p>Discuz! 按照如下的規范對程序和模板進行命名,請在設計插件時盡量遵循此命名規范:
<p><ul>
<li>可以直接通過瀏覽器訪問的普通程序文件,以 .php 后綴命名。
<li>被普通程序文件引用的程序文件,以 .inc.php 后綴命名。
<li>被普通程序文件,或引用程序文件引用的函數庫或類庫,以 .func.php(函數庫) 或 .class.php(類庫) 后綴命名。
<li>模板文件,以 .htm 后綴命名,模板文件只存在于 ./templates 目錄中。
<li>模板語言包文件,以 .lang.php 后綴命名,語言包文件只存放于 ./templates 目錄中,與模板文件同級目錄。
<li>被編譯后的模板文件,以 .tpl.php 后綴命名,前面的數字是模板套系的 ID,下劃線后面的是模板原名,編譯模板文件只存在于 ./forumdata/templates 目錄中。
<li>動態緩存文件,存放于 ./forumdata/cache 目錄中,依據不同的功用進行獨立的命名。
<li>使用后臺數據備份功能生成的備份文件,通常以 .sql 為后綴,存放于 ./forumdata/ 目錄中。
<li>有些目錄中存在內容為空白的 index.htm 文件,此類文件是為了避免 Web 服務器打開 Directory Index 時可能產生的安全問題。

</ul></ul><p class="subtitle">common.inc.php 模塊功能白皮書<ul>

<p>./include/common.inc.php 是 Discuz! 的通用初始化模塊程序,其幾乎被所有的外部代碼所引用,在您開始插件設計之前,可以先對該模塊的大致功能做一定的了解。common.inc.php 主要完成了以下任務:
<p><ul>
<li>對不同 PHP 及操作系統環境做了判斷和兼容性處理,使得 Discuz! 可以運行于各種不同配置的服務器環境下。
<li>初始化常量 IN_DISCUZ 為 TRUE,用于 include 或 require 后續程序的判斷,避免其他程序被非法引用。
<li>讀取論壇所在絕對路徑,存放于常量 DISCUZ_ROOT 中。
<li>加載所需的基本函數庫 include/global.func.php。
<li>通過 config.inc.php 中提供的數據庫賬號信息,建立數據庫連接。Discuz!支持數據表的前綴,如需獲得表的全名,可使用”{$tablepre}tablename”
或 $tablepre.’tablename’的方式。
<li>判斷用戶是否登錄,如登錄標記 $discuz_uid 為非 0,同時將 $discuz_user(加了 slash 的用戶名,可用于不加修改的插入數據庫)、
$discuz_userss(原始的用戶名,可用于頁面顯示)、$discuz_pw(用戶密碼的MD5串)、$discuz_secques(登錄提示問題的加密串)等相應用戶信息賦值。
<li>判斷用戶管理權限,將管理權限標記 $adminid 為 -1~3 中間的值。-1 代表為特殊用戶組用戶。0 代表普通用戶;1 代表論壇管理員;2 代表超級版主;3 代表論壇版主。
將用戶權限按照其所在的主用戶組 ID 標記為 $groupid,相關權限從該 $groupid 所對應的系統緩存中讀出(./forumdata/cache/usergroup_$groupid.php)。
將用戶擴展權限按照其擴展用戶組 ID 標記為 $extgroupids,中間以 \t(tab) 分隔,格式為“$groupid1\t$groupid2...”,擴展用戶組用于確定用戶的擴展瀏覽權限,例如能否訪問某些有特殊權限設定的論壇等。
<li>讀入系統設置中的各種變量,并根據 Cache 模塊的設定,根據當前被調用的程序文件名(如 index.php,forumdisplay.php 等等)讀入
相應的緩存代碼。緩存代碼被存放于 ./forumdata/cache/ 中。除了對應當前程序的緩存,可能還會加載一些通用的緩存數據,例如整個論壇
的設置(./forumdata/cache/cache_settings.php)、界面風格(./forumdata/cache/style_x.php)、當前用戶的用戶組(./forumdata/cache/usergroup_x.php)、
管理組權限(./forumdata/cache/adminusergroup_x.php)等。
<li>緩存數據的格式,大多是存放在 $_DCACHE['cachename'] 數組中,有些常用的參數,如系統設置中的參數、風格界面等,通常還被進行了
展開操作(extract)或使用常量進行賦值。
<li>用戶如果處在登錄狀態,會自動讀出 members 表相關用戶的參數值,用戶的個性設置參數:如時差、時間格式、界面風格等等,會根據實際
情況覆蓋系統默認值,因此在后續程序通常不用再做判斷。
<li>如果程序提交的 URL 中包含 tid=x 或 fid=x,common.inc.php 模塊會自動讀出其所對應的論壇記錄及包括 access masks、版主設定等相應
權限,記錄在 $forum 變量中。后續程序只要通過URL將tid或fid傳遞過來,便可通過 $forum 數組的存在性或相關參數來對論壇權限進行判斷,
不需要再讀 forums 表的資料。
</ul>

<br><br></td></tr><tr><td class="title">插件接口概述</td></tr>
<tr><td><br>

<p>使用管理員賬號登錄 Discuz! 系統設置,在左側菜單將可以看到“插件設置”和“插件管理”兩個選項,使用超級版主或版主賬號登錄,將只出現“插件設置”一個選項。“插件管理”是控制插件打開與否、設計插件模塊、菜單、參數和使用權限的地方,插件開發者可以依照設計意圖,在此進行插件的初步設置,這里同時也提供插件導入和插件開關的功能,用于導入他人設計的插件和對插件的可用狀態進行變更。“插件設置”是對已經安裝的插件進行設置的地方,供使用者對插件參數進行調整以實現不同的插件功能。即前者主要面向開發者,后者主要面向使用者。

<p>開始編寫一個新插件,請首先在插件管理中,輸入新插件的名稱和惟一標識符。名稱用于表明此插件的用途,例如設置為“虛擬銀行插件”。惟一標識符用于在后續的插件模塊中調用本插件,不可與現有插件重復,命名規則限制與 PHP 變量命名相同,雖然初次設置后仍可改動,但強烈建議一次性將此配置設置好,否則可能涉及到很多代碼方面的變更,增加編碼的麻煩。請注意:惟一標識符請不要設置的過短,或使用有可能與其他插件重復的命名,例如制作此插件的公司叫做 Comsenz Inc.,插件名稱是“虛擬銀行插件”,惟一標識符可設置為“comsenz_virtual_bank”,后面將以“虛擬銀行插件”和“comsenz_virtual_bank”為例進行說明。

<p>在插件管理中添加插件后,僅僅是增加了一條插件記錄,后面還需要很多相關的設計和設置。在列表中選擇插件的“詳情”進入插件的詳細設置。插件設置分為三個部分:
<ul>
<p><li><b>插件基本設置:</b><br>設置插件的基本參數,配置項目右邊括號中的內容,為此設置對應的參數名稱,調用方法將在后面的《參數讀取與緩存控制》中詳細說明。
<p><li><b>插件模塊和自定義菜單:</b><br>插件接口默認提供四種可選的模塊方式:<ul>
<li>直接鏈接(前臺菜單):可在前臺右上角加入一個菜單項,可自主指派菜單鏈接的 URL。注意:由于引用外部程序,因此即便設置了模塊的使用等級,您的程序如需權限判斷,仍需要引用 common.inc.php 和插件相關的緩存文件(將在后面的《參數讀取與緩存控制》中詳細說明),并自行判斷使用等級是否合法。
<li>前臺調用(前臺菜單):與直接鏈接類似,但其調用的是插件的一個模塊,模塊文件名指派為“./plugins/插件目錄/插件模塊名.inc.php”,由 plugin.php 調用此模塊,調用 URL 將在后面的《編寫插件的原則與注意事項》中詳細說明。
<li>后臺調用(后臺菜單):可在后臺插件設置中為此插件增添一個管理模塊,模塊文件名指派為“./plugins/插件目錄/插件模塊名.inc.php”,由 admincp.php 調用此模塊,調用 URL 將在后面的《編寫插件的原則與注意事項》中詳細說明。
<li>包含運行(無菜單):可設置一個在論壇所有頁面均包含運行的腳本,此腳本在 ./include/common.inc.php 中加載,腳本文件名指派為“./plugins/插件目錄/插件模塊名.inc.php”。請注意,為了不導致錯誤的插件影響論壇運行,在 common.inc.php 加載此模塊時,屏蔽了錯誤信息,因此請務必仔細檢查是否存在語法錯誤,任何微小的語法錯誤都將不被提示出來,并且導致此模塊不被正常加載。如果您配置了不正確的包含腳本而導致論壇系統設置無法使用,刪除服務器上相應的腳本文件即可解決。
</ul>
您可以為每個模塊設置不同的使用等級,例如設置為“超級版主”,則超級版主及更高的管理者(例如論壇管理員)可以使用此模塊。
<p><li><b>插件鉤子設置:</b><br>插件鉤子能夠將插件代碼埋藏在程序中的任意位置,從而實現更加靈活的插件功能,最大限度的減少對原有程序代碼的修改。 論壇版本升級后,只需將相應鉤子重新埋入相應程序中,原有插件即可繼續使用。 關于插件鉤子的具體設計方法請見下面的《插件鉤子的設計》。
<p><li><b>插件變量配置:</b><br>插件接口中提供了一個通用的插件配置管理程序,在大多數情況下可實現插件的參數配置,省卻了插件開發者自行編寫后臺管理模塊(即上面提到的“后臺調用(后臺菜單)”模塊)的麻煩。通常情況下,應優先使用通用插件配置管理程序來實現插件的參數配置,只有在通用程序確實無法實現時,才自行編寫后臺管理模塊。輸入配置名稱和配置變量名、選擇合適的配置類型后,即可為此插件增加一個配置變量,點“詳情”可以編輯此配置變量的更多信息。為了方便插件程序調用使用者配置好的參數,配置變量同樣被存放在了緩存文件中,讀取方法將在后面的《參數讀取與緩存控制》中詳細說明。

<p><b>注意:您只有在插件管理中將插件設置為“可用”,以上設置才能生效。</b>

</ul><br></td></tr><tr><td class="title">參數讀取與緩存控制</td></tr>
<tr><td><br>

<p>編寫插件程序時,可能需要讀取一些插件的信息,如果插件需要使用者進行配置,還需要讀取使用者設置的參數值。Discuz! 允許插件程序使用數據庫讀取和緩存讀取這兩種方法獲取插件信息和參數。Discuz! 的插件接口已經對插件信息進行了合理的緩存,使用緩存讀取的方式,將比數據庫讀取速度更快,消耗的資源更是幾乎可以忽略不計。緩存讀取唯一的局限是需要插件使用插件接口提供的通用后臺管理程序。如果使用自定義后臺模塊的方式,需要后臺模塊將參數存放到 pluginvars 數據表中,才能被系統正常緩存。我們強烈推薦您通過緩存讀取插件信息和配置數據。

<p class="subtitle">插件數據結構<ul>

<p>插件數據使用兩個數據表存放,分別是 plugins 和 pluginvars。前者用于存放插件信息:安裝了多少個插件,就有多少條記錄;后者用于存放插件的配置參數和配置值:所有已安裝的插件總共有多少個配置項目,就有多少條記錄。下面的表格列出了這兩個表的主要字段及其用途說明。

<p>plugins 表:
<table width="80%" cellpadding="0" cellspacing="0" border="0" class="code">
<tr><td><pre>

	pluginid		插件的惟一 ID,自動遞增
	available	插件是否可用,1=是,0=否
	adminid		使用系統設置中插件接口自帶的插件參數設置程序所需的最低權限等級要求,1=管理員,2=超級版主,3=版主
	name		插件名稱
	identifier	插件惟一標識符
	description	插件簡介
	datatables	插件數據表,不包含前綴,多個表使用半角逗號“,”分隔
	directory	插件所在目錄,例如設置為 comsenz_bank,則對應論壇目錄的位置為 ./plugins/comsenz_bank/
	copyright	插件版權信息
	modules		插件模塊信息,數組格式,使用 serialize() 序列化后存放
</pre></td></tr></table>

<p>pluginvars 表:
<table width="80%" cellpadding="0" cellspacing="0" border="0" class="code">
<tr><td><pre>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品福利一区二区三区蜜桃| 成人免费av资源| 国产精品久久久久国产精品日日| 91精品在线观看入口| 精品视频免费在线| 欧美亚洲综合网| 在线欧美日韩精品| 欧美日韩精品欧美日韩精品一| 91福利视频网站| 欧美日韩一区小说| 69av一区二区三区| 日韩三级视频中文字幕| 精品国产一区二区三区四区四| 精品乱人伦小说| 久久日一线二线三线suv| 国产午夜亚洲精品不卡| 国产精品视频在线看| 亚洲人成亚洲人成在线观看图片 | 蜜桃精品视频在线| 麻豆成人久久精品二区三区红| 精品一二三四区| 国产揄拍国内精品对白| 福利一区在线观看| 在线精品视频免费播放| 91精品国产综合久久福利 | 国产精品888| 成人午夜电影久久影院| 91福利视频在线| 精品日韩av一区二区| 国产精品国产三级国产普通话三级 | 国产欧美视频一区二区| 亚洲视频免费看| 日产欧产美韩系列久久99| 国产一区二区三区不卡在线观看 | 亚洲人被黑人高潮完整版| 午夜一区二区三区视频| 国产一区二区三区四| 91在线观看下载| 91精品国产综合久久久久久久久久| 久久久久国产精品麻豆ai换脸 | 欧洲精品在线观看| 日韩一卡二卡三卡| 亚洲人一二三区| 精品影视av免费| 在线观看日韩国产| 久久精品一二三| 天天做天天摸天天爽国产一区 | 麻豆一区二区三| 91丨porny丨户外露出| 欧美电视剧在线看免费| 一区二区三区在线播放| 国产馆精品极品| 日韩一卡二卡三卡四卡| 亚洲一区电影777| 成人妖精视频yjsp地址| 91精品国产麻豆| 亚洲一区二区不卡免费| av男人天堂一区| 久久久久久久久一| 久久国产免费看| 777午夜精品视频在线播放| 亚洲三级电影全部在线观看高清| 国产福利91精品一区| 欧美一级视频精品观看| 调教+趴+乳夹+国产+精品| 欧洲色大大久久| 亚洲一区二区精品视频| 91高清视频免费看| 亚洲最大成人综合| 色综合网站在线| 亚洲柠檬福利资源导航| 91色在线porny| 中国色在线观看另类| 国产成人精品亚洲777人妖| 欧美日韩国产一区二区三区地区| 18欧美亚洲精品| www.视频一区| 欧美精品一区二区三区视频| 午夜亚洲福利老司机| 欧美伊人久久久久久久久影院| 亚洲精品视频一区二区| 91丝袜国产在线播放| 成人免费在线观看入口| www.欧美色图| 18欧美亚洲精品| 91天堂素人约啪| 一区二区三区久久久| 欧美在线播放高清精品| 午夜精品久久久久影视| 欧美剧在线免费观看网站| 亚洲第一在线综合网站| 欧美日本在线播放| 久久国产福利国产秒拍| 国产欧美日韩另类一区| 不卡一区在线观看| 亚洲精品国产高清久久伦理二区| 色婷婷精品久久二区二区蜜臂av| 亚洲主播在线播放| 91精品国产综合久久久久久| 国产综合色在线| 中文文精品字幕一区二区| 99久久国产综合精品麻豆| 亚洲制服欧美中文字幕中文字幕| 欧美日本韩国一区二区三区视频| 玖玖九九国产精品| 国产欧美一区二区在线观看| 色吧成人激情小说| 日本不卡一区二区三区高清视频| 欧美videossexotv100| 成人永久aaa| 亚洲电影在线播放| 亚洲精品一区二区三区福利| 成人av网站免费观看| 亚洲国产精品久久久久秋霞影院| 欧美一级高清片在线观看| 丁香六月综合激情| 亚洲成av人片在线| 国产午夜精品一区二区三区嫩草| 色综合久久中文字幕| 久久精品国产亚洲高清剧情介绍 | 欧美性猛交xxxx乱大交退制版 | 日本一区二区三区高清不卡| 欧美在线观看18| 国产一区二区视频在线| 亚洲高清视频在线| 中文欧美字幕免费| 日韩欧美在线1卡| 色综合天天综合给合国产| 精品一区二区三区在线观看国产| 综合婷婷亚洲小说| 久久先锋资源网| 欧美三级电影一区| www.欧美色图| 国产精品一区二区x88av| 午夜精品一区二区三区三上悠亚 | 欧美亚洲动漫精品| 国产精品白丝av| 蜜桃av噜噜一区| 亚洲成人免费视频| 亚洲精品中文在线影院| 欧美国产禁国产网站cc| 精品久久一区二区三区| 欧美区一区二区三区| 色综合久久久久久久久久久| 极品美女销魂一区二区三区| 日日摸夜夜添夜夜添精品视频| 亚洲色图欧洲色图婷婷| 久久丝袜美腿综合| 久久久青草青青国产亚洲免观| 6080午夜不卡| 欧美美女视频在线观看| 欧美性极品少妇| 91黄色免费版| 在线观看亚洲a| 91麻豆成人久久精品二区三区| 成人黄色在线网站| 成人免费视频视频在线观看免费| 国产乱码精品1区2区3区| 国内精品写真在线观看| 国产精品系列在线播放| 国产成人免费视频精品含羞草妖精| 麻豆国产精品一区二区三区| 久久精品国产99国产精品| 久久se精品一区精品二区| 裸体健美xxxx欧美裸体表演| 青娱乐精品视频在线| 另类小说欧美激情| 国产一区二区伦理| 岛国精品一区二区| 91麻豆免费看片| 欧美艳星brazzers| 日韩午夜精品视频| 久久品道一品道久久精品| 久久久噜噜噜久噜久久综合| 亚洲国产精品t66y| 亚洲精品一二三区| 丝袜美腿亚洲色图| 国内精品写真在线观看| 国产不卡免费视频| 色婷婷精品大视频在线蜜桃视频| 欧美探花视频资源| 精品国一区二区三区| 国产精品久久久久影院| 亚洲日本一区二区三区| 天天色 色综合| 国产美女一区二区三区| 91麻豆精品一区二区三区| 91精品福利在线一区二区三区 | 亚洲另类色综合网站| 日韩中文字幕91| 国产传媒久久文化传媒| 日本电影欧美片| 精品国产乱码久久久久久1区2区| 中文字幕制服丝袜一区二区三区| 亚洲国产一区视频| 国产一区二区调教| 欧美午夜精品久久久久久孕妇 | 懂色av一区二区三区免费观看| 99riav一区二区三区| 日韩视频一区二区三区|