discuz添加新页面

栏目: discuz 发布于: 2014-01-20 17:56:01

一直以来对discuz都是停留在使用上,没有真正的对discuz进行二次开发,在工作中也就对discuz进行一些简单功能的修改,自己认为算不上是什么二次开发。

下午运营那边需要对论坛帖子进行修改发布时间,因为discuz默认修改帖子是不更新发布时间的,所有就简单制作一个页面来满足需求。

下面就简单介绍一下discuz添加页面的方法:

1、在根目录添加photo.php文件,代码如下

<?php
/**
 * 修改【图说天下】版本帖子发布时间
 * Created by PhpStorm.
 * User: sumiaowen
 * Date: 14-1-20
 * Time: 下午3:52
 * To change this template use File | Settings | File Templates.
 */
define('CURSCRIPT', 'photo');
require_once './source/class/class_core.php';
$discuz = & discuz_core::instance();
$discuz->init();
include template("diy:photo/modify");

include './photo/class_photo.php';
$photo = new photo();
$photo->updateDateline();
2、添加模板文件,./template/default/photo/modify.htm(相对根目录)
<!DOCTYPE html>
<html>
<head>
	<title>修改【图说天下】版本帖子发布时间</title>
	<meta charset="GBK">
</head>
<body>
<h2>【图说天下】版块帖子发布时间修改</h2>

<div style="margin-left: 20px;">
	<form action="photo.php" method="post">
		帖子ID:<input type="text" name="tid" value=""/>
		<input type="submit" name="submit" value="修改" style="cursor: pointer"/>
	</form>
	<p style="font-size: 13px;">注:</p>
	<p style="font-size: 13px;">1、只能修改【图说天下】版块下的帖子</p>
	<p style="font-size: 13px;">2、帖子修改时间默认为当前时间.</p>
</div>
</body>
</html>

注意:discuz静态文件的后缀名为htm

3、添加处理类,./photo/class_photo.php(相对根目录),代码如下:

<?php
/**
 * 修改【图说天下】版本帖子发布时间
 * Created by PhpStorm.
 * User: sumiaowen
 * Date: 14-1-20
 * Time: 下午4:30
 * To change this template use File | Settings | File Templates.
 */
if(!defined('IN_DISCUZ'))
{
	exit('Access Denied');
}

class photo
{
	public function updateDateline()
	{
		global $_G;

		if(isset($_POST['submit']))
		{
			//获取帖子tid
			$tid = (int)$_G['gp_tid'];

			//获取帖子信息
			$query = DB::query("select * from " . DB::table('forum_thread') . " where tid={$tid} and fid=393");

			$result = DB::fetch($query);

			//判断帖子存在
			if($result)
			{
				//更新帖子时间
				$ctime = $_SERVER['REQUEST_TIME'];

				$sql = "update com_forum_thread as t,com_forum_post as p
						set t.dateline={$ctime},p.dateline={$ctime}
						where t.tid={$tid} and p.tid={$tid} and p.`first`=1";

				if(DB::query($sql))
				{
					echo "<span style='color:blue;'>SUCCESS:</span>Successfully modified post {$tid}. New Times is " . date('Y-m-d H:i:s', $ctime);
				}
				else
				{
					echo "<span style='color:Red;'>ERROR:Failure modified. Please try again later.</span>";
				}
			}
			else
			{
				echo "<span style='color:Red;'>ERROR:The tid of {$tid}  is not existence!</span>";
			}
		}

	}
}
提示:这里没有对操作权限进行限制。为了安全,建议还是要添加操作权限控制。

通过上面3步就可以完成新页面添加了,我们可以通过URL:http://www.test.com/photo.php进行新页面访问了。

如果新页面是静态页面,那么第三步就没有必要了。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。
转载请注明:文章转载自 [http://www.php230.com]
本文标题:discuz添加新页面
IT技术书籍推荐:
利用Python进行数据分析
利用Python进行数据分析
麦金尼 (Wes McKinney) (作者), 唐学韬 (译者), 等 (译者)
《利用Python进行数据分析》内容简介:学习NumPy(NumericalPython)的基础和高级知识;从pandas库的数据分析工具开始利用高性能工具对数据进行加载、清理、转换、合并以及重塑;利用matpIotlib创建散点图以及静态或交互式的可视化结果;利用pandas的groupby功能对数据集进行切片、切块和汇总操作;处理各种各样的时间序列数据。
最新互联网资讯