PHP开发

Discuz 3.4顶部格子广告显示列数修改

背景 一直以来都特别鄙视Discuz,Wordpress这种结构混乱的项目。平心而论,十多年前的代码,功能强大,运行稳定自然是没得说的。但是代码质量就不敢恭维了。所以一直以来都不愿意去碰这类项目,然而,人生不如意十之八九,偏偏就有这类项目飞脸上来。有钱不赚非君子,干吧 问题描述 为discuz安装插件,添加了顶部格子广告位。广告位默认一行显示5张广告图,然而客户要求一行3张。 解决方法 位置:source/class/adv/adv_text.php 这段代码,把两个5都改成3即可 $advcount = count($adids); if($advcount > 5) { $minfillpercent = 0; for($cols = 5; $cols >= 3; $cols--) { if(($remainder = $advcount % $cols) == 0) { $advcols = $cols; break; } elseif($remainder / $cols > $minfillpercent) { $minfillpercent = $remainder / $cols; $advcols...

Discuz x3.4是如何求密码hash的

首先说密码是如何生成的,废话不多说,直接上实验代码 <?php function discuz_password_hash($password, $salt){ return md5(md5($password) . $salt); } $salt = "anysalt"; $password = "123456789"; $hash = discuz_password_hash($password, $salt); echo $hash; salt从哪里来? 数据表: UCCENTER member数据表,username password,salt都在那里

安装RandomArticleList插件无法启用

错误信息: Path '/action/plugins-edit' not found Typecho_Router_Exception: Path '/action/plugins-edit' not found in /...../var/Typecho/Router.php:155 Stack trace: #0 /...../index.php(25): Typecho_Router::dispatch() #1 {main} 没找到插件,看下插件代码吧。 看起来只有这个插件文件名不一样,其他插件都叫做Plugin.php,这个插件叫做RandomArticleList.php。 改文件名,RandomArticleList.php -> Plugin.php。再次运行 还在报错,不过错误内容不一样了。 无法启用插件 Typecho_Widget_Exception: 无法启用插件 in /...../var/Widget/Plugins/Edit.php:98 Stack trace: #0 /...../var/Widget/Plugins/Edit.php(308): Widget_Plugins_Edit->activate('RandomArticleLi...') #1 /...../var/Widget/Do.php(82): Widget...

安装Stat插件无法激活

错误提示:“数据表检测失败,统计插件启用失败” 解决过程: 打开插件源代码看了下, class Stat_Plugin implements Typecho_Plugin_Interface{ } // 来看看这个接口的定义 /** * 插件接口 * * @package Plugin * @abstract */ interface Typecho_Plugin_Interface { /** * 启用插件方法,如果启用失败,直接抛出异常 */ public static function activate(); /** * 禁用插件方法,如果禁用失败,直接抛出异常 */ public static function deactivate(); /** * 获取插件配置面板 */ public static function config(Typecho_Widget_Helper_Form $form); /** * 个人用户的配置面板 */ public static function personalConfig(Typecho_Widget_Helper_Form $form); } 这样看很明显了,启用插...