W dniu 15.10.2012 23:27, Dariusz Kowalczyk napisał(a):
On Mon, 15 Oct 2012 17:24:06 +0200, Daniel Kulesza d.kulesza@ig-zp.pl wrote:
W dniu 2012-10-15 16:04, Przemysław Backiel pisze:
W dniu 2012-10-15 15:25, Daniel Kulesza pisze:
Nie działa, spowodowane jest to zmianą portalu. Ja zleciłem poprawienie skryptu, może ktoś się dorzuci ?
Ten skrypt płatności masowych działa ok, importuje płatności do lms
Zmienił się sposób uwierzytelniania do BZWBK - aktualnie szyfruje login i hasło kluczem publicznym RSA (kod w javascript). Naprawdę nie mogę zrozumieć po co tak sobie utrudniać życie i kombinować z udawaniem przeglądarki www po to, żeby pobrać raporty płatności. Przecież format pliku przychodzącego na maila jest niezmienny!
Skrypt uruchamia się z poziomu LMS robiąc instancję "system" korzystającą z crona
a w polu "command" wpisuje się
php /var/www/html/lms/contrib/bin/cashimport-bzwbk.php logindobanku hasłodobanku
działa z plikami w formacie
id|data|kwota|nadawca|id transakcji|numer konta|tytuł płatnosci
pozdrawiam
Dariusz Kowalczyk
---cashimport-bzwbk.php---
<? $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); } ?>
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms