|
|
|
| Доброе утро. Вот скрипт
<?PHP
require_once('class-IXR.php');
$Host = "www.livejournal.com";
$User = file('users.txt');
$Pass = file('pass.txt');
for ($i = 0; $i < 3; $i++){
$User1=trim($User[$i]);
$Pass1=trim($Pass[$i]);
$Mess = iconv('windows-1251','UTF-8','gfgfgfgfgfg');
$Subject = iconv('windows-1251','UTF-8', 'тра тата');
// обратка
$LJ_id;$LJ_url;$ErrorCode;$ErrorText="-";
if (lj_post ($Host,$User1,$Pass1,$Subject, $Mess,$LJ_id, $LJ_url, $ErrorCode, $ErrorText))
echo " Сообшение отправлено LJ_id=".$LJ_id." <a href=\"".$LJ_url."\"> смотреть </a><br>";
else
echo "<h1> Ошибка ".$ErrorCode.":".$ErrorText."</h1><br>";
flush();
//———————————————–
function lj_post ($Host, $User1, $Pass1, $Subject, $Mess, &$LJ_id, &$LJ_url, &$ErrorCode, &$ErrorText,
$Security='public', $opt_nocomments=1, $opt_preformatted=1, $opt_backdated=0, $opt_noemail=1)
{
$ErrorCode=0;
$ErrorText="";
$LJ_id=0;
$LJ_url="";
// создаем клиента (использован модуль WordPress /wp-includes/class-IXR.php)
$client = new IXR_Client($Host, '/interface/xmlrpc');
// $client->debug=1;
// получение данных для аутефикации
if (!$client->query('LJ.XMLRPC.getchallenge'))
{
$ErrorCode=$client->getErrorCode();
$ErrorText=$client->getErrorMessage();
unset ($client);
return false;
}
$response= $client->getResponse();
$challenge = $response['challenge'];
// создаем массив для отправки данных
$args = array();
$args['username'] = $User1;
$args['auth_method'] ='challenge';
$args['auth_challenge'] = $challenge;
$args['auth_response'] = md5($challenge . md5($Pass1));
$args['ver'] = "1";
$args['lineendings']='pc';
$args['subject'] =$Subject;
$args['event'] = $Mess;
$args['year'] = date('Y');
$args['mon'] = date('n');
$args['day'] = date('j');
$args['hour'] = date('G');
$args['min'] = date('i');
$args['security'] ='public';
// Дополнительные опции
$args['props'] = array("opt_nocomments" =>$opt_nocomments,
"opt_preformatted" =>$opt_preformatted,
"opt_backdated" =>$opt_backdated,
"opt_noemail" =>$opt_noemail );
// Собственно отправка
if (!$client->query('LJ.XMLRPC.postevent', $args))
{
$ErrorCode=$client->getErrorCode();
$ErrorText=$client->getErrorMessage();
$response = $client->getResponse();
unset ($client);
return false;
}
else
{
$response = $client->getResponse();
$LJ_id= $response['itemid'];
$LJ_url=$response['url'];
unset ($client);
return true;
}
}
}
?>
|
выдает ошибку Fatal error: Call to undefined function lj_post()
без цикла работает. | |
|
|
|
|
|
|
|
для: zion115
(11.02.2011 в 11:27)
| | А зачем вобще в функции эти параметры ?
function lj_post ( .............
$Security='public',
$opt_nocomments=1,
$opt_preformatted=1,
$opt_backdated=0,
$opt_noemail=1
)
|
Функцию вы вызываете только с такими параметрами
if ( lj_post (
$Host,
$User1,
$Pass1,
$Subject,
$Mess,
$LJ_id,
$LJ_url,
$ErrorCode,
$ErrorText
) )
|
| |
|
|
|
|
|
|
|
для: Косорылый
(11.02.2011 в 11:36)
| | $Security='public',
$opt_nocomments=1,
Так тоже можно. Это значения по умолчанию - если аргументам функции не будет присвоено значения, они возьмут по умолчанию. Если они вообще не используются, то они при вызове и не пишутся.
Автору темы вопрос:
Вызов функции происходит в том же файле?
И еще одно. Вы пишете для WordPress. Я не знаю, может быть там, если создаете свои функции, к ее названию надо какой-то префикс добавлять... | |
|
|
|
|
|
|
|
для: zion115
(11.02.2011 в 11:27)
| | может все-таки не стоит объявлять функцию в теле цикла? | |
|
|
|