Описание профиля отсутствует
Отзывы заказчиков
dr-Nemo
Вадим 
51 годРоссия
16 лет в сервисе
Был
11 лет назад
25 отзывов(-1)
$20
0 баллов
15 лет назад
Не справился со сроками, к работе относится не серьезно. Отнесся к нему с пониманием, продлил срок "на две недели". Хотя обещал выполнить в течений "трех дней", спустя "три недели" ничего не выполнил. Не рекомендую сотрудничать с данным человек, в ответственный момент может без проблем очень сильно подвести.
SakhIndigo
48 летРоссия
18 лет в сервисе
Был
13 лет назад
$75
0 баллов
15 лет назад
К сожалению, со сроками не справился, работу пришлось прервать.
yurg
Yurg 
NaN летРоссия
17 лет в сервисе
Был
13 лет назад
20 отзывов(-2)
$20
0 баллов
15 лет назад
С заданием не справился, несмотря на то, что я дал дополнительное время на исполнение. Жалею, что потратил время на работу с этим исполнителем. Общался с ним через ЛС сайта, в подтверждение своих слов могу привести логи переговоров.
Заказчик не прислушивается к мнению исполнителя, ничего не хочет понимать, стоит на своем. Не знаю как по оплате, но по общению очень неприятный человек, не рекомендую. Причем, что интересно, не оплатил одно задание, которое не просил переделывать. Другое задание тоже было готово, но возникли проблемы и не захотел меня слушать, просто ЗАБРАЛ себе готовое (в котором якобы не разобрался) и сказал "не пишите мне ничего, бесполезно". Хоть и после сроков, все равно, интересное поведение :)
Ответный отзыв
kotobar
Гар 
51 годРоссия
17 лет в сервисе
Был
8 лет назад
$10
10 баллов
15 лет назад
Работа сделана полностью и в срок. Все вопросы решались сразу. Был всё время на связи. Сам предложил варианты предоставления информации из которых было легко выбрать желаемое. Прислушивался ко всем пожеланиям и добился отличного результата. Спасибо
Заказчик четко ставит задачу, определяет справедливые сроки и цену, с пониманием относится к возникающим в проекте трудностям. Надеюсь на дальнейшее сотрудничество!
Ответный отзыв
ev9eniy
40 летРоссия
15 лет в сервисе
Был
7 лет назад
$17
5 баллов
15 лет назад
[07.04.2009 22:14:35] ev9niy: Parser для Ozon.ru [07.04.2009 22:14:41] *** Call to andrew.boltachev, no answer. *** [07.04.2009 22:15:02] ev9niy: Вечера, по поводу парсера [07.04.2009 22:15:27] *** Звонок закончен *** [07.04.2009 22:15:27] ev9niy: ev9niy is away. This is an auto-reply message. Get your copy of Pamela for Skype today at www.pamela-systems.com and enjoy these messages! [07.04.2009 22:16:28] *** Call to andrew.boltachev, no answer. *** [07.04.2009 22:16:31] *** Звонок закончен *** [07.04.2009 22:16:48] andrew.boltachev: да, здравствуйте [07.04.2009 22:17:01] andrew.boltachev: простите, интернет отключался [07.04.2009 22:17:09] ev9niy: Привет) [07.04.2009 22:17:10] *** Call to andrew.boltachev, no answer. *** [07.04.2009 22:17:25] andrew.boltachev: у меня нет микрофона ( [07.04.2009 22:17:29] *** Звонок закончен *** [07.04.2009 22:17:32] ev9niy: блин) [07.04.2009 22:17:50] ev9niy: Интересно поглядеть что писал, какие сроки, сколько хочешь денег? [07.04.2009 22:18:21] andrew.boltachev: писал -- хтмл парсер [07.04.2009 22:18:32] andrew.boltachev: могу показать примеры [07.04.2009 22:18:40] ev9niy: Сорс можно прям в скайп) [07.04.2009 22:18:50] andrew.boltachev: вот например сделанный мной сайт [07.04.2009 22:19:02] andrew.boltachev: http://pogoda.4informer.ru/ [07.04.2009 22:19:23] andrew.boltachev: сейчас отыщу, "на дальней полке" [07.04.2009 22:19:30] ev9niy: Оки) Жду [07.04.2009 22:20:02] ev9niy: Прикольный сайт [07.04.2009 22:20:19] andrew.boltachev: почти бесполезный...) [07.04.2009 22:20:26] andrew.boltachev: в лпне дохода [07.04.2009 22:21:28] ev9niy: Можено кому-нть продать или в сайт вставить, тур фирме [07.04.2009 22:21:32] ev9niy: Жду код) [07.04.2009 22:22:29] ev9niy: я тут до 22:30 [07.04.2009 22:22:34] ev9niy: потом занят [07.04.2009 22:23:03] andrew.boltachev: вот [07.04.2009 22:23:08] andrew.boltachev: 90+50/60,1=>96,2=>102,3=>108,4=>false); $i=0; while ($zeniths[$i]) { $res = date_sunrise1($time,$format,$lat,$lng,$zeniths[$i],$gmt); if (($res)and($res!=1)) return $res; $i++; } return false; } function date_sunset2 ($time,$format,$lat,$lng,$gmt) { $zeniths = Array(0=>90+50/60,1=>96,2=>102,3=>108,4=>false); $i=0; while ($zeniths[$i]) { $res = date_sunset1 ($time,$format,$lat,$lng,$zeniths[$i],$gmt); if (($res)and($res!=1)) return $res; $i++; } return false; } function to_temperat($a) { $b = ($a{0}==='-') ? 3 : 2; $a = trim(substr($a,0,$b)); settype($a,"double"); return $a; } function windpa($s) { $s = trim(strtolower($s)); if ((strpos($s,"kph")!==false)and(strpos($s,"kph"))!==false) { $s = str_replace("kph","eIa",$s); $s = str_replace("mph","IIa",$s); $s = str_replace("0 IIa","0",$s); $s = str_replace("0 eIa","0",$s); } else { to_log("?Unknown wind format: $s",'get_forecast'); } return $s; } function windd($s) { if ($s == "CALM") { return ""; } else { $s = str_replace("N","N",$s); $s = str_replace("E","A",$s); $s = str_replace("W","C",$s); $s = str_replace("S","?",$s); return $s; } } function processObs($wbfilename, $obs, $day) { //---------------------------------------------------------------------------------------------- $imgid = 0; settype($day,'integer'); if ($wbfilename != "") { $filename = "images/twc/" . GetFileName($wbfilename); $hasimg = mysql_query("SELECT * FROM `weather_observation` WHERE `value`=\"".$obs."\" AND `day`=$day"); if (($hasimg === false) or (mysql_num_rows($hasimg)==0)) { /*echo "Copy: ";*/ //echo "http://weatherbonk.com" . $wbfilename; //echo SCRIPT_DIR . $filename; //echo "copy(\"http://weatherbonk.com" . $wbfilename. "\", \"" . SCRIPT_DIR . $filename . "\");"; $isf = is_readable(BASE_DIR . "weatherscript/" . $filename); if (!$isf) { copy("http://weatherbonk.com" . $wbfilename, BASE_DIR . "weatherscript/" . $filename); to_log ("New image:" . $wbfilename,'observation'); } $isf = is_readable(BASE_DIR . "weatherscript/" . $filename); if (!mysql_query("INSERT INTO `weather_observation` (`wbfilename`,`value`,`rus`,`imgfile`,`isfile`,`day`) VALUES (\"$wbfilename\",\"$obs\",\"$obs\",\"$filename\",$isf,$day)")) { to_log ("MySQL error : " . mysql_error(),'get_forecast'); } to_log ("New value:" . $obs,'observation'); } $hasimg = mysql_query("SELECT * FROM `weather_observation` WHERE `value`=\"".$obs."\" AND `day`=$day"); $fimg = mysql_fetch_array($hasimg); $imgid = $fimg['id']; } return $imgid; //---------------------------------------------------------------------------------------------- } function GetFileName($filepath)//Oaaeeou ion?aa! { if (strpos($filepath,'/') === false) { return $filepath; } else { return GetFileName(substr($filepath,strpos($filepath,'/')+1)); } } function getCC($lat,$lng) { $cxml = simplexml_load_file("http://maps.google.com/maps/geo?output=xml&oe=utf-8&key=".GMAP_KEY."&q=".$f['lat'].",".$f['lng']);//Ia?aaaeaou if (isset($cxml->Response->Placemark->AddressDetails->Country->CountryNameCode)) return $cxml->Response->Placemark->AddressDetails->Country->CountryNameCode; else return false; } //echo "Begin\n"; function delnobr($str) { $str = str_replace("","",$str); $str = str_replace("","",$str); return $str; } function getForecast($id,$lat,$lng,$gmt_offset) { $zenith = 90 + 50/60; //May be other $url = 'http://weatherbonk.com/weather/fragments/forecast.jsp?type=twc&inFrame=yes&skin=v3&inMap=null&fullHeight=true&_display=C&id='.$lat.','.$lng; $doc = file_get_html($url); //echo $doc->find('table',1); if ($doc->find('table',1)==NULL) { //echo "No information!"; return false; } $q = ""; if ((count($doc->find('table',1)->find('tr'))!=21)and(count($doc->find('table',1)->find('tr'))!=20)) { to_log("!!Illegel tr count : ".count($doc->find('table',1)->find('tr'))." (id : ".$id.")",'get_forecast'); to_log($url,'get_forecast'); //return false; } ////echo $id ." : ". . "\n"; foreach ($doc->find('table',1)->find('tr') as $tr) // id="forecastMain" { $td = $tr->find('td'); $tdcount = count($td); if ($tdcount == 0) { } elseif ($tdcount == 1) { //Aaoa //echo "Aaoa : " . trim($td[0]->plaintext) . ""; $fullstrdate = trim($td[0]->plaintext); } elseif ($tdcount == 3) { $img = $td[0]->find('img'); $img = $img[0]; //echo "Ieeoia?aiia (Aa?an = \"".$img->src."\", caiaia = \"".$img->alt."\")" . ""; $q .= ", "; $weather = delnobr($td[1]->innertext); $morning = (preg_match("/(Sunrise)/",$weather)!=0); $evening = (preg_match("/(Sunset)/", $weather)!=0); if (!($morning xor $evening)) { to_log('!!Illegal weather (morning/evening): ' . $weather,'get_forecast'); return false; } $strdate = substr($fullstrdate,strpos($fullstrdate," ")+1); $time = strtotime($strdate); echo "$strdate\n"; $hour = ($morning) ? "06" : "18"; /*Sun calculating*/ $curmonth = (int)date("m",time()); $datemonth = (int)date("m",$time ); $year = (int)date("Y"); /*var_dump($curmonth ); var_dump($datemonth); var_dump($year);*/ if ($curmonth==12 AND $datemonth==1) $year++; $date = date("$year-m-d ".$hour.":00:00",$time); $dateid = "$id $date"; echo "$strdate : ".date("Y-m-d H:i:s",$time)." : $date\n"; $time = strtotime($date); $time_next = $time + 24*60*60; if ($morning) { $sun = date_sunrise1($time,SUNFUNCS_RET_TIMESTAMP,$lat,$lng,$zenith,$gmt_offset); //echo "Sun : ".date("Y-m-d H:i:s",$sun)."\n"; $endtime = date_sunset2 ($time,SUNFUNCS_RET_TIMESTAMP,$lat,$lng,0); //echo "End : ".date("Y-m-d H:i:s",$endtime)."\n"; } else { $sun = date_sunset1 ($time,SUNFUNCS_RET_TIMESTAMP,$lat,$lng,$zenith,$gmt_offset); //echo "Sun : ".date("Y-m-d H:i:s",$sun)."\n"; $endtime = date_sunrise2($time_next,SUNFUNCS_RET_TIMESTAMP,$lat,$lng,0); //echo "End : ".date("Y-m-d H:i:s",$endtime)."\n"; } if ($endtime==0) return false; $q .= "(" . $id . ", \"$date\", \"$dateid\", "; //echo "Iiaiaa : " . $weather . ""; //RegEx-ia?neia no?i?ee iiaiau //Showers, 40% chance of precipitation. Winds 14.5 kph from SW. Humidity 93% Sunrise: 8:03 AM //echo $weather . ""; $res1 = array(); preg_match("/^([^,]+)[,][ ]/",$weather,$res1); //echo "res1 : " . $res1[1] . ""; #$q.=processObs($res1[1]) . ", "; //echo $img->src . ""; $q.= " " . to_temperat(delnobr(($td[2]->plaintext))) . ", "; if (isset($res1[1])) { $q.=processObs($img->src,$res1[1],$morning) . ", "; } else { to_log("!Obs: " . $weather,'get_forecast'); $q.= " 0, "; } $chance = 0; $res2 = array(); preg_match("/^[^,]+[,][ ]+([0-9][0-9]?[0-9]?)[ ]*[%][ ]*/",$weather,$res2); //echo "res2 : " . $res2[1] . ""; if (isset($res2[1])) { $q.=$res2[1] . ", "; $chance = $res2[1]; } else { to_log("!Chance: " . $weather,'get_forecast'); $q.=" -1, "; } $res3 = array(); preg_match("/Winds[ ]*([0-9]+[.]?[0-9]* [km]ph)/",$weather,$res3); //echo "res3 : " . $res3[1] . ""; if (isset($res3[1])) { $q.= "\"" . windpa($res3[1]) . "\", "; }else { to_log("!Wind: " . $weather,'get_forecast'); $q.=" \"\", "; } $res4 = array(); preg_match("/from[ ]*([NEWSCALM]+)/",$weather,$res4); //echo "res4 : " . $res4[1] . ""; //$q.= "\"" . $res4[1] . "\", "; if (isset($res4[1])) { $q.= "\"" . windd($res4[1]) . "\", "; }else { to_log("!WindDir: " . $weather,'get_forecast'); $q.=" \"\", "; } $res5 = array(); preg_match("/Humidity[ ]*([0-9][0-9]?[0-9])?[ ]*[%]/",$weather,$res5); //echo "res5 : " . $res5[1] . ""; if ($chance!=0){ if (isset($res5[1])) { $q.= $res5[1] . ", "; }else { to_log("!Humidity: " . $weather,'get_forecast'); $q.=" -1, "; } } else { $q.=" 0, "; } $res6 = array(); if ($morning) { preg_match("/Sunrise:(.*$)/",$weather,$res6); if (isset($res6[1])) { $q.= "\"" . $res6[1] . "\", \"\""; }else { to_log("!Sunrise: " . $weather,'get_forecast'); $q.=" \"\",\"\""; } } else { preg_match("/Sunset:(.*$)/",$weather,$res6); if (isset($res6[1])) { $q.= "\"\", \"" . $res6[1] . "\""; } else { to_log("!Sunset: " . $weather,'get_forecast'); $q.=" \"\",\"\""; } } //echo "res6 : " . $res6[1] . ""; //echo "Oaiia?aoo?a: " . delnobr($td[2]->plaintext) . ""; $day = ($morning) ? 1 : 0; $sun = date("Y-m-d H:i:s",$sun); $endtime = date("Y-m-d H:i:s",$endtime); $q.=",$day,\"$sun\",\"$endtime\")"; } } $doc->clear(); unset($doc); return $q; } to_log ("----------------Starting update----------------",'get_forecast'); ###mysql_query("TRUNCATE TABLE `weather_forecast`"); $w_countries = mysql_query(" SELECT `work_countries`.`id` FROM `work_countries` WHERE `work_countries`.`work` "); for ($j=0;$j"; $date = date("Y-m-d H:i:s"); $reqhead = "REPLACE INTO `weather_forecast` (`pid`,`date`,`dateid`, `temperature`,`obs`,`chance`,`wind`,`winddir`,`humidity`,`sunrise`,`sunset`,`day`,`sun`,`endtime`) VALUES "; $q = ""; for ($i=0; $i\n"; echo $req; //die (); } unset($q); $q = ""; }*/ $f = mysql_fetch_array($r); //echo $i . " : " . $f['showname'] . ""; $comma = ($i != 0); $offset = $f['utc']; $name = $f['name']; /////echo $f['body'] . " $offset\n"; echo "$name\n"; $s = getForecast($f['id'],$f['lat'],$f['lng'],$offset); //echo $s; if ($s!==false) { $q .= $s; } else { to_log("Unable to request : ".$f['lat'].", ".$f['lng'],'get_forecast'); } } if ($q != "") { $req = $reqhead . substr($q,1); //echo $req . ""; if (!mysql_query($req)) { to_log ("MySQL error (add): " . mysql_error(),'get_forecast'); echo "MySQL error (add): " . mysql_error(); echo "\n"; echo $req; //die (); } } } ?> [07.04.2009 22:23:21] ev9niy: спасибо курю =) [07.04.2009 22:24:14] andrew.boltachev: это не так сразу было... но сейчас работает, полгода как :) [07.04.2009 22:24:33] ev9niy: главное что автомат) [07.04.2009 22:25:50] andrew.boltachev: да. это для остоянного запуска. он за 3 минуты информацию где-то по 200-300 городам о погоде собирает [07.04.2009 22:25:56] andrew.boltachev: ну там сервер мощный [07.04.2009 22:26:46] andrew.boltachev: и как? по поводу сотрудничества? [07.04.2009 22:26:56] ev9niy: Поглядел код интересные моменты с условием и прегматчем) [07.04.2009 22:27:37] ev9niy: Сколько денег думаешь? [07.04.2009 22:27:42] ev9niy: И сроки? [07.04.2009 22:27:47] andrew.boltachev: сроки день [07.04.2009 22:28:06] andrew.boltachev: там xml - его проще так то [07.04.2009 22:28:20] andrew.boltachev: завтра думаю в это же время [07.04.2009 22:28:37] andrew.boltachev: денег 600 думаю [07.04.2009 22:29:05] ev9niy: Ок, 300р после просмотра кода ещё 300р за доводку, если все отлично 600р идет? [07.04.2009 22:29:14] andrew.boltachev: да [07.04.2009 22:29:29] andrew.boltachev: так, а там на постоянный запуск? [07.04.2009 22:29:32] ev9niy: Сроки - обещал завтра в 22:30 значит должно быть готово, если не успешь то не работаю, ок? [07.04.2009 22:29:50] ev9niy: Да будет переодически весеть собирать инфу [07.04.2009 22:29:53] andrew.boltachev: разумеется. сроки это главное в нашем деле [07.04.2009 22:30:27] andrew.boltachev: так как по 100 на проект человек аходит - какая-нибудь верстка там ) [07.04.2009 22:30:39] ev9niy: Ок [07.04.2009 22:30:44] andrew.boltachev: а оплата вебмани будет? или как? [07.04.2009 22:30:58] ev9niy: Тогда подтверждаю заявку и со всем приостанавливаю общение, жду кода [07.04.2009 22:31:06] ev9niy: Оплата YM или WM? [07.04.2009 22:31:12] andrew.boltachev: аа) [07.04.2009 22:31:18] andrew.boltachev: да, webmoney [07.04.2009 22:31:44] andrew.boltachev: +бонус - комментарии (постараюсь подробнее) [07.04.2009 22:32:52] andrew.boltachev: завтра с 22:00 до 23:00 гарантированно буду на связи [07.04.2009 22:33:34] ev9niy: Ок, пойдет [07.04.2009 22:33:57] ev9niy: Отписал всем что тебя выбрал сейас ещё утврежу заявку [07.04.2009 22:40:46] ev9niy: Заявку утвердил, все ок, тогда успехов в работе! [07.04.2009 22:41:13] andrew.boltachev: спасибо, и до завтра! [07.04.2009 22:41:28] ev9niy: Бай) [08.04.2009 14:57:37] andrew.boltachev: Добрый день [08.04.2009 14:57:39] ev9niy: ev9niy is away. This is an auto-reply message. Get your copy of Pamela for Skype today at www.pamela-systems.com and enjoy these messages! [08.04.2009 14:57:45] andrew.boltachev: есть вопросы, если можно [08.04.2009 16:02:39] ev9niy: Привет, сейчас я не доступен, есть 5 мин [08.04.2009 16:03:42] ev9niy: могу ответить на вопросы. [08.04.2009 16:05:23] andrew.boltachev: да [08.04.2009 16:06:05] andrew.boltachev: с основным я разбрался. на выходе могу сделать луюой массив (в терминах PHP Array) [08.04.2009 16:06:22] andrew.boltachev: или нужно просто вывести в консоль? [08.04.2009 16:06:29] andrew.boltachev: *любой [08.04.2009 16:07:16] ev9niy: просто вывести, я там дальше сам :) [08.04.2009 16:07:25] andrew.boltachev: хорошо [08.04.2009 16:07:35] andrew.boltachev: кстати по твоему старому коду [08.04.2009 16:07:51] andrew.boltachev: не понимаю, откуда $xml_sp->Product [08.04.2009 16:07:52] ev9niy: Да знаю, там делать 5 сек :) [08.04.2009 16:08:03] ev9niy: Это как объект [08.04.2009 16:08:14] ev9niy: Перевод объекта в массив потом в базу [08.04.2009 16:08:30] andrew.boltachev: в базу, ну логично :) [08.04.2009 16:08:39] andrew.boltachev: а по категориям [08.04.2009 16:08:57] andrew.boltachev: для каждого фильма выдернуть названия категорий? не только идентификаторы? [08.04.2009 16:09:05] andrew.boltachev: и тут же включить сразу? [08.04.2009 16:09:10] ev9niy: Название, как по тз :) [08.04.2009 16:09:41] andrew.boltachev: хорошо, все в 22 будет готово [08.04.2009 16:10:17] ev9niy: Ок, буду ближе к этому времени! Удачи! [08.04.2009 21:51:58] ev9niy: Доброго вечера как успехи? [08.04.2009 21:52:11] andrew.boltachev: все почти готово [08.04.2009 21:52:22] ev9niy: Ок, нужен YM или WMR кошелек [08.04.2009 21:52:42] andrew.boltachev: подожди 10 мин, доведу код [08.04.2009 21:52:44] andrew.boltachev: :) [08.04.2009 21:52:47] ev9niy: ок [08.04.2009 21:52:51] andrew.boltachev: так то 22:30 [08.04.2009 21:53:03] andrew.boltachev: "дедлайн" :) [08.04.2009 21:53:07] ev9niy: Ок [08.04.2009 22:06:31] andrew.boltachev: так, в 22:30 все с комментариями... [08.04.2009 22:06:47] andrew.boltachev: терпит? [08.04.2009 22:06:58] ev9niy: Можно и без коментов, я пойму ;) [08.04.2009 22:07:07] andrew.boltachev: а, ну хорошо [08.04.2009 22:07:21] andrew.boltachev: если что - объясню по конкретным моментам... [08.04.2009 22:07:36] ev9niy: Ок [08.04.2009 22:07:51] ev9niy: Нужен кошелек, мой [email protected] [08.04.2009 22:10:04] andrew.boltachev: R789697525024 вебмани [08.04.2009 22:10:09] ev9niy: Ок [08.04.2009 22:13:57] ev9niy: Деньгу 300р перевел, код протекции после просмотра кода. [08.04.2009 22:14:15] ev9niy: +300р после мелких правок какие найду после отладки [08.04.2009 22:14:26] andrew.boltachev: ок [08.04.2009 22:14:30] andrew.boltachev: вижу перевод [08.04.2009 22:15:00] ev9niy: ок [08.04.2009 22:27:40] ev9niy: Как успехи? [08.04.2009 22:27:56] ev9niy: Мне завтра в 6:50 вставать ;) [08.04.2009 22:28:00] andrew.boltachev: да нормально. только кое-что переделать решил [08.04.2009 22:28:13] ev9niy: Скинь код плз, можно прям сюда [08.04.2009 22:28:20] andrew.boltachev: ок [08.04.2009 22:28:30] andrew.boltachev: сейчас... вот еще чуть-чут и отлажу ( [08.04.2009 22:28:41] ev9niy: Я подскажу что глючит [08.04.2009 22:30:55] ev9niy: В 22:35 на боковую [08.04.2009 22:30:59] ev9niy: спать. [08.04.2009 22:31:26] andrew.boltachev: ну в 6:50 я тоже буду, если что то нужно будет [08.04.2009 22:31:42] ev9niy: Ок, тогда отложим, идет? [08.04.2009 22:31:48] andrew.boltachev: ага [08.04.2009 22:31:57] ev9niy: Ок, тогда ночи. [08.04.2009 22:31:58] andrew.boltachev: в 6:50 все, с комментариями [08.04.2009 22:32:02] ev9niy: ок [08.04.2009 22:32:10] ev9niy: Лишь бы по ТЗ и раболало ;) [08.04.2009 22:32:13] andrew.boltachev: вот у тебя нерекурсивный поиск [08.04.2009 22:32:25] andrew.boltachev: у меня процедура хитрая, а глючит [08.04.2009 22:32:31] andrew.boltachev: чуть-чуть [08.04.2009 22:32:33] ev9niy: Там нужно было переделать ;) [08.04.2009 22:32:38] ev9niy: А в чём глюк? [08.04.2009 22:32:44] andrew.boltachev: function toarray($x) { if ($x instanceof SimpleXMLElement) { $y = Array(); foreach ($x->children() as $k=>$v){ $y[$k] = $v; } foreach ($x->children as $k=>$v){ $y[$k] = $v; } [08.04.2009 22:32:55] andrew.boltachev: вот точнее не глюк, меня глючит [08.04.2009 22:33:06] andrew.boltachev: дальше допишу [08.04.2009 22:33:17] andrew.boltachev: кстати под запуск - по крону, я правильно понял? [08.04.2009 22:33:29] ev9niy: да [08.04.2009 22:33:45] andrew.boltachev: а ну тогда ок [08.04.2009 22:33:55] andrew.boltachev: файл нужно будет сначала [08.04.2009 22:34:07] andrew.boltachev: скопировать в темповую директорию, а потом парсить [08.04.2009 22:34:17] andrew.boltachev: а то он размером - 40 мб почти [08.04.2009 22:34:29] andrew.boltachev: с этим могут быть проблемы на сервере [08.04.2009 22:34:41] andrew.boltachev: но если что я помогу пхп настроить опыт есть [08.04.2009 22:34:45] ev9niy: function dom2array( $node ,$tab='',$node_name='') { //echo $tab.'#dom2array:'.$node_name.' - '.XML_TEXT_NODE.' - '.$node->nodeType."\r\n"; $result = array(); if($node->nodeType == XML_TEXT_NODE) { $result = $node->nodeValue; $charset = mb_detect_encoding($result,"auto"); if ($charset=='UTF-8'){ $result = iconv($charset,'Windows-1251', $result); } //echo $tab.'#$result: '.$result."\r\n"; } else { if( $node->hasAttributes() ) { $attributes = $node->attributes; if(!is_null($attributes)) foreach ($attributes as $index=>$attr){ $value = $attr->value; $charset = mb_detect_encoding($value,"auto"); if ($charset=='UTF-8'){ $value = iconv($charset,'Windows-1251', $value); } //echo $tab.'#$value: '.$value."\r\n"; $result[$attr->name] = $value; } } if($node->hasChildNodes()){ $children = $node->childNodes; for($i=0;$i<$children->length;$i++){//if ($i>2&&$i<9){ $child = $children->item($i); //$tab= ''; //for($j=0;$j<$i;$j++) { //$tab.="\t"; //} //echo $tab.$i."\r\n"; //if ($child->nodeName == '#text'){ ////echo ' #$child->nodeName: '.$result[$child->nodeName]."\r\n"; //$value = $result[$child->nodeName]; //if (!is_array($value)){ ////$value = $attr->value; //$charset = mb_detect_encoding($value,"auto"); //if ($charset=='UTF-8'){ //$value = '$$+$'.iconv($charset,'Windows-1251', $value); //} //}else { //foreach ($value as $value_title => $value_value){ //$charset = mb_detect_encoding($value_value,"auto"); //if ($charset=='UTF-8'){ //$value[$value_title]= '$$'.iconv($charset,'Windows-1251', $value); //} //} //$result[$child->nodeName]=$value; //} //$result[$attr->name] = $value; //} //if($child->nodeName != '#text') //echo $tab.' #$child->nodeName]: '.$child->nodeName."\r\n"; //echo $tab.''.' #$result: '; print_r($result); echo $tab.''; if(!isset($result[$child->nodeName])){ $tmp = dom2array($child,$tab,$child->nodeName); //echo ' #$tmp: '.$tmp."\r\n"; //echo ' #count($tmp): '.count($tmp)."\r\n"; //echo ' #$tmp: '.$tmp."\r\n"; if (is_array($tmp)){ if (count($tmp)!=0){ $result[$child->nodeName]=$tmp; } }else { if (trim($tmp)!=''){ $result[$child->nodeName]=trim($tmp); } } } else { //$charset = mb_detect_encoding($value,"auto"); //if ($charset=='UTF-8'){ //$value = iconv($charset,'Windows-1251', $value); //} $aux = $result[$child->nodeName]; //echo ' #$aux: '.$aux."\r\n"; $result[$child->nodeName] = array( $aux ); $tmp= array();; $tmp = dom2array($child,$tab,$child->nodeName); //if ($tmp!='') // if (is_array($tmp)){ if (count($tmp)!=0){ $result[$child->nodeName][]=$tmp; } }else { if (trim($tmp)!=''){ $result[$child->nodeName][]=trim($tmp); } } } } } } return $result; } [08.04.2009 22:35:04] andrew.boltachev: громоздко [08.04.2009 22:35:17] ev9niy: это для HTML Объекта) [08.04.2009 22:35:18] andrew.boltachev: а кодировка вывода какая нужна? [08.04.2009 22:35:23] ev9niy: пофг [08.04.2009 22:35:31] ev9niy: сам поправлю [08.04.2009 22:35:32] andrew.boltachev: UTF-8 будет [08.04.2009 22:35:36] ev9niy: ок [08.04.2009 22:36:05] andrew.boltachev: simplexml_load_file - не работает с CP1251 [08.04.2009 22:36:08] ev9niy: парсить буду в локали так что все ок [08.04.2009 22:36:52] ev9niy: Лады, давай я байньки! Ты тоже поспи мозг лучше работает а ещё советую перерывы workrave.org [08.04.2009 22:36:55] ev9niy: Бай! [08.04.2009 22:37:16] andrew.boltachev: до встречи [09.04.2009 6:57:10] ev9niy: Обешал что будешь? [09.04.2009 7:30:00] andrew.boltachev: не получилось быть. сейчас все сделаю [09.04.2009 8:06:54] ev9niy: Извинюсь сегодня целый день в делах, завтра утром в 8 буду, приму код ок? [09.04.2009 8:07:33] andrew.boltachev: хорошо [09.04.2009 8:07:34] ev9niy: ev9niy is away. This is an auto-reply message. Get your copy of Pamela for Skype today at www.pamela-systems.com and enjoy these messages! [09.04.2009 8:07:38] andrew.boltachev: да могу и сейачс кинуть [09.04.2009 8:07:41] andrew.boltachev: вроде все [09.04.2009 8:08:01] andrew.boltachev: ну ладно, зато еще как могу проверю еще [09.04.2009 8:08:24] andrew.boltachev: почта кстати [email protected] ? [09.04.2009 8:08:49] andrew.boltachev: [email protected] [09.04.2009 8:12:56] andrew.boltachev: в 7-8 я точно в сети бываю, кроме выходных [09.04.2009 8:36:05] ev9niy: [email protected] [09.04.2009 8:36:12] ev9niy: Ок, тогда до завтра! Удачи! [6:51:25] ev9niy: Доброго утра! [6:51:29] ev9niy: Как успехи?) [7:06:52] andrew.boltachev: да, нормально [7:07:32] andrew.boltachev: сейчас скоро код отдам, там еще всего 1 маленькая проблема была [7:08:08] ev9niy: Ок, жду [7:08:18] ev9niy: 3 дня уже прошло :) ev9niy [7:44:43] ev9niy: [email protected] [7:44:50] andrew.boltachev: ок [7:44:56] andrew.boltachev: туда все аправить? [7:45:03] andrew.boltachev: *направить [7:45:03] ev9niy: Да [7:45:10] ev9niy: Все должно быть как в ТЗ [7:45:27] andrew.boltachev: Ок [7:45:37] ev9niy: Что там глючит? [7:46:03] andrew.boltachev: у меня в массив из xml не переводит [7:46:14] andrew.boltachev: если несколько одинаковых тегов подряд [7:46:21] andrew.boltachev: вот и разбираюсь [7:46:23] andrew.boltachev: а так все [7:46:53] andrew.boltachev: мне уже тоже надоело) одним проектом заниматься [7:46:54] ev9niy: На выходе массив: [4412676] [url]=http://www.ozon.ru/context/detail/id/4412676/?from=partner [categoryId_1]= 10059 [categoryId_2]= 10388 [categoryId_3]= 1075240 [orderingTime] [ordering]= На складе : Итак далее все значения какие будут. [description]= Программа.. [Следующий ID] Где название ключей одинаковые, будет: [4412676] [categoryId_1]= 10059 [4412676] [categoryId_2]= 10388 [4412676] [categoryId_3]= 1075240 И ВАЖНО вытащить из того же xml [categories] названия категорий: Для нашего примера: [4412676] [categoryId_1]= Аэробика. Фитнес [4412676] [categoryId_2]= Обучающие видеопрограммы [4412676] [categoryId_3]= Красота и здоровье [7:46:58] ev9niy: ТЗ [7:47:02] andrew.boltachev: дада [7:47:08] andrew.boltachev: вот с этим как раз [7:47:42] ev9niy: Просто масив проверять if(isset()) и делать [$categ.'_'.$current_count] [7:47:52] ev9niy: 5 сек;) [7:48:01] andrew.boltachev: ой ну так некрасиво :) [7:48:08] andrew.boltachev: надо массив вложенный [7:48:10] andrew.boltachev: ) [7:48:17] andrew.boltachev: его же обрабатывать [7:48:51] ev9niy: Тогда $array[$categ]=array() [7:49:01] andrew.boltachev: да [7:49:08] andrew.boltachev: только это не работает [7:49:08] ev9niy: И дальше if is_array() [7:49:25] ev9niy: Потому что изначально переменную нужно создавать как массив [7:49:42] ev9niy: Ладно код на почте? [7:49:47] andrew.boltachev: ага [7:50:01] andrew.boltachev: к сожалению придется заочно вот так вот [7:50:13] andrew.boltachev: но там потом когда буду в сети - пиши [7:50:20] ev9niy: Уходишь? [7:50:28] andrew.boltachev: потом да [7:50:42] andrew.boltachev: потом приду не знаю во сколько пока [7:51:04] ev9niy: сейчас время сколько есть? [7:51:14] andrew.boltachev: час еще гдето [7:51:20] andrew.boltachev: ну я успеть должен...) [7:51:31] ev9niy: Кода на почте нет [7:51:40] ev9niy: [email protected] [7:51:58] andrew.boltachev: пока нет. могу этот выслать [7:52:22] ev9niy: У меня желаюшийх человек 12 отдал тебе так как общеал в срок. [7:52:27] ev9niy: Можешь не выслылать [7:52:34] ev9niy: Так как в срок не успел [7:52:53] ev9niy: Я плюс поставил потому как видел что делал [7:53:01] ev9niy: Но если пообщела, нужно сделать вовремя [7:53:14] ev9niy: Показать что есть я бы подсказал как исправить [7:53:29] andrew.boltachev: понятно, отзыв бескомпромисный спасибо [7:53:42] andrew.boltachev: shop->offers->offer; //$i=0; function xml2array_parse($xml){ $return = Array(); $children = $xml->children(); foreach ($children as $parent => $child){ if (count($children[$parent])>0){ $return["$parent"] = Array(); var_dump($parent); foreach ($child as $k=>$v){ $return["$parent"][] = xml2array_parse($v)?xml2array_parse($v):"$v"; } } else { $return["$parent"] = xml2array_parse($child)?xml2array_parse($child):"$child"; } } foreach ($xml->attributes() as $parent => $child){ $return["$parent"] = xml2array_parse($child)?xml2array_parse($child):"$child"; } return $return; } function getcname($cid) { global $xml_sp; foreach ($xml_sp->shop->categories->category as $category){ if ($category["id"] == $cid) return (string)$category; } return $cid; } $data = Array(); $i=0; foreach ($offers as $key=>$offer) { $item = xml2array_parse($offer); var_dump($offer->categoryId);die(); $id = $item["id"]; //if ($id!==64186) continue; //if ($id==64186) print_r($offer); unset($item["id"]); /*if (is_array($item["categoryId"])) { foreach ($item["categoryId"] as $k=>$v){ $item["categoryId"][$k] = getcname($v); } } else { $item["categoryId"] = getcname($item["categoryId"]); } if (is_array($item["categoryId"])) { var_dump($item); die(); }*/ $data[$id] = $item; $i++; //if ($id==64186) break; } //print_r($data[64186]); [7:53:54] ev9niy: Ок момент, код проверю, сколько будешь тут? [7:54:06] andrew.boltachev: час [7:54:16] ev9niy: ок, проверяю [7:55:25] ev9niy: Кстати обещал с коментариями, так же их нет [7:55:39] andrew.boltachev: ты потом сказал не надо [7:55:46] andrew.boltachev: давай сделаю [7:56:02] andrew.boltachev: просто он не окончательный [7:56:05] ev9niy: Я сказал что не надо, ты сказал ок, будет вчера утрам все сделано да с коментариями [7:59:21] andrew.boltachev: ну и что неправильно? [7:59:34] andrew.boltachev: if (count($children[$parent])>0){ $return["$parent"] = Array(); foreach ($child as $k=>$v){ $return["$parent"][] = xml2array_parse($v)?xml2array_parse($v):"$v"; } } [7:59:44] andrew.boltachev: вот это бесполезный код [7:59:54] ev9niy: Сейас смотрю, по факту как по ТЗ не даелает [8:00:08] andrew.boltachev: категории - нет [8:00:11] andrew.boltachev: не делает [8:07:53] andrew.boltachev: что от меня будет нужно? [8:07:57] andrew.boltachev: вообще? [8:08:15] ev9niy: Сейчас думаю, нужно отлаживать код, по тз он не рабочий [8:08:29] ev9niy: Соотвествнно нужно просить человек снова сделать [8:08:35] ev9niy: за свои деньги отлаживать не буду [8:08:40] ev9niy: я и сам мог его написать [8:08:44] ev9niy: за час [8:08:45] andrew.boltachev: то есть мне не платить? [8:08:49] andrew.boltachev: или как? [8:08:58] ev9niy: Оплачу часть за время [8:09:08] ev9niy: Код не готов по факту, сроки пропушены [8:09:41] andrew.boltachev: вот мне тоже кажется, что ты бы сам написал. я даже не понял, почему так стал делать - на фриланс писать. еще и за 600 рублей [8:10:11] ev9niy: Мне человек за 300 р сделал парсин torrents.ru за день [8:10:27] andrew.boltachev: нда, ну там HTML [8:10:35] ev9niy: И без вопросом все отлично, от скилов человека зависит кому делать 5 мин кому делать 3 дня [8:10:38] andrew.boltachev: у меня вот теперь с XML не получается [8:10:45] ev9niy: Сколько денег за не сделаную работу хочешь? [8:10:49] andrew.boltachev: не знаю [8:10:56] andrew.boltachev: 150руб [8:11:00] ev9niy: Ок [8:11:13] ev9niy: Момент перевожу [8:11:13] andrew.boltachev: код есть его можно отладить [8:11:22] andrew.boltachev: дак с протекцией есть [8:11:32] ev9niy: ещё сейчас переведу [8:11:35] andrew.boltachev: могу взять 300 и 150 послать обратно [8:11:49] andrew.boltachev: а то ждать срока протекции [8:13:16] andrew.boltachev: там 300 есть с протекцией [8:13:23] andrew.boltachev: дак как поступать? [8:15:20] ev9niy: Перевожу [8:15:24] andrew.boltachev: получил [8:15:33] ev9niy: 150 р все ок? [8:15:38] ev9niy: Вернется на 300р [8:15:40] andrew.boltachev: да. а 300 ждать пока само уйдет обратно? [8:15:48] ev9niy: да [8:16:15] andrew.boltachev: нда. в большой степени неприятно. оно все сообщения будет слать. да ладно поделом мне [8:16:49] andrew.boltachev: а, завтра уйдет [8:16:52] ev9niy: Все сообщения? [8:17:01] ev9niy: Про протекцию? [8:17:06] andrew.boltachev: да [8:17:15] andrew.boltachev: типа как открываю , пишет [8:17:36] andrew.boltachev: да не надо мне давать - за перевод комиссию будет брать. а так бесплатно уйдет [8:17:45] andrew.boltachev: все тогда, желаю удачи? [8:18:19] ev9niy: Ок, тоже успехов :) [8:18:57] andrew.boltachev: наверно буду повышать квалификацию... так для себя. а то работать плохо. и главно е- сроки в любом случае [8:19:26] ev9niy: Сроки лучше ставить 4 дня, мне например не горит ;) [8:20:11] ev9niy: И код писать не компактно, а размашесто так быстрее можно ошибку найти, а если стопор, то нужно моделировать ситуацию и пробовать все что есть что бы решить проблему