歡迎光臨, 訪客. 請先 登入註冊一個帳號.
四月 25, 2024, 07:27:50 上午
19595 文章 在 3865 主題 由 4580 會員
最新註冊會員: aa123aa1
LifeType 中文開發論壇  |  開發  |  外掛程式  |  如果是xoops与plog的整合,又如何? « 上篇主題 下篇主題 »
頁: [1] 2
作者 主題: 如果是xoops与plog的整合,又如何?  (閱讀 56541 次)
evolutec
新手見習
*
文章: 13


檢視個人資料
« 於: 十月 10, 2005, 04:24:22 下午 »

看了这个贴 http://forum.lifetype.org.tw/index.php?topic=1118.0

我目前只是在xoops的user注册时加了一个激活blog选项,当选择激活时,会在plog的user和blog表中生成相应记录,虽然比较土,但我实在是没别的办法了。

按Mark老大有一个贴子中的两个假设前提(验证搞定、会PHP,我其实都不符合),我首先没用移植用户验证,而还是由plog自己验证自己的,我的
想法是,只要plog的Session存在,那么plog的其他代码几乎可以一行不动,这样可以保持plog自身的稳定性,因为我也不需要xoops和plog完美融和,而只要能不再重复登录就可以了。

目前想要使得用户在xoops登录后,就可以直接进入blog(blog的用户名和密码与xoops一致),该如何做?

看了前面的代码,但确实仍不知如何下手,因为plog中有很多引用、模板之类的,还没搞懂,也就是说,都不知道该从哪个文件入手,试过在adminloginaction.class.php,users.class.php,adminaction.class.php,甚至是根目录下的admin.php都没有搞好。

我的问题是,如何在禁用掉原来plog自己的用户认证?想要直接进入http://localhost/blog/admin.php?op=blogSelect&blogId=1,看来也不能够,我在adminloginaction.class.php里,把$this->_request->getValue( "userName" )的_request->getValue("userName")替换成常量,也就是直接把密码写在这里,发现,还是不能直接进入http://localhost/blog/admin.php?op=blogSelect&blogId=1页面。

也曾试过在地址栏里http://localhost/blog/admin.php?op=blogSelect&blogId=1后面加上&userName=XXX&userPassword=XXX来访问,也还是被跳转到了登录界面。
« 最後編輯時間: 十月 12, 2005, 10:48:18 下午 由 markwu » 已記錄
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #1 於: 十月 10, 2005, 06:23:50 下午 »

mmm..... 不就是上一篇的開頭嗎?在 xoops 的登入中加入下面這一段程式讓他產生 pLog 的 session:

程式碼:
// 產生一個新的 user 物件
$users = new Users();
// 取得 userInfo 物件 (透過正確的 username 與 password)
$userInfo = $users->getUserInfo( $userName, $userPassword );
// 取得使用者的 blog list
$userBlogs = $users->getUsersBlogs( $userInfo->getId(), BLOG_STATUS_ACTIVE );
// 用第一個 blog 來當作 blogID,並取得這個 blog ID 的 blogInfo
$blogInfo = end( $userBlogs );
// 取得 session
$session = HttpVars::getSession();
$sessionInfo = $session["SessionInfo"];
// 並且把資料寫入session
$sessionInfo->setValue( "userInfo", $userInfo );
$sessionInfo->setValue( "blogInfo", $blogInfo );
$session["SessionInfo"] = $sessionInfo;
HttpVars::setSession( $session );

別忘了,該 include 的程式還是都得 include,這只是 example。

Mark
已記錄

evolutec
新手見習
*
文章: 13


檢視個人資料
« 回覆文章 #2 於: 十月 11, 2005, 04:24:40 下午 »

我现在把这段放在xoops的include/checklogin.php里,因为我发现这里有xoops的session创建段。但是由于plog的类很多时候的互相引用是用PLOG_CLASS_PATH,而我试图在checklogin.php里定义这个PLOG_CLASS_PATH,发现不能使用相对路径,而使用绝对路径时,比如用define('PLOG_CLASS_PATH','C:/appserv/www/blog/');,又发现在include时有的类与xoops原本的类重合(比如Smarty.class.php ),

请Mark能否告知确切的创建这个Session,究竟要引用哪几个类?如果发生上述的类声明冲突的情况,应该如何处理?

谢谢了,很多问题可能都问的很基础 害羞

下面是我加入的代码段

