Za namową Tomka przechodzę na raporty otrzymywane mailem i taki skrypt będzie pisany. Nie chcę aby za chwilę znów trzeba było pisać nowy skrypt
bo coś się zmieniło na stronie.
_______________________________________________ lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
Jak ktoś mimo wszystko potrzebuje się poratować na dziś. To poniżej jest ten skrypt przerobiony i przyjmuje jako parametr nazwę pliku sciągnietego raportu (login i hasło nie są potrzebne bo pliki trzeba ściągnąć samemu) Powinno wystarczyć na parę dni żeby przetrwać trudne chwile :-) -- Dariusz Kowalczyk ----------------------------------------- <? $ch=curl_init(); $params="username=$argv[1]&password=$argv[2]"; $user_agent="Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"; $db_user='lms'; $db_host='127.0.0.1'; $db_pass='password'; $db_name='lms'; mysql_connect($db_host,$db_user,$db_pass); mysql_select_db($db_name); function get_save_file($file_url,$filename){ $ch=curl_init(); curl_setopt($ch, CURLOPT_URL, $file_url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_COOKIEFILE,"/var/www/html/lms/contrib/bin/cookie/ciastko"); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE); curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); $data_rows=curl_exec($ch); $f=fopen("/var/www/html/lms/contrib/bin/bzwbkfiles/".$filename,"w"); fputs($f,$data_rows); fclose($f); curl_close($ch); return $data_rows; } function inc_to_lms($data_rows) { $lines=explode("\n",$data_rows); $KKSGW=explode("|",$lines[0]); for ($i=1;$i<count($lines)-2;$i++) { $line=explode("|",$lines[$i]); //wpis do lmsa $data=mktime(0,0,0,substr($line[1],2,2),substr($line[1],0,2),substr($line[1],-4)); $kto=$line[3]; $kwota=$line[2]; $opis=substr($line[6],0,-2); $id=substr($line[5],-12); $id=1*$id; $hash=md5($line[0].$KKSGW); $kto=addslashes(iconv("ISO-8859-2","UTF-8",$kto)); $opis=addslashes(iconv("ISO-8859-2","UTF-8",$opis)); $rs=mysql_query("Select id from cashimport where Hash='".$hash."'"); if (mysql_num_rows($rs)==0) { mysql_query("Insert into cashimport (Date,Value,Customer,Description,CustomerId,Hash) values ('$data','$kwota','$kto','$opis','$id','$hash')"); // echo ("Insert into cashimport (Date,Value,Customer,Description,CustomerId,Hash) values ('$data','$kwota','$kto','$opis','$id','$hash')")."\n"; } else echo "Pomijam wpis, bo juz taki istnieje.\n"; //koniec wpisu do lmsa; } } /* curl_setopt($ch, CURLOPT_URL, "https://www.centrum24.pl/rapkm/loginAction.do"); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS,$params); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_COOKIEJAR,"/var/www/html/lms/contrib/bin/cookie/ciastko"); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE); curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); $res=curl_exec($ch); //echo $res; curl_close($ch); $url="https://www.centrum24.pl/rapkm/dostepne_pliki.do"; $params="action=lista"; $ch=curl_init(); curl_setopt($ch, CURLOPT_URL, $url."?".$params); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_COOKIEFILE,"/var/www/html/lms/contrib/bin/cookie/ciastko"); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE); curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); $files=curl_exec($ch); //echo $files; curl_close($ch); $last=file("/var/www/html/lms/contrib/bin/bzwbkfiles/!lastfile.txt"); $ofs=0; $start=strpos($files,"dostepne_pliki.do?",$ofs); $end=strpos($files,".txt\"",$ofs); $first=true; while ($start!==false) { $file_url=substr($files,$start,$end-$start+4); $filename=substr($file_url,strpos($file_url,"nazwa_pliku=")+12); if ($last[0]==$filename) break; if ($first) { $first=false; $f=fopen("/var/www/html/lms/contrib/bin/bzwbkfiles/!lastfile.txt","w"); fputs($f,$filename); fclose($f); } //echo $filename." - URL $file_url \n"; //pobieranie pliku inc_to_lms(get_save_file("https://www.centrum24.pl/rapkm/".$file_url,$filename)); //koniec pobierania pliku $ofs=$end+5; $start=strpos($files,"dostepne_pliki.do?",$ofs); $end=strpos($files,".txt\"",$ofs); } */ $data = file_get_contents($argv[1]); echo "Importuje z pliku: ".$argv[1]; if ($data != "") { inc_to_lms($data); echo "Import zakonczyl sie chyba pomyslnie."; } else echo "Brak danych"; ?>