Функция для закачивания картинок в Wordpress через XML-RPC

в разделе Программирование | Метки: Wordpress, Zend Framework, XML RPC

Данная функция использует XML RPC для того чтобы закачивать картинки в Wordpress блог, при этом они после закачки отображаются в разделе "Медиа", так же добавил функцию которая создает wpClient который применяется в функции которая закачивает картинку

<?php
public function setWpBlogId()
{
    
$this->wpClient = new Zend_XmlRpc_Client(self::WORDPRESS_URL 'xmlrpc.php');
    
$this->wpClient->getHttpClient()->setConfig(array('timeout' => 300));
    try {
        
$result $this->wpClient->call('wp.getUsersBlogs', array('username' => self::WORDPRESS_USER,
                                                                  
'password' => self::WORDPRESS_PASSWORD));
        if (
count($result))
        {
            
$this->wpBlogId $result[0]['blogid'];
        }
    } catch (
Zend_XmlRpc_Client_FaultException $e) {
        print 
"\n" $e->getMessage() . "\n\n";
    }
}

public function 
uploadFileWordpress($shortFilename$fullFilename)
{
    
$finfo finfo_open(FILEINFO_MIME_TYPE);
    
$fileInfo finfo_file($finfo$fullFilename);
    
$imageHandle fopen($fullFilename'r');
    
$imageBits fread($imageHandlefilesize($fullFilename));
    
fclose($imageHandle);
    
$imageData = array('name' => $shortFilename'type' => $fileInfo,
                       
'bits' => new Zend_XmlRpc_Value_Base64($imageBits), 'overwrite' => true);

    
$postRequest = array('blog_id'     => $this->wpBlogId,
                         
'username'    => self::WORDPRESS_USER,
                         
'password'    => self::WORDPRESS_PASSWORD,
                         
'data'           => $imageData,
    );

    try
    {
        
$result $this->wpClient->call('wp.uploadFile'$postRequest);
    }
    catch (
Zend_XmlRpc_Client_FaultException $e)
    {
        print 
"\n" $e->getCode();
        print 
"\n" $e->getMessage();
    }

    return 
$result;
}
?>