define('PLOG_CLASS_PATH','C:/appserv/www/blog/');
    include_once( PLOG_CLASS_PATH."class/controller/admincontroller.class.php" );
    include_once( PLOG_CLASS_PATH."class/net/http/session/sessionmanager.class.php" );
    include_once( PLOG_CLASS_PATH."class/dao/userinfo.class.php" );
    include_once( PLOG_CLASS_PATH."class/dao/bloginfo.class.php" );
    include_once( PLOG_CLASS_PATH."class/plugin/pluginmanager.class.php" );
$session = HttpVars::getSession();
$sessionInfo = $session["SessionInfo"];
$sessionInfo->setValue( "userInfo", $userInfo );
$sessionInfo->setValue( "blogInfo", $blogInfo );
$session["SessionInfo"] = $sessionInfo;
HttpVars::setSession( $session );

这里还没做取得用户信息和blog信息的工作,因为可能还是会用到plog的某些方法或类,真是很困扰 疑惑

另外,我的目录结构是xoops其下是blog,类似如下
c:\appserv\www
..
modules
class
blog
    class
    ..       
已記錄
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #3 於: 十月 11, 2005, 05:37:52 下午 »

请Mark能否告知确切的创建这个Session,究竟要引用哪几个类?如果发生上述的类声明冲突的情况,应该如何处理?

谢谢了,很多问题可能都问的很基础 害羞

下面是我加入的代码段

define('PLOG_CLASS_PATH','C:/appserv/www/blog/');
    include_once( PLOG_CLASS_PATH."class/controller/admincontroller.class.php" );
    include_once( PLOG_CLASS_PATH."class/net/http/session/sessionmanager.class.php" );
    include_once( PLOG_CLASS_PATH."class/dao/userinfo.class.php" );
    include_once( PLOG_CLASS_PATH."class/dao/bloginfo.class.php" );
    include_once( PLOG_CLASS_PATH."class/plugin/pluginmanager.class.php" );
$session = HttpVars::getSession();
$sessionInfo = $session["SessionInfo"];
$sessionInfo->setValue( "userInfo", $userInfo );
$sessionInfo->setValue( "blogInfo", $blogInfo );
$session["SessionInfo"] = $sessionInfo;
HttpVars::setSession( $session );

你所列的已經很完整了!很棒!

你是以經執行過,但是卻發生錯誤嗎?如果是,請把錯誤訊息一起放上來才能幫你看。

Mark
已記錄

evolutec
新手見習
*
文章: 13


檢視個人資料
« 回覆文章 #4 於: 十月 11, 2005, 11:06:37 下午 »

就是在xoops的界面登录后就后出现一个空白窗口,只有一行字,我查了一下,发现这个同名文件在plog的class和xoops的class目录下都存在。
Fatal error: Cannot redeclare class smarty in c:\appserv\www\class\smarty\Smarty.class.php on line 61

我试了下,如果删掉plog下的这个文件就会报下面的错

Exception message: main(C:/appserv/www/blog/class/template/smarty/Smarty.class.php): failed to open stream: No such file or directory
Error code: 2
-- Backtrace --
C:\appserv\www\blog\class\template\template.class.php(19): include_once
C:\appserv\www\blog\class\template\templateservice.class.php(4): include_once
C:\appserv\www\blog\class\action\admin\adminaction.class.php(6): include_once
C:\appserv\www\blog\class\plugin\pluginbase.class.php(21): include_once
C:\appserv\www\blog\class\plugin\pluginmanager.class.php(10): include_once
C:\appserv\www\blog\class\locale\locales.class.php(7): include_once
C:\appserv\www\blog\class\data\timestamp.class.php(5): include_once
C:\appserv\www\blog\class\dao\article.class.php(5): include_once
C:\appserv\www\blog\class\dao\articles.class.php(4): include_once
C:\appserv\www\blog\class\dao\blogs.class.php(7): include_once
C:\appserv\www\blog\class\dao\bloginfo.class.php(7): include_once
C:\appserv\www\blog\class\controller\admincontroller.class.php(4): include_once
c:\appserv\www\include\checklogin.php(88): include_once
c:\appserv\www\user.php(67): include_once

