Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России»





НазваниеОтчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России»
страница18/18
Дата публикации30.04.2015
Размер1.48 Mb.
ТипОтчет
100-bal.ru > Информатика > Отчет
1   ...   10   11   12   13   14   15   16   17   18

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ


1 Константинов, И.С. Модель хранения данных в адаптивной автоматизированной системе административного мониторинга [Текст] / И.С. Константинов, А.И. Фролов, Н.А. Кравцова // Информационные системы и технологии. – Орел: ОрелГТУ, 2010. – №4(60). – С. 66-73.

2 Коськин, А.В. Структурные и алгоритмические решения организации импорта данных в автоматизированной адаптивной системе административного мониторинга / А.В. Коськин, А.И. Фролов, А.Ю. Ужаринский // Информационные системы и технологии: материалы Международной научно-технической Интернет-конференции, апрель-май 2011 г., г. Орел – В 3-х т. Т. 1 / под общ. ред. д-ра техн. наук проф. И.С. Константинова.  Орел ФГОУ ВПО «Госуниверситет-УНПК», 2011.  С. 42-46.

3 Фролов, А.И. Формализация процесса генерации диалоговых интерфейсов сбора данных в автоматизированной адаптивной системе административного мониторинга [Текст] / А.И. Фролов, Н.А. Кравцова // Информационные системы и технологии. – 2011. – №3(65). – С. 12-20.

4 Фролов А.И., Кравцова Н.А. Вопросы алгоритмизации процессов генерации адаптируемых диалоговых интерфейсов в системе административного мониторинга // Компьютерные науки и технологии: Компьютерные науки и технологии: сборник трудов Второй Международной научно-технической конференции. 3-5 октября 2011, г. Белгород. – Белгород: ООО «ГиК», 2011. – С 131-135.

5 The application/json Media Type for JavaScript Object Notation (JSON) [Электронный ресурс]: RFC 4627. – IETF, 2006. – режим доступа: http://tools.ietf.org/html/rfc4627.

6 Bray, T. The W3C Document Object Model (DOM) - A Programmer's View of Documents [Text] / T. Bray, L. Wood // The Gilbane Report on Open Information & Document Systems. – Volume 6, Number 4 (July/August 1998), pages 1-13.

7 ISO/IEC 14977:1996 «Information technology – Syntactic metalanguage – Extended BNF». – 2001. – 12 р.

8 Липаев, В.В. Программная инженерия. Методологические основы [Текст] / В.В. Липаев. – М.: ТЕИС, 2006. – 608 с.

9 Липаев, В.В. Тестирование программ [Текст] / В.В. Липаев. – М.: Радио и связь, 1986. – 296 с.: ил.

10 Котляров, В.П. Основы тестирования программного обеспечения: Учебное пособие [Текст] / В.П. Котляров, Т.В. Коликова. – М.: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2006. – 285 с.

11 РД 50-34.698-90 Методические указания. Информационная технология. Автоматизированные системы. Требования к содержанию документов [Текст]. – М.: Госстандарт СССР, 1990.

12 ГОСТ 19.301-79 Единая система программной документации. Программа и методика испытаний. Требования к содержанию и оформлению [Текст]. – М.: Госстандарт СССР, 1979.

13 ГОСТ 34.603-92 Виды испытаний автоматизированных систем [Текст]. – М.: Госстандарт СССР, 1992.


ПРИЛОЖЕНИЕ А
Исходные тексты основных программных модулей экспериментального образца распределенной адаптивной системы административного мониторинга


Модуль TImport (содержит в себе описание класса TImport, предназначенного для работы с шаблонами импорта данных)

class TImport

