Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Libraries > публикация в WordPress с помощью XML-RPC


Автор: Another 26.10.2008, 17:49
В общем, не пойму в чем дело... Вот код:
Код


$blogUrl="http://free.com";
$username="admin";
$password="password";
$title="Думма";
$catsArray=file("cat.txt");
$content=$s;


function wp_post($blogUrl, $username, $password, $title, $content, $catsArray )
{
$this->load->library('xmlrpc');

$this->xmlrpc->server($blogUrl, 80);
$this->xmlrpc->method('metaWeblog.newPost');

$request = array( array('ABCD', 'string'), // Первый параметр - это blog_id, который WP не поддерживает
                                array($username, 'string'),
                                array($password, 'string'),
                                array( array(
                                        'title'                => array(stripslashes($title),'string'),
                                        'description'   => array(stripslashes($contents),'string'),
                                        'categories'    => array($catsArray,'array')
                                ), 'struct'),
                                array('publish', 'string')
                        );

$this->xmlrpc->request($request);

if ($this->xmlrpc->send_request()) {
        echo 'Пост ' . $title . ' опубликован в : ' . $blogUrl;

} else {
        echo 'Ошибка публикации поста' . $title . ' в ' . $blogUrl;
}
}


Скрипт на другом серве... Чот ни че не работает... В чем трабла, что не так?

Автор: teroni 26.10.2008, 18:17
А ошибки какие?
Судя по коду
Код

$this->load->library('xmlrpc');

это Вы из CodeInteger где-то копировали. Надеюсь эта функция у Вас внутри соответствующего класса, а не сама по себе?

Автор: Another 26.10.2008, 18:33
Это код целиком). Что не хватает для работы?

Автор: awers 26.10.2008, 23:37
Мы даже ошибок не видем. Как чем то помочь?

Автор: Another 26.10.2008, 23:45
Может URL какт не так написал?? )))
Готов хорошо отблагодарить, если приведет кот в рабочие состояние))

Автор: teroni 27.10.2008, 01:03
Цитата(Another @  26.10.2008,  18:33 Найти цитируемый пост)
Это код целиком). Что не хватает для работы? 

Ну не может это быть полностью рабочим кодом т.к. псевдопеременная $this имеет смысл только в классе, а тут его нет. Уже 2 раза спросили - какие ошибки выдаёт - в ответ тишина.

Автор: Another 27.10.2008, 19:16
Не выдает ошибок... $this, кно знает, что с этим сделать, как это довести до ума?

Автор: bars80080 27.10.2008, 20:49
Цитата(Another @  27.10.2008,  18:16 Найти цитируемый пост)
Не выдает ошибок... 

тогда включи ошибки. зафигарь наверх страницы error_reporting(E_ALL);

Автор: Another 27.10.2008, 20:57
Млин, ошибки отображает, когда они есть... а тут их НЕТ! В том то и вся фишка... Как я понял, что с  $this тут чета... Чего то не хватает... Может кто знает, делал это для WordPress 

Автор: bars80080 27.10.2008, 21:12
Another, дважды уже говорили, $this - это объект, обозначается так внутри класса, ваш код совершенно точно не полон, функция явно выдранна откуда-то

Автор: pirrat 27.10.2008, 21:43
Код относится к библиотеке Xmlrpc, фреймворка Codeigniter

во первых вот это 
Код

$this->load->library('xmlrpc');

над заменить на ченить типа:
Код

require_once('Xmlrpc.php');
$xmlrpc = new Xmlrpc();


Код

$this->xmlrpc

заменить на
Код

$xmlrpc
 
скопировать фаил с классом в свое приложение,
ну и сам класс подредактировать немного!

Автор: Another 27.10.2008, 21:44
http://www.codeart.ru/2008/04/27/wordpress-publikaciya-s-pomoshhyu-xml-rpc/
Тут нашел...

Автор: Another 28.10.2008, 19:32
Ни че не пашет... Вот так всё сделал - 
Код

$Url="http://blabla.com";
$user="admin";
$pass="gfhfgh";
$title="Думма";
$cats=file("cat.txt");
$content="Тут контент";




function wp_post($Url, $user, $pass, $title, $content, $cats)
{
require_once('Xmlrpc.php');
$xmlrpc = new Xmlrpc();

$xmlrpc->server($Url, 80);
$xmlrpc->method('metaWeblog.newPost');

$request = array( array('ABCD', 'string'),
                                array($user, 'string'),
                                array($pass, 'string'),
                                array( array(
                                        'title'                => array(stripslashes($title),'string'),
                                        'description'   => array(stripslashes($contents),'string'),
                                        'categories'    => array($cats,'array')
                                ), 'struct'),
                                array('publish', 'string')
                        );

$xmlrpc->request($request);

if ($xmlrpc->send_request()) {
        return 'Пост ' . $title . ' опубликован в : ' . $Url;

} else {
        return 'Ошибка публикации поста' . $title . ' в ' . blogUrl;
}
}

Автор: Another 28.10.2008, 19:32
Ни че не пашет... Вот так всё сделал - 
Код

$Url="http://blabla.com";
$user="admin";
$pass="pass";
$title="Думма";
$cats=file("cat.txt");
$content="Тут контент";




function wp_post($Url, $user, $pass, $title, $content, $cats)
{
require_once('Xmlrpc.php');
$xmlrpc = new Xmlrpc();

$xmlrpc->server($Url, 80);
$xmlrpc->method('metaWeblog.newPost');

$request = array( array('ABCD', 'string'),
                                array($user, 'string'),
                                array($pass, 'string'),
                                array( array(
                                        'title'                => array(stripslashes($title),'string'),
                                        'description'   => array(stripslashes($contents),'string'),
                                        'categories'    => array($cats,'array')
                                ), 'struct'),
                                array('publish', 'string')
                        );

$xmlrpc->request($request);

if ($xmlrpc->send_request()) {
        return 'Пост ' . $title . ' опубликован в : ' . $Url;

} else {
        return 'Ошибка публикации поста' . $title . ' в ' . blogUrl;
}
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)