歡迎光臨, 訪客. 請先 登入註冊一個帳號.
四月 23, 2024, 03:48:08 下午
19595 文章 在 3865 主題 由 4580 會員
最新註冊會員: aa123aa1
  列出文章
頁: [1]
1  開發 / 外掛程式 / Re: lifetype和discuz整合的思路 於: 五月 10, 2007, 09:19:56 上午
光说不做,哈哈,等你来弄呢
2  開發 / 外掛程式 / Re: lifetype和discuz整合的思路 於: 四月 16, 2007, 10:18:23 下午
程式碼:
<?php
/**
 * Updates the information related to a user
 * 
 * @param userInfo $ An UserInfo object containing the <b>already udpated</b> information of the
 * user we would like to update.
 * @return Returns true if ok or false otherwise.
 */
function updateUser$userInfo )
{
$result $this->update$userInfo );
if( $result ) {
// remove the old data
            $this->_cache->removeData$userInfo->getId(), CACHE_USERINFO );
             $this->_cache->removeData$userInfo->getUsername(), CACHE_USERIDBYNAME );
         }

BaseUserDataProvider::updateUser$userInfo );
return $this->updatepLogDzUserData$userInfo ); //nerver change data in dz table , just return the updatepLogDzUserData' return value 
// die("!!!!");
// $query = "UPDATE " . $this->_dzprefix . "members SET
// username = '" . Db::qstr( $userInfo->getUserName() ) . "',
// email = '" . Db::qstr( $userInfo->getEmail() ) . "',
// WHERE uid = '" . Db::qstr( $userInfo->getId() ) . "'"; //todo
// // user_active = '".Db::qstr($userInfo->getPassword())."'
// $result = $this->_dbc->Execute( $query );
// if ( !$result )
// return false;
// BaseUserDataProvider::updateUser( $userInfo );
// // update plog's phpbb2_user table
// $result = $this->updatepLogDzUserData( $userInfo );
// return( $result );
}

/**
 * 
 * @private Why the hell couldn't they make the user_id field auto-incrementable???
 */
function getLastDzUserId()
{
$query "SELECT MAX(uid)+1 AS next_id FROM " $this->_dzprefix "members";

$result $this->_dbc->Execute$query );

$row $result->FetchRow();
$result->Close();

return( $row["next_id"] );
}

/**
 * Adds a user to the database.
 * 
 * @param user $ An UserInfo object with the necessary information
 * @return Returns the identifier assigned to the user, or false if there was any error. It will also modify the
 * UserInfo object passed by parameter and set its database id.
 */
function addUser( & $user )
{
return false//nerver change data in dz table , just tell pblog can not do that
$password $user->getPassword();
$id $this->getLastDzUserId();

$query "INSERT INTO " $this->_dzprefix "user (userid,username,password,useremail)

                  VALUES (
$id, '" Db::qstr$user->getUserName() ) . "','" md5$user->getPassword() ) . "','" .
Db::qstr$user->getEmail() ) . "');";

$result $this->_dbc->Execute$query );

if ( !$result )
return false;

$user->setId$id ); 
// update plog's phpbb2_user table
$this->updatepLogDzUserData$user );

return( $id );
}

/**
 * 
 * @private Updates the plog-specific user data that is used when the dz integration is enabled, since
 * plog has some extra information that does not fit anywhere in dz
 * @param user $ A UserInfo object
 * @return true if successful or false otherwise
 */
function updatepLogDzUserData( & $user )

// is the user already there?
if($user->getStatus()==2)
{
// delete blog
include_once( PLOG_CLASS_PATH "class/dao/blogs.class.php" );
include_once( PLOG_CLASS_PATH "class/dao/bloginfo.class.php" );

$blogs = new Blogs();
$blogsinfoarray $this->getUsersBlogs($user->getId());
//print_r($blogs[0]->getId());die();
foreach($blogsinfoarray as $bloginfo)
{
$blogs->deleteBlog$bloginfo->getId()); 
}
$this->deleteUser($user->getId());

}

