• 7244阅读
  • 199回复

论坛学习日常记录[discuz7.2版] [复制链接] [手机版]

上一主题 下一主题
离线为你守候
温馨家园,为你守候!

只看该作者 30楼 发表于: 2011-03-01 20:44:30 星期二  点亮(0)
发表于 2010-11-9 22:47
重启论坛的快速跳转功能,感觉还是很实用的。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线为你守候
温馨家园,为你守候!

只看该作者 31楼 发表于: 2011-03-01 20:45:07 星期二  点亮(0)
发表于 2010-11-9 23:24 |只看该作者 测试在“在线会员”中显示对应IP的物理位置,但沒成功。 由:

如何让在线用户IP后面显示所在地区?

一、member.php
                $onlinelist[] = $online;
        }

        include template('whosonline');

上面添加

//Added by KaijuanStudio                
                if($isadmin) {
                require_once $discuz_root.'./include/misc.php';
                        $online['iplocation'] = convertip($online['ip']);
                }
//End                

二、whosonline.htm

$online[ip]

修改为

$online[ip] - $online[iplocation]

应该就可以了。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线为你守候
温馨家园,为你守候!

只看该作者 32楼 发表于: 2011-03-01 20:45:46 星期二  点亮(0)
发表于 2010-11-9 23:34
OK,搞定!
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线为你守候
温馨家园,为你守候!

只看该作者 33楼 发表于: 2011-03-01 20:46:12 星期二  点亮(0)
发表于 2010-11-10 21:36
今天是家园论坛运行60天的日子了,在这里先祝贺下吧!

今天晚上打开论坛的时候,速度很慢,而且管理分区打不开,提示信息中有一个文件正是我昨天晚上修改过的,难道是文件出错了?这是我的第一感觉,接着又刷新了页面,结果还是类似的结果,心里顿时有些隐隐的不安。对了,是360的浏览器。我马上又用ie打开论坛试试,正常啊!我心里总算放心了,应该不是论坛的事!又用360打开论坛试试,又能正常打开了,哎,吓我一跳!

祝贺家园论坛平安运行60天!
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线为你守候
温馨家园,为你守候!

只看该作者 34楼 发表于: 2011-03-01 20:47:15 星期二  点亮(0)
发表于 2010-11-10 23:25
不知道为什么今天晚上的论坛运行得很慢,难道是服务器的原故?
今天晚上解决了一个大问题,如何发视频:后台 => 版块 => 版块编辑中 => 帖子选项 => 设置  允许使用[audio] [video] [flash] 等多媒体代码。

由:7.2编辑器怎么没有插入视频FLASH音乐的按钮 官方的怎么有

起:今天在中国之声中听到了一个很好看的短片《老男孩》,在网上找到后想发在家园里,但一直沒有找到解决的方法,通过搜索找到上述主题,解决了, 如何发视频一直是我想解决但一直沒有解决的。呵呵,不错吧!
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线为你守候
温馨家园,为你守候!

只看该作者 35楼 发表于: 2011-03-01 20:48:02 星期二  点亮(0)
发表于 2010-11-11 00:09
本来是想今天晚上早点睡的,而且今晚论坛运行得也有些慢,但晚上为了研究发视频还是花费了不少的时间。QQ与360和解了,不错啊。呵呵,时间又不早了,十二点多了。每天都说早点儿睡,可每天……
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线为你守候
温馨家园,为你守候!

只看该作者 36楼 发表于: 2011-03-01 20:48:24 星期二  点亮(0)
发表于 2010-11-11 22:01
今天晚上历时两个多小时的主要工作就是想让ip地址对应的物理位置显示得更准确些,但不知道能不能最终胜利完成呢?
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线为你守候
温馨家园,为你守候!

