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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

【原创】Discuz! WAP 1.0RC1 流动WAP论坛 For Discuz! 2.5F/SP1 正式发布!

[复制链接]
8度空间 发表于 2005-6-19 23:54:25 | 显示全部楼层 |阅读模式
演示: http://www.8talk.net/wap/

作者:凡人·八度空间论坛 (friends@8talk.net)
安装需求:Discuz 2.5F/2.5FSP1
安装程度:简单
修改文件:
/include
- common.php

插件功能:仿D4RC4使用流动WAP登录论坛完全正式版本。
暂时只发布GB2312简体和Big5繁体版,unicode转义版本需要php4.3.x以上只支持GB2312编码论坛。

开发心路:

  今天,无所事事的我突然间心血来潮,决定研究倍受关注的手机游览论坛WML(Wireless Markup Language)界面。参考并采用了Discuz! Archiver的编码,在极短的时间(一个多小时)内开发了个简单的wap版本。这个版本暂时不能支持用户登录,也不能游览有权限设置的论坛,是以Discuz Archiver为蓝本开发的,现在公开让大家先睹为快,顺便测试,手机游览方面还有一些问题待解决,尤其是字数很多的帖子。如时间允许,我会持续开发,希望开发能支持登录论坛和发布帖子的版本。

  在这里要先注明,我开发的WAP插件,将如我一贯的作风,绝对是免费版本。


安装:

1.打开include/common.php

查找:

  1. if($sid) {
  2.         if($discuz_uid) {
  3.                 $query = $db->query("SELECT s.sid, s.styleid, s.groupid='6' AS ipbanned, $userinfo FROM $table_sessions s, $table_members m WHERE m.uid=s.uid AND s.sid='$sid' AND CONCAT_WS('.',s.ip1,s.ip2,s.ip3,s.ip4)='$onlineip' AND m.uid='$discuz_uid' AND m.password='$discuz_pw' AND m.secques='$discuz_secques'");
  4.         } else {
  5.                 $query = $db->query("SELECT sid, uid AS sessionuid, groupid, groupid='6' AS ipbanned, styleid FROM $table_sessions WHERE sid='$sid' AND CONCAT_WS('.',ip1,ip2,ip3,ip4)='$onlineip'");
  6.         }
  7.         if($_DSESSION = $db->fetch_array($query)) {
  8.                 $sessionexists = 1;
  9.                 if(!empty($_DSESSION['sessionuid'])) {
  10.                         $query = $db->query("SELECT $userinfo FROM $table_members m WHERE uid='$_DSESSION[sessionuid]'");
  11.                         $_DSESSION = array_merge($_DSESSION, $db->fetch_array($query));
  12.                         $is_sessionuser = 1;
  13.                 }
  14.         } else {
  15.                 $query = $db->query("SELECT sid, groupid, groupid='6' AS ipbanned, styleid FROM $table_sessions WHERE sid='$sid' AND CONCAT_WS('.',ip1,ip2,ip3,ip4)='$onlineip'");
  16.                 if($_DSESSION = $db->fetch_array($query)) {
  17.                         clearcookies();
  18.                         $sessionexists = 1;
  19.                 }
  20.         }
  21. }
  22. if(!$sessionexists) {
  23.         if($discuz_uid) {
  24.                 $query = $db->query("SELECT $userinfo ,m.styleid FROM $table_members m WHERE uid='$discuz_uid' AND password='$discuz_pw' AND secques='$discuz_secques'");
  25.                 if(!($_DSESSION = $db->fetch_array($query))) {
  26.                         clearcookies();
  27.                 }
  28.         }

  29.         if(ipbanned($onlineip)) {
  30.                 $_DSESSION['ipbanned'] = 1;
  31.         }

  32.         $sid = random(6);
  33. }
复制代码


