X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=lxo-import%2Fimport_lib.php;h=ac569e813a2cab0a6830243dc5838d3e140be970;hb=3a56098f9b80397fe27922f1661b2069183aa2d6;hp=6d9dd879b575995f84714678b0dad9b765ca02c1;hpb=6fda7b5dfcbcb7c039d11aa708b9f79cfe51a71f;p=kivitendo-erp.git diff --git a/lxo-import/import_lib.php b/lxo-import/import_lib.php index 6d9dd879b..ac569e813 100644 --- a/lxo-import/import_lib.php +++ b/lxo-import/import_lib.php @@ -224,7 +224,23 @@ function getKdRefId($data) { $rs=$db->getAll($sql); return $rs[0]["id"]; } - +/** + * TODO: short description. + * + * @param mixed $tab + * @param object $own + * @param mixed $fld + * @param mixed $val + * + * @return TODO + */ +function insertExtra($tab,$own,$fld,$val) { + global $db; + $sql = "insert into extra_felder (fkey,fval,tab,owner) "; + $sql.= "values ('$fld','$val','$tab','$own')"; + $rc = $db->query($sql); + return $rc; +} function suchFirma($tab,$data) { // gibt die Firma ? global $db; @@ -237,7 +253,7 @@ function suchFirma($tab,$data) { if (!$rs) { $org=$data; while(strpos($data," ")>0) { - $data=ereg_replace(" "," ",$data); + $data=str_replace(" "," ",$data); } $data=preg_replace("/[^A-Z0-9]/ ",".*",trim($data)); $sql="select * from $tab where upper(name) ~ '$data'"; @@ -259,13 +275,13 @@ function getFirma($nummer,$tabelle) { $sql="select id from $tabelle where upper(".$tabelle."number) = '$nummer'"; $rs=$db->getAll($sql); if (!$rs) { - $nr=ereg_replace(" ","%",$nummer); + $nr=str_replace(" ","%",$nummer); $sql="select id,".$tabelle."number from $tabelle where upper(".$tabelle."number) like '$nr'"; $rs=$db->getAll($sql); if ($rs) { - $nr=ereg_replace(" ","",$nummer); + $nr=str_replace(" ","",$nummer); foreach ($rs as $row) { - $tmp=ereg_replace(" ","",$row[$tabelle."number"]); + $tmp=str_replace(" ","",$row[$tabelle."number"]); if ($tmp==$nr) return $row["id"]; } } else { @@ -290,20 +306,42 @@ function getAllUnits($db,$type) { function anmelden($login=false,$pwd=false) { ini_set("gc_maxlifetime","3600"); - $tmp = @file_get_contents("../config/authentication.pl"); - preg_match("/'db'[ ]*=> '(.+)'/",$tmp,$hits); - $dbname=$hits[1]; - preg_match("/'password'[ ]*=> '(.+)'/",$tmp,$hits); - $dbpasswd=$hits[1]; - preg_match("/'user'[ ]*=> '(.+)'/",$tmp,$hits); - $dbuser=$hits[1]; - preg_match("/'host'[ ]*=> '(.+)'/",$tmp,$hits); - $dbhost=($hits[1])?$hits[1]:"localhost"; - preg_match("/'port'[ ]*=> '?(.+)'?/",$tmp,$hits); - $dbport=($hits[1])?$hits[1]:"5432"; - preg_match("/[ ]*\\\$self->\{cookie_name\}[ ]*=[ ]*'(.+)'/",$tmp,$hits); - $cookiename=$hits[1]; + if (file_exists("../config/lx_office.conf")) { + $lxo = fopen("../config/lx_office.conf","r"); + } else if (file_exists("../config/lx_office.conf.default")) { + $lxo = fopen("../config/lx_office.conf.default","r"); + } else { + return false; + } + $dbsec = false; + $tmp = fgets($lxo,512); + while (!feof($lxo)) { + if (preg_match("/^[\s]*#/",$tmp)) { + $tmp = fgets($lxo,512); + continue; + } + if ($dbsec) { + preg_match("/db[ ]*= (.+)/",$tmp,$hits); + if ($hits[1]) $dbname=$hits[1]; + preg_match("/password[ ]*= (.+)/",$tmp,$hits); + if ($hits[1]) $dbpasswd=$hits[1]; + preg_match("/user[ ]*= (.+)/",$tmp,$hits); + if ($hits[1]) $dbuser=$hits[1]; + preg_match("/host[ ]*= (.+)/",$tmp,$hits); + if ($hits[1]) $dbhost=($hits[1])?$hits[1]:"localhost"; + preg_match("/port[ ]*= (.+)/",$tmp,$hits); + if ($hits[1]) $dbport=($hits[1])?$hits[1]:"5432"; + if (preg_match("/\[[a-z]+/",$tmp)) break; + $tmp = fgets($lxo,512); + continue; + } + preg_match("/[ ]*cookie_name[ ]*=[ ]*(.+)/",$tmp,$hits); + if ($hits[1]) $cookiename=$hits[1]; + if (preg_match("!\[authentication/database\]!",$tmp)) $dbsec = true; + $tmp = fgets($lxo,512); + } if (!$cookiename) $cookiename='lx_office_erp_session_id'; + $cookie=$_COOKIE[$cookiename]; if ($login) { $auth=authuser($dbhost,$dbport,$dbuser,$dbpasswd,$dbname,false,$login,$pwd); } else {