X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=lxo-import%2Fimport_lib.php;h=e2eb34c5db58a33fa068fea7c227b18e1eacb443;hb=9869ed813744eab4e322a5905155305a110d015a;hp=72f3ae39de2930d0737c557937edf0c85f2dc44d;hpb=98255c8891bd9b772f73be9a72e4f456998c8b3b;p=kivitendo-erp.git diff --git a/lxo-import/import_lib.php b/lxo-import/import_lib.php index 72f3ae39d..e2eb34c5d 100644 --- a/lxo-import/import_lib.php +++ b/lxo-import/import_lib.php @@ -1,6 +1,6 @@ - "Firmenname", - "department_1" => "Abteilung", - "department_2" => "Abteilung", - "street" => "Strasse + Nr", - "zipcode" => "Plz", - "city" => "Ort", - "country" => "Land", - "contact" => "Ansprechpartner", - "phone" => "Telefon", - "fax" => "Fax", - "homepage" => "Homepage", - "email" => "eMail", - "notes" => "Bemerkungen", - "discount" => "Rabatt (nn.nn)", - "taxincluded" => "incl. Steuer? (t/f)", - "terms" => "Zahlungsziel (Tage)", - "customernumber" => "Kundennummer", - "vendornumber" => "Lieferantennummer", - "taxnumber" => "Steuernummer", - "ustid" => "Umsatzsteuer-ID", - "account_number" => "Kontonummer", - "bank_code" => "Bankleitzahl", - "bank" => "Bankname", - "branche" => "Branche", - //"language" => "Sprache (de,en,fr)", - "sw" => "Stichwort", - "creditlimit" => "Kreditlimit (nnnnnn.nn)"); /*, - "hierarchie" => "Hierarchie", - "potenzial" => "Potenzial", - "ar" => "Debitorenkonto", - "ap" => "Kreditorenkonto", - "matchcode" => "Matchcode", - "customernumber2" => "Kundennummer 2"); - Kundenspezifisch */ + "name" => "Firmenname", + "department_1" => "Abteilung", + "department_2" => "Abteilung", + "street" => "Strasse + Nr", + "zipcode" => "Plz", + "city" => "Ort", + "country" => "Land", + "contact" => "Ansprechpartner", + "phone" => "Telefon", + "fax" => "Fax", + "homepage" => "Homepage", + "email" => "eMail", + "notes" => "Bemerkungen", + "discount" => "Rabatt (nn.nn)", + "taxincluded" => "incl. Steuer? (t/f)", + "terms" => "Zahlungsziel (Tage)", + "customernumber" => "Kundennummer", + "vendornumber" => "Lieferantennummer", + "taxnumber" => "Steuernummer", + "ustid" => "Umsatzsteuer-ID", + "account_number" => "Kontonummer", + "bank_code" => "Bankleitzahl", + "bank" => "Bankname", + "branche" => "Branche", + //"language" => "Sprache (de,en,fr)", + "sw" => "Stichwort", + "creditlimit" => "Kreditlimit (nnnnnn.nn)"); /*, + "hierarchie" => "Hierarchie", + "potenzial" => "Potenzial", + "ar" => "Debitorenkonto", + "ap" => "Kreditorenkonto", + "matchcode" => "Matchcode", + "customernumber2" => "Kundennummer 2"); + Kundenspezifisch */ $shiptos = array( - "shiptoname" => "Firmenname", - "shiptodepartment_1" => "Abteilung", - "shiptodepartment_2" => "Abteilung", - "shiptostreet" => "Strasse + Nr", - "shiptozipcode" => "Plz", - "shiptocity" => "Ort", - "shiptocountry" => "Land", - "shiptocontact" => "Ansprechpartner", - "shiptophone" => "Telefon", - "shiptofax" => "Fax", - "shiptoemail" => "eMail", - "customernumber" => "Kundennummer", - "vendornumber" => "Lieferantennummer"); + "firma" => "Firmenname", + "shiptoname" => "Liefername", + "shiptodepartment_1" => "Abteilung", + "shiptodepartment_2" => "Abteilung", + "shiptostreet" => "Strasse + Nr", + "shiptozipcode" => "Plz", + "shiptocity" => "Ort", + "shiptocountry" => "Land", + "shiptocontact" => "Ansprechpartner", + "shiptophone" => "Telefon", + "shiptofax" => "Fax", + "shiptoemail" => "eMail", + "customernumber" => "Kundennummer", + "vendornumber" => "Lieferantennummer"); $parts = array( - "partnumber" => "Artikelnummer", - "description" => "Artikeltext", - "unit" => "Einheit", - "weight" => "Gewicht in Benutzerdefinition", - "onhand" => "Lagerbestand", - "notes" => "Beschreibung", - "makemodel" => "Hersteller", - "model" => "Modellbezeichnung", - "bin" => "Lagerort", - "image" => "Pfad/Dateiname", - "drawing" => "Pfad/Dateiname", - "microfiche" => "Pfad/Dateiname", - "listprice" => "Listenpreis", - "sellprice" => "Verkaufspreis", - "lastcost" => "letzter EK", - "art" => "Ware/Dienstleistung (*/d), muß vor den Konten kommen", - "inventory_accno" => "Bestandskonto", - "income_accno" => "Erlöskonto", - "expense_accno" => "Konto Umsatzkosten", - "obsolete" => "Gesperrt (Y/N)", - "lastcost" => "letzer EK-Preis", - "rop" => "Mindestbestand", - "shop" => "Shopartikel (Y/N)", - "assembly" => "Stückliste (Y/N); wird noch nicht unterstützt", - "partsgroup" => "Warengruppenbezeichnung", - //"income_accno_0" => "?Nummer? für Erlöse Inland", - //"income_accno_1" => "?Nummer? für Erlöse EG", - //"income_accno_3" => "?Nummer? für Erlöse Ausland", - ); - + "partnumber" => "Artikelnummer", + "ean" => "Barcode", + "description" => "Artikeltext", + "unit" => "Einheit", + "weight" => "Gewicht in Benutzerdefinition", + "notes" => "Beschreibung", + "notes1" => "Beschreibung", + "makemodel" => "Hersteller", + "model" => "Modellbezeichnung", + "image" => "Pfad/Dateiname", + "drawing" => "Pfad/Dateiname", + "microfiche" => "Pfad/Dateiname", + "listprice" => "Listenpreis", + "sellprice" => "Verkaufspreis", + "lastcost" => "letzter EK", + "art" => "Ware/Dienstleistung (*/d), muß vor den Konten kommen", + "inventory_accno" => "Bestandskonto", + "income_accno" => "Erlöskonto", + "expense_accno" => "Konto Umsatzkosten", + "obsolete" => "Gesperrt (Y/N)", + "lastcost" => "letzer EK-Preis", + "rop" => "Mindestbestand", + "shop" => "Shopartikel (Y/N)", + "assembly" => "Stückliste (Y/N); wird noch nicht unterstützt", + "partsgroup" => "Warengruppenbezeichnung", + "partsgroup1" => "2.Warengruppenbezeichnung", + "partsgroup2" => "3.Warengruppenbezeichnung", + "partsgroup3" => "4.Warengruppenbezeichnung", + "partsgroup4" => "5.Warengruppenbezeichnung", + "shop" => "Shopexport vorghesehen", + ); + $contactscrm = array( - "customernumber" => "Kundennummer", - "vendornumber" => "Lieferantennummer", - "cp_cv_id" => "FirmenID in der db", - "firma" => "Firmenname", - "cp_abteilung" => "Abteilung", - "cp_position" => "Position/Hierarchie", - "cp_greeting" => "Anrede", - "cp_title" => "Titel", - "cp_givenname" => "Vorname", - "cp_name" => "Nachname", - "cp_email" => "eMail", - "cp_phone1" => "Telefon 1", - "cp_phone2" => "Telefon 2", - "cp_mobile1" => "Mobiltelefon 1", - "cp_mobile2" => "Mobiltelefon 2", - "cp_homepage" => "Homepage", - "cp_street" => "Strasse", - "cp_country" => "Land", - "cp_zipcode" => "PLZ", - "cp_city" => "Ort", - "cp_privatphone" => "Privattelefon", - "cp_privatemail" => "private eMail", - "cp_notes" => "Bemerkungen", - "cp_stichwort1" => "Stichwort(e)", - "katalog" => "Katalog", - "inhaber" => "Inhaber", - "contact_id" => "Kontakt ID" - ); + "customernumber" => "Kundennummer", + "vendornumber" => "Lieferantennummer", + "cp_cv_id" => "FirmenID in der db", + "firma" => "Firmenname", + "cp_abteilung" => "Abteilung", + "cp_position" => "Position/Hierarchie", + "cp_gender" => "Geschlecht (m/f)", + "cp_title" => "Titel", + "cp_givenname" => "Vorname", + "cp_name" => "Nachname", + "cp_email" => "eMail", + "cp_phone1" => "Telefon 1", + "cp_phone2" => "Telefon 2", + "cp_mobile1" => "Mobiltelefon 1", + "cp_mobile2" => "Mobiltelefon 2", + "cp_homepage" => "Homepage", + "cp_street" => "Strasse", + "cp_country" => "Land", + "cp_zipcode" => "PLZ", + "cp_city" => "Ort", + "cp_privatphone" => "Privattelefon", + "cp_privatemail" => "private eMail", + "cp_notes" => "Bemerkungen", + "cp_stichwort1" => "Stichwort(e)", + "cp_id" => "Kontakt ID" + ); $contacts = array( - "customernumber" => "Kundennummer", - "vendornumber" => "Lieferantennummer", - "cp_cv_id" => "FirmenID in der db", - "firma" => "Firmenname", - "cp_greeting" => "Anrede", - "cp_title" => "Titel", - "cp_givenname" => "Vorname", - "cp_greeting" => "Anrede", - "cp_name" => "Nachname", - "cp_email" => "eMail", - "cp_phone1" => "Telefon 1", - "cp_phone2" => "Telefon 2", - "cp_mobile1" => "Mobiltelefon 1", - "cp_mobile2" => "Mobiltelefon 2", - "cp_privatphone" => "Privattelefon", - "cp_privatemail" => "private eMail", - "cp_homepage" => "Homepage", - "katalog" => "Katalog", - "inhaber" => "Inhaber", - "contact_id" => "Kontakt ID" - ); + "customernumber" => "Kundennummer", + "vendornumber" => "Lieferantennummer", + "cp_cv_id" => "FirmenID in der db", + "firma" => "Firmenname", + "cp_greeting" => "Anrede", + "cp_title" => "Titel", + "cp_givenname" => "Vorname", + "cp_greeting" => "Anrede", + "cp_name" => "Nachname", + "cp_email" => "eMail", + "cp_phone1" => "Telefon 1", + "cp_phone2" => "Telefon 2", + "cp_mobile1" => "Mobiltelefon 1", + "cp_mobile2" => "Mobiltelefon 2", + "cp_privatphone" => "Privattelefon", + "cp_privatemail" => "private eMail", + "cp_homepage" => "Homepage", + "cp_id" => "Kontakt ID" + ); function checkCRM() { -global $db; - $sql="select * from crm"; - $rs=$db->getAll($sql); - if ($rs) { - return true; - } else { - return false; - } + global $db; + $sql="select * from crm"; + $rs=$db->getAll($sql); + if ($rs) { + return true; + } else { + return false; + } } function chkUsr($usr) { -// ist es ein gültiger ERP-Benutzer? Er muß mindestens 1 x angemeldet gewesen sein. -global $db; - $sql="select * from employee where login = '$usr'"; - $rs=$db->getAll($sql); - if ($rs[0]["id"]) { return $rs[0]["id"]; } - else { return false; }; +// ist es ein gültiger ERP-Benutzer? Er muß mindestens 1 x angemeldet gewesen sein. + global $db; + $sql="select * from employee where login = '$usr'"; + $rs=$db->getAll($sql); + if ($rs[0]["id"]) { return $rs[0]["id"]; } + else { return false; }; } function getKdId() { -// die nächste freie Kunden-/Lieferantennummer holen -global $db,$file,$test; - if ($test) { return "#####"; } - $sql1="select * from defaults"; - $sql2="update defaults set ".$file."number = '%s'"; - $db->lock(); - $rs=$db->getAll($sql1); - $nr=$rs[0][$file."number"]; - preg_match("/^([^0-9]*)([0-9]+)/",$nr,$hits); - if ($hits[2]) { $nr=$hits[2]+1; $nnr=$hits[1].$nr; } - else { $nr=$hits[1]+1; $nnr=$nr; }; - $rc=$db->query(sprintf($sql2,$nnr)); - if ($rc) { - $db->commit(); - return $nnr; - } else { - $db->rollback(); - return false; - }; +// die nächste freie Kunden-/Lieferantennummer holen + global $db,$file,$test; + if ($test) { return "#####"; } + $sql1="select * from defaults"; + $sql2="update defaults set ".$file."number = '%s'"; + $db->begin(); + $rs=$db->getAll($sql1); + $nr=$rs[0][$file."number"]; + preg_match("/^([^0-9]*)([0-9]+)/",$nr,$hits); + if ($hits[2]) { $nr=$hits[2]+1; $nnr=$hits[1].$nr; } + else { $nr=$hits[1]+1; $nnr=$nr; }; + $rc=$db->query(sprintf($sql2,$nnr)); + if ($rc) { + $db->commit(); + return $nnr; + } else { + $db->rollback(); + return false; + }; } function chkKdId($data) { // gibt es die Nummer schon? -global $db,$file,$test; - $sql="select * from $file where ".$file."number = '$data'"; - $rs=$db->getAll($sql); - if ($rs[0][$file."number"]==$data) { - // ja, eine neue holen - return getKdId(); - } else { - return $data; - } + global $db,$file,$test; + $sql="select * from $file where ".$file."number = '$data'"; + $rs=$db->getAll($sql); + if ($rs[0][$file."number"]==$data) { + // ja, eine neue holen + return getKdId(); + } else { + return $data; + } +} + +function chkContact($id) { + global $db; + $sql="select * from contact where cp_id = $id"; + $rs=$db->getAll($sql); + if ($rs[0]["cp_id"]==$id) { + return true; + } else { + return false; + } } function getKdRefId($data) { // gibt es die Nummer schon? -global $db,$file,$test; - if (empty($data) or !$data) { - return false; - } - $sql="select * from $file where ".$file."number = '$data'"; - $rs=$db->getAll($sql); - return $rs[0]["id"]; + global $db,$file,$test; + if (empty($data) or !$data) { + return false; + } + $sql="select * from $file where ".$file."number = '$data'"; + $rs=$db->getAll($sql); + return $rs[0]["id"]; } function suchFirma($tab,$data) { // gibt die Firma ? -global $db; - if (empty($data) or !$data) { - return false; - } - $data=strtoupper($data); - $sql="select * from $tab where upper(name) like '%$data%'"; - $rs=$db->getAll($sql); - if (!$rs) { - $org=$data; - while(strpos($data," ")>0) { - $data=ereg_replace(" "," ",$data); - } - $data=preg_replace("/[^A-Z0-9]/ ",".*",trim($data)); - $sql="select * from $tab where upper(name) ~ '$data'"; - $rs=$db->getAll($sql); - if (count($rs)==1) { - return array("cp_cv_id"=>$rs[0]["id"],"Firma"=>$rs[0]["name"]); - } - return false; - } else { - return array("cp_cv_id"=>$rs[0]["id"],"Firma"=>$rs[0]["name"]); - } + global $db; + if (empty($data) or !$data) { + return false; + } + $data=strtoupper($data); + $sql="select * from $tab where upper(name) like '%$data%'"; + $rs=$db->getAll($sql); + if (!$rs) { + $org=$data; + while(strpos($data," ")>0) { + $data=ereg_replace(" "," ",$data); + } + $data=preg_replace("/[^A-Z0-9]/ ",".*",trim($data)); + $sql="select * from $tab where upper(name) ~ '$data'"; + $rs=$db->getAll($sql); + if (count($rs)==1) { + return array("cp_cv_id"=>$rs[0]["id"],"Firma"=>$rs[0]["name"]); + } + return false; + } else { + return array("cp_cv_id"=>$rs[0]["id"],"Firma"=>$rs[0]["name"]); + } } -$land=array("DEUTSC"=>"D","FRANKR"=>"F","SPANIE"=>"ES","ITALIE"=>"I","HOLLAN"=>"NL","NIEDER"=>"NL", - "BELGIE"=>"B","LUXEMB"=>"L","NORWEG"=>"N","FINNLA"=>"","GRIECH"=>"GR","OESTER"=>"A", - "SCHWEI"=>"CH","SCHWED"=>"S","AUSTRI"=>"A"); - -function mkland($data) { -global $land; - $data=strtr($data,array("Ö"=>"OE","Ä"=>"AE","Ü"=>"UE","ö"=>"OE","ä"=>"AE","ü"=>"UE","ß"=>"SS")); - $data=strtoupper(substr($data,0,6)); - $cntr=$land[$data]; - return (strlen($cntr)>0)?$cntr:substr($data,0,3); -} //Suche Nach Kunden-/Lieferantenummer function getFirma($nummer,$tabelle) { -global $db; - $nummer=strtoupper($nummer); - $sql="select id from $tabelle where upper(".$tabelle."number) = '$nummer'"; - $rs=$db->getAll($sql); - if (!$rs) { - $nr=ereg_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); - foreach ($rs as $row) { - $tmp=ereg_replace(" ","",$row[$tabelle."number"]); - if ($tmp==$nr) return $row["id"]; - } - } else { - return false; - } - } else { - return $rs[0]["id"]; - } + global $db; + $nummer=strtoupper($nummer); + $sql="select id from $tabelle where upper(".$tabelle."number) = '$nummer'"; + $rs=$db->getAll($sql); + if (!$rs) { + $nr=ereg_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); + foreach ($rs as $row) { + $tmp=ereg_replace(" ","",$row[$tabelle."number"]); + if ($tmp==$nr) return $row["id"]; + } + } else { + return false; + } + } else { + return $rs[0]["id"]; + } } function getAllBG($db) { - $sql = "select * from buchungsgruppen order by description"; - $rs=$db->getAll($sql); - return $rs; + $sql = "select * from buchungsgruppen order by description"; + $rs=$db->getAll($sql); + return $rs; } -class myDB extends DB { -// Datenbankklasse - - var $rc = false; - var $showErr = false; - var $db = false; - var $debug = false; - -/**************************************************** -* uudecode -* in: string -* out: string -* dekodiert Perl-UU-kodierte Passwort-Strings -* http://de3.php.net/base64_decode (bug #171) -*****************************************************/ - function uudecode($encode) { - $b64chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; - - $encode = preg_replace("/^./m","",$encode); - $encode = preg_replace("/\n/m","",$encode); - for($i=0; $ishowErr) - echo "$sql : $err\n"; - } - - function showDebug($sql) { - echo $sql."\n"; - if ($this->debug==2) { - print_r($this->rc); - }; - } - - function myDB($usr) { - // Datenbankparameter des ERP-Users benutzen. - $tmp = file_get_contents("../users/$usr.conf"); - preg_match("/dbname => '(.+)'/",$tmp,$hits); - $dbname=$hits[1]; - preg_match("/dbpasswd => '(.+)'/",$tmp,$hits); - if ($hits[1]) { - $dbpasswd=$this->uudecode($hits[1]); - } else { - $dbpasswd=""; - }; - preg_match("/dbuser => '(.+)'/",$tmp,$hits); - $dbuser=$hits[1]; - preg_match("/dbhost => '(.+)'/",$tmp,$hits); - $dbhost=$hits[1]; - if (!$dbhost) $dbhost="localhost"; - if ($dbpasswd) { - $dns=$dbuser.":".$dbpasswd."@".$dbhost."/".$dbname; - } else { - $dns=$dbuser."@".$dbhost."/".$dbname; - }; - $dns="pgsql://".$dns; - $this->db=DB::connect($dns); - if (!$this->db) DB::dbFehler("oh oh oh",$this->db->getDebugInfo()); - if (DB::isError($this->db)) { - $this->dbFehler("Connect",$this->db->getDebugInfo()); - die ($this->db->getDebugInfo()); - } - return $this->db; - } - - function query($sql) { - $this->rc=@$this->db->query($sql); - if ($this->debug) $this->showDebug($sql); - if(DB::isError($this->rc)) { - $this->dbFehler($sql,$this->rc->getMessage()); - return false; - } else { - return $this->rc; - } - } - function getAll($sql) { - $this->rc=@$this->db->getAll($sql,DB_FETCHMODE_ASSOC); - if ($this->debug) $this->showDebug($sql); - if(DB::isError($this->rc)) { - $this->dbFehler($sql,$this->rc->getMessage()); - return false; - } else { - return $this->rc; - } - } +function anmelden() { + 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 (!$cookiename) $cookiename='lx_office_erp_session_id'; + $cookie=$_COOKIE[$cookiename]; + if (!$cookie) header("location: ups.html"); + $auth=authuser($dbhost,$dbport,$dbuser,$dbpasswd,$dbname,$cookie); + if (!$auth) { return false; }; + $_SESSION["sessid"]=$cookie; + $_SESSION["cookie"]=$cookiename; + $_SESSION["employee"]=$auth["login"]; + $_SESSION["mansel"]=$auth["dbname"]; + $_SESSION["dbname"]=$auth["dbname"]; + $_SESSION["dbhost"]=(!$auth["dbhost"])?"localhost":$auth["dbhost"]; + $_SESSION["dbport"]=(!$auth["dbport"])?"5432":$auth["dbport"]; + $_SESSION["dbuser"]=$auth["dbuser"]; + $_SESSION["dbpasswd"]=$auth["dbpasswd"]; + $_SESSION["db"]=new myDB($_SESSION["dbhost"],$_SESSION["dbuser"],$_SESSION["dbpasswd"],$_SESSION["dbname"],$_SESSION["dbport"],$showErr); + $_SESSION["authcookie"]=$authcookie; + $sql="select * from employee where login='".$auth["login"]."'"; + $rs=$_SESSION["db"]->getAll($sql); + if(!$rs) { + return false; + } else { + if ($rs) { + $tmp=$rs[0]; + $_SESSION["termbegin"]=(($tmp["termbegin"]>=0)?$tmp["termbegin"]:8); + $_SESSION["termend"]=($tmp["termend"])?$tmp["termend"]:19; + $_SESSION["Pre"]=$tmp["pre"]; + $_SESSION["interv"]=($tmp["interv"]>0)?$tmp["interv"]:60; + $_SESSION["loginCRM"]=$tmp["id"]; + $_SESSION["lang"]=$tmp["countrycode"]; //"de"; + $_SESSION["kdview"]=$tmp["kdview"]; + $sql="select * from defaults"; + $rs=$_SESSION["db"]->getAll($sql); + $_SESSION["ERPver"]=$rs[0]["version"]; + return true; + } else { + return false; + } + } +} - function lock() { - $this->query("BEGIN"); - } - function commit() { - $this->query("COMMIT"); - } - function rollback() { - $this->query("ROLLBACK"); - } - function chkcol($tbl) { - // gibt es die Spalte import schon? - $rc=$this->db->query("select import from $tbl limit 1"); - if(DB::isError($rc)) { - $rc=$this->db->query("alter table $tbl add column import int4"); - if(DB::isError($rc)) { return false; } - else { return true; } - - } else { return true; }; - } +function authuser($dbhost,$dbport,$dbuser,$dbpasswd,$dbname,$cookie) { + $db=new myDB($dbhost,$dbuser,$dbpasswd,$dbname,$dbport,true); + $sql="select sc.session_id,u.id from auth.session_content sc left join auth.user u on "; + $sql.="u.login=sc.sess_value left join auth.session s on s.id=sc.session_id "; + $sql.="where session_id = '$cookie' and sc.sess_key='login'";// order by s.mtime desc"; + $rs=$db->getAll($sql,"authuser_1"); + if (!$rs) return false; + $stmp=""; + if (count($rs)>1) { + header("location:../login.pl?action=logout"); + /*foreach($rs as $row) { + $stmp.=$row["session_id"].","; + } + $sql1="delete from session where id in (".substr($stmp,-1).")"; + $sql2="delete from session_content where session_id in (".substr($stmp,-1).")"; + $db->query($sql1,"authuser_A"); + $db->query($sql2,"authuser_B"); + $sql3="insert into session ";*/ + } + $sql="select * from auth.user where id=".$rs[0]["id"]; + $rs1=$db->getAll($sql,"authuser_1"); + if (!$rs1) return false; + $auth=array(); + $auth["login"]=$rs1[0]["login"]; + $sql="select * from auth.user_config where user_id=".$rs[0]["id"]; + $rs1=$db->getAll($sql,"authuser_2"); + $keys=array("dbname","dbpasswd","dbhost","dbport","dbuser"); + foreach ($rs1 as $row) { + if (in_array($row["cfg_key"],$keys)) { + $auth[$row["cfg_key"]]=$row["cfg_value"]; + } + } + $sql="update auth.session set mtime = '".date("Y-M-d H:i:s.100001")."' where id = '".$rs[0]["session_id"]."'"; + $db->query($sql,"authuser_3"); + return $auth; +} +/** + * Zeichencode übersetzen + * + * @param String $txt + */ +function translate(&$txt) { + if (Auto) { + $encoding = mb_detect_encoding($data,"UTF-8,ISO-8859-1,ISO-8859-15,Windows-1252,ASCII"); + $txt = iconv("$encoding",ServerCode."//TRANSLIT",$txt); + //$txt = mb_convert_encoding($txt, ServerCode,"$encoding"); + } else { + $txt = iconv(FileCode,ServerCode."//TRANSLIT",$txt); + //$txt = mb_convert_encoding($txt, ServerCode,FileCode); + } } ?>