wecenter3.6.1移动端手机版缺失的插件钩子

wecenter3.6.1移动端手机版部分页面缺失了一些插件钩子,大家可以根据需要自己添加进去 问题详情页 打开 views/default/m/question/index.tpl.htm 大约81行的位置,添加 <!--问题详情页钩子--> &...
继续阅读 »

wecenter3.6.1移动端手机版部分页面缺失了一些插件钩子,大家可以根据需要自己添加进去



问题详情页


打开 views/default/m/question/index.tpl.htm 大约81行的位置,添加


<!--问题详情页钩子-->
<?php run_hook('page_content_hook',['page'=>'question_detail','area'=>'content_detail_bottom','question_info'=>$this->question_info,'platform'=>'mobile']);?>

收起阅读 »

「广告位代码」插件使用说明

「广告位代码」插件可以让你在网站的多处地方插入广告联盟代码、图片代码等HTML代码而不用修改文件,省去系统升级时的麻烦 这里给大家一些示例代码,方便你知道怎么填写 居中代码 <div class="text-center">可以把这里的文字替换成图...
继续阅读 »

「广告位代码」插件可以让你在网站的多处地方插入广告联盟代码、图片代码等HTML代码而不用修改文件,省去系统升级时的麻烦


这里给大家一些示例代码,方便你知道怎么填写


居中代码


<div class="text-center">可以把这里的文字替换成图片等内容代码</div>


边栏公众号二维码代码


<div class="aw-mod">
<div class="mod-head">
<h3>关注官方公众号</h3>
</div>
<div class="mod-body clearfix">
<div style="margin: 10px 2px;">
<img src="https://s1.ax1x.com/2020/04/25/JsCU3Q.jpg" alt="关注官方公众号" class="img-thumbnail">
</div>
</div>
</div>


首页顶部底部通栏banner代码


<div class="aw-container-wrap">
<div class="container">
<div class="row">
<div class="col-sm-12">
<a href="https://curl.qcloud.com/YOzs6XQK">
<img src="https://z3.ax1x.com/2021/04/09/cUFbLD.jpg" width="100%">
</a>
</div>
</div>
</div>
</div>


手机版关注二维码代码


<div class="text-center" style="margin: 10px 2px;">
<img src="https://z3.ax1x.com/2021/04/09/cNWh6g.jpg" width="100%">
</div>
收起阅读 »

WeCenter邮件设置要怎么设置

WeCenter系统的邮件设置要怎么填? QQ邮箱填写示例 发送方式:通过SOCKET链 连接 SMTP服务器发送 邮件编码:UTF-8 主 SMTP 服务器:smtp.qq.com 使用安全链接(SSL)连接主服务器:是 主 SMTP 端口:465 主 S...
继续阅读 »

WeCenter系统的邮件设置要怎么填?


QQ邮箱填写示例


0ffbe31f83c893a7a736426e81e544c3.png


发送方式:通过SOCKET链 连接 SMTP服务器发送


邮件编码:UTF-8


主 SMTP 服务器:smtp.qq.com


使用安全链接(SSL)连接主服务器:


主 SMTP 端口:465


主 SMTP 帐户:QQ号@qq.com


主 SMTP 密码:这里不是QQ密码,而是进入QQ邮箱后台获取的授权码



QQ邮箱授权码


登录QQ邮箱->设置->账户


ebb8761da5a72074b30cc144503fcbab.png


拉到底部就会看到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务


1.我们要先开启: POP3/SMTP服务 


2.获取授权码:这个授权码是用来代替QQ密码的


894f9c7a0c07b44faa94b03770db79c6.png



QQ邮箱失败原因


很多人使用QQ邮箱作为wecenter程序的发信邮箱,但是一直失败的原因,其实就是因为这2个原因:


1、端口号填错了:QQ邮箱发信是改为了使用安全链接(SSL),所以端口号要填465


2、SMTP 密码填错了:为了安全,QQ邮箱改用了授权码代替QQ密码,所以不能填QQ密码,而是要生成一个授权码


3、没有开启POP3/SMTP服务



如果你的QQ邮箱设置不成功,请着重检查这3个设置!!!

收起阅读 »

「关注公众号才能注册」插件的功能介绍

功能介绍 「关注公众号才能注册」插件,可以限制必须关注公众号才能注册网站新账号,可以有效减少机器人注册并且给公众号引流。 Tips:该插件需要搭配「关注公众号才能发帖」插件一起才能使用 安装说明 将插件上传到 网站根目录/plugins/ 后,到系统后台安装...
继续阅读 »

功能介绍


「关注公众号才能注册」插件,可以限制必须关注公众号才能注册网站新账号,可以有效减少机器人注册并且给公众号引流。


Tips:该插件需要搭配「关注公众号才能发帖」插件一起才能使用




安装说明


将插件上传到 网站根目录/plugins/ 后,到系统后台安装启用即可。


如果你的程序是在3.6.2之前的版本。那么插件的部分功能需要修改以下文件才能生效


打开网站文件 app/m/account.php ,找到register_action,


在大约84行的位置,「本站目前关闭注册」的上方,添加以下代码:


//注册页面前置钩子
run_hook('register_hook',['data'=>$_GET,'action'=>'before','platform'=>'mobile']);
//↑↑↑在本站目前关闭注册上方↑↑↑
if (get_setting('register_type') == 'close')
{
H::redirect_msg(AWS_APP::lang()->_t('本站目前关闭注册'));
}



插件下载


「关注公众号才能注册」插件下载 http://wecenter.junxiaochen.com/store/26

收起阅读 »

WeCenter在php7环境下,公众号功能无反应、出错解决方案

出错原因 出现这个问题是由于mcrypt_decrypt、等函数已自 PHP 7.1.0 起废弃,并将自 PHP 7.2.0 起移除。 但是由于wecenter3.6.1以及之前的版本还在使用mcrypt_decrypt等函数,所以会导致在php7.2 + 的...
继续阅读 »

出错原因


出现这个问题是由于mcrypt_decrypt、等函数已自 PHP 7.1.0 起废弃,并将自 PHP 7.2.0 起移除


但是由于wecenter3.6.1以及之前的版本还在使用mcrypt_decrypt等函数,所以会导致在php7.2 + 的环境下,wecenter公众号功能会出现错误,导致无法使用公众号回复功能。



解决方案


用openssl_decrypt替换mcrypt_decrypt等函数


打开system/Services/Weixin/Prpcrypt.php,


找到encrypt函数,替换为


    /**
* 对明文进行加密
* @param string $text 需要加密的明文
* @return string 加密后的密文
*/
public function encrypt($text, $appid)
{
try {
//获得16位随机字符串,填充到明文之前
$random = $this->getRandomStr();
$text = $random . pack("N", strlen($text)) . $text . $appid;

$iv = substr($this->key, 0, 16);
//使用自定义的填充方式对明文进行补位填充
$pkc_encoder = new Services_Weixin_PKCS7Encoder;
$text = $pkc_encoder->encode($text);

$encrypted = openssl_encrypt($text, 'AES-256-CBC', $this->key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $this->hexToStr($iv));

//使用BASE64对加密后的字符串进行编码
return array(Services_Weixin_ErrorCode::$OK, base64_encode($encrypted));

} catch (Exception $e) {
//print $e;
return array(Services_Weixin_ErrorCode::$EncryptAESError, null);
}
}

找到decrypt函数,替换为


    /**
* 对密文进行解密
* @param string $encrypted 需要解密的密文
* @return string 解密得到的明文
*/
public function decrypt($encrypted, $appid)
{

try {
//使用BASE64对需要解密的字符串进行解码
$ciphertext_dec = base64_decode($encrypted);
$iv = substr($this->key, 0, 16);

//解密
$decrypted = openssl_decrypt($ciphertext_dec, 'AES-256-CBC', $this->key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $this->hexToStr($iv));

} catch (Exception $e) {
return array(Services_Weixin_ErrorCode::$DecryptAESError, null);
}


try {
//去除补位字符
$pkc_encoder = new Services_Weixin_PKCS7Encoder;
$result = $pkc_encoder->decode($decrypted);
//去除16位随机字符串,网络字节序和AppId
if (strlen($result) < 16)
return "";
$content = substr($result, 16, strlen($result));
$len_list = unpack("N", substr($content, 0, 4));
$xml_len = $len_list[1];
$xml_content = substr($content, 4, $xml_len);
$from_appid = substr($content, $xml_len + 4);
if (!$appid)
$appid = $from_appid;
} catch (Exception $e) {
//print $e;
return array(Services_Weixin_ErrorCode::$IllegalBuffer, null);
}
if ($from_appid != $appid)
return array(Services_Weixin_ErrorCode::$ValidateAppidError, null);
return array(0, $xml_content, $appid);
}

同时在下方增加一个自定义函数hexToStr


    public function hexToStr($hex)
{
$string='';
for ($i=0; $i < strlen($hex)-1; $i+=2)
{
$string .= chr(hexdec($hex[$i].$hex[$i+1]));
}
return $string;
}



下载修改后的文件


这里给大家整理好了修改后的文件,


可以下载后覆盖到自己网站system/Services/Weixin/Prpcrypt.php即可在php7环境下使用WeCenter的公众号功能了


Prpcrypt.php.zip

收起阅读 »

「附件积分下载」使用说明

「附件积分下载」使用说明 功能说明 「附件积分下载」优化问答和文章的附件下载功能,可以设置下载附件需要扣除系统积分。 每个模块(问题、回答、文章)的下载积分都可以单独设置扣除的分数。 同时还可以设置附件被下载时,奖励附件上传者积分 版本要求 需要将wece...
继续阅读 »

「附件积分下载」使用说明




功能说明


「附件积分下载」优化问答和文章的附件下载功能,可以设置下载附件需要扣除系统积分。


每个模块(问题、回答、文章)的下载积分都可以单独设置扣除的分数。


同时还可以设置附件被下载时,奖励附件上传者积分




版本要求


需要将wecenter版本更新到3.6.1以后,否则部分功能可能不能实现。


如果你不想升级到3.6.1,可以咨询我如何修改文件。


