discuz函数dgmdate】的更多相关文章

function dgmdate($timestamp, $format = 'dt', $timeoffset = '9999', $uformat = '') { global $_G; $format == 'u' && !$_G['setting']['dateconvert'] && $format = 'dt'; static $dformat, $tformat, $dtformat, $offset, $lang; if($dformat === null)…
使用过Discuz!的朋友都会知道Discuz!的时间可以显示成多少秒前.多少分钟前.几个小时前.几天前等等,而不是单纯的显示标准时间,这样的时间显示方式就更显得人性化了!   那么Discuz!是如何处理这个个性化时间显示的呢,我们来看看Discuz!时间处理函数dgmdate()   定义文件: \source\function\function_core.php 相关代码: /** * 格式化时间 * @param $timestamp - 时间戳 * @param $format - d…
public static function writelog($file, $log) { global $_G; $yearmonth = dgmdate(TIMESTAMP, 'Ym', $_G['setting']['timeoffset']); $logdir = DISCUZ_ROOT.'./data/log/'; $logfile = $logdir.$yearmonth.'_'.$file.'.php'; if(@filesize($logfile) > 2048000) { /…
public static function quote($str, $noarray = false) { if (is_string($str)) return '\'' . addcslashes($str, "\n\r\\'\"\032") . '\''; if (is_int($str) or is_float($str)) return '\'' . $str . '\''; if (is_array($str)) { if($noarray === false)…
Discuz函数中最经典的函数是authcode函数,因为supesite,UCenterHome,UCenter,Discuz X都使用了这个函数进行加密啊传输串与cookie 今天为大家带来authcode的详解,如果写的不好,请大家拍砖. /* * * 函数作用:通过一个固定的密钥,对一个字符串进行加密解密,加密后的字符串是随机的 * 参数解析:$string是被加密的字符串,$operation是操作类型('ENCODE'是加密,'DECODE'是解密操作),$key是加密时用的密钥,$…
XSS攻击在最近很是流行,往往在某段代码里一不小心就会被人放上XSS攻击的代码,看到国外有人写上了函数,咱也偷偷懒,悄悄的贴上来... 原文如下: The goal of this function is to be a generic function that can be used to parse almost any input and render it XSS safe. For more information on actual XSS attacks, check out h…
showsetting()表单显示 返回值:无 参数: $setname - 指定输出标题,如:setting_basic_bbname, 自动匹配描述文字为:setting_basic_bbname_comment,comment形式文字可以在./source/language/lang_admincp.php语言包中添加 $varname - 指定表单的name值,如settingnew[bbname] $value - 指定表单默认值\变量 $type - 表单样式 radio单选 tex…
最近在做一个discuz的插件,由于需要程序自动生成并调用discuz已经存在插件的帖子.然而这就相当于自动发帖的功能了.网上找了一下,大部分都是通过curl模拟登陆,模拟发帖的,这显然不满足我的要求.如果采用这种方式既笨重又麻烦.百度了一通,没发现好的结果.于是google了一番,最后找到一个类似的方法.经过一番整理,于是有了下面这个函数. discuz帖子模块用到的表: 帖子表:pre_forum_post 帖子表pid最大值设置表:pre_forum_post_tableid 帖子列表表:…
/** * 系统错误处理 * @param <type> $message 错误信息 * @param <type> $show 是否显示信息 * @param <type> $save 是否存入日志 * @param <type> $halt 是否中断访问 */ function system_error($message, $show = true, $save = true, $halt = true) { ...... } /** * 更新 sess…
目录 showsetting()表单显示 cpmsg()提示消息 showformheader()创建表单头 showformfooter()创建表单尾 showtableheader()创建表格头 showtablefooter()创建表格尾 showtablerow()创建列表式页面的行 showsubmit()创建提交按钮 showhiddenfields()创建隐藏表单域 showsubmenu()二级导航栏显示 shownav()面包屑导航栏显示及二级导航栏标题 showsetting…
接触Discuz有一段时间了,一直很喜欢这个论坛程序,确实是一个很不错的程序,灰常值得我们去学习,这里介绍它其中的一个加密函数(含解密)这个加密函数的特点在于,比普通的加密函数多了一个随机密钥 ,可以令密文无任何规律,即便是原文和密钥完全相同,加密结果也会每次不同,增大破解难度.同时还有一个时限功能 ,可以让加密后的字符串只能在规定时间内有效,过了时间,即使知道密钥,也无法还原出原来的字符串. //$string 需要加密的字符串//$operation 执行动作,即加密或解密,加密是ENCOD…
1.前言 康盛的 authcode 函数很牛叉,是一个具有有效期的加解密函数,同一个字符每次加密所产生的结果都是不一致的,并且可以自定义设置过期时间. 设计原理:authcode 是使用异或运算进行加密和解密. 加密 明文:1010 1001 密匙:1110 0011 密文:0100 1010 得出密文0100 1010,解密之需和密匙异或下就可以了 解密 密文:0100 1010 密匙:1110 0011 明文:1010 1001 并没有什么高深的算法,密匙重要性很高,所以,关键在于怎么生成密…
dz采用的是多入口的方式,在每个入口函数你能看到引用,启动核心类的语句(其余省略),如下: require './source/class/class_core.php'; C::app()->init(); 我们进入class_core.php看看,这是dz项目的启动类 a)首先做的自定义异常处理,自定义错误处理,自定义自动装载函数. set_exception_handler(array('core', 'handleException')); //自定义异常处理 //如果开启debug,则…
class discuz_core { // 数据库存储引擎 var $db = null; // 内存缓冲object var $mem = null; // 会话 object var $session = null; // 程序配置 var $config = array(); // $_G 数组的映射 var $var = array(); // 加载缓存的数组 var $cachelist = array(); // 是否初始化 var $init_setting = true; va…
在研究邮箱非必填的过程中发现了个比较好用的random函数,在function_core.php中找到声明: function random($length, $numeric = 0) { $seed = base_convert(md5(microtime().$_SERVER['DOCUMENT_ROOT']), 16, $numeric ? 10 : 35); $seed = $numeric ? (str_replace('0', '', $seed).'012340567890')…
前几天在增加修改功能时,突然用到一个提示函数,有点不理解,看了他的由来后果断做下笔记,感觉这在以后的开发中肯定还是要用的上的.有些地方不是很理解,在以后慢慢纠正.查补. Htm页面中用的js跳转: $("#lyy_real").click(function(){ $.post("api/realnamechange.php", {uname:$("#uname").val(),uid:$("#uid").val(),realn…
定义文件:\source\function\function_editor.php函数定义: function html2bbcode($text) { $text = strip_tags($text, '<table><tr><td><b><strong><i><em><u><a><div><span><p><strike><blockquo…
函数相关文件 \source\function\function_core.php\source\function\function_message.php ## 函数解释 /** * 显示提示信息 * @param $message - 提示信息,可中文也可以是 lang_message.php 中的数组 key 值 * @param $url_forward - 提示后跳转的 url * @param $values - 提示信息中可替换的变量值 array(key => value ...…
开启php的fsockopen函数 —— 解决DZ论坛安装问题“该函数需要 php.ini 中 allow_url_fopen 选项开启.请联系空间商,确定开启了此项功能 在安装dz论坛时遇到因为fsockopen()函数问题无法进入下一步,安装错误显示“该函数需要 php.ini 中 allow_url_fopen 选项开启.请联系空间商,确定开启了此项功能”,经过分析,总结了3个解决这个问题的办法: 1.首先查看php是否有禁用相关函数 找到php.ini ,打开,查找“disable_fu…
function hookscript($script, $hscript, $type = 'funcs', $param = array(), $func = '', $scriptextra = '') { # 本函数是插件勾注的枋心函数. 对插件开发极为重要. 我们一一分析. # hookscript($script, $hscript, $type = 'funcs', $param = array(), $func = '', $scriptextra = '') # hookscr…
函数注释: // $string: 明文 或 密文 // $operation:DECODE表示解密,其它表示加密 // $key: 密匙 // $expiry:密文有效期 function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) { // 动态密匙长度,相同的明文会生成不同密文就是依靠动态密匙 $ckey_length = 4; // 密匙 $key = md5($key); // 密匙a会参与加解密 $…
function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) { $ckey_length = 4; $key = md5($key); $keya = md5(substr($key, 0, 16)); $keyb = md5(substr($key, 16, 16)); $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $…
<!--{if $_GET['zcdw']=="baxi"}--><!--{eval $duiwuxinxi = "巴西队";}--><!--{elseif $_GET['zcdw']=="deguo"}--><!--{eval $duiwuxinxi = "德国队";}--><!--{elseif $_GET['zcdw']=="agenting"}-…
function cutstr($string, $length, $dot = ' ...') { if(strlen($string) <= $length) { return $string; } $pre = chr(1); $end = chr(1); $string = str_replace(array('&', '"', '<', '>'), array($pre.'&'.$end, $pre.'"'.$end, $pre.'<'…
<?php /** *      [Discuz!] (C)2001-2099 Comsenz Inc. *      This is NOT a freeware, use is subject to license terms * *      $Id: discuz_application.php 34170 2013-10-28 02:58:29Z nemohou $ */ if(!defined('IN_DISCUZ')) { exit('Access Denied'); } clas…
... <?php /** * [Discuz!] (C)2001-2099 Comsenz Inc. * This is NOT a freeware, use is subject to license terms * * $Id: function_core.php 28890 2012-03-19 02:05:42Z liudongdong $ */ if(!defined('IN_DISCUZ')) { exit('Access Denied'); } //通用函数集合 define(…
Discuz! X 模板的解析主要是 ./source/class/class_template.php 文件解析处理的,如果需要深入了解请可以看看这个文件! 模板嵌套语法 将被嵌套模板内容解析为 PHP 语句并合并入本模板中的写法<!--{subtemplate common/header}-->common/header 对应某个模板套系中的 common 目录的 header.html 模板文件 程序运行时include嵌套模板内容<!--{template common/head…
适用所有用UC整合 阿里云提示漏洞: discuz中的/api/uc.php存在代码写入漏洞,导致黑客可写入恶意代码获取uckey,.......... 漏洞名称:Discuz uc.key泄露导致代码注入漏洞 补丁文件:/api/uc.php 补丁来源:云盾自研 解决方法:找到文件/api/uc.php​ 中的以下代码: $configfile = substr($configfile, -) == , -) : $configfile; 大概216行,替换成以下: $configfile =…
第一步,进入discuz后台,点击UCenter菜单,然后点击应用管理,接着点击右侧的添加新应用按钮 然后填写应用相关信息: 1.应用类型选择“其他” 2.应该名称填写“phpcms” //此处可以自己定义名称 3.应用的主URL填 http://你的域名/phpsso_server //我的是http://localhost/hi0556/phpsso_server 4.通讯密钥现在不填写,保存的时候会自动生成,后面会用到此密钥 5.是否开启同步登录选择“是” 6.是否接受通知选择“是” 接着…