discuz常用函数
函数
表单相关
submitcheck('submit') //验证提交,元素name值为submit
diconv($res['title'],'UTF-8',CHARSET); //编码转换函数
cpmsg('提示信息','跳转路径','装态、succeed');
global $_G;
loadcache('forums');//获取所有版块信息
showmessage('提示信息'); //前台提示函数
cpmsg('提示信息,'跳转url','succeed'); //后台提示函数
读取缓存
loadcache($key);
$_G['cache'][$key]
设置缓存
savecache($key,$val);
加解密
authcode(str,'ENCODE') //加密
authcode(str,'DECODE') //解密
获取所有用户组信息
loadcache('usergroups');
$usergroups = $_G['cache']['usergroups'];常量相关
ADMINSCRIPT //由于后台文件允许用户自行改名,插件中应当使用 ADMINSCRIPT 常量代替 admin.php
FORMHASH //用于表单验证
IN_ADMINCP //后台文件必须加的
CHARSET //编码
{STATICURL} //静态文件目录表单相关
submitcheck('submit') //验证提交,元素name值为submit大G
$_G[siteurl] 获得当前站点的 URL $extcredits = $_G['setting']['extcredits']; //积分类型
调用论坛版块API
<?php
require './source/class/class_core.php';
$discuz = C::app();
$discuz->init();
// 获取所有版块
$forums = DB::fetch_all('SELECT fid, name, description FROM pre_forum_forum');
foreach ($forums as $forum) {
echo "版块ID: " . $forum['fid'] . " - 名称: " . $forum['name'] . " - 描述: " . $forum['description'] . "<br>";
}
?>调用语言包
// 模版中调用模板文件语言包,通过 {lang identifier:english} 方式调用。
// 程序脚本中调用脚本文件语言包,通过 lang('plugin/identifier', 'english') 方式调用。
// 安装脚本中调用安装脚本文件语言包,通过 $installlang 变量直接获取。如 $installlang['english']。注意事项
不要使用 ./ 绝对路径,论坛可能安装在二级目录时会报错
数组不要使用 [] 中刮号,不支持php5.4及以下版本
嵌入点不要返回false,会导至同一嵌入点的插件异常
函数文件命名用xxx.func.php
不是php文件不要用.php后辍
请使用 $_GET[xxx] 或 $_COOKIE[xxx] 代替已废弃的 $_G[gp_xxx] 和 getgpc() 获取 GET/POST/COOKIE 变量数据
1.logo 背景 未渐变色 又要图层图标 40 * 40 png 。
2.凡后台 *.inc.php 需加 ADMIN_CP 判断, 前台非 api 文件需加 IS_DISCUZ 判断
3.凡后台模板上传 需严格验证 php端 也许严格验证。
4.凡模板输出 用户提交参数 需做 htmlspecialchars 处理。
5.控制器中凡用户提交的数据 需做 addslashes 处理。
6.凡是 数据 POST 提交 数据库 删除 修改 增加 需做 formhash 判断,前台ajax 也需要。
7.前台微信端 调用模板放在 调用的模板是template/touch/,template/mobile/ 下.
8.后台 jQuery 全局 变量 需要做处理。
9.数据库 表需加前缀 pre_,默认无编码类型。
原样输入变量字符串
{eval} echo "{$index}"; {/eval}