{
var $Errors = array (

0 => 'no val',

1 => 'Нет родителя');
var $Operation = 'get tasks';
//Функция TImport() предназначена для хранения данных о ползователе.

function TImport(){

$this->UserLogin = $_SESSION['Account']['Login'];

$this->User_id = $_SESSION['Account']['User_id'];

}

//Функция DateAdd предназначена для добавления некоторого значения к указанной дате

function DateAdd($interval, $number, $date) {
$date_time_array = getdate($date);

$hours = $date_time_array['hours'];

$minutes = $date_time_array['minutes'];

$seconds = $date_time_array['seconds'];

$month = $date_time_array['mon'];

$day = $date_time_array['mday'];

$year = $date_time_array['year'];
switch ($interval) {
case 'yyyy':

$year+=$number;

break;

case 'q':

$year+=($number*3);

break;

case 'm':

$month+=$number;

break;

case 'y':

case 'd':

case 'w':

$day+=$number;

break;

case 'ww':

$day+=($number*7);

break;

case 'h':

$hours+=$number;

break;

case 'n':

$minutes+=$number;

break;

case 's':

$seconds+=$number;

break;

}

$timestamp= mktime(0,0,0,$month,$day,$year);

return $timestamp; }

//Данная функция предназначена для получения задач, которые должны выполняться в текущий день.

function get_active_tasks(){

$curdate=time();

$da = getdate($curdate);

$curdate=mktime(0,0,0,$da['mon'],$da['mday'],$da['year']);

$query='select * from import_template where active=1';

Query($result,$query);

$res=array();

while ($line = mysql_fetch_row($result)) {

$date=$line[3];

$dur=$line[4];

$durun=$line[5];
$year=substr($date,0,4);

$month=substr($date,5,2);

$day=substr($date,8,2);

$date=mktime(0,0,0,$month,$day,$year);

if ($durun=="месяц") {

$date=$this->dateadd('m',$dur,$date);

}

else if ($durun=="день") {$date=$this->dateadd('w',$dur,$date);}

else $date=$this->dateadd('yyyy',$dur,$date);

if ($curdate==$date) {

$res[$line[0]]=$line[1];

}

}

return $res;

}

//Данная функция предназначена для получения списка существующих шаблонов импорта данных.

function get_import_templates(){

$query='select id,title from import_template';

Query($result,$query);

$res=array();

while ($line = mysql_fetch_row($result)) {

$res[$line[0]]=$line[1];

}

return $res;

}

//Данная функция предназначена для получения информации о выбранной задаче импорта данных.

function template_info($id){

$query='select * from import_template where id='.$id;

Query($result,$query);

if (mysql_num_rows($result) == 0) {return -1; exit;}

$line = mysql_fetch_row($result);

$all_res = array(

0 => $line[0],

1 => $line[1],

2 => $line[2],

3 => $line[3],

4 => $line[4],

5 => $line[5],

6 => $line[6],);

$query='select title,import_property.start_date from property,import_property

where import_property.import_template_id='.$id.' and

property.id=import_property.property_id';

Query($result,$query);

$res=array();

while ($line = mysql_fetch_row($result)) {

$res[]=$line[0].':'.$line[1];

}

$query='select title from object_type,import_property

where import_property.import_template_id='.$id.' and

object_type.id=import_property.property_id';

Query($result,$query);

$res1=array();

while ($line = mysql_fetch_row($result)) {

$res1[]=$line[0];

}

$all_res[7]=$res;

$all_res[8]=$res1;

return $all_res;

}
//Данная функция создаёт шаблон импорта данных.

function create_template($title,$url,$date,$duration,$duration_unit,$active, $propertys, $object_types){

$query='insert into import_template values(Null,\''.$title.'\',\''.$url.'\',\''.$date.'\','.$duration.',\''.$duration_unit.'\','.$active.')';

Query($result,$query);

$id=mysql_insert_id();

foreach ($propertys as $key => $name1) {
$name = explode(':',$name1);

for($i=0;$i
$name[$i]=trim($name[$i]);}
$query = 'select id from property where title=\''.$name[0].'\'';

Query($result,$query);

if (mysql_num_rows($result) != 0) {

$line = mysql_fetch_row($result);

$id1=$line[0];

}

else {return $this->errors[0]; exit;}

if ($name[1]='') {$name[1]='0000-00-00';}

$query='insert into import_property values('.$id.','.$id1.',\''.$name[1].'\');';

Query($result,$query);

}

foreach ($object_types as $key => $name) {

$query = 'select id from object_type where title=\''.$name.'\'';

Query($result,$query);

if (mysql_num_rows($result) != 0) {

$line = mysql_fetch_row($result);

$id1=$line[0];

}

else {return $this->errors[0]; exit;}

$query='insert into import_object values('.$id.','.$id1.');';

Query($result,$query);

}

return 1;

}
//Данная функция выводит информацию о задачах мпорта которая отображается в главном диалоге импорта данных.

function get_import_tasks(){

$query='select id,title,active,date from import_template';

Query($result,$query);

while ($line = mysql_fetch_row($result)) {

$res[$line[0]]=array($line[1],$line[2],$line[3]);

}

return $res;

}
//Данная функция предназначена для активации выбранной задачи импорта данных.

function Activate($id){

$query='select url,date,duration,active from import_template where id='.$id;

//print $query;

Query($result,$query);

//print 'rrr';

if (mysql_num_rows($result) == 0) {return $this->errors[1]; exit;}

else{

$line=mysql_fetch_row($result);

if ($line[3]==0) {

if (($line[0]!='') && ($line[1]!='') && ($line[2]!='')){

$query='update import_template set active=1 where id='.$id;}

else {

return ('Данная задача не может быть активирована, т.к. не введены все необходимые параметры!'); exit;}

}

else {$query='update import_template set active=0 where id='.$id;}

Query($result,$query);

}

}
//Данная функция удаляет выбранный шаблон импорта данных.

function Deletetemp($id){

$query='delete from import_property where import_template_id='.$id;

Query($result,$query);

$query='delete from import_object where import_template_id='.$id;

Query($result,$query);

$query='delete from import_template where id='.$id;

Query($result,$query);

}

//Данная функция изменяет выбранный шаблон импорта данных

function Apdate_template($id,$title,$url,$date,$duration,$duration_unit,$active, $propertys, $object_types){

//Сначала удаляются старые данные об импортируемых показателях и и объектах, а затем добавляются новые данные.

$query='delete from import_property where import_template_id='.$id;

Query($result,$query);

foreach ($propertys as $key => $name1) {
$name = explode(':',$name1);

for($i=0;$i
$name[$i]=trim($name[$i]);}
$query = 'select id from property where title=\''.$name[0].'\'';

Query($result,$query);

if (mysql_num_rows($result) != 0) {

$line = mysql_fetch_row($result);

$id1=$line[0];

}

else {return $this->errors[0]; exit;}

if ($name[1]='') {$name[1]='0000-00-00';}

$query='insert into import_property values('.$id.','.$id1.',\''.$name[1].'\');';

Query($result,$query);

}

$query='delete from import_object where import_template_id='.$id;

Query($result,$query);

foreach ($object_types as $key => $name) {

$query = 'select id from object_type where title=\''.$name.'\'';

Query($result,$query);

if (mysql_num_rows($result) != 0) {

$line = mysql_fetch_row($result);

$id1=$line[0];

}

else {return $this->errors[0]; exit;}

$query='insert into import_object values('.$id.','.$id1.');';

Query($result,$query);

}

$query = 'update import_template set title=\''.$title.'\',url=\''.$url.'\',date=\''.$date.

'\',duration='.$duration.',duration_unit=\''.$duration_unit.'\',active='.$active.' where id='.

$id;

Query($result,$query);

return 1;

}
}
?>
Модуль TImportAction.php (содержит описание класса TImportAction, который содержит в себе методы для формирования и отправки запроса на импорт данных)
class TImportAction