替换为:


  1. if($sid) {
  2.         if(!defined('IN_WAP')) {
  3.         if($discuz_uid) {
  4.                 $query = $db->query("SELECT s.sid, s.styleid, s.groupid='6' AS ipbanned, $userinfo FROM $table_sessions s, $table_members m WHERE m.uid=s.uid AND s.sid='$sid' AND CONCAT_WS('.',s.ip1,s.ip2,s.ip3,s.ip4)='$onlineip' AND m.uid='$discuz_uid' AND m.password='$discuz_pw' AND m.secques='$discuz_secques'");
  5.         } else {
  6.                 $query = $db->query("SELECT sid, uid AS sessionuid, groupid, groupid='6' AS ipbanned, styleid FROM $table_sessions WHERE sid='$sid' AND CONCAT_WS('.',ip1,ip2,ip3,ip4)='$onlineip'");
  7.         }
  8.         if($_DSESSION = $db->fetch_array($query)) {
  9.                 $sessionexists = 1;
  10.                 if(!empty($_DSESSION['sessionuid'])) {
  11.                         $query = $db->query("SELECT $userinfo FROM $table_members m WHERE uid='$_DSESSION[sessionuid]'");
  12.                         $_DSESSION = array_merge($_DSESSION, $db->fetch_array($query));
  13.                         $is_sessionuser = 1;
  14.                 }
  15.         } else {
  16.                 $query = $db->query("SELECT sid, groupid, groupid='6' AS ipbanned, styleid FROM $table_sessions WHERE sid='$sid' AND CONCAT_WS('.',ip1,ip2,ip3,ip4)='$onlineip'");
  17.                 if($_DSESSION = $db->fetch_array($query)) {
  18.                         clearcookies();
  19.                         $sessionexists = 1;
  20.                 }
  21.         }
  22.         }
  23.         else{
  24.         if($discuz_uid) {
  25.                 $query = $db->query("SELECT s.sid, s.styleid, s.groupid='6' AS ipbanned, $userinfo FROM $table_sessions s, $table_members m WHERE m.uid=s.uid AND s.sid='$sid' AND CONCAT_WS('.',s.ip1,s.ip2,s.ip3,s.ip4)='$onlineip' AND m.uid='$discuz_uid' AND m.password='$discuz_pw'");
  26.         } else {
  27.                 $query = $db->query("SELECT sid, uid AS sessionuid, groupid, groupid='6' AS ipbanned, styleid FROM $table_sessions WHERE sid='$sid' AND CONCAT_WS('.',ip1,ip2,ip3,ip4)='$onlineip'");
  28.         }
  29.         if($_DSESSION = $db->fetch_array($query)) {
  30.                 $sessionexists = 1;
  31.                 if(!empty($_DSESSION['sessionuid'])) {
  32.                         $query = $db->query("SELECT $userinfo FROM $table_members m WHERE uid='$_DSESSION[sessionuid]'");
  33.                         $_DSESSION = array_merge($_DSESSION, $db->fetch_array($query));
  34.                         $is_sessionuser = 1;
  35.                 }
  36.         } else {
  37.                 $query = $db->query("SELECT sid, groupid, groupid='6' AS ipbanned, styleid FROM $table_sessions WHERE sid='$sid' AND CONCAT_WS('.',ip1,ip2,ip3,ip4)='$onlineip'");
  38.                 if($_DSESSION = $db->fetch_array($query)) {
  39.                         clearcookies();
  40.                         $sessionexists = 1;
  41.                 }
  42.         }
  43.         }
  44. }
  45. if(!$sessionexists) {
  46.         if(!defined('IN_WAP')) {
  47.         if($discuz_uid) {
  48.                 $query = $db->query("SELECT $userinfo ,m.styleid FROM $table_members m WHERE uid='$discuz_uid' AND password='$discuz_pw' AND secques='$discuz_secques'");
  49.                 if(!($_DSESSION = $db->fetch_array($query))) {
  50.                         clearcookies();
  51.                 }
  52.         }
  53.         if(ipbanned($onlineip)) {
  54.                 $_DSESSION['ipbanned'] = 1;
  55.         }
  56.         $sid = random(6);
  57.         } else {
  58.         if($discuz_uid) {
  59.                 $query = $db->query("SELECT $userinfo ,m.styleid FROM $table_members m WHERE uid='$discuz_uid' AND password='$discuz_pw'");
  60.                 if(!($_DSESSION = $db->fetch_array($query))) {
  61.                         clearcookies();
  62.                 }
  63.         }
  64.         if(ipbanned($onlineip)) {
  65.                 $_DSESSION['ipbanned'] = 1;
  66.         }
  67.         $sid = random(6);
  68.         }
  69. }