if ( $this->getpLogDzUserData$user->getId() ) )
{
//$this->log->debug( "dz user " . $user->getUsername() . " already exists! Running an UPDATE query..." ); 
// we need to run an UPDATE query...
$query "UPDATE " $this->_dzprefix "memberfields

               SET nickname = '" 
Db::qstr$user->getFullName() ) ."' WHERE uid = '" Db::qstr$user->getId() ) . "'"
// bio = '" . Db::qstr( $user->getAboutMyself() ) . "'
// properties = '".Db::qstr( serialize($user->getProperties()))."',
// resource_picture_id = '".Db::qstr( $user->getPictureId())."',
$querypw "update " $this->_dzprefix "members set `password`='" Db::qstr$user->getMD5Password() ) . "', email= '" Db::qstr$user->getEmail() )."' where uid = '" Db::qstr$user->getId() ) . "'";

// else
// {
// // we need to run an INSERT query...
// //$this->log->debug( "dz user " . $user->getUsername() . " does NOT exist yet! Running an INSERT query..." );
// $query = "INSERT INTO " . $this->_dzprefix . "memberfields
// (nickname, bio)
// VALUES ('" . Db::qstr( $user->getFullName() ) . "', '" .
// Db::qstr( $user->getAboutMyself() ) . "')";
// }
$result $this->_dbc->Execute$query );
$result $this->_dbc->Execute$querypw );
return( true );
}

/**
 * 
 * @private Load the plog-specific dz user data
 * @param userId $ 
 * @return A row with the extra user data or false otherwise
 */
function getpLogDzUserData$uid )
{
$query "SELECT * FROM " $this->_dzprefix "members as u, " $this->_dzprefix "memberfields as m WHERE u.uid=m.uid and u.uid = '" Db::qstr$uid ) . "'";

$result $this->_dbc->Execute$query );

if ( !$result )
return false;

if ( $result->RowCount() == )
{
$result->Close();
return false;
}

$ret $result->FetchRow();
$result->Close();

return $ret;
}

/**
 * Removes users from the database
 * 
 * @param userId $ The identifier of the user we are trying to remove
 */
function deleteUser$userId )
{
//修改dz数据库的blogstatus状态为0
$sql="update " $this->_dzprefix "members set blogstatus=0 where uid='".$userId."'";
$this->_dbc->Execute($sql);
}

/**
 * returns the total number of users
 * 
 * @return total number of users
 */
function getNumUsers$status USER_STATUS_ALL $searchTerms "" )
{
$where "blogstatus=1 ";
switch ( $status )
{
case user_status_all:
$where "";
break;
case user_status_active:
$where "and groupid in (" implode","$this->_allowedusergroups ) . ")";
break;
case user_status_unconfirmed:
case user_status_disabled:
$where "and not(groupid in (" implode","$this->_allowedusergroups ) . "))";
break;
}

if ( $searchTerms != "" )
{
if ( $where != "" )
$where $where " AND " $this->getSearchConditions$searchTerms );
else
$where $this->getSearchConditions$searchTerms );
}

if ( $where != "" )
$where " where " $where;

$query "SELECT COUNT(uid) AS total FROM " $this->_dzprefix "members" $where;

$result $this->_dbc->Execute$query ); 
// return no users if this doesn't work!
if ( !$result )
return 0;

$row $result->FetchRow();
$result->Close();

if ( $row["total"] == "" )
$row["total"] = 0;

return( $row["total"] );
}

/**
 * check if the email account has been registered
 * 
 * @return true if the email account has been registered
 */
function emailExists$email )
{
$query "SELECT * FROM " $this->_dzprefix "members WHERE email = '" Db::qstr$email ) . "'";

$result $this->_dbc->Execute$query );