{

//Сохрагнение информации о текущем пользователе.

function TImportAction(){

$this->UserLogin = $_SESSION['Account']['Login'];

$this->User_id = $_SESSION['Account']['User_id'];

}
//Функция для одификации даты

function DateAdd($interval, $number, $date) {
$date_time_array = getdate($date);

$hours = $date_time_array['hours'];

$minutes = $date_time_array['minutes'];

$seconds = $date_time_array['seconds'];

$month = $date_time_array['mon'];

$day = $date_time_array['mday'];

$year = $date_time_array['year'];
switch ($interval) {
case 'yyyy':

$year+=$number;

break;

case 'q':

$year+=($number*3);

break;

case 'm':

$month+=$number;

break;

case 'y':

case 'd':

case 'w':

$day+=$number;

break;

case 'ww':

$day+=($number*7);

break;

case 'h':

$hours+=$number;

break;

case 'n':

$minutes+=$number;

break;

case 's':

$seconds+=$number;

break;

}

$timestamp= mktime(0,0,0,$month,$day,$year);

return $timestamp;

}
//Создание xml-запроса при автоматическом импорте данных.

function Createxmlzapros($id){

print 'tut';

$xml=new DomDocument('1.0','utf-8');

$import = $xml->appendChild($xml->createElement('import'));

$query='select * from import_template where id='.$id;

Query($result,$query);

$line = mysql_fetch_row($result);

$date=$line[3];

$count=$line[4];

$mes=$line[5];

$year=substr($date,0,4);

$month=substr($date,5,2);

$day=substr($date,8,2);

$date=mktime(0,0,0,$month,$day,$year);

$curdate=time();

$import->setAttribute('startdate',date("Y-m-d",$date));

$import->setAttribute('enddate',date("Y-m-d",$curdate));
$query='select title from property,import_property where import_property.import_template_id='.$id.

' and import_property.property_id=property.id';

Query($result,$query);

while ($line = mysql_fetch_row($result)) {

$propertys[]=$line[0];

}

$query='select title from object_type,import_object where import_object.import_template_id='.$id.

' and import_object.object_type_id=object_type.id';

Query($result,$query);

while ($line = mysql_fetch_row($result)) {

$types[]=$line[0];

}

print_r($types);

print_r($propertys);

for($i=0;$i
$types[$i]=trim($types[$i]);}

for($i=0;$i
$type[$i]=$import->appendChild($xml->createElement('type'));

$type[$i]->appendChild($xml->createTextNode($types[$i]));

}

for($i=0;$i
$prop[$i]=$import->appendChild($xml->createElement('property'));

$prop[$i]->appendChild($xml->createTextNode($propertys[$i]));

}

$xml->formatOutput = true;

$xml->save('file.xml');

}
//Создание xml-запроса при ручном импорте данных.

function Createxmlzapros1($id,$s_date,$e_date){

$xml=new DomDocument('1.0','utf-8');

$import = $xml->appendChild($xml->createElement('import'));

$query='select * from import_template where id='.$id;

Query($result,$query);

$line = mysql_fetch_row($result);

$date=$line[3];

$count=$line[4];

$mes=$line[5];

$year=substr($date,0,4);

$month=substr($date,5,2);

$day=substr($date,8,2);

$date=mktime(0,0,0,$month,$day,$year);

$curdate=time();

$import->setAttribute('startdate',$s_date);

$import->setAttribute('enddate',$e_date);
$query='select title from property,import_property where import_property.import_template_id='.$id.

' and import_property.property_id=property.id';

Query($result,$query);

while ($line = mysql_fetch_row($result)) {

$propertys[]=$line[0];

}
$query='select title from object_type,import_object where import_object.import_template_id='.$id.

' and import_object.object_type_id=object_type.id';

Query($result,$query);

while ($line = mysql_fetch_row($result)) {

$types[]=$line[0];

}

for($i=0;$i
$types[$i]=trim($types[$i]);}

for($i=0;$i
$type[$i]=$import->appendChild($xml->createElement('type'));

$type[$i]->appendChild($xml->createTextNode($types[$i]));

}

for($i=0;$i
$prop[$i]=$import->appendChild($xml->createElement('property'));

$prop[$i]->appendChild($xml->createTextNode($propertys[$i]));

}

$xml->formatOutput = true;

$xml->save('file.xml');
}
//Отправка xml-запроса на удалённый сервер.

function setxml($file1,$adress){

$socket = fsockopen($adress, 80, $errno, $errstr, 30);

if(!$socket)die("$errstr($errno)");

$boundary = md5(uniqid(time()));

$file = "--$boundary\r\n".

"Content-Disposition: form-data; name=\"new_file\";".

" filename=\"file.xml\"\r\n".

"Content-Type: text/xml\r\n".

"Content-Transfer-Encoding: binary\r\n\r\n";

$file = $file.base64_encode(file_get_contents($file1));

$file = $file."\r\n";

$var1 = "--$boundary\r\nContent-Disposition: '.

'form-data; name=\"name\"\r\n\r\n".

urlencode("2011-04-05")."\r\n";

fwrite($socket, "POST /index.php HTTP/1.1\r\n");

fwrite($socket, "Host: $adress\r\n");

fwrite($socket,"User-agent:Opera 10.00\r\n");

fwrite($socket, "Connection: close\r\n");

fwrite($socket,"Content-Type: ".

"multipart/form-data; boundary=$boundary\r\n");

fwrite($socket,"Content-length:".(strlen($file)+strlen($var1))."\r\n");

fwrite($socket,"Accept:*/*\r\n");

fwrite($socket,"\r\n");

fwrite($socket,"$file");

fwrite($socket, "$var1");

fwrite($socket,"--$boundary--\r\n");

fwrite($socket, "\r\n");

$answer = '';

$fl=false;

$i=0;

$fileHandle=fopen('rez2.xml','w');

while(!feof($socket)){

$i++;
$fl=false;

$answer = fgets($socket, 4096);

if ($fl) {echo htmlspecialchars($answer).'
';

fputs($fileHandle,$answer);}

if ( htmlspecialchars($answer)=='') {

print 'yes';}

}

fclose($fileHandle);

fclose($socket);

}
function set_date($id){

$curdate=time();

$query='update import_template set date=\''.date("Y-m-d",$curdate).'\' where id='.$id;

Query($result,$query);

}

}

