Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于升级7.0 注册登陆问题的完美解决方案!!!

[复制链接]
 楼主| gedua 发表于 2008-12-17 19:33:00 | 显示全部楼层
就把那两个文件,加上一行代码,然后去后台更新一下 缓存,就好了!
原因我不做解释了。程序问题。查起来很麻烦的。
回复

使用道具 举报

flqn 发表于 2008-12-17 19:39:06 | 显示全部楼层
忽悠忽悠忽悠
回复

使用道具 举报

zwqwnwan 发表于 2008-12-17 19:41:01 | 显示全部楼层
8楼说的对
回复

使用道具 举报

 楼主| gedua 发表于 2008-12-17 20:03:46 | 显示全部楼层
抱歉,adv.inc.php在admin文件夹下,advertisements.inc.php 在include文件夹下
回复

使用道具 举报

flqn 发表于 2008-12-17 20:15:04 | 显示全部楼层
第二个文件
          论坛根目录include文件夹下的advertisements.inc.php
        同样寻找下列两行代码:
  •           function showtargetlink($target) {
  •            global $_DCACHE;

复制代码
在 global $_DCACHE;后添加如下代码:
  •                  $regname='register.php';

复制代码


快要疯了!!! include目录下这个文件里根本就找不到你说的这两行代码。
回复

使用道具 举报

flqn 发表于 2008-12-17 20:15:44 | 显示全部楼层
include目录下这个文件里根本就找不到你说的这两行代码。

楼主你不要忽悠!!!不要忽悠!!!
回复

使用道具 举报

jzh415 发表于 2008-12-17 20:22:06 | 显示全部楼层
在include文件夹下的advertisements.inc.php 文件中,找不到
  1.           function showtargetlink($target) {

  2.            global $_DCACHE;
复制代码
这段代码
回复

使用道具 举报

flqn 发表于 2008-12-17 20:25:11 | 显示全部楼层
在include文件夹下的advertisements.inc.php 文件中,找不到          function showtargetlink($target) {

           global $_DCACHE;
这段代码
jzh415 发表于 2008-12-17 20:22


自己找找在这文件里哪一行,都快赶上赵大忽悠啦



<?php

/*
        [Discuz!] (C)2001-2009 Comsenz Inc.
        This is NOT a freeware, use is subject to license terms

        $Id: advertisements.inc.php 16688 2008-11-14 06:41:07Z cnteacher $
*/

if(!defined('IN_DISCUZ')) {
        exit('Access Denied');
}

$advarray = array();
if(!empty($_DCACHE['advs'])) {
        $advs = $_DCACHE['advs']['type'];
        $advitems = $_DCACHE['advs']['items'];
        if(in_array(CURSCRIPT, array('forumdisplay', 'viewthread')) && !empty($fid)) {
                $thisgid = $forum['type'] == 'forum' ? $forum['fup'] : $_DCACHE['forums'][$forum['fup']]['fup'];
                foreach($advs AS $type => $advitem) {
                        if($advitem = array_unique(array_merge((!empty($advitem['forum_'.$fid]) ? $advitem['forum_'.$fid] : array()), (!empty($advitem['forum_'.$thisgid]) ? $advitem['forum_'.$thisgid] : array()), (!empty($advitem['forum_all']) ? $advitem['forum_all'] : array())))) {
                                if(substr($type, 0, 6) == 'thread') {
                                        $advarray[substr($type, 0, 7)][substr($type, 8, strlen($type))] = $advitem;
                                } else {
                                        $advarray[$type] = $advitem;
                                }
                        }
                }
                $advs = $advarray;
        }
        if($globaladvs) {
                foreach($globaladvs['type'] AS $key => $value) {
                        if(isset($advs[$key])) {
                                $advs[$key] = array_merge($advs[$key], $value);
                        } else {
                                $advs[$key] = $value;
                        }
                }
                $advitems = $advitems + $globaladvs['items'];
        }
        $advarray = $advs;
} else {
        $advarray = $globaladvs['type'];
        $advitems = $globaladvs['items'];
}

foreach($advarray as $advtype => $advcodes) {
        if(substr($advtype, 0, 6) == 'thread') {
                for($i = 1; $i <= $ppp; $i++) {
                        $adv_codes = @array_unique(array_merge((isset($advcodes[$i]) ? $advcodes[$i] : array()), (isset($advcodes[0]) ? $advcodes[0] : array())));
                        $advcount = count($adv_codes);
                        $advlist[$advtype][$i - 1] = $advitems[$advcount > 1 ? $adv_codes[mt_rand(0, $advcount -1)] : $adv_codes[0]];
                }
                if($insenz['hardadstatus'] && $insenz['hash'] && isset($advcodes[1])) {
                        foreach($advcodes[1] as $k => $v) {
                                if($v{0} == 'i') {
                                        $advlist[$advtype][0] = $advitems[$v];
                                        break;
                                }
                        }
                }
        } elseif($advtype == 'intercat') {
                $advlist['intercat'] = $advcodes;
        } else {
                $advcount = count($advcodes);
                if($advtype == 'text') {
                        if($advcount > 5) {
                                $minfillpercent = 0;
                                for($cols = 5; $cols >= 3; $cols--) {
                                        if(($remainder = $advcount % $cols) == 0) {
                                                $advcols = $cols;
                                                break;
                                        } elseif($remainder / $cols > $minfillpercent)  {
                                                $minfillpercent = $remainder / $cols;
                                                $advcols = $cols;
                                        }
                                }
                        } else {
                                $advcols = $advcount;
                        }

                        $advlist[$advtype] = '';
                        for($i = 0; $i < $advcols * ceil($advcount / $advcols); $i++) {
                                $advlist[$advtype] .= (($i + 1) % $advcols == 1 || $advcols == 1 ? '<tr>' : '').
                                        '<td width="'.intval(100 / $advcols).'%">'.(isset($advcodes[$i]) ? $advitems[$advcodes[$i]] : '&nbsp;').'</td>'.
                                        (($i + 1) % $advcols == 0 ? "</tr>\n" : '');
                        }
                } else {
                        $advlist[$advtype] = $advitems[$advcount > 1 ? $advcodes[mt_rand(0, $advcount - 1)] : $advcodes[0]];
                        if($insenz['hardadstatus'] && $insenz['hash'] && in_array($advtype, array('headerbanner', 'interthread', 'footerbanner1', 'footerbanner2', 'footerbanner3'))) {
                                foreach($advcodes as $k => $v) {
                                        if($v{0} == 'i') {
                                                $advlist[$advtype] = $advitems[$v];
                                                break;
                                        }
                                }
                        }
                }
        }
}

unset($_DCACHE['advs'], $advs, $advarray);
if(empty($advlist['intercat'])) {
        unset($advitems);
}

?>
回复

使用道具 举报

 楼主| gedua 发表于 2008-12-17 20:38:10 | 显示全部楼层
呵呵,难怪看得这么仔细,我实在论坛运行的时候查的,查出来有2处,其实只改adv.inc.php就可以了,
哈哈,匆忙之中,多有得罪!难怪我在修改的时候还纳闷,官方一个函数竟然写在2个文件里?
是查找工具害的我!
回复

使用道具 举报

 楼主| gedua 发表于 2008-12-17 20:53:32 | 显示全部楼层
说明一下,虽然代码找不到,但是advertisements.inc.php 文件里showtargetlink还是有的,
这说明 advertisements.inc.php 调用了adv.inc.php里面的showtargetlink函数,查找的时候是动态的
所以查出来是2处,这个怪我不够仔细。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-5-3 19:08 , Processed in 0.103532 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表