"bank_code" => "Bankleitzahl",
"bank" => "Bankname",
"branche" => "Branche",
+ "business_id" => "BranchenID",
+ "salesman_id" => "VerkäuferID",
//"language" => "Sprache (de,en,fr)",
"sw" => "Stichwort",
"creditlimit" => "Kreditlimit (nnnnnn.nn)"); /*,
$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;
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'";
$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 {
$rs=$db->getAll($sql);
return $rs;
}
+
function getAllUnits($db,$type) {
$sql = "select * from units where type = '$type' order by sortkey";
$rs=$db->getAll($sql);
return $rs;
}
-function anmelden() {
+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 (!$cookie) header("location: ups.html");
- $auth=authuser($dbhost,$dbport,$dbuser,$dbpasswd,$dbname,$cookie);
+ if ($login) {
+ $auth=authuser($dbhost,$dbport,$dbuser,$dbpasswd,$dbname,false,$login,$pwd);
+ } else {
+ $cookie=$_COOKIE[$cookiename];
+ if (!$cookie) header("location: ups.html");
+ $auth=authuser($dbhost,$dbport,$dbuser,$dbpasswd,$dbname,$cookie,false,false);
+ };
if (!$auth) { return false; };
$_SESSION["sessid"]=$cookie;
$_SESSION["cookie"]=$cookiename;
$sql="select * from defaults";
$rs=$_SESSION["db"]->getAll($sql);
$_SESSION["ERPver"]=$rs[0]["version"];
- return true;
+ return true;$_SESSION;
} else {
return false;
}
}
}
-function authuser($dbhost,$dbport,$dbuser,$dbpasswd,$dbname,$cookie) {
+function authuser($dbhost,$dbport,$dbuser,$dbpasswd,$dbname,$cookie,$login,$pwd) {
$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 ";*/
+ if ($cookie) {
+ $sql="select sc.session_id,u.id from auth.session_content sc left join auth.user u on ";
+ $sql.="('--- ' || u.login || E'\\n')=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) {
+ 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");
+ header("location:../login.pl?action=logout");
+ };
+ $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");
+ $sql="select * from auth.user where id=".$rs[0]["id"];
+ } else {
+ $sql = "select * from auth.user where login = '$login' and password = '$pwd'";
}
- $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"];
+ $sql="select * from auth.user_config where user_id=".$rs1[0]["id"];
$rs1=$db->getAll($sql,"authuser_2");
$keys=array("dbname","dbpasswd","dbhost","dbport","dbuser");
foreach ($rs1 as $row) {
$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
*