dedecms m view.php,dedecms中在/plus/view.php中获得文章的静态地址

/**

*

* 关于文章权限设置的说明

* 文章权限设置限制形式如下:

* 如果指定了会员等级,那么必须到达这个等级才能浏览

* 如果指定了金币,浏览时会扣指点的点数,并保存记录到用户业务记录中

* 如果两者同时指定,那么必须同时满足两个条件

*

*/

require_once(dirname(__FILE__)."/../include/common.inc.php");

require_once(DEDEINC.'/arc.archives.class.php');

$t1 = ExecTime();

if(empty($okview))

{

$okview = '';

}

if(isset($arcID))

{

$aid = $arcID;

}

$arcID = $aid = (isset($aid) && is_numeric($aid)) ? $aid : 0;

if($aid==0)

{

die(" Request Error! ");

}

$arc = new Archives($aid);

if($arc->IsError)

{

ParamError();

}

//获取文章完整路径 扬帆 2009-10-25 17:41

$query = "Select channel,typeid from`#@__arctiny` where id='$aid' ";

$arr = $dsql->GetOne($query);

$TypeLink = new TypeLink($arr['typeid']);

$arclink = GetFileUrl($arc->ArcID,$arc->Fields["typeid"],$arc->Fields["senddate"],                          $arc->Fields["title"],$arc->Fields["ismake"],$arc->Fields["arcrank"],$TypeLink->TypeInfos['namerule'],$TypeLink->TypeInfos['typedir'],$arc->Fields["money"],$arc->Fields['filename'],$TypeLink->TypeInfos['moresite'],$TypeLink->TypeInfos['siteurl'],$TypeLink->TypeInfos['sitepath']);

//检查阅读权限

$needMoney = $arc->Fields['money'];

$needRank = $arc->Fields['arcrank'];

//设置了权限限制的文章

//arctitle msgtitle moremsg

if($needMoney>0 || $needRank>1)

{

require_once(DEDEINC.'/memberlogin.class.php');

$ml = new MemberLogin();

$arctitle = $arc->Fields['title'];

$arclink = GetFileUrl($arc->ArcID,$arc->Fields["typeid"],$arc->Fields["senddate"],

$arc->Fields["title"],$arc->Fields["ismake"],$arc->Fields["arcrank"]);

$description =  $arc->Fields["description"];

$pubdate = GetDateTimeMk($arc->Fields["pubdate"]);

//会员级别不足

if(($needRank>1 && $ml->M_Rank < $needRank && $arc->Fields['mid']!=$ml->M_ID))

{

$dsql->Execute('me' , "Select * From `#@__arcrank` ");

while($row = $dsql->GetObject('me'))

{

$memberTypes[$row->rank] = $row->membername;

}

$memberTypes[0] = "注册会员";

$msgtitle = "没有权限!";

$moremsg = "这篇文档需要".$memberTypes[$needRank]."才能访问,你目前是:".$memberTypes[$ml->M_Rank]."";

include_once($cfg_basedir.$cfg_templets_dir."/plus/view_msg.htm");

exit();

}

//没有足够的金币

if(($needMoney > $ml->M_Money  && $arc->Fields['mid']!=$ml->M_ID) || $ml->M_Money=='')

{

$msgtitle = "没有权限!";

$moremsg = "这篇文档需要 ".$needMoney." 金币 才能访问,你目前拥有金币:".$ml->M_Money." 个";

include_once($cfg_basedir.$cfg_templets_dir."/plus/view_msg.htm");

$arc->Close();

exit();

}

//以下为正常情况,自动扣点数

if($needMoney > 0  && $arc->Fields['mid']!=$ml->M_ID) //如果文章需要金币,检查用户是否浏览过本文档

{

$sql = "Select aid,money From `#@__member_operation` where buyid='ARCHIVE".$aid."' And mid='".$ml->M_ID."'";

$row = $dsql->GetOne($sql);

if(!is_array($row))

{

$inquery = "INSERT INTO `#@__member_operation`(mid,oldinfo,money,mtime,buyid,product,pname)

VALUES ('".$ml->M_ID."','$arctitle','$needMoney','".time()."', 'ARCHIVE".$aid."', 'archive',''); ";

if($dsql->ExecuteNoneQuery($inquery))

{

$inquery = "Update `#@__member` set money=money-$needMoney where mid='".$ml->M_ID."'";

if(!$dsql->ExecuteNoneQuery($inquery))

{

showmsg('购买失败, 请返回', -1);

exit;

}

} else {

showmsg('购买失败, 请返回', -1);

exit;

}

}

}

}

$arc->Display();

?>

在文章模版中使用 {dede:global.arclink/}调用即可 有啥用自己发挥想象力吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值