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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] UCHome在论坛展示的feed地址错误问题修改

[复制链接]
生产力 发表于 2008-12-23 12:01:55 | 显示全部楼层
太及时了!!!!
回复

使用道具 举报

mzie 发表于 2008-12-28 12:47:06 | 显示全部楼层
http://www.tjwblm.com/bbs/index.php  首页调用uchome的动态 连接地址不对 在那改啊
回复

使用道具 举报

mzie 发表于 2008-12-28 13:30:41 | 显示全部楼层
不管用啊   http://www.tjwblm.com/bbs
回复

使用道具 举报

mzie 发表于 2008-12-28 15:03:58 | 显示全部楼层
不管用啊 !  我都把文件替换了
回复

使用道具 举报

mzie 发表于 2008-12-28 16:05:28 | 显示全部楼层
最后自己解决了

看这个
https://discuz.dismall.com/thread-1171471-1-1.html
回复

使用道具 举报

集思网络 发表于 2009-1-4 14:15:02 | 显示全部楼层
我的改了怎么还多个api呢
paul_song 发表于 2008-12-15 11:33


我也是这个问题。555555
回复

使用道具 举报

集思网络 发表于 2009-1-4 14:23:14 | 显示全部楼层
<?php
/*
        [UCenter Home] (C) 2007-2008 Comsenz Inc.
        $Id: discuz.php 10683 2008-12-12 10:10:38Z zhengqingpeng $
*/

include_once('../common.php');

$ac = isset($_GET['ac']) ? trim($_GET['ac']) : '';

$uri = $_SERVER['REQUEST_URI']?$_SERVER['REQUEST_URI']$_SERVER['PHP_SELF']?$_SERVER['PHP_SELF']_SERVER['SCRIPT_NAME']);
$siteurl = 'http://'.$_SERVER['HTTP_HOST'].substr($uri, 0, strrpos($uri, '/api')+1);

if(!in_array($ac, array('doing', 'album', 'space', 'feed'))) {
        $ac = 'js';
}

include_once(S_ROOT.'./api/discuz/'.$ac.'.php');

function makeurl($str) {
        global $siteurl;
       
        $str = stripslashes(preg_replace("/(\r\n|\n|\r)/", '', $str));
        $str = preg_replace("/src\=\"(?!http\:\/\/)(.+?)\"/i", ' src="'.$siteurl.'\\1"', $str);
        return addslashes(preg_replace("/href\=\"(?!http\:\/\/)(.+?)\"/i", ' target="_blank" href="'.$siteurl.'\\1"', $str));
}

function getdotstring ($string, $vartype, $allownull=false, $varscope=array(), $sqlmode=1, $unique=true) {

        if(is_array($string)) {
                $stringarr = $string;
        } else {
                if(substr($string, 0, 1) == '$') {
                        return $string;
                }
                $string = str_replace(',', ',', $string);
                $string = str_replace(' ', ',', $string);
                $stringarr = explode(',', $string);
        }

        $newarr = array();
        foreach ($stringarr as $value) {
                $value = trim($value);
                if($vartype == 'int') {
                        $value = intval($value);
                }
                if(!empty($varscope)) {
                        if(in_array($value, $varscope)) {
                                $newarr[] = $value;
                        }
                } else {
                        if($allownull) {
                                $newarr[] = $value;
                        } else {
                                if(!empty($value)) $newarr[] = $value;
                        }
                }
        }

        if($unique) $newarr = sarray_unique($newarr);
        if($vartype == 'int') {
                $string = implode(',', $newarr);
        } else {
                if($sqlmode) {
                        $string = '\''.implode('\',\'', $newarr).'\'';
                } else {
                        $string = implode(',', $newarr);
                }
        }
        return $string;
}

//将数组中相同的值去掉,同时将后面的键名也忽略掉
function sarray_unique($array) {
        $newarray = array();
        if(!empty($array) && is_array($array)) {
                $array = array_unique($array);
                foreach ($array as $value) {
                        $newarray[] = $value;
                }
        }
        return $newarray;
}
?>

中的$siteurl = 'http://'.$_SERVER['HTTP_HOST'].substr($uri, 0, strrpos($uri, '/api')+1);
改成$siteurl = 'http://'.$_SERVER['HTTP_HOST'].substr($uri, 0, strrpos($uri, '/api')-3);
回复

使用道具 举报

heye521 发表于 2009-1-4 17:55:45 | 显示全部楼层
能不能就不显示新通知?
回复

使用道具 举报

arbor 发表于 2009-1-7 09:09:33 | 显示全部楼层
我用的是最版版7.0 discuz.php文件内容与楼主提供的不符 自己核对了下代码 按照楼主三步走的步骤检查了一下 已成功解决问题

1. 楼主提供的第一段代码在discuz.pho中已存在 但尾段稍有不符
$uri = $_SERVER['REQU ...
terence0909 发表于 2008-12-18 10:01


搞了那么久,还是被一个新手把问题解决了

开发团队哦……
回复

使用道具 举报

liuyi918 发表于 2009-1-11 02:40:52 | 显示全部楼层
本帖最后由 liuyi918 于 2009-1-21 16:39 编辑

30# terence0909

我用的是最版版7.0 discuz.php文件内容与楼主提供的不符,开始改为-3就行了,后来,看了下,又打不开了,自己核对了下代码,按照楼主三步走的步骤检查了一下,再次修改了下, 已成功解决问题

1. 楼主提供的第一段代码在discuz.php中已存在,将
  1. $uri = $_SERVER['REQUEST_URI']?$_SERVER['REQUEST_URI']:($_SERVER['PHP_SELF']?$_SERVER['PHP_SELF']:$_SERVER['SCRIPT_NAME']);

  2. $siteurl = 'http://'.$_SERVER['HTTP_HOST'].substr($uri, 0, strrpos($uri, '/api')-3);
复制代码
最后一行  将-3改为-0 ,将/api改为:api。

实际这一行的目的就是去掉api这三个字符

我的php是5.几的.

我的网站所存在的问题就是个人资料页空间动态链接地址中开始多了一个api,按楼主的改了,后来就少了log/,又少了四个字符.

2. 楼主提供的第二段代码在文件中已全部存在 无需更改
3. 按楼主说明 将代码添加
更新缓存 一些恢复正常

我的站点:
http://www.petrosoftware.cn
我的资料:http://www.petrosoftware.cn/bbs/space-uid-1.html,可能打不开,抓个图为例吧:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 05:51 , Processed in 0.105474 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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