找到 app/question/main.php 大约392行,


TPL::output('question/index');

在这行代码的上面添加钩子代码


// 问题底部钩子
run_hook('question_detail_hook',['data'=>$_GET,'action'=>'bottom','question_info'=>$question_info,'platform'=>'web']);



注意事项


使用「附件积分下载」插件,


需要先在后台开启系统的积分功能,并设置好积分奖励策略!!!


然后在插件里,配置好下载附件需要扣除的积分。




疑难解答


全部下载不会扣分


请进行以下2项的检查:


1、网站版本是否是在3.6.1以后的版本?否则请更新


2、是否在插件设置里,设置了下载扣0分?


3、插件设置里,下载扣分是要填写负数的!


只有问题附件不会扣分


问题附件默认是设置了不需要积分下载的,如果你需要开启,可以在插件设置里自己调整




插件下载


「附件积分下载」插件下载 http://wecenter.junxiaochen.com/store/18

收起阅读 »

「关注公众号才能下载」插件的功能介绍

功能介绍 启用「关注公众号才能下载」插件,可以实现下载文章、问题、回答里的附件,需要先关注公众号。即:下载附件必须关注公众号、达到强制关注引流的效果。 注意事项 该插件需要搭配「关注公众号才能发帖」插件一同使用,所以请先现在安装插件:关注公众号才能发帖。 ...
继续阅读 »

功能介绍


启用「关注公众号才能下载」插件,可以实现下载文章、问题、回答里的附件,需要先关注公众号。即:下载附件必须关注公众号、达到强制关注引流的效果。




注意事项


该插件需要搭配「关注公众号才能发帖」插件一同使用,所以请先现在安装插件:关注公众号才能发帖




效果演示




如果你没有绑定公众号,那么这里是会弹出绑定的提示的。


如果你已经绑定公众号,那么就是点击后可以直接下载了。




插件下载


插件下载地址:http://wecenter.junxiaochen.com/store/25

收起阅读 »

「关注公众号才能发帖」插件使用教程

wecenter微信绑定检测插件使用教程 功能说明 限制必须使用微信绑定UID后才能发帖,可以有效减少机器人发垃圾广告 支持单个功能的权限开关,单独限制发问题、修改问题、发文章、修改文章、发布问题回答的权限设置。 同时还增加了配套「关注公众号才能发帖」使用的插...
继续阅读 »

wecenter微信绑定检测插件使用教程


功能说明


限制必须使用微信绑定UID后才能发帖,可以有效减少机器人发垃圾广告


支持单个功能的权限开关,单独限制发问题、修改问题、发文章、修改文章、发布问题回答的权限设置。


同时还增加了配套「关注公众号才能发帖」使用的插件:


关注公众号才能下载附件


关注公众号才能注册账号


所有「关注公众号」系列的插件均支持全部主体注册的公众号使用,也包括个人主体公众号,有无认证也均可使用。



注意事项


在3.6.0以及更旧的版本,做完以上的设置,微信关注检测的功能并还不能立刻生效,因为还缺少一个插件钩子,所以我们需要自己手动修改网站文件加上它。


打开网站 app/weixin/api.php 文件,在倒数第三行上面,加上一句代码,如:





 /*君笑尘自定义添加  微信公众号接口后置钩子*/
run_hook('weixin_api',['action'=>'after','input_message'=>$input_message,'account_info'=>$account_info]);

该钩子已在3.6.1以及后面的版本内置在主程序了,无需手动添加。


使用教程



1.填写接口信息


打开公众号后台->开发设置,填写接口信息,如:



2.设置公众平台信息


打开网站后台->全局设置->开放平台->设置微信公众平台的信息





3.安装插件


把 wc_wechat_bind 文件夹上传到网站根目录的 plugins 里,并打开网站后台打开->插件扩展->安装插件



4.设置二维码


根据提示设置公众号二维码即可



插件下载


插件下载安装地址:关注公众号才能发帖

收起阅读 »

wecenter插件使用教程

wecenter插件使用教程 wecenter的插件目前都是 wc_ ** 开头的文件夹,把这个文件夹放在网站根目录plugins里面,然后打开后台,插件拓展,会看到顶部有个新插件安装提示,点击进去就会出现新插件,就可以安装了

wecenter插件使用教程




wecenter的插件目前都是 wc_ ** 开头的文件夹,把这个文件夹放在网站根目录plugins里面,然后打开后台,插件拓展,会看到顶部有个新插件安装提示,点击进去就会出现新插件,就可以安装了


wecenter专栏列表如何显示更多数量的专栏

目前是显示6个,需要更多的话,要修改文件里的代码第一步,找到 /app/column/main.php  约28行$column_info = $this->model('column')->fetch...
继续阅读 »

目前是显示6个,需要更多的话,要修改文件里的代码


第一步,找到 /app/column/main.php  约28行

$column_info = $this->model('column')->fetch_column_list($this->user_id , 1 , 6 ,$_GET['sort']);

把这里的6改成你想显示的数量。


第二步,找到 app/column/ajax.php  约25行,

$per_page = 6;

把这里的6改成你想显示的数量。



收起阅读 »