Exception message: main(): Failed opening 'C:/appserv/www/blog/class/template/smarty/Smarty.class.php' for inclusion (include_path='.;c:\php4\pear')
Error code: 2
-- Backtrace --
C:\appserv\www\blog\class\template\template.class.php(19): include_once
C:\appserv\www\blog\class\template\templateservice.class.php(4): include_once
C:\appserv\www\blog\class\action\admin\adminaction.class.php(6): include_once
C:\appserv\www\blog\class\plugin\pluginbase.class.php(21): include_once
C:\appserv\www\blog\class\plugin\pluginmanager.class.php(10): include_once
C:\appserv\www\blog\class\locale\locales.class.php(7): include_once
C:\appserv\www\blog\class\data\timestamp.class.php(5): include_once
C:\appserv\www\blog\class\dao\article.class.php(5): include_once
C:\appserv\www\blog\class\dao\articles.class.php(4): include_once
C:\appserv\www\blog\class\dao\blogs.class.php(7): include_once
C:\appserv\www\blog\class\dao\bloginfo.class.php(7): include_once
C:\appserv\www\blog\class\controller\admincontroller.class.php(4): include_once
c:\appserv\www\include\checklogin.php(88): include_once
c:\appserv\www\user.php(67): include_once

Fatal error: Class template: Cannot inherit from undefined class smarty in C:\appserv\www\blog\class\template\template.class.php on line 40

如果删掉XOOPS下的这个文件,就会报下面的错

Exception message: main(c:/appserv/www/class/smarty/Smarty.class.php): failed to open stream: No such file or directory
Error code: 2
-- Backtrace --
c:\appserv\www\class\template.php(38): require_once
c:\appserv\www\include\functions.php(378): require_once
c:\appserv\www\include\checklogin.php(137): redirect_header
c:\appserv\www\user.php(67): include_once

Fatal error: main(): Failed opening required 'c:/appserv/www/class/smarty/Smarty.class.php' (include_path='.;c:\php4\pear') in c:\appserv\www\class\template.php on line 38

已記錄
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #5 於: 十月 12, 2005, 09:34:30 上午 »

當然不能直接刪除,因為 xoops 與 plog 都是用 smarty 來作為 template engine...

你把你程式中的

程式碼:
include_once( PLOG_CLASS_PATH."class/controller/admincontroller.class.php" );
include_once( PLOG_CLASS_PATH."class/plugin/pluginmanager.class.php" );

這兩行刪除。應該就可以了!因為他們重複 include smarty ...

不過我其實不建議你把 plog 放到 xoops,同時放到 /root/plog 與 /root/xoops 是比較好的方式。

Mark
« 最後編輯時間: 十月 12, 2005, 09:36:04 上午 由 markwu » 已記錄

evolutec
新手見習
*
文章: 13


檢視個人資料
« 回覆文章 #6 於: 十月 12, 2005, 01:15:50 下午 »

去掉了
include_once( PLOG_CLASS_PATH."class/controller/admincontroller.class.php" );
include_once( PLOG_CLASS_PATH."class/plugin/pluginmanager.class.php" );

这两行,仍旧提示redeclare错误,还是Smarty

Fatal error: Cannot redeclare class smarty in c:\appserv\www\class\smarty\Smarty.class.php on line 61

并且通过搜索我看到引用Smarty.class.php的分别是xoops和blog里的template.php和template.class.php,有没有办法再引用前检测该文件是否include过或require过?我在这两个文件里改一下,也许有用。
已記錄
evolutec
新手見習
*
文章: 13


檢視個人資料
« 回覆文章 #7 於: 十月 12, 2005, 02:30:26 下午 »

我先不管那个redeclare了,因为他虽名为fatal,我看也没如何fatal 目瞪口呆。程序的很多部分还是能运行,我是在xoops的checklogin里的xoops session创建后加了下面这段.

   define('PLOG_CLASS_PATH','C:/appserv/www/blog/');

   include_once( PLOG_CLASS_PATH."class/dao/bloginfo.class.php" );
                     include_once( PLOG_CLASS_PATH."class/dao/users.class.php" );
   include_once( PLOG_CLASS_PATH."class/net/http/session/sessioninfo.class.php" );

   $users = new Users();
   $blogs = new Blogs();

   $userInfo = $users->getUserInfoFromId($user->getVar('uid'));
   $blogInfo = $blogs->getBlogInfo($user->getVar('blogid'));
                     
                     //因为我在xoops_users表里加了blogid并在用户激活blog时在这个字段写入了值,所以我直接用到了blogs里的getBlogInfo,通过echo显示了一下获得的userInfo和blogInfo(通过get他们的Id或Name),可以看到这两个Info生成是正确的

             
   $plog_session = HttpVars::getSession();

   if( !$plog_session["SessionInfo"] )
      $plog_session["SessionInfo"] = new SessionInfo();

   $plog_sessionInfo = $plog_session["SessionInfo"];   
   $plog_sessionInfo->setValue( "userInfo", $userInfo );
   $plog_sessionInfo->setValue( "blogInfo", $blogInfo );
   $plog_session["SessionInfo"] = $plog_sessionInfo;
   HttpVars::setSession( $plog_session );

现在的问题是,我没法确认后来生成的plog_session是否有效,因为他生成后,我访问admin.php?op=select......还是被转到了plog的登录界面,Mark请指教。 嚎啕大哭
已記錄
evolutec
新手見習
*
文章: 13


檢視個人資料
« 回覆文章 #8 於: 十月 12, 2005, 09:52:39 下午 »

老大,是不是我问的问题在论坛里有答案(因此,我可能违反了提问规则),如果是,请告知,我也好搜啊。
已記錄
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #9 於: 十月 12, 2005, 10:49:26 下午 »

老大,是不是我问的问题在论坛里有答案(因此,我可能违反了提问规则),如果是,请告知,我也好搜啊。

何必那麼想呢?因為我今天忙了一天啊!我沒有辦法時時都在論壇旁只為了回答問題,不是嗎? ...   微笑

另外我把他從原主題分開了,因為跟原主題實在是無關!

Mark
« 最後編輯時間: 十月 13, 2005, 10:56:06 上午 由 markwu » 已記錄

markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #10 於: 十月 12, 2005, 11:06:45 下午 »

anyway,可以請你把你修改的原始程式整個貼上來嗎?這樣實在很難猜。還有你的 pLog/xoops 的版本是?

另外,你必須附上整個 error  的 stack trace, 光這樣一行

引用
Fatal error: Cannot redeclare class smarty in c:\appserv\www\class\smarty\Smarty.class.php on line 61

我實在是不會猜。  傷心

Mark
« 最後編輯時間: 十月 12, 2005, 11:09:43 下午 由 markwu » 已記錄

LiP
新手見習
*
文章: 43


MyZephyr


檢視個人資料 個人網站
« 回覆文章 #11 於: 十月 13, 2005, 03:38:49 上午 »

加油~!!!

現在的 XOOPS 越來越實用,若可以和 pLog 這個超級怪獸級的網誌系統整合更是相得益彰!!!
可惜 evolutec 上面的那堆指令我實在看沒有....希望 evolutec 早日成功~

可以插花問一下....
不知道 evolutec 的 XOOPS 是哪個語系版本???
若假以時日可以將兩個系統整合的時候,不知道XOOPS的語系版本是否有影響???
因為 pLog 是 UTF-8 ,而自己一直以來使用的 XOOPS 都是繁體中文版本....
需要將 XOOPS 換成 UTF-8 的版本才能執行整合的動作嘛???
已記錄

:: ■PowerOS無限誌 :: ■激走無限 ::
FreeBSD - 6.1
Apache - 2.0.59
PHP - 4.4.4
MySQL - 4.0.27
evolutec
新手見習
*
文章: 13


檢視個人資料
« 回覆文章 #12 於: 十月 13, 2005, 12:09:19 下午 »

引用自: markwu
何必那麼想呢?因為我今天忙了一天啊!我沒有辦法時時都在論壇旁只為了回答問題,不是嗎? ...  傷心

另外我把他從原主題分開了,因為跟原主題實在是無關!

Mark
感谢Mark这样有耐心,其实我真的没有责怪的意思,只是怕我违反了某些论坛的规定而又不知道,还在等,耽误了时间。这里道歉了 害羞
我的原始程序如下,其实就是xoops/include下的checklogin.php,中间红色的那段是我加上的。

引用
<?php
// $Id: checklogin.php,v 1.18.2.1 2005/07/01 16:18:07 mithyt2 Exp $
//  ------------------------------------------------------------------------ //
//                XOOPS - PHP Content Management System                      //
//                    Copyright 咖啡杯 2000 XOOPS.org                           //
//                       <http://www.xoops.org/>                             //
//  ------------------------------------------------------------------------ //
//  This program is free software; you can redistribute it and/or modify     //
//  it under the terms of the GNU General Public License as published by     //
//  the Free Software Foundation; either version 2 of the License, or        //
//  (at your option) any later version.                                      //
//                                                                           //
//  You may not change or alter any portion of this comment or credits       //
//  of supporting developers from this source code or any supporting         //
//  source code which is considered copyrighted 咖啡杯 material of the          //
//  original comment or credit authors.                                      //
//                                                                           //
//  This program is distributed in the hope that it will be useful,          //
//  but WITHOUT ANY WARRANTY; without even the implied warranty of           //
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            //
//  GNU General Public License for more details.                             //
//                                                                           //
//  You should have received a copy of the GNU General Public License        //
//  along with this program; if not, write to the Free Software              //
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA //
//  ------------------------------------------------------------------------ //
// Author: Kazumi Ono (AKA onokazu)                                          //
// URL: http://www.xoops.org/ http://jp.xoops.org/  http://www.myweb.ne.jp/  //
// Project: The XOOPS Project (http://www.xoops.org/)                        //
// ------------------------------------------------------------------------- //

