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技术书籍推荐:
Java编程思想(第4版)
Java编程思想(第4版)
埃史尔 (作者), 陈昊鹏 (译者)
《Java编程思想(第4版)》书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、Iava’UO系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的绝佳教材和参考书。 从《Java编程思想(第4版)》一书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对c、c++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。
最新互联网资讯