首页 > PHP

Yzmcms修改默认付费查看文章功能(可进入内容页面支付)

YzmCMS是采用面向对象方式自主研发的YZMPHP框架开发,它是一款高效开源的内容管理系统,产品基于PHP+Mysql架构,可运行在Linux、Windows、MacOSX、Solaris等各种平台上。YZMCMS内容管理系统由袁志蒙独立研发的框架(YZMPHP)搭建,源码简洁干净,代码无冗余,本次修改Yzmcms修改默认付费查看文章功能。

默认的付费查看文章模式:当点击需要付费查看文章连接时,系统会直接弹出支付页面,这样的话文章的部分内容和简介就无法查看,为了让支付用户对内容在支付前有个更好的了解,比如下载软件或是模板时,对该下载内容是否适合自己更好的做出正确判断。


第一步:修改系统函数库:

htdocs\common\function\system.func.php 


添加代码:

function get123($flag, $readpoint, $url, $parurl){
	$catid = isset($_GET['catid']) ? intval($_GET['catid']) : 0;
	$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
	$userid = intval(get_cookie('_userid'));
	$data = D('pay_spend')->field('creat_time')->where(array('userid'=>$userid,'remarks'=>$flag))->order('id DESC')->find();
	$datavip = D('member')->field('point,vip,overduedate')->where(array('userid'=>$userid))->find();
	$point = $datavip['point'];
	if(empty($userid)&&$readpoint !=0){
		return 5; //付费文章并且没有登陆
	}else{
		
		if($readpoint ==0){
		return 0;
		// 0 为免费下载
		}elseif($data && $data['creat_time']+86400 > SYS_TIME){
		return 1;	
		// 1 为已经购买没超过24小时
		}elseif($datavip['vip']){
			if($datavip['overduedate'] > SYS_TIME)	return 2;
			//2 为VIP 会员
			
			D('member')->update(array('vip'=>0), array('userid'=>$userid));
		}elseif($readpoint !=0&& $point < $readpoint){

		// 3为积分不足,需要充值
		return 3;
		}
		else{

		// 4为积分重组 需要购买
		return 4;
		}	

	}

		
}

function geturl($flag,$readpoint,$url){
	//if(!isset($_GET['par'])) showmsg(L('lose_parameters'), 'stop');
	$par = new_html_special_chars($_GET['par']);
	$auth = string_auth($par,'DECODE');
	//if(strpos($auth,'|')===false) showmsg(L('illegal_parameters'), 'stop');
	$auth_str = explode('|', $auth);
	$parurl = 'http://www.mj85.com/member/member_pay/spend_point/par/'.string_auth($flag.'|'.$readpoint.'|'.$url).'.html';
	return $parurl;
	
}


第二步:修改模板页:

			<p class="xiang">详细信息</p>
            <div class="down_content">{$content}</div>			
			<p class="xiang">下载地址</p>
			{if intval(get123($catid.'_'.$id, $readpoint, $url))==1}
			<a class="tishi">请在24小时内下载该文件:</a><a href="{$down_url}" target="_blank" class="down_url">{$title}</a>
			{elseif intval(get123($catid.'_'.$id, $readpoint, $url))==0}
			本资源属于免费资源,请放心下载:<a href="{$down_url}" target="_blank" class="down_url">{$title}</a>
			{elseif intval(get123($catid.'_'.$id, $readpoint, $url))==2}
			<a class="tishi">VIP用户免费下载:<a href="{$down_url}" target="_blank" class="down_url">{$title}</a></a>
			{elseif intval(get123($catid.'_'.$id, $readpoint, $url))==3}
			<a class="tishi">积分不足,请充值后购买:</a><a href="/member/member_pay/pay.html">点击充值</a>
			{elseif intval(get123($catid.'_'.$id, $readpoint, $url))==4}
			<a class="tishi">本资源需要{$readpoint}个金币:</a><a href="{geturl($catid.'_'.$id, $readpoint, $url)}">点击购买</a>
			{elseif intval(get123($catid.'_'.$id, $readpoint, $url))==5}
			<a class="tishi">本资源为付费资源,请先登陆后使用金币购买后浏览!</a><a href="http://www.mj85.com/member/index/login.html">点击登陆</a>
			{/if}

以上为下载模板隐藏下载链接的方式。

还有一种是隐藏付费内容的方式:

			  <div id="snip_code" class="snip_code">{$description}</div>
			  <div id="snip_code" class="snip_code">
			 {if intval(get123($catid.'_'.$id, $readpoint, $url))==1}
			<a class="tishi">请在24小时内阅读保存该文章,注意:有效期为24小时:</a>
			{$content}
			{elseif intval(get123($catid.'_'.$id, $readpoint, $url))==0}
			{$content}
			{elseif intval(get123($catid.'_'.$id, $readpoint, $url))==2}
			{$content}
			{elseif intval(get123($catid.'_'.$id, $readpoint, $url))==3}
			<a class="tishi">积分不足,请充值后购买:</a><a href="/member/member_pay/pay.html">点击充值</a>
			{elseif intval(get123($catid.'_'.$id, $readpoint, $url))==4}
			<a class="tishi">此文章内容需要{$readpoint}个金币:</a><a href="{geturl($catid.'_'.$id, $readpoint, $url)}">点击购买</a>
			{elseif intval(get123($catid.'_'.$id, $readpoint, $url))==5}
			<a class="tishi">本文章内容为付费内容,请先登陆后使用金币购买后浏览!</a><a href="http://www.mj85.com/member/index/login.html">点击登陆</a>
			{/if}


第三步:注释掉application\index\controller\index.class.php  中的代码

	//阅读收费检测
		//if($readpoint) self::_check_readpoint($catid.'_'.$id, $readpoint, $url);




这样展示出的效果为:


当没有登录查看免费内容时不受影响,当没有登录查看付费内容时:

Yzmcms修改默认付费查看文章功能(可进入内容页面支付)


当登录后查看付费内容:

Yzmcms修改默认付费查看文章功能(可进入内容页面支付)


当金币不足查看内容:


Yzmcms修改默认付费查看文章功能(可进入内容页面支付)

会提示金币不足,点击直接进入充值页面


本次教程就写到这,如果有不懂的欢迎网站留言,欢迎继续关注mj85代码网站。

本文由用户 【admin】 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。

转载本站原创文章,请注明出处,并保留原始链接、图片水印。

本站是一个以用户分享为主的开源技术平台,欢迎各类分享!

本文地址:http://www.mj85.com/php/3024.html

分享:

评论 [共0条评论]

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

您现面为匿名用户,暂不能发表评论。如想评论则请登录注册

相关内容

发布者

管理员 发于:

19年/06月/21日 11时

查看次数: 329

谁收藏了?

0人已收藏