if (!defined('XOOPS_ROOT_PATH')) {
    exit();
}
include_once XOOPS_ROOT_PATH.'/language/'.$xoopsConfig['language'].'/user.php';
$uname = !isset($_POST['uname']) ? '' : trim($_POST['uname']);
$pass = !isset($_POST['pass']) ? '' : trim($_POST['pass']);
if ( empty( $_POST['uname'] ) || empty( $_POST['pass'] ) ) { // GIJ security
    redirect_header(XOOPS_URL.'/user.php', 1, _US_INCORRECTLOGIN);
    exit();
}
$member_handler =& xoops_gethandler('member');
$myts =& MyTextsanitizer::getInstance();
// $user =& $member_handler->loginUser($myts->addSlashes($uname), $myts->addSlashes($pass));
// uname&email hack GIJ
$uname4sql = addslashes( $myts->stripSlashesGPC($uname) ) ;
$pass4sql = addslashes( $myts->stripSlashesGPC($pass) ) ;
if( strstr( $uname , '@' ) ) {
   // check by email if uname includes '@'
   $criteria = new CriteriaCompo(new Criteria('email', $uname4sql ));
   $criteria->add(new Criteria('pass', md5( $pass4sql )));
   $user_handler =& xoops_gethandler('user');
   $users =& $user_handler->getObjects($criteria, false);
   if( empty( $users ) || count( $users ) != 1 ) $user = false ;
   else $user = $users[0] ;
   unset( $users ) ;
}
if( empty( $user ) || ! is_object( $user ) ) {
   $user =& $member_handler->loginUser($uname4sql,$pass4sql);
}
// end of uname&email hack GIJ

if (false != $user) {
    if (0 == $user->getVar('level')) {
        redirect_header(XOOPS_URL.'/index.php', 5, _US_NOACTTPADM);
        exit();
    }
    if ($xoopsConfig['closesite'] == 1) {
        $allowed = false;
        foreach ($user->getGroups() as $group) {
            if (in_array($group, $xoopsConfig['closesite_okgrp']) || XOOPS_GROUP_ADMIN == $group) {
                $allowed = true;
                break;
            }
        }
        if (!$allowed) {
            redirect_header(XOOPS_URL.'/index.php', 1, _NOPERM);
            exit();
        }
    }
    $user->setVar('last_login', time());
    if (!$member_handler->insertUser($user)) {
    }
    $_SESSION = array();

     $_SESSION['xoopsUserId'] = $user->getVar('uid');
    $_SESSION['xoopsUserGroups'] = $user->getGroups();
    if ($xoopsConfig['use_mysession'] && $xoopsConfig['session_name'] != '') {
        setcookie($xoopsConfig['session_name'], session_id(), time()+(60 * $xoopsConfig['session_expire']), '/',  '', 0);
    }
    $user_theme = $user->getVar('theme');
    if (in_array($user_theme, $xoopsConfig['theme_set_allowed'])) {
        $_SESSION['xoopsUserTheme'] = $user_theme;
    }
    if (!empty($_POST['xoops_redirect']) && !strpos($_POST['xoops_redirect'], 'register')) {
        $parsed = parse_url(XOOPS_URL);
        $url = isset($parsed['scheme']) ? $parsed['scheme'].'://' : 'http://';
        if (isset($parsed['host'])) {
            $url .= isset($parsed['port']) ?$parsed['host'].':'.$parsed['port'].trim($_POST['xoops_redirect']): $parsed['host'].trim($_POST['xoops_redirect']);
        } else {
            $url .= xoops_getenv('HTTP_HOST').trim($_POST['xoops_redirect']);
        }
    } else {
        $url = XOOPS_URL.'/index.php';
    }
引用
   
   //Edited by MQY Begin ===================

   define('PLOG_CLASS_PATH','C:/appserv/www/blog/');

   include_once( PLOG_CLASS_PATH."class/dao/bloginfo.class.php" );
    include_once( PLOG_CLASS_PATH."class/dao/users.class.php" );
   include_once( PLOG_CLASS_PATH."class/net/http/session/sessioninfo.class.php" );

   $users = new Users();
   $blogs = new Blogs();

   $userInfo = $users->getUserInfoFromId($user->getVar('uid'));
   $blogInfo = $blogs->getBlogInfo($user->getVar('blogid'));

   $plog_session = HttpVars::getSession();

   if( !$plog_session["SessionInfo"] )
      $plog_session["SessionInfo"] = new SessionInfo();
   HttpVars::setSession( $plog_session );
   $plog_sessionInfo = $plog_session["SessionInfo"];   
   $plog_sessionInfo->setValue( "userInfo", $userInfo );
   $plog_sessionInfo->setValue( "blogInfo", $blogInfo );
   $plog_session["SessionInfo"] = $plog_sessionInfo;
   
   

   //Edited by MQY Ended ===================

引用
   // autologin hack GIJ (set cookie)
   $xoops_cookie_path = defined('XOOPS_COOKIE_PATH') ? XOOPS_COOKIE_PATH : preg_replace( '?http://[^/]+(/.*)$?' , "$1" , XOOPS_URL ) ;
   if( $xoops_cookie_path == XOOPS_URL ) $xoops_cookie_path = '/' ;
   if (!empty($_POST['rememberme'])) {
      $expire = time() + ( defined('XOOPS_AUTOLOGIN_LIFETIME') ? XOOPS_AUTOLOGIN_LIFETIME : 604800 ) ; // 1 week default
      setcookie('autologin_uname', $user->getVar('uname'), $expire, $xoops_cookie_path, '', 0);
      setcookie('autologin_pass', $user->getVar('pass'), $expire, $xoops_cookie_path, '', 0);
   }
   // end of autologin hack GIJ

    // RMV-NOTIFY
    // Perform some maintenance of notification records
    $notification_handler =& xoops_gethandler('notification');
    $notification_handler->doLoginMaintenance($user->getVar('uid'));

    redirect_header($url, 1, sprintf(_US_LOGGINGU, $user->getVar('uname')));
} else {

    redirect_header(XOOPS_URL.'/user.php',1,_US_INCORRECTLOGIN);
}
exit();
?>

