版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DEDECMS文章模型整合下载功能,可判断点数,会员组等下载权限
本教程实现DEDECMS功能:文章模型整合下载功能,可判断点数,会员组等下载权限,前台可判断是否有附件下载,有那么显示,没有那么不显示。适用类型:有些文章有下载地址,有些文章没有下载地址的网站。想附件收费的网站等等……具体就不啰嗦了。用得上您就拿走。
DEDECMS文章模型整合下载功能,可判断点数,会员组等下载权限
()
后台效果图
本教程为站长似水星辰原创,转载注明出处。
注:本教程中的金币和会员组设置只针对下载连接有效。不对文章内容生效,和文章本身的阅读权限和消费金币并不冲突,是分开设置的。文章中所有sql语句中波及表名的,请把表前缀换成您自己的表前缀。如:js_addonarticle换成您的表前缀_addonarticle。
一、首先规划要参加的字段
下载链接:softlinks
消费金币:needmoney
会员组权限:daccess
这些字段要参加到文章附加表中,前缀_addonarticle,也可以根据自己情况参加需要的表中,自己修改就行了。
进入后台系统-SQL命令行工具,执行:
1
ALTERTABLE
`js_addonarticle`ADD
`softlinks`TEXTNOTNULL,
2
ADD
`needmoney`SMALLINT(5)NOTNULL,
3
ADD
`daccess`SMALLINT(5)NOTNULL
也可以在phpmyadmin中自行添加。
然后在后台翻开核心-频道模型-内容模型管理-普通文章-修改-字段管理,在模型字段配置(文本模式)里添加
如果不添加那么会出现无链接信息错误!请务必添加。
二、数据库字段添加完毕就要修改文章模型的4个文件了。分别是dede管理目录下的article_add.php,article_edit.php和管理模板article_add.htm,article_edit.htm,翻开这4个文件依次修改。
1、修改article_add.htm,在头部的中参加下列,在之前参加就行
01
varstartNum=0;
02
functionMakeUpload()
03
{
04
varupfield=document.getElementById("uploadfield");
05
varendNum=
parseInt(document.form1.picnum.value)+startNum-1;
06
if(endNum>30)endNum=30;
07
for(startNum;startNum08
upfield.innerHTML+="软件地址"+startNum+":
效劳器名称:\r\n";
09
}
10
}
11
functionShowHideAddr()
12
{
13
document.getElementById('morelink').style.display=(document.getElementById('morelink').style.display=='block'《'none':'block');
14
document.getElementById('morelink').style.height='100%';
15
document.getElementById('btsh3').value=(document.getElementById('morelink').style.display=='block'《'隐藏地址':'显示地址');
16
}
这个是可以增加下载地址个数的JS代码。
2、找到
再其后边参加
001
002
下载限制:
003
004
005
006
007
008
需会员权限:
009
010
011
012
$dsql->SetQuery("Select*from`js_arcrank`whererank>=0");
013
$dsql->Execute();
014
while($row=$dsql->GetArray())
015
{
016
if($row['rank']==0)$row['membername']="不限会员";
017
if($row['rank']==$softconfig['dfrank'])echo"
{$row['membername']}\r\n";
018
elseecho"
{$row['membername']}\r\n";
019
}
020
《>
021
022
需消费金币:
023
024
"size="8"/>个
025
026
027
〔如果设定了下载限制,[软件频道设置]中“附件下载方式:〞必须选择“链接到跳转页面〞〕
028
029
030
031
032
033
本地软件选择:
034
035
036
037
038
039
本地地址:
040
041
042
043
效劳器名称:
044
045
046
047
048
049
050
051
if($softconfig['moresitedo']==0&&trim($softconfig['sites'])!='')
052
{
053
《>
054
055
预设的镜像效劳器:
056
057
058
059
(效劳器地址+软件地址=软件真实地址[软件频道设置])
060
061
$sites=explode("\n",$softconfig['sites']);
062
$startNum=2;
063
foreach($sitesas$site)
064
{
065
$site=trim($site);
066
if(empty($site))continue;
067
list($siteurl,$sitename)=explode('|',$site);
068
$siteurl=trim($siteurl);
069
$sitename=trim($sitename);
070
《>
071
:
072
'value='1'/>
073
'style='width:200px'value=''/>+
074
'style='width:120px'value=''/>
075
'style='width:150px'value=''/>
076
'class='np'value='1'checked/>启用
077
078
079
$startNum++;
080
}//foreach
081
echo"startNum=$startNum;\r\n";
082
《>
083
084
085
086
}//需要预设镜像
087
《>
088
089
手动指定地址:
090
091
092
093
094
095
其它地址:
096
097
098
099
100
101
(最多为30个链接)
102
103
104
105
106
107
108
109
到这里article_add.htm文件就修改完了。
3、翻开article_edit.htm文件,在头部的中参加下列代码,在之前参加就行
01
varstartNum=;
02
functionMakeUpload()
03
{
04
varupfield=document.getElementById('uploadfield');
05
varendNum=
parseInt(document.form1.picnum.value)+startNum;
06
if(endNum>30)endNum=30;
07
for(startNum;startNum08
{
09
upfield.innerHTML+="软件地址"+startNum+":
效劳器名称:\r\n";
10
}
11
}
12
13
functionShowHideAddr()
14
{
15
document.getElementById('morelink').style.display=(document.getElementById('morelink').style.display=='block'《'none':'block');
16
document.getElementById('btsh3').value=(document.getElementById('morelink').style.display=='block'《'隐藏地址':'显示地址');
17
}
4、找到
PrintAutoFieldsEdit($cInfos['fieldset'],$addRow,'autofield');
《>
在其下边参加下列代码:
01
02
03
04
05
需会员权限:
06
07
08
09
$dsql->SetQuery("Select*from`js_arcrank`whererank>=0");
10
$dsql->Execute();
11
while($row=$dsql->GetArray())
12
{
13
if($row['rank']==0)$row['membername']="不限会员";
14
if($row['rank']==$daccess)echo"
{$row['membername']}\r\n";
15
elseecho"
{$row['membername']}\r\n";
16
}
17
《>
18
19
20
需消费金币:
21
22
"size="8"/>个
23
24
25
26
〔如果设定了下载限制,软件频道设置中“附件下载方式:〞必须选择“链接到跳转页面〞〕
27
28
29
30
31
32
软件链接列表:
33
34
35
36
37
38
其它地址:
39
40
41
42
43
44
(最多为30个链接)
45
46
47
48
49
50
51
52
53
echo$nForm;
54
《>
55
56
57
58
59
article_edit.html修改完毕,接下来开始修改article_add.php,要认真看哦!
5、翻开article_add.php,找到
01
//保留到附加表
02
$cts=$dsql->GetOne("SELECTaddtableFROM`js_channeltype`WHEREid='$channelid'");
03
在其上边参加
04
//软件链接列表
05
$urls='';
06
07
//本地链接处理
08
$softurl1=stripslashes($softurl1);
09
$nsoftsize='';
10
if($softurl1!='')
11
{
12
$urls.="{dede:linkislocal='1'text='{$servermsg1}'}$softurl1{/dede:link}\r\n";
13
}
14
15
//其它链接处理
16
for($i=2;$i17
{
18
if(!(${'softurl'.$i}))
19
{
20
$forconfig=(${'forconfig'.$i})《FALSE:TRUE;
21
if($forconfig)
22
{
23
if(empty(${'need'.$i}))continue;
24
$serverUrl=stripslashes(${'softurlfirst'.$i});
25
$serverUrl=preg_replace("#\/$#","",$serverUrl);
26
$softurl=stripslashes(${'softurl'.$i});
27
if(cn_substr($softurl,1)!='/')$softurl='/'.$softurl;
28
$softurl=$serverUrl.$softurl;
29
}
30
else
31
{
32
$softurl=stripslashes(${'softurl'.$i});
33
}
34
$servermsg=str_replace("'","",stripslashes(${'servermsg'.$i}));
35
if($servermsg=='')$servermsg='下载地址'.$i;
36
if($softurl!='')
37
{
38
$urls.="{dede:linktext='$servermsg'}$softurl{/dede:link}\r\n";
39
}
40
}
41
}
42
$urls=addslashes($urls);
这段大略在203行左右,主要作用是处理下载地址。然后再找到
$query="INSERTINTO`{$addtable}`(aid,typeid,redirecturl,templet,userip,body{$inadd_f})Values('$arcID','$typeid','$redirecturl','$templet','$useip','$body'{$inadd_v})";
替换为
$query="INSERTINTO`{$addtable}`(aid,typeid,redirecturl,templet,userip,body,softlinks,needmoney,daccess{$inadd_f})Values('$arcID','$typeid','$redirecturl','$templet','$useip','$body','$urls','$needmoney','$daccess'{$inadd_v})";
article_add.php修改完毕,添加一下文章,把下载地址,金币,会员组都写进去,看看数据库是不是有这条记录了^^。
6、翻开article_edit.php,找到
$channelid=$arcRow['channel'];
在其上边参加
01
$newRowStart=1;
02
$nForm='';
03
$daccess=$addRow['daccess'];
04
$needmoney=$addRow['needmoney'];
05
if($addRow['softlinks']!='')
06
{
07
$dtp=newDedeTagParse();
08
$dtp->LoadSource($addRow['softlinks']);
09
if(is_array($dtp->CTags))
10
{
11
foreach($dtp->CTagsas$ctag)
12
{
13
if($ctag->GetName()=='link')
14
{
15
$islocal=$ctag->GetAtt('islocal');
16
if($islocal!=1)$needmsg="删除";
17
else$needmsg='';
18
$nForm.="软件地址{$newRowStart}:GetInnerText())."'/>
19
效劳器名称:GetAtt("text")."'style='width:150px'/>
20
21
$needmsg
22
\r\n";
23
$newRowStart++;
24
}
25
}
26
}
27
$dtp->Clear();
28
}
找到
$cts=$dsql->GetOne("SELECTaddtableFROM`js_channeltype`WHEREid='$channelid'");
在其上边参加下列代码:
//软件链接列表
$urls='';
for($i=1;$i
{
if(!empty(${'softurl'.$i}))
{
$islocal=empty(${'islocal'.$i})《'':1;
$isneed=empty(${'del'.$i})《true:false;
$servermsg=str_replace("'",'',stripslashes(${'servermsg'.$i}));
$softurl=stripslashes(${'softurl'.$i});
if($servermsg=='')
{
$servermsg='下载地址'.$i;
}
if($softurl!='')
{
if($islocal==1)$urls.="{dede:linkislocal='$isloc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 通信设备液碱运输合同
- 科研项目招投标居间合同
- 皮革制品配送协议范本
- 矿产资源配送合同模板
- 通信服务借款居间服务协议
- 生物制品液氮运输协议
- 2024年增溶剂项目合作计划书
- 眼镜店装饰设计合同范本
- 社交媒体佣金居间合同样本
- 美容院装修节能环保合同
- (样本)少年先锋队少代会××学校第×次代表大会的通知
- 公路工程基桩动测技术规程(JTGTF81-01-2004)
- 第五章肥皂详解
- 顶针头部标准尺寸
- 团员登记表样本
- 教科版(新)小学三年级上册科学《认识气温计》教学教案
- 年产3万吨镁砖隧道窑设计计算说明
- 日航哲学手册
- 律师尽职调查报告书(共5篇)
- 浙江中控DCS操作指导全面覆盖
- (完整版)艺术专业中文词汇及其英文翻译
评论
0/150
提交评论