OSDN Git Service

CHANGE: <%locale%>を再整備
[nucleus-jp/nucleus-next.git] / nucleus / xmlrpc / server.php
index 5642981..ead2bf2 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
  * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2009 The Nucleus Group
+ * Copyright (C) 2002-2012 The Nucleus Group
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -61,7 +61,7 @@
  * mt.supportedMethods
  *
  * @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2009 The Nucleus Group
+ * @copyright Copyright (C) 2002-2012 The Nucleus Group
  * @version $Id: server.php 1622 2012-01-09 03:18:59Z sakamocchi $
  */
 $CONF = array();
@@ -97,7 +97,8 @@ $s = new xmlrpc_server( $functionDefs );
   * Adds an item to the given blog. Username and password are required to login
   */
 function _addItem($blogid, $username, $password, $title, $body, $more, $publish, $closed, $catname = "") {
-       $blog = new BLOG($blogid);
+       global $manager;
+       $blog =& $manager->getBlog($blogid);
        $timestamp = $blog->getCorrectTime();
        return _addDatedItem($blogid, $username, $password, $title, $body, $more, $publish, $closed, $timestamp, 0, $catname);
 }
@@ -106,14 +107,16 @@ function _addItem($blogid, $username, $password, $title, $body, $more, $publish,
   * Adds item to blog, with time of item given
   */
 function _addDatedItem($blogid, $username, $password, $title, $body, $more, $publish, $closed = '0', $timestamp, $future, $catname = "") {
+       global $manager;
+       
        // 1. login
-       $mem = new MEMBER();
+       $mem = new Member();
 
        if (!$mem->login($username, $password))
                return _error(1,"Could not log in");
 
        // 2. check if allowed to add to blog
-       if (!BLOG::existsID($blogid))
+       if (!Blog::existsID($blogid))
                return _error(2,"No such blog ($blogid)");
        if (!$mem->teamRights($blogid))
                return _error(3,"Not a team member");
@@ -121,7 +124,7 @@ function _addDatedItem($blogid, $username, $password, $title, $body, $more, $pub
                return _error(4,"Cannot add empty items!");
 
        // 3. calculate missing vars
-       $blog = new BLOG($blogid);
+       $blog =& $manager->getBlog($blogid);
 
        // get category id (or id for default category when false category)
        $catid = $blog->getCategoryIdFromName($catname);
@@ -152,7 +155,7 @@ function _edititem($itemid, $username, $password, $catid, $title, $body, $more,
        global $manager;
 
        // 1. login
-       $mem = new MEMBER();
+       $mem = new Member();
        if (!$mem->login($username, $password))
                return _error(1,"Could not log in");
 
@@ -163,7 +166,7 @@ function _edititem($itemid, $username, $password, $catid, $title, $body, $more,
                return _error(7,"Not allowed to alter item");
 
        // 3. update item
-       ITEM::update($itemid, $catid, $title, $body, $more, $closed, $wasdraft, $publish, 0);
+       Item::update($itemid, $catid, $title, $body, $more, $closed, $wasdraft, $publish, 0);
 
        return new xmlrpcresp(new xmlrpcval(1,"boolean"));
 }
@@ -173,7 +176,7 @@ function _edititem($itemid, $username, $password, $catid, $title, $body, $more,
   */
 function _getUsersBlogs($username, $password) {
        // 1. Try to login
-       $mem = new MEMBER();
+       $mem = new Member();
        if (!$mem->login($username, $password))
                return _error(1,"Could not log in");
 
@@ -184,29 +187,38 @@ function _getUsersBlogs($username, $password) {
                        . ' FROM '.sql_table('blog').', '.sql_table('team')
                        . " WHERE tblog=bnumber and tmember=" . $mem->getID()
                        . " ORDER BY bname";
-       $r = sql_query($query);
-
-       while ($obj = sql_fetch_object($r)) {
-               if ($obj->burl)
+       $r = DB::getResult($query);
+       
+       foreach ( $r as $row )
+       {
+               if ( $row['burl'] )
+               {
+                       $blogurl = $row['burl'];
+               }
+               if ( $obj->burl )
+               {
                        $blogurl = $obj->burl;
+               }
                else
+               {
                        $blogurl = 'http://';
-
+               }
+               
                $newstruct = new xmlrpcval(array(
-                       "url" => new xmlrpcval($blogurl,"string"),
-                       "blogid" => new xmlrpcval($obj->bnumber,"string"),
-                       "blogName" => new xmlrpcval($obj->bname,"string")
+                       "url"           => new xmlrpcval($blogurl, "string"),
+                       "blogid"        => new xmlrpcval($row['bnumber'], "string"),
+                       "blogName"      => new xmlrpcval($row['bname'], "string")
                ),'struct');
                array_push($structarray, $newstruct);
        }
-
+       
        return new xmlrpcresp(new xmlrpcval( $structarray , "array"));
 }
 
 
 function _getUserInfo($username, $password) {
        // 1. login
-       $mem = new MEMBER();
+       $mem = new Member();
        if (!$mem->login($username, $password))
                return _error(1,"Could not log in");
 
@@ -234,7 +246,7 @@ function _deleteItem($itemid, $username, $password) {
        global $manager;
 
        // 1. login
-       $mem = new MEMBER();
+       $mem = new Member();
        if (!$mem->login($username, $password))
                return _error(1,"Could not log in");
 
@@ -246,7 +258,7 @@ function _deleteItem($itemid, $username, $password) {
                return _error(3,"Not a team member");
 
        // delete the item
-       ITEM::delete($itemid);
+       Item::delete($itemid);
 
        return new xmlrpcresp(new xmlrpcval(1,"boolean"));
 }
@@ -255,39 +267,43 @@ function _deleteItem($itemid, $username, $password) {
   * Returns a template
   */
 function _getSkinPart($blogid, $username, $password, $type) {
+       global $manager;
+       
        // 1. login
-       $mem = new MEMBER();
+       $mem = new Member();
        if (!$mem->login($username, $password))
                return _error(1,"Could not log in");
 
        // 2. check if allowed
-       if (!BLOG::existsID($blogid))
+       if (!Blog::existsID($blogid))
                return _error(2,"No such blog ($blogid)");
        if (!$mem->teamRights($blogid))
                return _error(3,"Not a team member");
 
        // 3. return skin part
-       $blog = new BLOG($blogid);
-       $skin = new SKIN($blog->getDefaultSkin());
-       return new xmlrpcresp(new xmlrpcval($skin->getContent($type),"string"));
+       $blog =& $manager->getBlog($blogid);
+       $skin =& $manager->getSkin($blog->getDefaultSkin());
+       return new xmlrpcresp(new xmlrpcval($skin->getContentFromDB($type),"string"));
 
 }
 
 function _setSkinPart($blogid, $username, $password, $content, $type) {
+       global $manager;
+       
        // 1. login
-       $mem = new MEMBER();
+       $mem = new Member();
        if (!$mem->login($username, $password))
                return _error(1,"Could not log in");
 
        // 2. check if allowed
-       if (!BLOG::existsID($blogid))
+       if (!Blog::existsID($blogid))
                return _error(2,"No such blog ($blogid)");
        if (!$mem->teamRights($blogid))
                return _error(3,"Not a team member");
 
        // 3. update skin part
-       $blog = new BLOG($blogid);
-       $skin = new SKIN($blog->getDefaultSkin());
+       $blog =& $manager->getBlog($blogid);
+       $skin =& $manager->getSkin($blog->getDefaultSkin());
        $skin->update($type, $content);
 
        return new xmlrpcresp(new xmlrpcval(1,'boolean'));