论坛风格切换切换到宽版
  • 5118阅读
  • 58回复

[教程]手机客户端显示“来自手机客户端”实现方案 [复制链接]

上一主题 下一主题
离线骨头
 

发帖
27314
金钱
3722
威望
136368
只看楼主 倒序阅读 使用道具 楼主  发表于: 2011-08-30
— 本帖被 骨头 执行加亮操作(2011-08-31) —
注意,此方案仅对安装手机客户端有效, 其他站长请忽略!, 以防万一,修改前先备份!

服务端显示“来自手机客户端”实现方案 ,  这里说的这个文案可以自由修改, 比如填写"来自android 客户端"  , "来自火星智能手机", " 来自手机内容" 等~

另外:PW8.7已经集成了这个方法, 以下仅对低于8.7的版本有效


添加数据库字段:
    
  1. ALTER TABLE `pw_threads` ADD `frommob` TINYINT( 3 ) NOT NULL ;
  2. ALTER TABLE `pw_posts` ADD `frommob` TINYINT( 3 ) NOT NULL ;

或者下载附件执行,
    将文件update_frommob.php 放置到站点根目录,打开浏览器访问
    Http://www.***.com/update_frommob.php

更新代码
打开:
    Lib/forum/post.class.php
查找:
    function code_check($code){
        $this->code_id++;
        $this->code_htm[$this->code_id] = '[ code]' . str_replace('\\"','"',$code) . '[ /code]';
        return "<\twind_phpcode_{$this->code_id}\t>";
    }
在下面添加:
  1. function setPostFromMob(){
  2.         $phoneSystem = $this->_getHeaderInfoByType('SYS');
  3.         $this->data['frommob'] = $phoneSystem;
  4.     }
  5.     function _getHeaderInfoByType($type){
  6.         $headerInfo = S::getServer('HTTP_INFO');
  7.         $headerInfo = explode(';',$headerInfo);
  8.         foreach ($headerInfo as $key => $value) {
  9.             list($k,$v) = explode('=',$value);
  10.             $result[$k] = $v;
  11.         }
  12.         return $this->_getPhoneSystemType($result[$type]);
  13.     }
  14.     function _getPhoneSystemType($name) {
  15.         $name = strtolower($name);
  16.         $phone = array('android' => 1, 'iphone' => 2);
  17.         return $phone[$name];
  18.     }


打开:
    Lib/forum/replypost.class.php
查找:
    'ifhide' => $this->data['hideatt']
改成:
    
  1. 'ifhide' => $this->data['hideatt'],
  2.     'frommob' => $this->data['frommob']



打开:
    Lib/forum/topicpost.class.php
查找:
    'modelid' => $this->data['modelid']
改成:
  1. 'modelid' => $this->data['modelid'],
  2.     'frommob' => $this->data['frommob']



打开:
    Mclientapi/api/thread.class.php
查找:
    $postdata->setIfsign($usesign, $usehtml);(约220行)
在下面添加:
    
  1. $postdata->setPostFromMob();



查找:
$postdata->setContent($content);(约307行)
在下面添加:
    
  1. $postdata->setPostFromMob();


打开:
    Template/wind/read.htm
查找:
    $read[content]
在下面添加(注:在内容来源处的链接标签中填写你希望链接的地址):
<!--
EOT;
if($read[frommob]){
$phoneSystem = $read[frommob] == 1 ? 'Android' : ($read[frommob] == 2 ? 'iphone' : '');
print<<<EOT
-->
                                                <p class="phone"><a href="" target="_blank”>内容来自{$phoneSystem}手机客户端</a></p>
<!--
EOT;
}print<<<EOT
-->        

不修改也可以正常使用,只不过用手机发帖木有明显标识~~



演示地址:http://www.phpwind.net/read-htm-tid-1493011.html




客户端及版本等新消息请关注 新浪微博@某骨头 .


离线loufangkai

发帖
385
金钱
8
威望
1
只看该作者 沙发  发表于: 2011-08-31
前排支持
离线小李同志

发帖
502
金钱
315
威望
17
只看该作者 板凳  发表于: 2011-08-31
又见骨头兄,一直是给力派的啊
离线115948080

发帖
1100
金钱
8
威望
-21
只看该作者 3楼 发表于: 2011-09-01
不错
离线lvtao_baby

发帖
129
金钱
549
威望
43
只看该作者 4楼 发表于: 2011-09-01
骨头给力呀
期待8.7正式版
离线buttflyli

发帖
9623
金钱
277
威望
1405
只看该作者 5楼 发表于: 2011-09-01
等待正式版
离线xyljx

发帖
94
金钱
210
威望
7
只看该作者 6楼 发表于: 2011-09-01
回 楼主(骨头) 的帖子
Lib/forum/post.class.php   修改 GBK版本  提示编码不正确  覆盖后会导致发帖页面不显示 求解决方案
离线黄瓜211314

发帖
7017
金钱
7
威望
1009
只看该作者 7楼 发表于: 2011-09-02
在线enet

发帖
1239
金钱
417
威望
156
只看该作者 8楼 发表于: 2011-09-02
效果没有官方的漂亮啊,第一来自什么什么和内容唉得太近了
离线wangjiaju1

发帖
1638
金钱
3
威望
2307
只看该作者 9楼 发表于: 2011-09-02
这个是什么
离线16119014

发帖
263
金钱
271
威望
66
只看该作者 10楼 发表于: 2011-09-02
为什么不直接做好,反而要用户自行修改呢?
离线yanhailou

发帖
9924
金钱
1879
威望
487
只看该作者 11楼 发表于: 2011-09-04
最怕改文件了
                     香港空间
离线全能骑士

发帖
36
金钱
3
威望
-1
只看该作者 12楼 发表于: 2011-09-15
我先申请的客户端制作,事后再根据教程改了显示来自客户端的字样,但改过代码之后,发帖回帖都失败,请问是要重新制作apk么  求解释啊
离线溧水114

发帖
317
金钱
596
威望
-1
只看该作者 13楼 发表于: 2011-09-20
按照官方的办法修改后,在电脑上发帖,回帖,编辑,均失败。

建议官方提供一下修改过的懒人包。
离线115948080

发帖
1100
金钱
8
威望
-21
只看该作者 14楼 发表于: 2011-09-23
Lib/forum/tpoicpost.class.php
  这个文件貌似没有  是不是官方写错了
快速回复
限80 字节
温馨提示:欢迎交流讨论,请勿纯表情、纯引用!
 
上一个 下一个