只看该作者 37楼 发表于: 2011-03-01 20:49:16 星期二  点亮(0)
发表于 2010-11-11 22:23
      经过昨天的修改,已经能在在线会员中看到ip地址对应的物理位置了,但也许是我的错误感觉导致今天晚上的这次“行动”最终的收效并不理想。
   为什么决定让ip地址显示得更准确些呢?原因是最近一段时间以来,我总能看到220.181.*.*的ip访问论坛,而我一直以为是百度公司的,但却显示为北京电信,可能事实上就是电信的,而不是百度的,但也有可能也是百度的。虽然ip地址的开头是一样的,但220.181.108.89显示为电信,220.181.7.14显示为电信或百度公司,而我一直想让它显示为百度公司 ,不过这个好像不可能啊,简直是有些可笑的想法让我今天晚上白忙活了两个多小时。

   下面说下过程吧:

   通过compare软件比较修改前后的member.php文件发现,修改后的文件里提到这样一个文件misc.func.php,于是搜索,在结果中找到了如下的文章:
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线为你守候
温馨家园,为你守候!

只看该作者 38楼 发表于: 2011-03-01 20:49:59 星期二  点亮(0)
DISCUZ架构:misc.func.php文件分析
以下为引用的内容:
/**
* 这个函数看着很长,其实要实现的功能很少,就是通过ip地址返回一个对应的地理位置
* @para string $ip //给定的ip,要符合点分十进制
*
* @return string
*/
function convertip($ip) {
        if(!preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/", $ip)) {
                return '';
        }

        if($fd = @fopen(DISCUZ_ROOT.'./ipdata/wry.dat', 'rb')) {

                $ip = explode('.', $ip);
                $ipNum = $ip[0] * 16777216 + $ip[1] * 65536 + $ip[2] * 256 + $ip[3];

                $DataBegin = fread($fd, 4);
                $DataEnd = fread($fd, 4);
                $ipbegin = implode('', unpack('L', $DataBegin));
                if($ipbegin < 0) $ipbegin += pow(2, 32);
                $ipend = implode('', unpack('L', $DataEnd));
                if($ipend < 0) $ipend += pow(2, 32);
                $ipAllNum = ($ipend - $ipbegin) / 7 + 1;

                $BeginNum = 0;
                $EndNum = $ipAllNum;

                while($ip1num > $ipNum || $ip2num < $ipNum) {
                        $Middle= intval(($EndNum + $BeginNum) / 2);

                        fseek($fd, $ipbegin + 7 * $Middle);
                        $ipData1 = fread($fd, 4);
                        if(strlen($ipData1) < 4) {
                                fclose($fd);
                                return '- System Error';
                        }
                        $ip1num = implode('', unpack('L', $ipData1));
                        if($ip1num < 0) $ip1num += pow(2, 32);

                        if($ip1num > $ipNum) {
                                $EndNum = $Middle;
                                continue;
                        }

                        $DataSeek = fread($fd, 3);
                        if(strlen($DataSeek) < 3) {
                                fclose($fd);
                                return '- System Error';
                        }
                        $DataSeek = implode('', unpack('L', $DataSeek.chr(0)));
                        fseek($fd, $DataSeek);
                        $ipData2 = fread($fd, 4);
                        if(strlen($ipData2) < 4) {
                                fclose($fd);
                                return '- System Error';
                        }
                        $ip2num = implode('', unpack('L', $ipData2));
                        if($ip2num < 0) $ip2num += pow(2, 32);

                        if($ip2num < $ipNum) {
                                if($Middle == $BeginNum) {
                                        fclose($fd);
                                        return '- Unknown';
                                }
                                $BeginNum = $Middle;
                        }
                }

                $ipFlag = fread($fd, 1);
                if($ipFlag == chr(1)) {
                        $ipSeek = fread($fd, 3);
                        if(strlen($ipSeek) < 3) {
                                fclose($fd);
                                return '- System Error';
                        }
                        $ipSeek = implode('', unpack('L', $ipSeek.chr(0)));
                        fseek($fd, $ipSeek);
                        $ipFlag = fread($fd, 1);
                }

                if($ipFlag == chr(2)) {
                        $AddrSeek = fread($fd, 3);
                        if(strlen($AddrSeek) < 3) {
                                fclose($fd);
                                return '- System Error';
                        }
                        $ipFlag = fread($fd, 1);
                        if($ipFlag == chr(2)) {
                                $AddrSeek2 = fread($fd, 3);
                                if(strlen($AddrSeek2) < 3) {
                                        fclose($fd);
                                        return '- System Error';
                                }
                                $AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));
                                fseek($fd, $AddrSeek2);
                        } else {
                                fseek($fd, -1, SEEK_CUR);
                        }

                        while(($char = fread($fd, 1)) != chr(0))
                                $ipAddr2 .= $char;

                        $AddrSeek = implode('', unpack('L', $AddrSeek.chr(0)));
                        fseek($fd, $AddrSeek);

                        while(($char = fread($fd, 1)) != chr(0))
                                $ipAddr1 .= $char;
                } else {
                        fseek($fd, -1, SEEK_CUR);
                        while(($char = fread($fd, 1)) != chr(0))
                                $ipAddr1 .= $char;

                        $ipFlag = fread($fd, 1);
                        if($ipFlag == chr(2)) {
                                $AddrSeek2 = fread($fd, 3);
                                if(strlen($AddrSeek2) < 3) {
                                        fclose($fd);
                                        return '- System Error';
                                }
                                $AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));
                                fseek($fd, $AddrSeek2);
                        } else {
                                fseek($fd, -1, SEEK_CUR);
                        }
                        while(($char = fread($fd, 1)) != chr(0))
                                $ipAddr2 .= $char;
                }
                fclose($fd);

                if(preg_match('/http/i', $ipAddr2)) {
                        $ipAddr2 = '';
                }
                $ipaddr = "$ipAddr1 $ipAddr2";
                $ipaddr = preg_replace('/CZ88\.NET/is', '', $ipaddr);
                $ipaddr = preg_replace('/^\s*/is', '', $ipaddr);
                $ipaddr = preg_replace('/\s*$/is', '', $ipaddr);
                if(preg_match('/http/i', $ipaddr) || $ipaddr == '') {
                        $ipaddr = '- Unknown';
                }

                return '- '.$ipaddr;

        } else {

                $datadir = DISCUZ_ROOT.'./ipdata/';
                $ip_detail = explode('.', $ip);
                if(file_exists($datadir.$ip_detail[0].'.txt')) {
                        $ip_fdata = @fopen($datadir.$ip_detail[0].'.txt', 'r');
                } else {
                        if(!($ip_fdata = @fopen($datadir.'0.txt', 'r'))) {
                                return '- Invalid IP data file';
                        }
                }
                for($i = 0; $i <= 3; $i++) {
                        $ip_detail[$i] = sprintf('%03d', $ip_detail[$i]);
                }
                $ip = join('.', $ip_detail);
                do {
                        $ip_data = fgets($ip_fdata, 200);
                        $ip_data_detail = explode('|', $ip_data);
                        if($ip >= $ip_data_detail[0] && $ip <= $ip_data_detail[1]) {
                                fclose($ip_fdata);
                                return '- '.$ip_data_detail[2].$ip_data_detail[3];
                        }
                } while(!feof($ip_fdata));
                fclose($ip_fdata);
                return '- UNKNOWN';

        }

}  
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线为你守候
温馨家园,为你守候!

只看该作者 39楼 发表于: 2011-03-01 20:50:36 星期二  点亮(0)
发表于 2010-11-11 22:28
文章中有一个重点语句是:“if($fd = @fopen(DISCUZ_ROOT.'./ipdata/wry.dat', 'rb')) ”,提到了文件wry,dat,于是搜索,结果中有这样一篇文章:
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!