16 Paź
2012
16 Paź
'12
12:55
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";
?>