复制代码


2.设置附件中wap/include目录内的config.inc.php($wapcharset函数除外)。

3.把文件包含目录上载到论坛根目录就行了。需要配合主机使用。

开发进度:

2005-06-20 凌晨12:00
- 第一版本0.5beta公开发布测试。

2005-06-21 凌晨1:00
- 支持通过主机php直接转换GB2312码论坛为据更佳兼容性的Unicode UTF-8码WAP负页(需要主机设定和php版本支持)。(D4官方的WAP负页亦采用Unicode码
- 允许用户登录的版本开发顺利进行中,已经完成了会员登录游览论坛,解决了第一版本会员无法游览设置权限的论坛。手机登录支持用户名与UID,不须使用安全提问,但不开放手机用户更该账户资料,确保更佳的安全性。接下来将开发通过手机发帖/回帖和发布接收短消息,对过长的帖子进行分页处理。
- 夜了,今晚到此为止,明晚继续。。。

2005-06-23 凌晨3:00
- 休息了一天,开工了,完成会员投票,成功对过长的帖子进行分页处理。

2005-06-25 凌晨0:00
- Discuz! 2.5手机WAP登录版本正式完成,公开测试网址:http://www.8talk.net/wap/,由于即时Unicode转义版对本论坛数据里的某些字符出现乱码,所以只开放GB2312码版本。
- 完整版功能:会员登录,发表新主题/回帖,短消息功能,对投票帖子进行投票。

2005-07-09 晚间9:30
- 正式公开发布Discuz! WAP 1.0RC1 For Discuz! 2.5F/2.5SP1

有关论坛主机的WAP设置与技术请查阅:http://myalice.51.net

[ 本帖最后由 8度空间 于 2005-7-10 14:02 编辑 ]

本帖子中包含更多资源

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

x

评分

1

查看全部评分

vaiovr 发表于 2005-6-20 00:43:58 | 显示全部楼层
把插件发出来吧!也给我们测试看看吧!
回复

使用道具 举报

 楼主| 8度空间 发表于 2005-6-20 00:50:53 | 显示全部楼层
还有有些问题啊。。就是encoding的问题。。使用WinWap测试过全是乱码。。。现在修正中。。
回复

使用道具 举报

vaiovr 发表于 2005-6-20 02:36:13 | 显示全部楼层
好的~!期待你的好插件!
回复

使用道具 举报

 楼主| 8度空间 发表于 2005-6-20 03:20:13 | 显示全部楼层
送给大家期待已久的礼物  -> Discuz! Wap 0.5beta For Discuz! 2.5F/2.5SP1
回复

使用道具 举报

第5季 发表于 2005-6-20 04:04:34 | 显示全部楼层
楼主好勤力..零晨三点多也没有睡.值得支持
回复

使用道具 举报

yukkwanf 发表于 2005-6-20 07:21:44 | 显示全部楼层
支持
回复

使用道具 举报

九天 发表于 2005-6-20 07:32:47 | 显示全部楼层
支持!!!
回复

使用道具 举报

不削吃鱼的猫 发表于 2005-6-20 08:20:33 | 显示全部楼层
支持!!
老大真帅。。。
回复

使用道具 举报

 楼主| 8度空间 发表于 2005-6-20 08:50:03 | 显示全部楼层
这只不过是最初步的版本。。成功转成unicode了,晚上继续研发可以登录版本。。。谢谢支持。。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 10:15 , Processed in 0.175543 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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