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
-- Pozdrawiam Tomasz Chiliński, Chilan