此外,这段程序的报错就只有我上边贴出的一行,就是
引用
Fatal error: Cannot redeclare class smarty in c:\appserv\www\class\smarty\Smarty.class.php on line 61




引用自: Lip
加油~!!!

現在的 XOOPS 越來越實用,若可以和 pLog 這個超級怪獸級的網誌系統整合更是相得益彰!!!
可惜 evolutec 上面的那堆指令我實在看沒有....希望 evolutec 早日成功~

可以插花問一下....
不知道 evolutec 的 XOOPS 是哪個語系版本???
若假以時日可以將兩個系統整合的時候,不知道XOOPS的語系版本是否有影響???
因為 pLog 是 UTF-8 ,而自己一直以來使用的 XOOPS 都是繁體中文版本....
需要將 XOOPS 換成 UTF-8 的版本才能執行整合的動作嘛???
谢谢Lip的鼓励,我现在的整合很土,在xoops注册时在blog的user表和blog表里写记录,并且在xoops的user表里设actblog=1和blogid,由于blog的语系是UTF-8,而xoops的是中文,所以,我就在向blog写表的时候用了iconv('A语系','B语系',要写入的字段),比如我用的GBK所以写入时就是iconv('GBK','UTF-8',$user)(因为我是把xoops的uname默认为blog的用户名和blog名称,而此后如果他想改blog用户还可以自己改),而所有的管理还是在blog,我只是在xoops搞了一个模组,并从blog的articles表里取出文章以各种形式排在页面中,而浏览时还是进入blog自己的页面,所以目前还没有遇到编码的问题,我打算把自动创建Session的问题解决就告一段落了。

« 最後編輯時間: 十月 13, 2005, 12:17:33 下午 由 evolutec » 已記錄
evolutec
新手見習
*
文章: 13


檢視個人資料
« 回覆文章 #13 於: 十月 18, 2005, 12:55:35 下午 »

咦,顶贴不见了?
已記錄
evolutec
新手見習
*
文章: 13


檢視個人資料
« 回覆文章 #14 於: 十月 19, 2005, 04:30:15 下午 »

抽空给回答一下吧?
已記錄
頁: [1] 2
LifeType 中文開發論壇  |  開發  |  外掛程式  |  如果是xoops与plog的整合,又如何? « 上篇主題 下篇主題 »
    前往: