源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口

  • 时间:2020-01-27 01:07 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
你需要修改attachment.php文件 在根目录下  在$attachexists = $ispaid = FALSE;下面添加  if (!empty($checktwo)) {  在最末尾的?>前添加  } else {  echo "<script>alert('写上你要提示的内容')</script>";  echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=$PHP_SELF?checktwo=1&aid=$aid\">";  }  我在本机架设Discuz! 5.0.1调试通过了  完整代码如下:  <?php  /*  [Discuz!] (C)2001-2006 Comsenz Inc.  This is NOT a freeware, use is subject to license terms  $RCSfile: attachment.php,v $  $Revision: 1.13 $  $Date: 2006/08/11 06:51:07 $  */  require_once './include/common.inc.php';  $discuz_action = 14;  if($attachrefcheck && $_SERVER['HTTP_REFERER'] && preg_replace("/https?:\/\/([^\/]+).*/i", "\\1", $_SERVER['HTTP_REFERER']) != $_SERVER['HTTP_HOST']) {  //header("Location: {$boardurl}images/common/invalidreferer.gif");  showmessage('attachment_referer_invalid', NULL, 'HALTED');  }  /*  $query = $db->query("SELECT a.*, t.fid, p.authorid FROM {$tablepre}attachments a, {$tablepre}threads t, {$tablepre}posts p  WHERE a.aid='$aid' AND t.tid=a.tid AND p.pid=a.pid AND t.displayorder>='0' AND p.invisible='0'");  $attach = $db->fetch_array($query);  */  periodscheck('attachbanperiods');  $attachexists = $ispaid = FALSE;  if (!empty($checktwo)) {  if(!empty($aid)) {  $query = $db->query("SELECT * FROM {$tablepre}attachments WHERE aid='$aid'");  if($attach = $db->fetch_array($query)) {  $query = $db->query("SELECT tid, fid, price, special FROM {$tablepre}threads WHERE tid='$attach[tid]' AND displayorder>='0'");  $thread = $db->fetch_array($query);  if($thread['fid']) {  $query = $db->query("SELECT authorid FROM {$tablepre}posts WHERE pid='$attach[pid]' AND invisible='0'");  if($db->num_rows($query)) {  $attach['authorid'] = $db->result($query, 0);  $attachexists = TRUE;  }  }  }  }  if($allowgetattach && ($attach['readperm'] && $attach['readperm'] > $readaccess) && $adminid <= 0 && !($discuz_uid && $discuz_uid == $attach['authorid'])) {  showmessage('attachment_forum_nopermission', NULL, 'NOPERM');  }  if(!$thread['special'] && $thread['price'] > 0 && (!$discuz_uid || ($discuz_uid && $discuz_uid != $attach['authorid'] && $adminid <=0))) {  $query = $db->query("SELECT uid FROM {$tablepre}paymentlog WHERE uid='$discuz_uid' AND tid='$attach[tid]'");  if($db->result($query, 0)) {  $ispaid = TRUE;  } else {  showmessage('attachment_payto', 'viewthread.php?tid='.$attach['tid']);  }  }  $filename = $attachdir.'/'.$attach['attachment'];  if(is_readable($filename) && $attachexists) {  $query = $db->query("SELECT f.viewperm, f.getattachperm, f.getattachcredits, a.allowgetattach FROM {$tablepre}forumfields f  LEFT JOIN {$tablepre}access a ON a.uid='$discuz_uid' AND a.fid=f.fid  WHERE f.fid='$thread[fid]'");  $forum = $db->fetch_array($query);  if(!$ispaid) {  if(!$forum['allowgetattach']) {  if(!$forum['getattachperm'] && !$allowgetattach) {  showmessage('group_nopermission', NULL, 'NOPERM');  } elseif(($forum['getattachperm'] && !forumperm($forum['getattachperm'])) || ($forum['viewperm'] && !forumperm($forum['viewperm']))) {  showmessage('attachment_forum_nopermission', NULL, 'NOPERM');  }  }  }  if(!($isimage = preg_match("/^image\/.+/", $attach['filetype']))) {  checklowerlimit($creditspolicy['getattach'], -1);  }  if(empty($noupdate)) {  if($delayviewcount == 2 || $delayviewcount == 3) {  $logfile = './forumdata/cache/cache_attachviews.log';  if(substr($timestamp, -1) == '0') {  require_once DISCUZ_ROOT.'./include/misc.func.php';  updateviews('attachments', 'aid', 'downloads', $logfile);  }  if(@$fp = fopen(DISCUZ_ROOT.$logfile, 'a')) {  fwrite($fp, "$aid\n");  fclose($fp);  } elseif($adminid == 1) {  showmessage('view_log_invalid');  }  } else {  $db->query("UPDATE {$tablepre}attachments SET downloads=downloads+'1' WHERE aid='$aid'", 'UNBUFFERED');  }  }  if(!$isimage) {  $forum['getattachcredits'] = $forum['getattachcredits'] ? unserialize($forum['getattachcredits']) : array();  $getattachcredits = $forum['getattachcredits'] ? $forum['getattachcredits'] : $creditspolicy['getattach'];  updatecredits($discuz_uid, $getattachcredits, -1);  }  $filesize = filesize($filename);  ob_end_clean();  header('Cache-control: max-age=31536000');  header('Expires: '.gmdate('D, d M Y H:i:s', $timestamp + 31536000).' GMT');  header('Content-Encoding: none');  $attach['filename'] = (strtolower($charset) == 'utf-8' && strexists($_SERVER['HTTP_USER_AGENT'], 'MSIE')) ? urlencode($attach['filename']) : $attach['filename'];  if($isimage && !empty($noupdate)) {  header('Content-Disposition: inline; filename='.$attach['filename']);  } else {  header('Content-Disposition: attachment; filename='.$attach['filename']);  }  header('Content-Type: '.$attach['filetype']);  @$fp = fopen($filename, 'rb');  @flock($fp, 2);  $attachment = @fread($fp, $filesize);  @fclose($fp);  echo $attachment;  } else {  showmessage('attachment_nonexistence');  }  } else {  echo "<script>alert('$PHP_SELF')</script>";  echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=$PHP_SELF?checktwo=1&aid=$aid\">";  }  ?> 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部