if ( !$result )
return false;
$ret = ( $result->RecordCount() > );
$result->Close();
return $ret;
}

/**
 * 
 * @see Model::getSearchConditions
 */
function getSearchConditions$searchTerms )
{
include_once( PLOG_CLASS_PATH "class/dao/searchengine.class.php" ); 
// prepare the query string
$searchTerms SearchEngine::adaptSearchString$searchTerms );

return( "(username LIKE '%" $searchTerms "%')" );
}

/**
 * Returns an array with all the users that belong to the given
 * blog.
 * 
 * @param blogId $ The blog identifier.
 * @param includeOwner $ Wether to include the owner of the blog or not.
 * @param status $ 
 * @param searchTerms $ 
 * @return An array with the information about the users who belong in
 * one way or another to that blog.
 */
function getBlogUsers$blogId$includeOwner true$status USER_STATUS_ALL$searchTerms "" )
{
$userids = Array();
$users = Array();
$prefix $this->getPrefix(); 
// get the information about the owner, if requested so
if ( $includeOwner )
{
$query "SELECT {$prefix}blogs.owner_id as userid FROM {$prefix}blogs 

                          WHERE 
{$prefix}blogs.id = '" Db::qstr$blogId ) . "';";
$result $this->Execute$query );

if ( !$result )
return $users;

$row $result->FetchRow();
$result->Close();

array_push$userids$row['userid'] );

// now get the other users who have permission for that blog.
$query2 "SELECT {$prefix}users_permissions.user_id as userid FROM {$prefix}users_permissions 

                       WHERE 
{$prefix}users_permissions.blog_id = '" Db::qstr$blogId ) . "';";
$result2 $this->Execute$query2 );

if ( $result2 )
{
while ( $row $result2->FetchRow() )
{
array_push$userids$row['userid'] );
}
$result2->Close();
}

if ( !is_array$userids ) ) // return empty value
{
return $users;
}

$where "";
switch ( $status )
{
case user_status_all:
$where "";
break;
case user_status_active:
$where "groupid in (" implode","$this->_allowedusergroups ) . ")";
break;
case user_status_unconfirmed:
case user_status_disabled:
$where "not(groupid in (" implode","$this->_allowedusergroups ) . "))";
break;
}

if ( $searchTerms != "" )
{
if ( $where != "" )
$where $where " AND " . ( $this->getSearchConditions$searchTerms ) );
else
$where $this->getSearchConditions$searchTerms );
}

if ( $where != "" )
$where $where " AND ";

$where $where " (uid in (" implode","$userids ) . "))";

if ( $where != "" )
$where " where " $where;

$query3 "SELECT * FROM " $this->_dzprefix "members" $where " ORDER BY uid ASC";

$result3 $this->_dbc->Execute$query3 );

if ($result3 && $info $result3->FetchRow$result3 ) )
{
array_push$users$this->_mapUserInfoObject$info ) );
$result3->Close();
}
return $users;
}
}

?>

3  開發 / 外掛程式 / Re: lifetype和discuz整合的思路 於: 四月 16, 2007, 10:17:56 下午
这个贴可不能就这么沉下去,我还指望Mark帮我看看程序呢?!现在公布我搞的Discuz!的用户类,希望大家一起讨论完善它,大家都可以用起来。我这个类需要在dz的cdb_members表加一个int字段blogstatus,标记lifetype是否开通。

程式碼:
<?php

/*

 * Name:    DiscuzUserDataProvider (support read user info from dz)

 * Version: 1.0

 * Author:  王勇

 * Contact: wangyong.yichang@gmail.com

 * Release: 2007-3-9

 * 

 * 注意事项:

 *    Could not update user info in dz.

 *    Could not delete user from dz

 *    Do not support dz user's Muti-user group , only support main group (todo in future)  

 * 

 *   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.                  

 */

include_once( PLOG_CLASS_PATH "class/dao/userdata/baseuserdataprovider.class.php" );
include_once( 
PLOG_CLASS_PATH "class/database/db.class.php" );

/**
 * Model representing the users in our application. Provides the methods such as
 * authentication and querying for users.
 * 
 * \ingroup User_Data_Providers
 */
class DiscuzUserDataProvider extends BaseUserDataProvider
{
var $_dbc//database connect
var $_dzprefix//dz database prefix
var $_allowedusergroups//which group in dz will be active .
var $_disallowedusergroups//which group in dz will be not active , if you have block group , set it
var $_adminusergroups//which group in dz will have admin permission?  
// var $_adminusers; //special user in dz to have admin permission.
/**
 * Initializes the model
 */
function DiscuzUserDataProvider$providerConfig )
{
$this->BaseUserDataProvider$providerConfig ); 
// initialize the database connection based on our parameters
$config $this->getProviderConfiguration();
$user $config->getValue"user" );
$pass $config->getValue"password" );
$host $config->getValue"host" );
$db $config->getValue"database" );

$this->_dzprefix $config->getValue"prefix" );
$this->_allowedusergroups $config->getValue"allowgroup" );
$this->_disallowedusergroups $config->getValue"denygroup" );
$this->_adminusergroups $config->getValue"admingroup" ); 
// $this->_adminusers = $config->getValue( "adminuser" );
$this->_dbc = & Db::getNewDb$host$user$pass$db );
$this->_dbc->Execute("set names 'gbk'");
}

function dzAllowed$row )

//echo "dzAllowed called".$row['groupid'];
if ( !in_array$row['groupid'], $this->_disallowedusergroups ) )
if ( in_array$row['groupid'], $this->_allowedusergroups ) )
return true
// echo "dzAllowed return false";
return false;
}

function dzAdmin$row )

// echo "dzAdmin called";
if ( in_array$row['groupid'], $this->_adminusergroups ) )
return true
// if ( in_array( $row['uid'], $this->_adminusers ) )
// return true;
// echo "dzAdmin return false";
return false;
}

function dzCheckPassword$pass $row )

// echo("dzCheckPassword called");
if ( md5$pass ) == $row['password'] ) return true;
return false;
}

/**
 * Returns true if the user is in the database and the username
 * and password match
 * 
 * @param user $ Username of the user who we'd like to authenticate
 * @param pass $ Password of the user
 * @return true if user and password correct or false otherwise.
 */
function authenticateUser$user$pass )
{
$query "SELECT * FROM " $this->_dzprefix "members WHERE username = '" Db::qstr$user ) . "'";

$result $this->_dbc->Execute$query );

if ( !$result )
return false;

$ret = ( $result->RecordCount() == );

if ( $ret $row $result->FetchRow();

$result->Close();

if ( $ret && $this->dzCheckPassword$pass$row ) && $this->dzAllowed$row ) )
return true;
else
return false;
}

/**
 * Returns all the information associated to the user given
 * 
 * @param user $ Username of the user from who we'd like to get the information
 * @param pass $ Password of the user we'd like to get the information
 * @return Returns a UserInfo object with the requested information, or false otherwise.
 */
function getUserInfo$user$pass )
{
$query "SELECT * FROM " $this->_dzprefix "members WHERE username = '" Db::qstr$user ) . "'";
$result $this->_dbc->Execute$query );

if ( !$result )
return false;

$row $result->FetchRow();
$result->Close();

if ( !$this->dzCheckPassword$pass$row ) )
return false;

return( $this->_mapUserInfoObject$row ) );
}

/**
 * Retrieves the user information but given only a username
 * 
 * @param username $ The username of the user
 * @return Returns a UserInfo object with the requested information, or false otherwise.
 */
function getUserInfoFromUsername$username )
{
$query "SELECT * FROM " $this->_dzprefix "members WHERE username = '" Db::qstr$username ) . "'";
$result $this->_dbc->Execute$query );

if ( !$result )
return false;

if ( $result->RowCount() == )
{
$result->Close();
return false;
}

$row $result->FetchRow();
$result->Close();

return( $this->_mapUserInfoObject$row ) );
}

/**
 * Retrieves the user infromation but given only a userid
 * 
 * @param userId $ User ID of the user from whom we'd like to get the information
 * @return Returns a UserInfo object with the requested information, or false otherwise.
 */
function getUserInfoFromId$userid$extendedInfo false )
{
include_once( PLOG_CLASS_PATH "class/dao/userpermissions.class.php" );

$query "SELECT * FROM " $this->_dzprefix "members WHERE uid = '" Db::qstr$userid ) . "'";

$result $this->_dbc->Execute$query );

if ( !$result )
return false;

$row $result->FetchRow();
$result->Close(); 
// fetch the user permissions
// $perms = new UserPermissions();
// $row["site_admin"] = $perms->isSiteAdmin( $userid );
return( $this->_mapUserInfoObject$row ) );
}

function dzAddBlog$row )

// create a new blog
include_once( PLOG_CLASS_PATH "class/dao/blogs.class.php" );
include_once( PLOG_CLASS_PATH "class/dao/articles.class.php" );
include_once( PLOG_CLASS_PATH "class/dao/articlecategories.class.php" );

$blogs = new Blogs();
$blog = new BlogInfo$row["user"], // name of the new blog
$row["id"], // id of the owner
""// no about
"" ); // no properties either
$newBlogId $blogs->addBlog$blog ); 
// add a default category and a default post
$articleCategories = new ArticleCategories();
$articleCategory = new ArticleCategory"默认分类"""$newBlogIdtrue );
$catId $articleCategories->addArticleCategory$articleCategory );
$config = & Config::getConfig();
$locale = & Locales::getLocale$config->getValue"default_locale" ) );
$articleTopic $locale->tr"register_default_article_topic" );
$articleText $locale->tr"register_default_article_text" );
$article = new Article$articleTopic,
$articleText,
Array( $catId ),
$row["uid"],
$newBlogId,
POST_STATUS_PUBLISHED,
0,
Array(),
"welcome" );
$t = new Timestamp();
$article->setDateObject$t );
$articles = new Articles();
$articles->addArticle$article );

 
           //修改dz数据库的blogstatus状态为1
$sql="update " $this->_dzprefix "members set blogstatus=1 where uid=".$row["uid"];
$this->_dbc->Execute($sql);

// lt_include( PLOG_CLASS_PATH."class/dao/permissions.class.php" );
// lt_include( PLOG_CLASS_PATH."class/dao/userpermissions.class.php" );
// $perms = new Permissions();
// $loginPerm = $perms->getPermissionByName( "login_perm" );
// $userPerms = new UserPermissions();
// $userPerm = new UserPermission( $row["uid"], 0, $loginPerm->getId());
// $userPerms->grantPermission( $userPerm );

}

function _mapUserInfoObject$row$extraInfo false )
{
include_once( PLOG_CLASS_PATH "class/dao/userpermissions.class.php" );

$plogDzData $this->getpLogDzUserData$row["uid"] );

$row["user"] = $row["username"];
$row["password"] = $row["password"]; //todo
$row["email"] = $row["email"]; 
// $row["about"] = $plogDzData["bio"];
$row["full_name"] = $plogDzData["nickname"]; 
// $row["resource_picture_id"] = $plogDzData["resource_picture_id"];
// if( $row["resource_picture_id"] == "" )
$row["resource_picture_id"] = 0;
$row["properties"] = serialize( Array() );
$row["id"] = $row["uid"];
$row["status"] = $this->dzAllowed$row ) ? USER_STATUS_ACTIVE USER_STATUS_DISABLED;
$row["site_admin"] = $this->dzAdmin$row )?1:0
// does this dz user have a blog yet? If so, create one if the configuration
// of the user data provider says so
$providerConfig $this->getProviderConfiguration();
if ( $providerConfig->getValue"createBlogIfNotExisting" ) )
{
$userInfo BaseUserDataProvider::mapRow$rowtrue ); 
// check if this user is assigned to any blog
$userBlogs $userInfo->getBlogs();
//$this->log->debug( "dz: checking if user " . $row["user"] . " has at least one blog..." );
if ( empty( $userBlogs ) )
{
//$this->log->debug( "dz: creating new blog for user!" );
$this->dzAddBlog$row );
$userInfo->setBlogs$this->getUsersBlogs$userInfo->getId() ) );
}
else
{
//$this->log->debug( "he already has one!!!" );
}
}
else
{
$userInfo BaseUserDataProvider::mapRow$row );
}

return( $userInfo );
}

/**
 * Returns an array with all the users available in the database
 * 
 * @param status $ 
 * @param includeExtraInfo $ 
 * @param page $ 
 * @param itemsPerPage $ 
 * @return An array containing all the users.
 */
function getAllUsers$status USER_STATUS_ALL$searchTerms ""$page = -1$itemsPerPage DEFAULT_ITEMS_PER_PAGE )
{
$where "";
switch ( $status )
{
case user_status_all:
$where "";
break;
case user_status_active:
$where "groupid in (" implode","$this->_allowedusergroups ) . ")";
break;
case user_status_unconfirmed:
case user_status_disabled:
$where "not(groupid in (" implode","$this->_allowedusergroups ) . "))";
break;
}

if ( $searchTerms != "" )
{
if ( $where != "" )
$where $where " AND " . ( $this->getSearchConditions$searchTerms ) );
else
$where $this->getSearchConditions$searchTerms );
}

if ( $where != "" )
$where " where blogstatus=1 and " $where;
else
$where " where blogstatus=1";


$query "SELECT * FROM " $this->_dzprefix "members" $where " ORDER BY uid ASC";
$result $this->_dbc->Execute$query$page$itemsPerPage );

$users = Array();

if ($result&& $info $result->FetchRow$result ) )
{
array_push$users$this->_mapUserInfoObject$info ) );
$result->Close();
}

return $users;
}



