в папке sources/components_public/ лежат примеры модулей для вызова через линк index.php?autocom=
например файл example.php
<?php
if ( ! defined( 'IN_IPB' ) )
{
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded 'admin.php'.";
exit();
}
class component_public
{
/**
* IPSclass object
*
* @var object
*/
var $ipsclass;
/**
* Main function that's run from index.php
*
*/
function run_component()
{
print "hello";
exit();
}
}
?>
понятно что он будет выводить hello, но мне надо это связать с смс копилкой, а именно парсером ихним, чтоб выводились смс сообщения, вот файл парсера
<?php
/***************************************************************************
* xmlparser.php
* version 2.1 от 13.04.06
*
* Copyright (c) 2006 Movable Co. Ltd
* www.movable.ru
*
* проект sms.копилка www.smskopilka.ru
*
* данный парсер Вы можете использовать как пример для доступа
* к последним сообщеним Вашей sms.копилки
* Причем этот парсер в отличие от xmlparser.php не требует дополнительных библиотек
* и работает без проблем с PHP 4, 5 версий
***************************************************************************/
/*
* Для работы с разбором xml вам нужен язык сценариев PHP версии от 4 или выше.
* Проконсультируйтесь с вашим хостинг провайдером.
*
* ЗДЕСЬ ВЫВОДИТСЯ ПРИМЕР ИСПОЛЬЗОВАНИЯ ПЕРЕМЕННЫХ, ВСЕ ПОЛЯ ПОДПИСАНЫ
* ИСПОЛЬЗУЙТЕ ИХ НА СВОЕ УСМОТРЕНИЕ.
*
* Любая модификация данного файла возможна. Парсер предоставлен на условиях "Как есть".
* Если сделаете что-то интересное, просьба сообщить нам - support@movable.ru, внедрим с указанием вашего имени.
*/
(isset($_GET['smskopilka']))?$smskopilka=$_GET['smskopilka']:$smskopilka=NULL;
(isset($_GET['count']))?$countStr=$_GET['count']:$countStr=10;
//замените цифры в конце "XXXX" на номер Вашей sms.копилки, это тот номер, который идет после "kop+" и уберите - //
$smskopilka = ХХХ;
//количество выводимых строк, вставьте вашу цифру и уберите комментарий слева - //
$countStr = "10";
$file = "http://smskopilka.ru/client/export/smskopilka_".$smskopilka.".xml";
$pos = 0;
$Nodes = array();
if (!($fp = fopen($file, "r"))) {
die("Не удается открыть XML файл - ".$file.", может его нет? Или не верно указан номер sms.копилки.");
}
while ($getline = fread($fp, 4096)) {
$data = $data . $getline;
}
$count = 0;
$pos = 0;
while ($node = GetElementByName($data, "<item", "</item>")) {
$Nodes[$count] = $node;
$count++;
$data = substr($data, $pos);
}
if($countStr > $count) $countStr=$count;
for ($i=0; $i<$countStr; $i++) {
$dateSMS = GetElementByName($Nodes[$i], "<date>", "</date>");
$timeSMS = GetElementByName($Nodes[$i], "<time>", "</time>");
$textSMS = GetElementByName($Nodes[$i], "<text>", "</text>");
$phone = GetElementByName($Nodes[$i], "<phone>", "</phone>");
$costSMS = GetElementByName($Nodes[$i], "<costSMS>", "</costSMS>");
$myPayment = GetElementByName($Nodes[$i], "<myPayment>", "</myPayment>");
/* отформатировать строку ниже можно как вам угодно,
* укажите ваше форматирование и стили, короче оформляйте как захочется
*
* главное это полученные переменные:
* $dateSMS - дата получения sms cообщения
* $timeSMS - время получения сообщения
* $textSMS - текст сообщения
* $phone - идентификатор телефона, уникален для каждого абонента, для всех сообщений данного абонента един
* $costSMS - стоимость смс для абонента, без налогов
* $myPayment - моя доля, процент моего заработка с каждой смс согласно http://smskopilka.ru/money
*/
echo $dateSMS." ".$timeSMS." - ".$textSMS."<br/>";
}
//---------------------------------
function GetElementByName ($xml, $start, $end) {
global $pos;
$startpos = strpos($xml, $start);
if ($startpos === false) {
return false;
}
$endpos = strpos($xml, $end);
$endpos = $endpos+strlen($end);
$pos = $endpos;
$endpos = $endpos-$startpos;
$endpos = $endpos - strlen($end);
$tag = substr ($xml, $startpos, $endpos);
$tag = substr ($tag, strlen($start));
return $tag;
}
?>
скоко уже не пытался так и не смог внедрить парсер... подскажите как это сделать? мне нужен такой вот минимодуль =)
Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.
Вопрос
punkz
в папке sources/components_public/ лежат примеры модулей для вызова через линк index.php?autocom=
например файл example.php
<?php if ( ! defined( 'IN_IPB' ) ) { print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded 'admin.php'."; exit(); } class component_public { /** * IPSclass object * * @var object */ var $ipsclass; /** * Main function that's run from index.php * */ function run_component() { print "hello"; exit(); } } ?>понятно что он будет выводить hello, но мне надо это связать с смс копилкой, а именно парсером ихним, чтоб выводились смс сообщения, вот файл парсера
<?php /*************************************************************************** * xmlparser.php * version 2.1 от 13.04.06 * * Copyright (c) 2006 Movable Co. Ltd * www.movable.ru * * проект sms.копилка www.smskopilka.ru * * данный парсер Вы можете использовать как пример для доступа * к последним сообщеним Вашей sms.копилки * Причем этот парсер в отличие от xmlparser.php не требует дополнительных библиотек * и работает без проблем с PHP 4, 5 версий ***************************************************************************/ /* * Для работы с разбором xml вам нужен язык сценариев PHP версии от 4 или выше. * Проконсультируйтесь с вашим хостинг провайдером. * * ЗДЕСЬ ВЫВОДИТСЯ ПРИМЕР ИСПОЛЬЗОВАНИЯ ПЕРЕМЕННЫХ, ВСЕ ПОЛЯ ПОДПИСАНЫ * ИСПОЛЬЗУЙТЕ ИХ НА СВОЕ УСМОТРЕНИЕ. * * Любая модификация данного файла возможна. Парсер предоставлен на условиях "Как есть". * Если сделаете что-то интересное, просьба сообщить нам - support@movable.ru, внедрим с указанием вашего имени. */ (isset($_GET['smskopilka']))?$smskopilka=$_GET['smskopilka']:$smskopilka=NULL; (isset($_GET['count']))?$countStr=$_GET['count']:$countStr=10; //замените цифры в конце "XXXX" на номер Вашей sms.копилки, это тот номер, который идет после "kop+" и уберите - // $smskopilka = ХХХ; //количество выводимых строк, вставьте вашу цифру и уберите комментарий слева - // $countStr = "10"; $file = "http://smskopilka.ru/client/export/smskopilka_".$smskopilka.".xml"; $pos = 0; $Nodes = array(); if (!($fp = fopen($file, "r"))) { die("Не удается открыть XML файл - ".$file.", может его нет? Или не верно указан номер sms.копилки."); } while ($getline = fread($fp, 4096)) { $data = $data . $getline; } $count = 0; $pos = 0; while ($node = GetElementByName($data, "<item", "</item>")) { $Nodes[$count] = $node; $count++; $data = substr($data, $pos); } if($countStr > $count) $countStr=$count; for ($i=0; $i<$countStr; $i++) { $dateSMS = GetElementByName($Nodes[$i], "<date>", "</date>"); $timeSMS = GetElementByName($Nodes[$i], "<time>", "</time>"); $textSMS = GetElementByName($Nodes[$i], "<text>", "</text>"); $phone = GetElementByName($Nodes[$i], "<phone>", "</phone>"); $costSMS = GetElementByName($Nodes[$i], "<costSMS>", "</costSMS>"); $myPayment = GetElementByName($Nodes[$i], "<myPayment>", "</myPayment>"); /* отформатировать строку ниже можно как вам угодно, * укажите ваше форматирование и стили, короче оформляйте как захочется * * главное это полученные переменные: * $dateSMS - дата получения sms cообщения * $timeSMS - время получения сообщения * $textSMS - текст сообщения * $phone - идентификатор телефона, уникален для каждого абонента, для всех сообщений данного абонента един * $costSMS - стоимость смс для абонента, без налогов * $myPayment - моя доля, процент моего заработка с каждой смс согласно http://smskopilka.ru/money */ echo $dateSMS." ".$timeSMS." - ".$textSMS."<br/>"; } //--------------------------------- function GetElementByName ($xml, $start, $end) { global $pos; $startpos = strpos($xml, $start); if ($startpos === false) { return false; } $endpos = strpos($xml, $end); $endpos = $endpos+strlen($end); $pos = $endpos; $endpos = $endpos-$startpos; $endpos = $endpos - strlen($end); $tag = substr ($xml, $startpos, $endpos); $tag = substr ($tag, strlen($start)); return $tag; } ?>скоко уже не пытался так и не смог внедрить парсер... подскажите как это сделать? мне нужен такой вот минимодуль =)
Спасибо!
Ссылка на комментарий
Поделиться на других сайтах
2 ответа на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.