这是自己分离出来的代码,没有自己测试,所以很可能无法正常运行。主要是示例wordpress.mu注册和登陆时的一些操作. */ function userLogin($user,$pass,$expire,$path=”/“,$domain=””) { if(!($expire>60)) { /** 如果没有指定cookie保存时间,默认保存1年。 */ $expire=365*24*3600; } if($domain==””) { /** 如果没有指定cookie的域名,默认用机器的域名。不过要做多子站的话,要设置一下。比如,设为”.example.com”。 */ $domain=$_SERVER[“HTTP_HOST”]; } setcookie(“wordpressuser”,$user,$expire,$path,$domain); setcookie(“wordpresspass”,$pass,$expire,$path,$domain); } function changepass($uname,$newpass) { global $xoopsDB; $xoopsDB->queryF(“update “.WP_DB_PREFIX_FORXOOPS.”users set user_pass=’”.md5($newpass).”‘ where user_login=’”.$uname.”‘“); } function logout($expire,$path=”/“,$domain=””) { if(!($expire>60)) { /** 如果没有指定cookie保存时间,默认保存1年。 */ $expire=365*24*3600; } if($domain==””) { /** 如果没有指定cookie的域名,默认用机器的域名。不过要做多子站的话,要设置一下。比如,设为”.example.com”。 */ $domain=$_SERVER[“HTTP_HOST”]; } setcookie(“wordpressuser”,””,$expire,$path,$domain); setcookie(“wordpresspass”,””,$expire,$path,$domain); } /** 往Wp中插中新用户的语句.在XOOPS中注册后,应该调用这一个函数。 只加用户,不加博客设置。 */ function addNewWPUser($uname,$upass,$email,$domain=””,$path=”/“,$url=””,$nickname=””) { global $xoopsDB; if($domain==””) { $domain=$uname; } if($nickname==””) { $nickname=$uname; } if($url==””) { $url=”http://“.$domain.$path; } $wpInsert[“user_login”]=$uname; $wpInsert[“user_pass”]=$upass; $wpInsert[“user_nicename”]=$nickname; $wpInsert[“user_email”]=$email; $wpInsert[“user_url”]=$url; $wpInsert[“user_registered”]=date(“Y-m-d H:i:s”); $wpInsert[“user_status”]=0; $wpInsert[“display_name”]=$uname; $wpInsert[“spam”]=0; $wpInsert[“deleted”]=0; /** 生成插入数据的sql 语句. */ $sql=sqlgenerator::insert(WP_DB_PREFIX_FORXOOPS.”users”,$wpInsert); $xoopsDB->queryF($sql); $AffectedRows=$xoopsDB->getAffectedRows(); if(!$AffectedRows) else { return false; } $wpInsert=array(); $wpInsert[“domain”]=$domain; $wpInsert[“path”]=$path; $wpInsert[“title”]=$_POST[“title”]; $wpInsert[“user_login”]=$uname; $wpInsert[“user_email”]=$email; $wpInsert[“registered”]=date(“Y-m-d H:i:s”); $wpInsert[“active”]=1; $wpInsert[“activation_key”]=”000000”; $wpInsert[“meta”]=’a:2:{s:7:”lang_id”;s:2:”en”;s:6:”public”;i:1;}’; $wpInsert[“activated”]=date(“Y-m-d H:i:s”); $sql=sqlgenerator::insert(WP_DB_PREFIX_FORXOOPS.”signups”,$wpInsert); $xoopsDB->queryF($sql); $AffectedRows=0; $AffectedRows=$xoopsDB->getAffectedRows(); if(!$AffectedRows) else { return false; } } /** 创建 WP的blog.如果添加WP用户成功,还应调用这一个函数。 */ function CreateBlog($uname,$udomain,$nickname=’’,$path=”/“) { global $xoopsDB; if($domain==””) { $domain=$uname; } /** 这一段还不太懂… */ $wpInsert=array(); $wpInsert[“site_id”]=1; $wpInsert[“domain”]=$udomain; $wpInsert[“path”]=$path; $wpInsert[“registered”]=date(“Y-m-d H:i:s”); $wpInsert[“public”]=1; $wpInsert[“archived”]=0; $wpInsert[“mature”]=0; $wpInsert[“spam”]=0; $wpInsert[“deleted”]=0; $wpInsert[“lang_id”]=0; $sql=sqlgenerator::insert(WP_DB_PREFIX_FORXOOPS.”blogs”,$wpInsert); $xoopsDB->queryF($sql); /** 得到wp中的uid */ $sql=(“select * from “.WP_DB_PREFIX_FORXOOPS.”users where user_login=’”.$uname.”‘“); $rs=$xoopsDB->query($sql); $row=$xoopsDB->FetchArray($rs); $id=$row[“ID”]; $url=$row[“user_url”]; $email=$row[“user_email”]; $sql=fileoper::readover(“wp_newblog.sql”); /** 得到了一系统插入乱七八糟的数据的SQL,我还没有去分析这些都是做什么的。 不过我试着删除了几条记录,再创建的用户就无法登陆了,看来不要随便改。 为了提示数据库性能,可以试探着删一些东西去,毕竟WP不知道都插入了一些什么东东。 */ $sql=str_replace(“{WP}”,WP_DB_PREFIX_FORXOOPS.”$id”,$sql); $sql=str_replace(“{WP_SITE_URL}”,”http://“.WP_BLOG_HOST_FORXOOPS.$path,$sql); $sql=str_replace(“{WP_HISSITE_URL}”,$url,$sql); $sql=str_replace(“{WP_HISEMAIL}”,$email,$sql); $sql=str_replace(“{WP_AUTHOR}”,$id,$sql); $sql=str_replace(“r”,””,$sql); $a=explode(“;n”,$sql); while(list($k,$v)=each($a)){ $xoopsDB->queryF($v); } /** 现在插入的这几个是比较重要的,好像缺少了就无法运行。 */ $wpInsert[“user_id”]=$id; $wpInsert[“meta_key”]=”nickname”; $wpInsert[“meta_value”]=$nickname; $sql=sqlgenerator::insert(WP_DB_PREFIX_FORXOOPS.”usermeta”,$wpInsert); $wpInsert[“user_id”]=$id; $wpInsert[“meta_key”]=”primary_blog”; $wpInsert[“meta_value”]=$id; $sql=sqlgenerator::insert(WP_DB_PREFIX_FORXOOPS.”usermeta”,$wpInsert); $wpInsert[“user_id”]=$id; $wpInsert[“meta_key”]=”source_domain”; $wpInsert[“meta_value”]=”$udomain”; $sql=sqlgenerator::insert(WP_DB_PREFIX_FORXOOPS.”usermeta”,$wpInsert); $wpInsert[“user_id”]=$id; $wpInsert[“meta_key”]=”wp_“.$id.”_capabilities”; $wpInsert[“meta_value”]=’a:1:{s:13:”administrator”;b:1;}’; $sql=sqlgenerator::insert(WP_DB_PREFIX_FORXOOPS.”usermeta”,$wpInsert); $wpInsert[“user_id”]=$id; $wpInsert[“meta_key”]=”wp_“.$id.”_user_level”; $wpInsert[“meta_value”]=”10”; $sql=sqlgenerator::insert(WP_DB_PREFIX_FORXOOPS.”usermeta”,$wpInsert); } } ?>