4  開發 / 外掛程式 / Re: [外掛] 自己寫的多媒體播放器外掛 EmbedMedia v1.0 於: 四月 11, 2007, 07:25:14 下午
改了,不错,运行正常!谢谢,谢谢你的pm
5  開發 / 外掛程式 / Re: lifetype和discuz整合的思路 於: 四月 01, 2007, 11:57:13 下午
网址有问题哦
这个也是我目前遇到的问题~
分类
静态链接
引用
回复
统统打不开`

找不到页面吗?我怎么没有遇到了?
6  開發 / 外掛程式 / Re: lifetype和discuz整合的思路 於: 三月 31, 2007, 01:29:10 下午
你觉得跟 DiscuZ 的整合会让 LifeType 在大陆的推广更顺利吗?

如果会,我可以考虑来作整合。包含 user 与文章。

Mark

我已经基本成功的整合了Discuz!的用户,采用的是userdataprovider接口,呵呵,老大有兴趣可以看看,希望有所贡献。不过由于lifetype的接口限制,有些小问题,不过基本不影响使用。比如删除用户的博客...

效果可以到http://bbs.cnfdc.com.cn注册帐号,然后到http://blog.cnfdc.com.cn/admin.php测试,现在这个系统还没上线运行,大家可以随便测试。

稍后给出整合源码。

整合的好处是显而易见的,dz是大陆最好的php论坛程序之一,官方整合的blog不好用,花哨,不规范,而且不开源,定制相当麻烦,不过模板好看些。

希望老大帮忙,完美整合。包括dz的程序的修改,接管x-space在dz中的功能,那就完美了。

还有个问题,就是lt1.2版本对于用户权限的修改,造成这个方案失效,表现为可以登录,但没有管理的权限。有了Mark大牛的帮助,我想就是小case了。
http://bbs.cnfdc.com.cn/admin.php:
Object not found!
The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

If you think this is a server error, please contact the webmaster.

Error 404
bbs.cnfdc.com.cn
03/31/07 09:59:53
Apache/2.2.3 (Win32) mod_ssl/2.2.3 OpenSSL/0.9.8d mod_autoindex_color PHP/5.2.0

注意地址是
"效果可以到http://bbs.cnfdc.com.cn注册帐号,然后到http://blog.cnfdc.com.cn/admin.php测试,现在这个系统还没上线运行,大家可以随便测试。"
7  開發 / 外掛程式 / Re: lifetype和discuz整合的思路 於: 三月 30, 2007, 11:05:01 下午
你觉得跟 DiscuZ 的整合会让 LifeType 在大陆的推广更顺利吗?

如果会,我可以考虑来作整合。包含 user 与文章。

Mark

我已经基本成功的整合了Discuz!的用户,采用的是userdataprovider接口,呵呵,老大有兴趣可以看看,希望有所贡献。不过由于lifetype的接口限制,有些小问题,不过基本不影响使用。比如删除用户的博客...

效果可以到http://bbs.cnfdc.com.cn注册帐号,然后到http://blog.cnfdc.com.cn/admin.php测试,现在这个系统还没上线运行,大家可以随便测试。

稍后给出整合源码。

整合的好处是显而易见的,dz是大陆最好的php论坛程序之一,官方整合的blog不好用,花哨,不规范,而且不开源,定制相当麻烦,不过模板好看些。

希望老大帮忙,完美整合。包括dz的程序的修改,接管x-space在dz中的功能,那就完美了。

还有个问题,就是lt1.2版本对于用户权限的修改,造成这个方案失效,表现为可以登录,但没有管理的权限。有了Mark大牛的帮助,我想就是小case了。
8  開發 / 外掛程式 / Re: [外挂] 自己写的多媒体播放器外挂 EmbedMedia v1.0 於: 三月 30, 2007, 11:01:35 下午
不支持l.l.6么,我装了,修改了lt_inclue为require_once,插件中心可以看到,但是没有管理设定的项目
9  支援 / 安裝與設定 / 发表文章时候遇到错误,一般来说是文章较长时候出现 於: 三月 09, 2007, 10:09:44 下午
错误信息
程式碼:
Exception message: parse_url(http:///admin.php) [function.parse-url]: Unable to parse url
Error code: 2
-- Backtrace --
E:\www\blog\class\net\url.class.php(57): parse_url
E:\www\blog\class\net\url.class.php(49): url._calculatefields
E:\www\blog\class\net\http\session\sessionmanager.class.php(78): url.url
E:\www\blog\class\net\http\session\sessionmanager.class.php(39): sessionmanager.setsessioncookiepath
E:\www\blog\admin.php(32): sessionmanager.init

Exception message: parse_url(http:///admin.php) [function.parse-url]: Unable to parse url
Error code: 2
-- Backtrace --
E:\www\blog\class\net\url.class.php(57): parse_url
E:\www\blog\class\net\url.class.php(49): url._calculatefields
E:\www\blog\class\net\http\session\sessionmanager.class.php(95): url.url
E:\www\blog\class\net\http\session\sessionmanager.class.php(40): sessionmanager.setsessioncookiedomain
E:\www\blog\admin.php(32): sessionmanager.init

文章有点长就会出现这个问题,需要清除cookie重新登录才可恢复正常。不知道是由于什么原因造成的,说明一下,我采用的编码是gb2312。

官网上也找到了一篇同样错误的帖子:http://forums.lifetype.net/viewtopic.php?t=5659&highlight=parseurl

用的是iis 6.0, fastcgi 模式

另外还有,由于采用gb2312编码,如何才能使ajax添加的汉字数据不乱码?
頁: [1]