?>

Модуль import.php (содержит функции, осуществляющие разбор xml-документа, анализ и вставку импортируемых данных)
require_once('config.php');

require_once('modules/utils.php');
//Функция изменения даты.

function DateAdd($interval, $number, $date) {
$date_time_array = getdate($date);

$hours = $date_time_array['hours'];

$minutes = $date_time_array['minutes'];

$seconds = $date_time_array['seconds'];

$month = $date_time_array['mon'];

$day = $date_time_array['mday'];

$year = $date_time_array['year'];

switch ($interval) {

case 'yyyy':

$year+=$number;

break;

case 'q':

$year+=($number*3);

break;

case 'm':

$month+=$number;

break;

case 'y':

case 'd':

case 'w':

$day+=$number;

break;

case 'ww':

$day+=($number*7);

break;

case 'h':

$hours+=$number;

break;

case 'n':

$minutes+=$number;

break;

case 's':

$seconds+=$number;

break;

}

$timestamp= mktime(0,0,0,$month,$day,$year);

return $timestamp; }
//Функция добавления значений периодического поазателя.

function addpropertyvalues($mas1, $mas2, $count2){

global $depth;

$str=$mas1[0][0];

$str1=$mas1[0][1];

$query='select * from stock_object where title=\''.$str.'\' and exists

(select * from property_value where stock_object.id=property_value.id_object and

property_value.id_property=13 and property_value.value='.$str1.')';

Query($result,$query);

if (mysql_num_rows($result) == 0) {

$query='select * from stock_object where title=\''.$str.'\'';

Query($result,$query);

if (mysql_num_rows($result) == 0) {

die('Информация об объекте родителе не содержится в системе!');}

else {$line = mysql_fetch_row($result);

$id1=$line[0];

}

else {$line = mysql_fetch_row($result);

$id1=$line[0];

$str=$mas1[1];

$query='select id,duration,duration_unit from property where title=\''.$str.'\'';

Query($result,$query);

if (mysql_num_rows($result) == 0) {die('error2');}

else {$line = mysql_fetch_row($result);

$id2=$line[0];

$dur=$line[1];

$durun=$line[2];}

$query='select start_date from property_value where id_object='.$id1.' and id_property='.$id2;

Query($result,$query);

if (mysql_num_rows($result) == 0) {$date=$mas2[0];}//die('error3');}

else {$line = mysql_fetch_row($result);

$date=$line[0];}

$year=substr($date,0,4);

$month=substr($date,5,2);

$day=substr($date,8,2);

$date=mktime(0,0,0,$month,$day,$year);

for ($i=0;$i<=$count2;$i=$i+2)

{ $year=substr($mas2[$i],0,4);

$month=substr($mas2[$i],5,2);

$day=substr($mas2[$i],8,2);

$curdate=mktime(0,0,0,$month,$day,$year);

while ($curdate>$date)

{

if ($durun=="месяцы") {

$date=dateadd('m',$dur,$date); }

else {$date=dateadd('yyyy',$dur,$date);} }

$query='select * from property_value where id_property='.$id2.' and id_object='.$id1.' and start_date=\''.date("Y-m-d",$date).'\'';

Query($result,$query);

if (mysql_num_rows($result) == 0) {

$str=$mas2[$i+1];

$query='insert into property_value values(null,'.$id2.','.$id1.','.$str.',NULL,NULL,\''.date("Y-m-d",$date).'\');';

Query($result,$query);

if ($active)

echo 'Добавленно новое значение периодического показателя '

.$mas1[1].'
для объекта '.$mas1[0][0].'

на дату '.date("Y.m.d",$date).' - '.$str.'
';

}

$str=$mas2[$i]; }

//Функция добавления значения непериодического показателя.

function AddProperty($mas)

{ $str=$mas[0][0];

$str1=$mas[0][1];

$query='select * from stock_object where title=\''.$str.'\' and exists

(select * from property_value where stock_object.id=property_value.id_object and

property_value.id_property=13 and property_value.value='.$str1.')';

Query($result,$query);

if (mysql_num_rows($result) == 0) {

$query='select * from stock_object where title=\''.$str.'\'';

Query($result,$query);

if (mysql_num_rows($result) == 0) {

die('Информация об объекте родителе не содержится в системе!');}

else {$line = mysql_fetch_row($result);

$id1=$line[0];

}

else {$line = mysql_fetch_row($result);

$id1=$line[0];

$str=$mas[1];

$query='select id from property where title=\''.$str.'\'';

Query($result,$query);

if (mysql_num_rows($result) == 0) {die('error2');}

else {$line = mysql_fetch_row($result);

$id2=$line[0];}

$query='select * from property_value where id_property='.$id2.' and id_object='.$id1;

Query($result,$query);

if (mysql_num_rows($result) == 0) {

$str=$mas[2];

$query='insert into property_value values(null,'.$id2.','.$id1.','.$str.',NULL,NULL,\'0000-00-00\');';

Query($result,$query);

if ($active)

echo 'Добавленно новое значение показателя '

.$mas[1].'
для объекта '.$mas[0][0].

'
- '.$mas[2].'
'; } }
//Функция добавления нового объекта учёта.

function ADDObject($mas){

global $depth;

$parent='';

$c=0;

$f=false;

$query='select * from object_type where title=\''.$mas[1].'\'';

Query($result,$query);

if (mysql_num_rows($result) == 0) {die('Информация о типе потомке не содержится в системе!');}

else {$line = mysql_fetch_row($result);

$id2=$line[0];

for ($i=0;$i
{ $str=$mas[0][$i];

$str1=$mas[0][$i+1];

$query='select * from stock_object where title=\''.$str.'\' and exists

(select * from property_value where stock_object.id=property_value.id_object and

property_value.id_property=13 and property_value.value='.$str1.')';

Query($result,$query);

if (mysql_num_rows($result) == 0) {

$query='select * from stock_object where title=\''.$str.'\'';

Query($result,$query);

if (mysql_num_rows($result) == 0) {

die('Информация об объекте родителе не содержится в системе!');}

else {$line = mysql_fetch_row($result);

$id3=$line[0]; }

else {$line = mysql_fetch_row($result);

$id3=$line[0];}

$str=$mas[2][0];

$str1=$mas[2][1];

$query='select * from stock_object,property_value, property where stock_object.title=\''.$str.'\'

and property_value.id_object=stock_object.id and property_value.id_property=13 and

property_value.value='.$str1;

Query($result,$query);

if (mysql_num_rows($result) == 0) {

$query='insert into stock_object values(null,\''.$str.'\','.$id2.');';

Query($result,$query);

$id=mysql_insert_id();

$query='insert into property_value values(null,13,'.$id.','.$str1.',Null,Null,0000-00-00);';

Query($result,$query);

$f=true; }

$query='select * from stock_object,property_value, property where stock_object.title=\''.$str.'\'

and property_value.id_object=stock_object.id and property_value.id_property=13 and

property_value.value='.$str1;

Query($result,$query);

if (mysql_num_rows($result) == 0){}

else {$line = mysql_fetch_row($result);

$id4=$line[0];

$query='insert into property_value values(null,12,'.$id4.','.$id3.',NULL,NULL,0000-00-00);';

Query($result,$query);

$parent=$parent.$mas[0][$i].',';

$c=$c+1;}}

if ($f) { $parent=substr($parent,0,strlen($parent)-1);

if ($active) {

echo 'Добавлен новый объект

'.$str.'';

if ($c==1) {

echo ' Объект родитель

'.$mas[0][0].' .
';}

else {echo ' Объекты родители

'.$parent.' .
';}}

} }
//Данная функция предназначена для разбора открывающихся тегов.

function startElement($parser, $name, $attrs) {

global $depth;

global $tip;

global $count;

global $mas1;

global $fl;

global $fl2;

global $count2;

if ($name=='OBJECT')

{$tip=1; $count=0; unset($mas1[0]);}

else if ($name=='PROPERTY') {$tip=2; $count=0;}

else if ($name=='VALUES') {$fl=true; $count2=0;

else

if ($name=='PARENT_NAMES') {$fl2=true; $count2=0;}

else{

if ($fl2) {

foreach ($attrs as $attr => $value)

$mas1[$count][$count2*2+1]=$value; }

else{

foreach ($attrs as $attr => $value) {

$mas1[$count][1]=$value;

} } }
//Данная функция предназначена для разбора значения между тегами.

function stringElement($parser, $str) {

if (strlen(trim($str)) > 0) {

global $depth;

global $tip;

global $count;

global $mas1;

global $fl;

global $fl2;

global $count2;

global $mas2;

$str=iconv("UTF-8","cp1251",$str);

if (($count==0) and ($fl2)) {

$mas1[0][$count2*2]=$str;

$count2++;

}

else

if (($tip==1) and (($count==0) or ($count==2))){

$mas1[$count][0]=$str; $count++; }

else if (($tip==2) and ($count==0)) {

$mas1[$count][0]=$str; $count++; }

else

{$mas1[$count]=$str; $count++;} // выводим строку

if ($fl) {$mas2[$count2]=$str; $count2++;}

} }
//Данная функция предназначена для разбора закрывающегося тега.

function endElement($parser, $name) {

global $depth;

global $tip;

global $count;

global $mas1;

global $fl;

global $fl2;

global $count2;

global $mas2;

global $propertys;

global $types;

$depth--;

if ($name=='PARENT_NAMES') {$fl2=false; $count2=0; $count++;}

if ($name=='OBJECT')

{$tip=0; echo 'true1'; ADDObject($mas1); $count=0; unset($mas1[0]);}

else

if ($name=='PROPERTY') {$tip=0; $count=0; if ($fl)

{$fl=false; echo 'true2'; addpropertyvalues($mas1, $mas2, $count2-1); $count2=0; unset($mas1); unset($mas2);}

else {echo 'tut3'; addproperty($mas1); unset($mas1);}} // уменьшаем глубину

}
//В цикле читается весь xml-документ.

$depth = 0;

global $mas1;

global $fl2;

$fl2=false;

$xml_parser = xml_parser_create("UTF-8");

xml_set_element_handler($xml_parser, "startElement", "endElement");

xml_set_character_data_handler($xml_parser, "stringElement");

if (!($fp = fopen($file, "r"))) {

die("could not open XML input"); }

if ($active)

echo ' Результаты импорта данных



Результаты импорта данных

';

$str=$_POST['Property'];

$propertys = explode(',',$str);

for($i=0;$i
$propertys[$i]=trim($propertys[$i]);}

$str=$_POST['Comment'];

$types = explode(',',$str);

for($i=0;$i
$types[$i]=trim($types[$i]);}

while ($data = fgets($fp)) {

if (!xml_parse($xml_parser, $data, feof($fp))) {

echo "
XML Error: ";

echo xml_error_string(xml_get_error_code($xml_parser));

echo " at line ".xml_get_current_line_number($xml_parser);

break; } }

xml_parser_free($xml_parser);

if ($active)

echo '
Вернуться к главной странице


1   ...   10   11   12   13   14   15   16   17   18

Похожие:

Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
В рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
Государственное образовательное учреждение высшего профессионального образования
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
Санкт-петербургский государственный электротехнический университет «лэти» им. В. И. Ульянова (ленина)
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Отчет о научно-исследовательской работе в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» iconОтчет о научно-исследовательской работе в рамках федеральной целевой...
«Разработка новых методов индивидуальной коррекции сводно-радикального статуса при бактериальных инфекциях»


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск