首页 php教程 PHP源码 Discuz投票自动回复插件

Discuz投票自动回复插件

May 25, 2016 pm 05:08 PM

Discuz投票自动回复插件

<?php

if(!defined(&#39;IN_DISCUZ&#39;)) {
	exit(&#39;Access Denied&#39;);
}

$sql = <<<EOF

CREATE TABLE `c_reply_poll` (
	`tid` MEDIUMINT(8) UNSIGNED NULL DEFAULT &#39;0&#39;,
	`dateline` INT(11) NOT NULL DEFAULT &#39;0&#39;
)
COMMENT=&#39;投票自动生成回贴&#39;
COLLATE=&#39;utf8_general_ci&#39;
ENGINE=InnoDB;

EOF;

runquery($sql);

$finish = TRUE;
?>
登录后复制

2. [文件] uninstall.php

<?php
/**
 *      [Discuz!] (C)2001-2099 Comsenz Inc.
 *      This is NOT a freeware, use is subject to license terms
 *
 *      $Id: uninstall.php 25889 2011-11-24 09:52:20Z monkey $
 */

if(!defined(&#39;IN_DISCUZ&#39;)) {
	exit(&#39;Access Denied&#39;);
}

$sql = <<<EOF
DROP TABLE IF EXISTS `c_reply_poll`;
EOF;

runquery($sql);

$finish = TRUE;
?>
登录后复制

3. [文件] replypoll.class.php

<?php
/**
 * 投票自动生成回贴插件
 * 
 * TODO:回贴格式可以在后台自定义
 * 在post_newthread.php文件向c_reply_poll表记录用户选择自动回复功能
 * @Author Ricky Feng
 */
require_once libfile(&#39;function/forum&#39;);

if(!defined(&#39;IN_DISCUZ&#39;)) {
	exit(&#39;Access Denied&#39;);
}

class plugin_replypoll {
	protected $cookie_key = &#39;replypoll_plugin_autoreply&#39;;
	 
	function common(){
		global $_G;
			
		if ($_GET[&#39;action&#39;] == &#39;newthread&#39; && $_GET[&#39;topicsubmit&#39;] && $_GET[&#39;autoreply&#39;]) {
			dsetcookie($this->cookie_key ,1);
		}
		
		if ($_GET[&#39;action&#39;] == &#39;votepoll&#39; && $_GET[&#39;pollsubmit&#39;] && isset($_GET[&#39;fid&#39;]) && $_GET[&#39;tid&#39;]) {

			$_GET[&#39;fid&#39;] = intval($_GET[&#39;fid&#39;]);
			$_GET[&#39;tid&#39;] = intval($_GET[&#39;tid&#39;]);
			
			if (! $result = DB::result_first("SELECT COUNT(*) FROM c_reply_poll WHERE tid = " .$_GET[&#39;tid&#39;]) ) {
				return;
			}
			
			$arr = C::t(&#39;forum_polloption&#39;)->fetch_all_by_tid($_GET[&#39;tid&#39;]);
			$polloption = array();
			foreach($arr as $k=>$v) {
				$polloption[$v[&#39;polloptionid&#39;]]  = $v;
			}
			
			$message = &#39;我选择了{ &#39;;
			foreach ($_POST[&#39;pollanswers&#39;] as $key => $val) {
				$message .= $polloption[$val][&#39;polloption&#39;] . &#39;,&#39;;
			}
			$message = trim($message,",") . &#39; }&#39;;
			
			$data = array(
					&#39;fid&#39; => $_GET[&#39;fid&#39;],
					&#39;tid&#39; => $_GET[&#39;tid&#39;],
					&#39;first&#39; => &#39;0&#39;,
					&#39;author&#39; => $_G[&#39;username&#39;],
					&#39;authorid&#39; => $_G[&#39;uid&#39;],
					&#39;dateline&#39; => time(),
					&#39;message&#39; => $message,
					&#39;invisible&#39; => 0,
					&#39;anonymous&#39; => 0,
					&#39;usesig&#39; => 0,
					&#39;htmlon&#39; => 0,
					&#39;bbcodeoff&#39; => &#39;-1&#39;,
					&#39;smileyoff&#39; => 0,
					&#39;parseurloff&#39; => 0,
					&#39;attachment&#39; => &#39;0&#39;,
					&#39;replycredit&#39; => 0,
					&#39;status&#39; => 0,
					&#39;postid&#39; => 0
			);
			insertpost($data);
			C::t(&#39;forum_forum&#39;)->update_forum_counter($_GET[&#39;fid&#39;], 0, 1, 0);		
		}
	}
}

class plugin_replypoll_forum extends plugin_replypoll {
	
	function post_poll_extra_output() {
		$html .= &#39;<p class="mbn">&#39;;
		$html .= &#39;<input type="checkbox" tabindex="1" value="1" class="pc" id="overt" name="autoreply">&#39;;
		$html .= &#39;<label for="overt"> 投票结果自动生成回贴</label>&#39;;
		$html .= &#39;</p>&#39;;
		return $html;
	}	
	
	function viewthread_poll_top_output() {
		if ($autoreply = getcookie($this->cookie_key) && isset($_GET[&#39;tid&#39;])) {
			$tid = intval($_GET[&#39;tid&#39;]);
			DB::query("INSERT INTO c_reply_poll VALUE($tid, UNIX_TIMESTAMP())");
		}
		dsetcookie($this->cookie_key , null, -1);				
	}
}
?>
登录后复制

4. [文件] discuz_plugin_replypoll.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
	<item id="Title"><![CDATA[Discuz! Plugin]]></item>
	<item id="Version"><![CDATA[X2.5]]></item>
	<item id="Time"><![CDATA[2013-01-21 10:04]]></item>
	<item id="From"><![CDATA[39(http://xxx.net/)]]></item>
	<item id="Data">
		<item id="plugin">
			<item id="available"><![CDATA[1]]></item>
			<item id="adminid"><![CDATA[0]]></item>
			<item id="name"><![CDATA[replypoll]]></item>
			<item id="identifier"><![CDATA[replypoll]]></item>
			<item id="description"><![CDATA[]]></item>
			<item id="datatables"><![CDATA[]]></item>
			<item id="directory"><![CDATA[replypoll/]]></item>
			<item id="copyright"><![CDATA[xx]]></item>
			<item id="version"><![CDATA[ver 1.0]]></item>
			<item id="__modules">
				<item id="0">
					<item id="name"><![CDATA[replypoll]]></item>
					<item id="menu"><![CDATA[]]></item>
					<item id="url"><![CDATA[]]></item>
					<item id="type"><![CDATA[11]]></item>
					<item id="adminid"><![CDATA[0]]></item>
					<item id="displayorder"><![CDATA[0]]></item>
					<item id="navtitle"><![CDATA[]]></item>
					<item id="navicon"><![CDATA[]]></item>
					<item id="navsubname"><![CDATA[]]></item>
					<item id="navsuburl"><![CDATA[]]></item>
				</item>
			</item>
		</item>
		<item id="version"><![CDATA[X2.5]]></item>
		<item id="installfile"><![CDATA[install.php]]></item>
		<item id="uninstallfile"><![CDATA[uninstall.php]]></item>					
	</item>
</root>
登录后复制

5. [图片] QQ拼音截图未命名.jpg

1209.jpg

以上就是Discuz投票自动回复插件的内容,更多相关内容请关注PHP中文网(www.php.cn)!


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Discuz后台登录问题解决方法大揭秘 Discuz后台登录问题解决方法大揭秘 Mar 03, 2024 am 08:57 AM

Discuz后台登录问题解决方法大揭秘,需要具体代码示例随着互联网的快速发展,网站建设变得越来越普遍,而Discuz作为一款常用的论坛建站系统,受到了许多站长的青睐。然而,正是因为其功能强大,有时候我们在使用Discuz的过程中会遇到一些问题,比如后台登录问题。今天,我们就来大揭秘Discuz后台登录问题的解决方法,并且提供具体的代码示例,希望能帮助到有需要

闲鱼怎么设置自动回复 设置自动回复方法 闲鱼怎么设置自动回复 设置自动回复方法 Mar 13, 2024 am 10:50 AM

  闲鱼能够轻松的满足所有人的使用,大家都可以在这里购买需要的商品,也能够在这里售卖自己的闲置物品,轻松的赚回钱来,非常的划算,有需要的小伙伴们,都可以使用起来,将自己已经不需要的闲置物品都卖掉,既可以腾出空间来,还可以拿到钱,自由的设置价格,别人可以直接的购买,有时价格不满意又想要的话,也会找你谈价格,或者了解更加详细的商品信息,这时候我们没有回复的话,就有可能会失去一个客户,所以我们可以设置一些自动回复,这样可以有效的帮助大家在一些时候留住客户,非常有用,小编在这里为你们提供设置自动回复的方

Discuz注册流程详解:让您轻松修改个人信息 Discuz注册流程详解:让您轻松修改个人信息 Mar 13, 2024 pm 12:21 PM

《Discuz注册流程详解:让您轻松修改个人信息,需要具体代码示例》Discuz是一款功能强大的社区论坛程序,被广泛应用于各类网站,在用户注册和个人信息修改方面,提供了丰富的功能和接口。本文将为您详细介绍Discuz的注册流程,并提供具体的代码示例,帮助您轻松定制和修改个人信息。一、用户注册流程在Discuz中,用户注册是站点的重要功能之一,注册流程的顺畅与

QQ自动回复怎么设置?QQ自动回复设置步骤 QQ自动回复怎么设置?QQ自动回复设置步骤 Mar 15, 2024 pm 03:13 PM

QQ是一款广受欢迎的社交软件,它不仅支持文字、语音、视频等多种交流方式,还具备丰富的个性化设置功能。其中,自动回复功能就是一项非常实用的设置,它可以在你忙碌或无法及时回复消息时,自动为好友发送预设的回复内容,避免了因未能及时回复而带来的尴尬。这样,当你忙碌或暂时离开时,QQ就会自动为好友发送预设的回复,让你在享受社交乐趣的同时,也能轻松应对各种场景。QQ自动回复怎么设置?QQ自动回复设置步骤1、解锁手机,开启QQ应用,在首页消息页面,轻轻点击左上角的【状态】图标,或者长按自己的【头像】,即刻进入

什么是Discuz?Discuz的定义和功能介绍 什么是Discuz?Discuz的定义和功能介绍 Mar 03, 2024 am 10:33 AM

《探索Discuz:定义、功能及代码示例》随着互联网的迅猛发展,社区论坛已经成为人们获取信息、交流观点的重要平台。在众多的社区论坛系统中,Discuz作为国内较为知名的一种开源论坛软件,备受广大网站开发者和管理员的青睐。那么,什么是Discuz?它又有哪些功能,能为我们的网站提供怎样的帮助呢?本文将对Discuz进行详细介绍,并附上具体的代码示例,帮助读者更

Discuz用户必备!改名道具全面解析! Discuz用户必备!改名道具全面解析! Mar 12, 2024 pm 10:15 PM

Discuz用户必备!改名道具全面解析!在Discuz论坛中,改名功能一直备受用户关注和需求。对于一些需要改名的用户来说,通过改名道具可以轻松实现用户名的修改,而且这也是一种有趣的互动方式。下面就让我们深入探讨一下Discuz中的改名道具,包括如何获取、如何使用以及一些常见问题的解决方法。1.获取改名道具在Discuz中,改名道具通常是通过积分购买或者管理员

遇到 Discuz 密码错误怎么办?快速解决方案分享! 遇到 Discuz 密码错误怎么办?快速解决方案分享! Mar 03, 2024 am 09:33 AM

遇到Discuz密码错误怎么办?快速解决方案分享!Discuz!是一款非常流行的论坛程序,它为用户提供了一个方便交流的平台。在使用Discuz!论坛时,有时候会遇到密码错误的情况,这可能会导致用户无法正常登录和使用论坛。那么,遇到Discuz!密码错误时,我们应该如何快速解决这个问题呢?下面将分享一些解决方案,并提供具体的代码示例供参考。一、检查密码是否

解决Discuz微信分享无法显示的问题 解决Discuz微信分享无法显示的问题 Mar 09, 2024 pm 03:39 PM

标题:解决Discuz微信分享无法显示的问题,需要具体代码示例随着移动互联网的发展,微信成为了人们日常生活中不可或缺的一部分。在网站开发中,为了提升用户体验和扩大网站的曝光度,很多站点会集成微信分享功能,让用户能够方便地分享网站的内容到朋友圈或者微信群中。然而,有时候在使用Discuz等开源论坛系统时,会遇到微信分享无法显示的问题,这给用户体验带来了一定的困

See all articles