DEDE源码分析与学习之三: member/archives_*.php文件解读

[code="PHP"]
<?php
require_once(dirname(__FILE__)."/config.php");//引用会员的配置文件
require_once(dirname(__FILE__)."/inc/inc_catalog_options.php");//获取用户操作列 表的接口文件
CheckRank(0,0);//检查用户操作权限。这个函数在config.php文件中定义。形参分别为rank(级别)和money(金钱)
//判断用户发布权限if($cfg_mb_sendall=='N'){//dede中以$cfg_开头的一般都是全局变量,在include /config_band.php文件中定义。
    ShowMsg("对不起,系统禁用了自定义模型投稿,因此无法使用此功能!","-1");
    exit();
}

//这里又一次引用了inc/inc_catalog_options.php文件。//php知识点:require($fileName) VS require_onec($fileName),两个函数都是引用$fileName文件。差别在于前者
//只做简单的引用,后者在引用$fileName之前会判断$fileName是否已经被引用过,如果已经被引用则不重复引用。
//另外require() 和 include()的差别在于引用错误时的不同处理,前者立即停止程序,后者继续执行。
require_once(dirname(__FILE__)."/inc/inc_catalog_options.php");

//记录当前频道的ID,这里初次没有$channelid变量,执行结果为1.
//查阅数据表dede_channeltype 可知ID=1的时候表示当前频道为普通文章频道。
$channelid = (empty($channelid) ? 1 : intval($channelid));//php函数intval($number),返回$number的整数值。

$dsql = new DedeSql(false);//实例化一个数据库操作类。
$cInfos = $dsql->GetOne("Select * From #@__channeltype  where ID='$channelid'; ");//获取当前频道的配置信息。   

if($cInfos['issend']!=1){
    $dsql->Close();
    ShowMsg("你指定的频道不允许投稿!","-1");
    exit();
}


if($cInfos['sendrank'] > $cfg_ml->M_Type){
    $row = $dsql->GetOne("Select membername From #@__arcrank where rank='".$cInfos['sendrank']."' ");
    $dsql->Close();
    ShowMsg("对不起,需要[".$row['membername']."]才能在这个频道发布文档!","-1","0",5000);
    exit();
}


$channelid = $cInfos['ID'];//这里对当前频道再次赋值,不知道有什么用处??
$addtable  = $cInfos['addtable'];//取得附加表名称

require_once(dirname(__FILE__)."/templets/archives_add.htm");//显示用户界 面,archives_add.htm文件中连接了archives_add_action.php文件,并在用户提交信息时触发执行这个文件。

$dsql->Close();
?>[/code]

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值