- Cronjobverwaltung
- Anpassung an neue Firmenverwaltung - Bugfix Infoterminal, Login ohne Passwort nicht mehr moeglich
@@ -29,18 +29,11 @@ require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class betriebsmittel extends basis_db
|
||||
{
|
||||
public $schema_inventar='wawi';
|
||||
# private $schema_inventar='public';
|
||||
public $schema_wawi='public';
|
||||
|
||||
public $default_afa_jahre=5;
|
||||
|
||||
|
||||
public $debug=false; // boolean
|
||||
public $new; // boolean
|
||||
public $result;
|
||||
|
||||
|
||||
|
||||
//Tabellenspalten
|
||||
public $betriebsmittel_id; // integer
|
||||
@@ -54,7 +47,6 @@ class betriebsmittel extends basis_db
|
||||
public $insertvon; // string
|
||||
public $updateamum; // timestamp
|
||||
public $updatevon; // string
|
||||
// Neu wegen Inventar seq 2009-12
|
||||
public $beschreibung; // string
|
||||
public $oe_kurzbz; // string
|
||||
public $hersteller; // string
|
||||
@@ -62,9 +54,7 @@ class betriebsmittel extends basis_db
|
||||
public $seriennummer; // string
|
||||
public $bestellung_id; // integer
|
||||
public $bestelldetail_id; // integer
|
||||
|
||||
public $afa; // string
|
||||
|
||||
public $verwendung; // string
|
||||
public $anmerkung; // string
|
||||
public $leasing_bis; // date
|
||||
@@ -99,13 +89,12 @@ class betriebsmittel extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM ".$this->schema_inventar.".tbl_betriebsmittel WHERE betriebsmittel_id='".addslashes($betriebsmittel_id)."'";
|
||||
$qry = "SELECT * FROM wawi.tbl_betriebsmittel WHERE betriebsmittel_id='".addslashes($betriebsmittel_id)."'";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
|
||||
$this->betriebsmittel_id = $row->betriebsmittel_id;
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->betriebsmitteltyp = $row->betriebsmitteltyp;
|
||||
@@ -118,20 +107,19 @@ class betriebsmittel extends basis_db
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->ext_id = $row->ext_id;
|
||||
// Neu wegen Inventar seq 2009-12
|
||||
$this->beschreibung = $row->beschreibung; // string
|
||||
$this->oe_kurzbz = $row->oe_kurzbz; // string
|
||||
$this->hersteller = $row->hersteller; // string
|
||||
$this->seriennummer = $row->seriennummer; // string
|
||||
$this->bestellung_id = $row->bestellung_id; // integer
|
||||
$this->bestelldetail_id = $row->bestelldetail_id; // integer
|
||||
$this->afa = $row->afa; // string
|
||||
$this->verwendung = $row->verwendung; // string
|
||||
$this->anmerkung = $row->anmerkung; // string
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->oe_kurzbz = $row->oe_kurzbz;
|
||||
$this->hersteller = $row->hersteller;
|
||||
$this->seriennummer = $row->seriennummer;
|
||||
$this->bestellung_id = $row->bestellung_id;
|
||||
$this->bestelldetail_id = $row->bestelldetail_id;
|
||||
$this->afa = $row->afa;
|
||||
$this->verwendung = $row->verwendung;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->leasing_bis = $row->leasing_bis;
|
||||
|
||||
$this->leasing_bis = $row->leasing_bis; // string
|
||||
|
||||
return $this->result=$row;
|
||||
//return $this->result=$row;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -176,30 +164,30 @@ class betriebsmittel extends basis_db
|
||||
if($new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='INSERT INTO '.$this->schema_inventar.'.tbl_betriebsmittel (beschreibung, betriebsmitteltyp, nummer
|
||||
$qry='INSERT INTO wawi.tbl_betriebsmittel (beschreibung, betriebsmitteltyp, nummer
|
||||
, nummerintern, reservieren, ort_kurzbz
|
||||
,ext_id, insertamum, insertvon, updateamum, updatevon,oe_kurzbz,hersteller,seriennummer
|
||||
,bestellung_id,bestelldetail_id,afa,verwendung,anmerkung,leasing_bis) VALUES('.
|
||||
$this->addslashes($this->beschreibung).', '.
|
||||
$this->addslashes($this->betriebsmitteltyp).', '.
|
||||
$this->addslashes($this->nummer).', '.
|
||||
$this->addslashes($this->nummerintern).', '.
|
||||
($this->reservieren?'true':'false').', '.
|
||||
$this->addslashes($this->ort_kurzbz).', '.
|
||||
$this->addslashes($this->ext_id).', '.
|
||||
($this->insertamum?$this->addslashes($this->insertamum):'now()').', '.
|
||||
$this->addslashes($this->insertvon).', '.
|
||||
$this->addslashes($this->beschreibung).', '.
|
||||
$this->addslashes($this->betriebsmitteltyp).', '.
|
||||
$this->addslashes($this->nummer).', '.
|
||||
$this->addslashes($this->nummerintern).', '.
|
||||
($this->reservieren?'true':'false').', '.
|
||||
$this->addslashes($this->ort_kurzbz).', '.
|
||||
$this->addslashes($this->ext_id).', '.
|
||||
($this->insertamum?$this->addslashes($this->insertamum):'now()').', '.
|
||||
$this->addslashes($this->insertvon).', '.
|
||||
($this->updateamum?$this->addslashes($this->updateamum):'now()').', '.
|
||||
$this->addslashes((empty($this->updatevon)?$this->updatevon:$this->insertvon)).', '.
|
||||
$this->addslashes($this->oe_kurzbz).', '.
|
||||
$this->addslashes($this->hersteller).', '.
|
||||
$this->addslashes($this->seriennummer).', '.
|
||||
$this->addslashes($this->bestellung_id).', '.
|
||||
$this->addslashes($this->bestelldetail_id).', '.
|
||||
$this->addslashes($this->afa).', '.
|
||||
$this->addslashes($this->verwendung).', '.
|
||||
$this->addslashes($this->anmerkung) .', '.
|
||||
($this->leasing_bis?$this->addslashes($this->leasing_bis):'null') .');' ;
|
||||
$this->addslashes((empty($this->updatevon)?$this->updatevon:$this->insertvon)).', '.
|
||||
$this->addslashes($this->oe_kurzbz).', '.
|
||||
$this->addslashes($this->hersteller).', '.
|
||||
$this->addslashes($this->seriennummer).', '.
|
||||
$this->addslashes($this->bestellung_id).', '.
|
||||
$this->addslashes($this->bestelldetail_id).', '.
|
||||
$this->addslashes($this->afa).', '.
|
||||
$this->addslashes($this->verwendung).', '.
|
||||
$this->addslashes($this->anmerkung) .', '.
|
||||
($this->leasing_bis?$this->addslashes($this->leasing_bis):'null') .');' ;
|
||||
|
||||
}
|
||||
else
|
||||
@@ -210,7 +198,7 @@ class betriebsmittel extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry='UPDATE '.$this->schema_inventar.'.tbl_betriebsmittel SET '.
|
||||
$qry='UPDATE wawi.tbl_betriebsmittel SET '.
|
||||
'betriebsmitteltyp='.$this->addslashes($this->betriebsmitteltyp).', '.
|
||||
'beschreibung='.$this->addslashes($this->beschreibung).', '.
|
||||
'nummer='.$this->addslashes($this->nummer).', '.
|
||||
@@ -220,7 +208,6 @@ class betriebsmittel extends basis_db
|
||||
'ext_id='.$this->addslashes($this->ext_id).', '.
|
||||
'updateamum='.($this->updateamum?$this->addslashes($this->updateamum):'now()').', '.
|
||||
'updatevon='.$this->addslashes($this->updatevon).', '.
|
||||
// Neu wegen Inventar seq 2009-12
|
||||
'oe_kurzbz='.$this->addslashes($this->oe_kurzbz).', '.
|
||||
'hersteller='.$this->addslashes($this->hersteller).', '.
|
||||
'seriennummer='.$this->addslashes($this->seriennummer).', '.
|
||||
@@ -232,12 +219,12 @@ class betriebsmittel extends basis_db
|
||||
'leasing_bis='.($this->leasing_bis?$this->addslashes($this->leasing_bis):'null').' '.
|
||||
'WHERE betriebsmittel_id='.$this->addslashes($this->betriebsmittel_id).';';
|
||||
}
|
||||
##echo $qry;
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($new)
|
||||
{
|
||||
$qry = "SELECT currval('".$this->schema_inventar.".tbl_betriebsmittel_betriebsmittel_id_seq') as id;";
|
||||
$qry = "SELECT currval('wawi.tbl_betriebsmittel_betriebsmittel_id_seq') as id;";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
@@ -264,6 +251,7 @@ class betriebsmittel extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht den Datenensatz mit der ID die uebergeben wird
|
||||
* @param $betriebsmittel_id ID die geloescht werden soll
|
||||
@@ -276,7 +264,7 @@ class betriebsmittel extends basis_db
|
||||
$this->errormsg = 'Betriebsmittel_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
$qry = "DELETE FROM ".$this->schema_inventar.".tbl_betriebsmittel WHERE betriebsmittel_id='".addslashes($betriebsmittel_id)."'";
|
||||
$qry = "DELETE FROM wawi.tbl_betriebsmittel WHERE betriebsmittel_id='".addslashes($betriebsmittel_id)."'";
|
||||
if($this->db_query($qry))
|
||||
return true;
|
||||
else
|
||||
@@ -299,11 +287,10 @@ class betriebsmittel extends basis_db
|
||||
$this->result=array();
|
||||
$this->errormsg = '';
|
||||
|
||||
$qry = '';
|
||||
$qry.= 'SELECT * ';
|
||||
$qry.= ' FROM '.$this->schema_inventar.'.tbl_betriebsmittel ';
|
||||
$qry= 'SELECT * ';
|
||||
$qry.= ' FROM wawi.tbl_betriebsmittel ';
|
||||
$qry.= " WHERE betriebsmitteltyp='".addslashes($betriebsmitteltyp)."' AND nummer='".addslashes($nummer)."'";
|
||||
$qry.= " ORDER BY updateamum DESC";
|
||||
$qry.= ' ORDER BY updateamum DESC';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -322,17 +309,16 @@ class betriebsmittel extends basis_db
|
||||
$bm->updatevon = $row->updatevon;
|
||||
$bm->insertamum = $row->insertamum;
|
||||
$bm->insertvon = $row->insertvon;
|
||||
// Neu wegen Inventar seq 2009-12
|
||||
$bm->beschreibung = $row->beschreibung; // string
|
||||
$bm->oe_kurzbz = $row->oe_kurzbz; // string
|
||||
$bm->hersteller = $row->hersteller; // string
|
||||
$bm->seriennummer = $row->seriennummer; // string
|
||||
$bm->bestellung_id = $row->bestellung_id; // integer
|
||||
$bm->bestelldetail_id = $row->bestelldetail_id; // integer
|
||||
$bm->afa = $row->afa; // string
|
||||
$bm->verwendung = $row->verwendung; // string
|
||||
$bm->anmerkung = $row->anmerkung; // string
|
||||
$bm->leasing_bis = $row->leasing_bis; // date
|
||||
$bm->beschreibung = $row->beschreibung;
|
||||
$bm->oe_kurzbz = $row->oe_kurzbz;
|
||||
$bm->hersteller = $row->hersteller;
|
||||
$bm->seriennummer = $row->seriennummer;
|
||||
$bm->bestellung_id = $row->bestellung_id;
|
||||
$bm->bestelldetail_id = $row->bestelldetail_id;
|
||||
$bm->afa = $row->afa;
|
||||
$bm->verwendung = $row->verwendung;
|
||||
$bm->anmerkung = $row->anmerkung;
|
||||
$bm->leasing_bis = $row->leasing_bis;
|
||||
|
||||
$this->result[] = $bm;
|
||||
}
|
||||
@@ -356,10 +342,7 @@ class betriebsmittel extends basis_db
|
||||
$this->result=array();
|
||||
$this->errormsg = '';
|
||||
|
||||
$qry = '';
|
||||
$qry.= 'SELECT * ';
|
||||
$qry.= ' FROM '.$this->schema_inventar.'.tbl_betriebsmittel ';
|
||||
$qry.= " ORDER BY nummer";
|
||||
$qry= 'SELECT * FROM wawi.tbl_betriebsmittel ORDER BY nummer';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -378,16 +361,15 @@ class betriebsmittel extends basis_db
|
||||
$bm->updatevon = $row->updatevon;
|
||||
$bm->insertamum = $row->insertamum;
|
||||
$bm->insertvon = $row->insertvon;
|
||||
// Neu wegen Inventar seq 2009-12
|
||||
$bm->oe_kurzbz = $row->oe_kurzbz; // string
|
||||
$bm->hersteller = $row->hersteller; // string
|
||||
$bm->seriennummer = $row->seriennummer; // string
|
||||
$bm->bestellung_id = $row->bestellung_id; // integer
|
||||
$bm->bestelldetail_id = $row->bestelldetail_id; // integer
|
||||
$bm->afa = $row->afa; // string
|
||||
$bm->verwendung = $row->verwendung; // string
|
||||
$bm->anmerkung = $row->anmerkung; // string
|
||||
$bm->leasing_bis = $row->leasing_bis; // date
|
||||
$bm->oe_kurzbz = $row->oe_kurzbz;
|
||||
$bm->hersteller = $row->hersteller;
|
||||
$bm->seriennummer = $row->seriennummer;
|
||||
$bm->bestellung_id = $row->bestellung_id;
|
||||
$bm->bestelldetail_id = $row->bestelldetail_id;
|
||||
$bm->afa = $row->afa;
|
||||
$bm->verwendung = $row->verwendung;
|
||||
$bm->anmerkung = $row->anmerkung;
|
||||
$bm->leasing_bis = $row->leasing_bis;
|
||||
$this->result[] = $bm;
|
||||
}
|
||||
return true;
|
||||
@@ -399,11 +381,6 @@ class betriebsmittel extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ------------------------------------------------------------------------------------------
|
||||
// Inventardaten lesen
|
||||
// ------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* Laedt das Betriebsmittel mit der Nummer des Betriebsmittels $nummer
|
||||
* @param $nummer Nummer des zu ladenden Betriebsmittel
|
||||
@@ -415,10 +392,7 @@ class betriebsmittel extends basis_db
|
||||
$this->result=array();
|
||||
$this->errormsg = '';
|
||||
|
||||
$qry='';
|
||||
$qry.=' select * ';
|
||||
$qry.=' from '.$this->schema_inventar.'.tbl_betriebsmittel ';
|
||||
$qry.=' where nummer='.$this->addslashes($nummer);
|
||||
$qry=' SELECT * FROM wawi.tbl_betriebsmittel WHERE nummer='.$this->addslashes($nummer);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -436,17 +410,17 @@ class betriebsmittel extends basis_db
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->ext_id = $row->ext_id;
|
||||
// Neu wegen Inventar seq 2009-12
|
||||
$this->beschreibung = $row->beschreibung; // string
|
||||
$this->oe_kurzbz = $row->oe_kurzbz; // string
|
||||
$this->hersteller = $row->hersteller; // string
|
||||
$this->seriennummer = $row->seriennummer; // string
|
||||
$this->bestellung_id = $row->bestellung_id; // integer
|
||||
$this->bestelldetail_id = $row->bestelldetail_id; // integer
|
||||
$this->afa = $row->afa; // string
|
||||
$this->verwendung = $row->verwendung; // string
|
||||
$this->anmerkung = $row->anmerkung; // string
|
||||
$this->leasing_bis = $row->leasing_bis; // date
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->oe_kurzbz = $row->oe_kurzbz;
|
||||
$this->hersteller = $row->hersteller;
|
||||
$this->seriennummer = $row->seriennummer;
|
||||
$this->bestellung_id = $row->bestellung_id;
|
||||
$this->bestelldetail_id = $row->bestelldetail_id;
|
||||
$this->afa = $row->afa;
|
||||
$this->verwendung = $row->verwendung;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->leasing_bis = $row->leasing_bis;
|
||||
|
||||
return $this->result=$row;
|
||||
}
|
||||
else
|
||||
@@ -477,7 +451,8 @@ class betriebsmittel extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM ".$this->schema_inventar.".tbl_betriebsmittel WHERE betriebsmittel_id='".addslashes($betriebsmittel_id)."'";
|
||||
$qry = "SELECT * FROM wawi.tbl_betriebsmittel WHERE betriebsmittel_id='".addslashes($betriebsmittel_id)."'";
|
||||
|
||||
if($res=$this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($res))
|
||||
@@ -494,27 +469,26 @@ class betriebsmittel extends basis_db
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->ext_id = $row->ext_id;
|
||||
// Neu wegen Inventar seq 2009-12
|
||||
$this->beschreibung = $row->beschreibung; // string
|
||||
$this->hersteller = $row->hersteller; // string
|
||||
$this->seriennummer = $row->seriennummer; // string
|
||||
$this->bestellung_id = $row->bestellung_id; // integer
|
||||
$this->bestelldetail_id = $row->bestelldetail_id; // integer
|
||||
$this->afa = $row->afa; // string
|
||||
$this->verwendung = $row->verwendung; // string
|
||||
$this->anmerkung = $row->anmerkung; // string
|
||||
$this->leasing_bis = $row->leasing_bis; // string
|
||||
$this->oe_kurzbz = trim($row->oe_kurzbz); // string
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->hersteller = $row->hersteller;
|
||||
$this->seriennummer = $row->seriennummer;
|
||||
$this->bestellung_id = $row->bestellung_id;
|
||||
$this->bestelldetail_id = $row->bestelldetail_id;
|
||||
$this->afa = $row->afa;
|
||||
$this->verwendung = $row->verwendung;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->leasing_bis = $row->leasing_bis;
|
||||
$this->oe_kurzbz = trim($row->oe_kurzbz);
|
||||
|
||||
if (empty($this->oe_kurzbz))
|
||||
{
|
||||
$qry="SELECT uid ";
|
||||
$qry.=" FROM ".$this->schema_inventar.".tbl_betriebsmittel ";
|
||||
$qry.=" JOIN ".$this->schema_inventar.".tbl_betriebsmittelperson USING(betriebsmittel_id) ";
|
||||
$qry.=" FROM wawi.tbl_betriebsmittel ";
|
||||
$qry.=" JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id) ";
|
||||
$qry.=" JOIN campus.vw_benutzer USING(person_id) ";
|
||||
|
||||
$qry.=" WHERE tbl_betriebsmittel.betriebsmittel_id='".addslashes($this->betriebsmittel_id)."' ";
|
||||
$qry.=" order by retouram asc limit 1 ";
|
||||
$qry.=" ORDER BY retouram asc limit 1 ";
|
||||
|
||||
$qry1 = "SELECT
|
||||
*, tbl_benutzerfunktion.oe_kurzbz as oe_kurzbz, tbl_organisationseinheit.bezeichnung as oe_bezeichnung,
|
||||
@@ -566,12 +540,10 @@ class betriebsmittel extends basis_db
|
||||
$this->result=array();
|
||||
$this->errormsg = '';
|
||||
|
||||
$qry='';
|
||||
$qry.=' select * ';
|
||||
$qry.=' from '.$this->schema_inventar.'.tbl_betriebsmittel ';
|
||||
$qry.=' where bestellung_id='.$this->addslashes($bestellung_id);
|
||||
$qry='SELECT * FROM wawi.tbl_betriebsmittel WHERE bestellung_id='.$this->addslashes($bestellung_id);
|
||||
|
||||
if (!is_null($bestelldetail_id) && !empty($bestelldetail_id) && is_numeric($bestelldetail_id) )
|
||||
$qry.=' and bestelldetail_id='.$this->addslashes($bestelldetail_id);
|
||||
$qry.=' AND bestelldetail_id='.$this->addslashes($bestelldetail_id);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -589,17 +561,17 @@ class betriebsmittel extends basis_db
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->ext_id = $row->ext_id;
|
||||
// Neu wegen Inventar seq 2009-12
|
||||
$this->beschreibung = $row->beschreibung; // string
|
||||
$this->oe_kurzbz = $row->oe_kurzbz; // string
|
||||
$this->hersteller = $row->hersteller; // string
|
||||
$this->seriennummer = $row->seriennummer; // string
|
||||
$this->bestellung_id = $row->bestellung_id; // integer
|
||||
$this->bestelldetail_id = $row->bestelldetail_id; // integer
|
||||
$this->afa = $row->afa; // string
|
||||
$this->verwendung = $row->verwendung; // string
|
||||
$this->anmerkung = $row->anmerkung; // string
|
||||
$this->leasing_bis = $row->leasing_bis; // date
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->oe_kurzbz = $row->oe_kurzbz;
|
||||
$this->hersteller = $row->hersteller;
|
||||
$this->seriennummer = $row->seriennummer;
|
||||
$this->bestellung_id = $row->bestellung_id;
|
||||
$this->bestelldetail_id = $row->bestelldetail_id;
|
||||
$this->afa = $row->afa;
|
||||
$this->verwendung = $row->verwendung;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->leasing_bis = $row->leasing_bis;
|
||||
|
||||
return $this->result=$row;
|
||||
}
|
||||
else
|
||||
@@ -646,8 +618,7 @@ class betriebsmittel extends basis_db
|
||||
$firma_id=trim($firma_id);
|
||||
|
||||
$qry='';
|
||||
$qry.='select distinct(tbl_betriebsmittel.nummer) ';
|
||||
# $qry.=',tbl_betriebsmittelperson.person_id ';
|
||||
$qry.='select distinct on(tbl_betriebsmittel.nummer) tbl_betriebsmittel.nummer ';
|
||||
$qry.=',tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id ';
|
||||
$qry.=',tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelstatus_kurzbz ';
|
||||
$qry.=',tbl_betriebsmittel_betriebsmittelstatus.datum as betriebsmittelstatus_datum ';
|
||||
@@ -656,15 +627,15 @@ class betriebsmittel extends basis_db
|
||||
$qry.=', tbl_betriebsmittel.*';
|
||||
$qry.=', wawi_be.*';
|
||||
$qry.=", trim(to_char(date_part('year', tbl_betriebsmittel_betriebsmittelstatus.datum) + tbl_betriebsmittel.afa , '9999') || '-' || to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'MM-DD')) as betriebsmittelstatus_datum_afa ";
|
||||
$qry.=' from '.$this->schema_inventar.'.tbl_betriebsmittel';
|
||||
$qry.=' from wawi.tbl_betriebsmittel';
|
||||
|
||||
$qry.=' left outer join '.$this->schema_inventar.'.tbl_betriebsmitteltyp on (tbl_betriebsmitteltyp.betriebsmitteltyp=tbl_betriebsmittel.betriebsmitteltyp ) ';
|
||||
$qry.=' left outer join '.$this->schema_inventar.'.tbl_betriebsmittel_betriebsmittelstatus on (tbl_betriebsmittel_betriebsmittelstatus.betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id ) ';
|
||||
$qry.=' left outer join '.$this->schema_inventar.'.tbl_betriebsmittelstatus on (tbl_betriebsmittelstatus.betriebsmittelstatus_kurzbz=tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelstatus_kurzbz ) ';
|
||||
$qry.=' left outer join wawi.tbl_betriebsmitteltyp on (tbl_betriebsmitteltyp.betriebsmitteltyp=tbl_betriebsmittel.betriebsmitteltyp ) ';
|
||||
$qry.=' left outer join wawi.tbl_betriebsmittel_betriebsmittelstatus on (tbl_betriebsmittel_betriebsmittelstatus.betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id ) ';
|
||||
$qry.=' left outer join wawi.tbl_betriebsmittelstatus on (tbl_betriebsmittelstatus.betriebsmittelstatus_kurzbz=tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelstatus_kurzbz ) ';
|
||||
$qry.=' left outer join public.tbl_ort on (tbl_ort.ort_kurzbz=tbl_betriebsmittel.ort_kurzbz ) ';
|
||||
$qry.=' left outer join '.$this->schema_inventar.'.tbl_betriebsmittelperson on (tbl_betriebsmittelperson.betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id ) ';
|
||||
$qry.=' left outer join wawi.tbl_betriebsmittelperson on (tbl_betriebsmittelperson.betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id ) ';
|
||||
|
||||
// Verbindung zum WAWI aufbauen
|
||||
// Verbindung zum WAWI aufbauen
|
||||
$qry.=' left outer join dblink(\''.CONN_STRING_WAWI.'\',\'
|
||||
select distinct bestellung.bestellung_id,bestellung.bestellnr,bestellung.titel,bestellung.firma_id,firma.firmenname from public.bestellung
|
||||
left join public.firma on ( firma.firma_id=bestellung.firma_id ) \' )
|
||||
@@ -676,9 +647,11 @@ class betriebsmittel extends basis_db
|
||||
if ($where!='' && !$where)
|
||||
return $this->result;
|
||||
|
||||
// Select und Bedingung zusammen fuehren zu SQL Abfrage
|
||||
if($order=='')
|
||||
$order = 'tbl_betriebsmittel.nummer,tbl_betriebsmittel_betriebsmittelstatus.datum DESC, tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id DESC';
|
||||
// Select und Bedingung zusammen fuehren zu SQL Abfrage
|
||||
$qry.=$where.(!is_null($order) && !empty($order)?' ORDER BY '. $order:''). (!$where?' limit 100 ':' limit 300 ');
|
||||
## echo "<hr>$qry <hr>";
|
||||
|
||||
if(!$result=$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg ='Probleme beim lesen der Betriebsmittel '.($this->debug?$this->db_last_error() ."<br />$qry<br />":'') ;
|
||||
@@ -686,10 +659,9 @@ class betriebsmittel extends basis_db
|
||||
}
|
||||
while($row = $this->db_fetch_object($result))
|
||||
$this->result[]=$row;
|
||||
##var_dump($this->result);
|
||||
|
||||
return $this->result;
|
||||
}
|
||||
// Ende ===========================================================================================
|
||||
|
||||
/**
|
||||
* Laedt INVENTARTABELLE BESTELLUNG_ID
|
||||
@@ -719,15 +691,15 @@ class betriebsmittel extends basis_db
|
||||
$ort_kurzbz=trim($ort_kurzbz);
|
||||
$qry='';
|
||||
$qry.='select distinct(tbl_betriebsmittel.bestellung_id) ';
|
||||
$qry.=' from '.$this->schema_inventar.'.tbl_betriebsmittel';
|
||||
$qry.=' from wawi.tbl_betriebsmittel';
|
||||
|
||||
$qry.=' left outer join '.$this->schema_inventar.'.tbl_betriebsmitteltyp on (tbl_betriebsmitteltyp.betriebsmitteltyp=tbl_betriebsmittel.betriebsmitteltyp ) ';
|
||||
$qry.=' left outer join '.$this->schema_inventar.'.tbl_betriebsmittel_betriebsmittelstatus on (tbl_betriebsmittel_betriebsmittelstatus.betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id ) ';
|
||||
$qry.=' left outer join '.$this->schema_inventar.'.tbl_betriebsmittelstatus on (tbl_betriebsmittelstatus.betriebsmittelstatus_kurzbz=tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelstatus_kurzbz ) ';
|
||||
$qry.=' left outer join wawi.tbl_betriebsmitteltyp on (tbl_betriebsmitteltyp.betriebsmitteltyp=tbl_betriebsmittel.betriebsmitteltyp ) ';
|
||||
$qry.=' left outer join wawi.tbl_betriebsmittel_betriebsmittelstatus on (tbl_betriebsmittel_betriebsmittelstatus.betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id ) ';
|
||||
$qry.=' left outer join wawi.tbl_betriebsmittelstatus on (tbl_betriebsmittelstatus.betriebsmittelstatus_kurzbz=tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelstatus_kurzbz ) ';
|
||||
$qry.=' left outer join public.tbl_ort on (tbl_ort.ort_kurzbz=tbl_betriebsmittel.ort_kurzbz ) ';
|
||||
$qry.=' left outer join '.$this->schema_inventar.'.tbl_betriebsmittelperson on (tbl_betriebsmittelperson.betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id ) ';
|
||||
$qry.=' left outer join wawi.tbl_betriebsmittelperson on (tbl_betriebsmittelperson.betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id ) ';
|
||||
|
||||
// Verbindung zum WAWI aufbauen
|
||||
// Verbindung zum WAWI aufbauen
|
||||
if ( $bestellnr || $firma_id || $beschreibung )
|
||||
$qry.=' left outer join dblink(\''.CONN_STRING_WAWI.'\',\'
|
||||
select distinct bestellung.bestellung_id,bestellung.bestellnr,bestellung.titel,bestellung.firma_id,firma.firmenname from public.bestellung
|
||||
@@ -739,7 +711,7 @@ class betriebsmittel extends basis_db
|
||||
$where='';
|
||||
$where=$this->betriebsmittel_inventar_get_where($nummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer);
|
||||
|
||||
// Select und Bedingung zusammen fuehren zu SQL Abfrage
|
||||
// Select und Bedingung zusammen fuehren zu SQL Abfrage
|
||||
if (is_null($order) || empty($order) )
|
||||
$order='tbl_betriebsmittel.bestellung_id';
|
||||
|
||||
@@ -753,22 +725,39 @@ class betriebsmittel extends basis_db
|
||||
{
|
||||
$this->result[]=$row;
|
||||
}
|
||||
#var_dump($this->result);
|
||||
#exit;
|
||||
|
||||
return $this->result;
|
||||
}
|
||||
// -------------------------------------------
|
||||
|
||||
function betriebsmittel_inventar_get_where($nummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null)
|
||||
/**
|
||||
* Laedt Inventartabelle
|
||||
*
|
||||
* @param $nummer
|
||||
* @param $ort_kurzbz
|
||||
* @param $betriebsmittelstatus_kurzbz
|
||||
* @param $betriebsmitteltyp
|
||||
* @param $bestellung_id
|
||||
* @param $bestelldetail_id
|
||||
* @param $bestellnr
|
||||
* @param $hersteller
|
||||
* @param $afa
|
||||
* @param $jahr_monat
|
||||
* @param $firma_id
|
||||
* @param $inventur_jahr
|
||||
* @param $beschreibung
|
||||
* @param $oe_kurzbz
|
||||
* @param $seriennummer
|
||||
* @param $person_id
|
||||
* @param $betriebsmittel_id
|
||||
* @return unknown
|
||||
*/
|
||||
public function betriebsmittel_inventar_get_where($nummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null)
|
||||
{
|
||||
## echo " betriebsmittel_inventar($nummer<br>,$ort_kurzbz<br>,StatusKurz $betriebsmittelstatus_kurzbz<br>,$betriebsmitteltyp<br>,Bestellung ID $bestellung_id<br>,$bestelldetail_id<br>,Bestellnr $bestellnr<br>,$hersteller<br>,AFA $afa<br>,JJMM $jahr_monat<br>,Firma $firma_id<br>,Invent $inventur_jahr<br>,Beschr $beschreibung<br>,OE $oe_kurzbz<br>Seriennr $seriennummer<br>, person_id $person_id <br>, betriebsmittel_id $betriebsmittel_id <hr>";
|
||||
#exit;
|
||||
$where='';
|
||||
// Inventarnummer oder Betriebsmittelnummer
|
||||
if (!is_null($nummer) && !empty($nummer) )
|
||||
{
|
||||
$matchcode=mb_strtoupper(addslashes(str_replace(array('*','%',',',';',"'",'"',' '),'%',trim($nummer))));
|
||||
## $where.=" AND UPPER(trim(tbl_betriebsmittel.nummer)) like '%".$matchcode."%' " ;
|
||||
$where.=" AND UPPER(trim(tbl_betriebsmittel.nummer)) like '".$matchcode."' " ;
|
||||
}
|
||||
if (!is_null($betriebsmittel_id) && !empty($betriebsmittel_id) )
|
||||
@@ -795,7 +784,6 @@ class betriebsmittel extends basis_db
|
||||
if ( $bestellnr || $firma_id || $beschreibung )
|
||||
$where.=" or UPPER(trim(wawi_be.titel)) like '%". $matchcode ."%' " ;
|
||||
$where.=" or UPPER(trim(tbl_betriebsmittel.anmerkung)) like '%".$matchcode."%' ) ";
|
||||
|
||||
}
|
||||
|
||||
if (!is_null($bestellung_id) && $bestellung_id!='' && is_numeric($bestellung_id))
|
||||
@@ -828,8 +816,6 @@ class betriebsmittel extends basis_db
|
||||
|
||||
if (!is_null($oe_kurzbz) && $oe_kurzbz!='')
|
||||
{
|
||||
## where funktion_kurzbz='oezuordnung'
|
||||
|
||||
$matchcode=mb_strtoupper(addslashes(str_replace(array('*','%',',',';',"'",'"',' '),'%',trim($oe_kurzbz))));
|
||||
$where.=" AND ( upper(trim(tbl_betriebsmittel.oe_kurzbz)) like '%". $matchcode."%' " ;
|
||||
$where.=" or tbl_betriebsmittelperson.person_id in ( SELECT distinct vw_benutzer.person_id
|
||||
@@ -873,26 +859,7 @@ class betriebsmittel extends basis_db
|
||||
GROUP BY oe_kurzbz ))
|
||||
)";
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
and tbl_betriebsmittelperson.person_id= ( SELECT distinct vw_benutzer.person_id
|
||||
FROM public.tbl_benutzerfunktion JOIN campus.vw_benutzer USING(uid)
|
||||
and (funktion_kurzbz='oezuordnung' OR funktion_kurzbz='Leitung')
|
||||
and oe_kurzbz IN(
|
||||
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
|
||||
(
|
||||
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
|
||||
WHERE upper(trim(oe_kurzbz))=upper(trim('".addslashes($oe_kurzbz)."'))
|
||||
UNION ALL
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
|
||||
WHERE o.oe_parent_kurzbz=oes.oe_kurzbz
|
||||
)
|
||||
SELECT oe_kurzbz
|
||||
FROM oes
|
||||
GROUP BY oe_kurzbz limit 1 )
|
||||
|
||||
*/
|
||||
|
||||
// Ort
|
||||
if (!is_null($ort_kurzbz) && $ort_kurzbz!='')
|
||||
{
|
||||
@@ -931,7 +898,6 @@ class betriebsmittel extends basis_db
|
||||
else
|
||||
{
|
||||
$inventur_jahr=($inventur_jahr * -1);
|
||||
# $where.=" and to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'YYYY') = '".$inventur_jahr."'";
|
||||
$where.=" and not tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null
|
||||
and to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'YYYY')='".$inventur_jahr."' ".($betriebsmittelstatus_kurzbz?" and upper(trim(betriebsmittelstatus_kurzbz))=".$this->addslashes(mb_strtoupper(trim($betriebsmittelstatus_kurzbz))):'')." group by betriebsmittel_id ) ";
|
||||
$betriebsmittelstatus_kurzbz='vorhanden';
|
||||
@@ -972,144 +938,8 @@ class betriebsmittel extends basis_db
|
||||
|
||||
if (!is_null($betriebsmittelstatus_kurzbz) && !empty($betriebsmittelstatus_kurzbz) )
|
||||
$where.=" and upper(trim(tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelstatus_kurzbz)) = ".$this->addslashes(mb_strtoupper(trim($betriebsmittelstatus_kurzbz))) ;
|
||||
##echo "<br> $where <br>";
|
||||
|
||||
return $where;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt INVENTARTABELLE ORTE
|
||||
* @param nummer ID eines Inventars
|
||||
* @param ort_kurzbz ort_kurzbz eines Inventars
|
||||
* @param betriebsmitteltyp ort_kurzbz eines Inventars
|
||||
* @param betriebsmittelstatus_kurzbz STATUS eines Inventars
|
||||
* @param nummer Datensatzid eines Inventars
|
||||
* @param bestellnr WAWI Bestellnummer des Inventars
|
||||
* @param bestellung_id WAWI Rechnungsnummer des Inventars
|
||||
* @param afa AfA Datum
|
||||
* @param Jahr_Monat der WAWI Bestellerfassung
|
||||
* @param firma_id der WAWI Bestellerfassung
|
||||
|
||||
* @param inventur_jahr der Status Jahr - Status = inventur
|
||||
* @param beschreibung der Inventarbeschreibung
|
||||
* @param oe_kurzbz der Organisatzion
|
||||
|
||||
* @return Daten Objekt wenn ok, false im Fehlerfall
|
||||
*/
|
||||
/*
|
||||
function betriebsmittel_inventar_orte($order=null,$nummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null)
|
||||
{
|
||||
// Init
|
||||
$this->errormsg='';
|
||||
$this->result=array();
|
||||
|
||||
$ort_kurzbz=trim($ort_kurzbz);
|
||||
$qry='';
|
||||
$qry.='select distinct(tbl_betriebsmittel.ort_kurzbz),tbl_ort.bezeichnung ';
|
||||
$qry.=' from '.$this->schema_inventar.'.tbl_betriebsmittel';
|
||||
$qry.=' left outer join '.$this->schema_inventar.'.tbl_betriebsmitteltyp on (tbl_betriebsmitteltyp.betriebsmitteltyp=tbl_betriebsmittel.betriebsmitteltyp ) ';
|
||||
$qry.=' left outer join '.$this->schema_inventar.'.tbl_betriebsmittel_betriebsmittelstatus on (tbl_betriebsmittel_betriebsmittelstatus.betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id ) ';
|
||||
$qry.=' left outer join '.$this->schema_inventar.'.tbl_betriebsmittelstatus on (tbl_betriebsmittelstatus.betriebsmittelstatus_kurzbz=tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelstatus_kurzbz ) ';
|
||||
$qry.=' left outer join public.tbl_ort on (tbl_ort.ort_kurzbz=tbl_betriebsmittel.ort_kurzbz ) ';
|
||||
// Verbindung zum WAWI aufbauen
|
||||
if ( $bestellnr || $firma_id || $beschreibung )
|
||||
$qry.=' left outer join dblink(\''.CONN_STRING_WAWI.'\',\'
|
||||
select distinct bestellung.bestellung_id,bestellung.bestellnr,bestellung.titel,bestellung.firma_id,firma.firmenname from public.bestellung
|
||||
left join public.firma on ( firma.firma_id=bestellung.firma_id ) \' )
|
||||
as wawi_be(bestellung_id int, bestellnr char(32), titel char(120), firma_id int, firmenname char(160) )
|
||||
on ( cast(wawi_be.bestellung_id as INTEGER)=cast(tbl_betriebsmittel.bestellung_id as INTEGER) and cast(tbl_betriebsmittel.bestellung_id as INTEGER)>0 ) ';
|
||||
$qry.=" where not tbl_betriebsmittel.ort_kurzbz is null ";
|
||||
|
||||
$where='';
|
||||
$where=$this->betriebsmittel_inventar_get_where($nummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer);
|
||||
|
||||
// Select und Bedingung zusammen fuehren zu SQL Abfrage
|
||||
if (is_null($order) || empty($order) )
|
||||
$order='tbl_betriebsmittel.ort_kurzbz';
|
||||
|
||||
$qry.=$where.(!is_null($order) && !empty($order)?' ORDER BY '. $order:'').(!$where?' limit 30 ':' limit 90 ');
|
||||
if(!$result=$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg ='Probleme beim lesen der Betriebsmittel '.($this->debug?$this->db_last_error() ."<br />$qry<br />":'') ;
|
||||
return false;
|
||||
}
|
||||
while($row = $this->db_fetch_object($result))
|
||||
$this->result[]=$row;
|
||||
#var_dump($this->result);
|
||||
return $this->result;
|
||||
}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Laedt INVENTARTABELLE HERSTELLER
|
||||
* @param nummer ID eines Inventars
|
||||
* @param ort_kurzbz ort_kurzbz eines Inventars
|
||||
* @param betriebsmitteltyp ort_kurzbz eines Inventars
|
||||
* @param betriebsmittelstatus_kurzbz STATUS eines Inventars
|
||||
* @param nummer Datensatzid eines Inventars
|
||||
* @param bestellnr WAWI Bestellnummer des Inventars
|
||||
* @param bestellung_id WAWI Rechnungsnummer des Inventars
|
||||
* @param afa AfA Datum
|
||||
* @param Jahr_Monat der WAWI Bestellerfassung
|
||||
* @param firma_id der WAWI Bestellerfassung
|
||||
|
||||
* @param inventur_jahr der Status Jahr - Status = inventur
|
||||
* @param beschreibung der Inventarbeschreibung
|
||||
* @param oe_kurzbz der Organisatzion
|
||||
|
||||
* @return Daten Objekt wenn ok, false im Fehlerfall
|
||||
*/
|
||||
/*
|
||||
function betriebsmittel_inventar_hersteller($order=null,$nummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null)
|
||||
{
|
||||
// Init
|
||||
$this->errormsg='';
|
||||
$this->result=array();
|
||||
|
||||
$ort_kurzbz=trim($ort_kurzbz);
|
||||
$qry='';
|
||||
$qry.='select distinct(tbl_betriebsmittel.hersteller) ';
|
||||
$qry.=' from '.$this->schema_inventar.'.tbl_betriebsmittel';
|
||||
|
||||
$qry.=' left outer join '.$this->schema_inventar.'.tbl_betriebsmitteltyp on (tbl_betriebsmitteltyp.betriebsmitteltyp=tbl_betriebsmittel.betriebsmitteltyp ) ';
|
||||
$qry.=' left outer join '.$this->schema_inventar.'.tbl_betriebsmittel_betriebsmittelstatus on (tbl_betriebsmittel_betriebsmittelstatus.betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id ) ';
|
||||
$qry.=' left outer join '.$this->schema_inventar.'.tbl_betriebsmittelstatus on (tbl_betriebsmittelstatus.betriebsmittelstatus_kurzbz=tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelstatus_kurzbz ) ';
|
||||
$qry.=' left outer join public.tbl_ort on (tbl_ort.ort_kurzbz=tbl_betriebsmittel.ort_kurzbz ) ';
|
||||
// Verbindung zum WAWI aufbauen
|
||||
if ( $bestellnr || $firma_id || $beschreibung )
|
||||
$qry.=' left outer join dblink(\''.CONN_STRING_WAWI.'\',\'
|
||||
select distinct bestellung.bestellung_id,bestellung.bestellnr,bestellung.titel,bestellung.firma_id,firma.firmenname from public.bestellung
|
||||
left join public.firma on ( firma.firma_id=bestellung.firma_id ) \' )
|
||||
as wawi_be(bestellung_id int, bestellnr char(32), titel char(120), firma_id int, firmenname char(160) )
|
||||
on ( cast(wawi_be.bestellung_id as INTEGER)=cast(tbl_betriebsmittel.bestellung_id as INTEGER) and cast(tbl_betriebsmittel.bestellung_id as INTEGER)>0 ) ';
|
||||
|
||||
$qry.=" where not tbl_betriebsmittel.hersteller is null ";
|
||||
|
||||
$where=$this->betriebsmittel_inventar_get_where($nummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer);
|
||||
|
||||
// Select und Bedingung zusammen fuehren zu SQL Abfrage
|
||||
if (is_null($order) || empty($order) )
|
||||
$order='tbl_betriebsmittel.hersteller';
|
||||
|
||||
$qry.=$where.(!is_null($order) && !empty($order)?' ORDER BY '. $order:'').(!$where?' limit 20 ':' limit 50 ');
|
||||
|
||||
#echo "<hr> $qry <hr>";
|
||||
|
||||
if(!$result=$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg ='Probleme beim lesen der Betriebsmittel '.($this->debug?$this->db_last_error() ."<br />$qry<br />":'') ;
|
||||
return false;
|
||||
}
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$this->result[]=$row;
|
||||
}
|
||||
#var_dump($this->result);
|
||||
#exit;
|
||||
return $this->result;
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -27,8 +27,6 @@ require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class betriebsmittelperson extends basis_db
|
||||
{
|
||||
# public $schema_inventar='public';
|
||||
public $schema_inventar='wawi';
|
||||
public $debug=false; // boolean
|
||||
|
||||
|
||||
@@ -88,7 +86,7 @@ class betriebsmittelperson extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM ".$this->schema_inventar.".tbl_betriebsmittel JOIN ".$this->schema_inventar.".tbl_betriebsmittelperson USING(betriebsmittel_id)
|
||||
$qry = "SELECT * FROM wawi.tbl_betriebsmittel JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
|
||||
WHERE betriebsmittel_id='".addslashes($betriebsmittel_id)."' AND person_id='".addslashes($person_id)."'";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -186,7 +184,7 @@ class betriebsmittelperson extends basis_db
|
||||
if($new)
|
||||
{
|
||||
//Pruefen ob dieses Betriebsmittel dieser Person schon zugeordnet ist
|
||||
$qry = "SELECT 1 FROM ".$this->schema_inventar.".tbl_betriebsmittelperson
|
||||
$qry = "SELECT 1 FROM wawi.tbl_betriebsmittelperson
|
||||
WHERE person_id=".$this->addslashes($this->person_id)." AND
|
||||
betriebsmittel_id=".$this->addslashes($this->betriebsmittel_id);
|
||||
|
||||
@@ -199,7 +197,7 @@ class betriebsmittelperson extends basis_db
|
||||
}
|
||||
}
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='INSERT INTO '.$this->schema_inventar.'.tbl_betriebsmittelperson (betriebsmittel_id, person_id, anmerkung, kaution,
|
||||
$qry='INSERT INTO wawi.tbl_betriebsmittelperson (betriebsmittel_id, person_id, anmerkung, kaution,
|
||||
ausgegebenam, retouram, ext_id, insertamum, insertvon, updateamum, updatevon) VALUES('.
|
||||
$this->addslashes($this->betriebsmittel_id).', '.
|
||||
$this->addslashes($this->person_id).', '.
|
||||
@@ -224,7 +222,7 @@ class betriebsmittelperson extends basis_db
|
||||
if($this->person_id_old=='')
|
||||
$this->person_id_old = $this->person_id;
|
||||
|
||||
$qry='UPDATE '.$this->schema_inventar.'.tbl_betriebsmittelperson SET '.
|
||||
$qry='UPDATE wawi.tbl_betriebsmittelperson SET '.
|
||||
'betriebsmittel_id='.$this->addslashes($this->betriebsmittel_id).', '.
|
||||
'person_id='.$this->addslashes($this->person_id).', '.
|
||||
'anmerkung='.$this->addslashes($this->anmerkung).', '.
|
||||
@@ -267,7 +265,7 @@ class betriebsmittelperson extends basis_db
|
||||
$this->errormsg = 'Person_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
$qry = 'DELETE FROM '.$this->schema_inventar.'.tbl_betriebsmittelperson
|
||||
$qry = 'DELETE FROM wawi.tbl_betriebsmittelperson
|
||||
WHERE betriebsmittel_id='.$this->addslashes($betriebsmittel_id).($person_id?' and person_id='.$this->addslashes($person_id):'');
|
||||
if($this->db_query($qry))
|
||||
return true;
|
||||
@@ -292,7 +290,7 @@ class betriebsmittelperson extends basis_db
|
||||
$this->errormsg = 'Person_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
$qry = "SELECT * FROM ".$this->schema_inventar.".tbl_betriebsmittel JOIN ".$this->schema_inventar.".tbl_betriebsmittelperson USING(betriebsmittel_id)
|
||||
$qry = "SELECT * FROM wawi.tbl_betriebsmittel JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
|
||||
WHERE person_id='".addslashes($person_id)."'";
|
||||
if(!is_null($betriebsmitteltyp))
|
||||
$qry.=" AND betriebsmitteltyp='".addslashes($betriebsmitteltyp)."'";
|
||||
@@ -372,10 +370,10 @@ class betriebsmittelperson extends basis_db
|
||||
|
||||
$qry='';
|
||||
$qry.='SELECT * ';
|
||||
$qry.=' FROM '.$this->schema_inventar.'.tbl_betriebsmittel JOIN '.$this->schema_inventar.'.tbl_betriebsmittelperson USING(betriebsmittel_id)';
|
||||
$qry.=' FROM wawi.tbl_betriebsmittel JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)';
|
||||
$qry.=' WHERE betriebsmittel_id='.$this->addslashes($betriebsmittel_id);
|
||||
$qry.=' order by ausgegebenam desc, retouram desc ';
|
||||
$qry.=' limit 1';
|
||||
$qry.=' ORDER BY ausgegebenam desc, retouram desc ';
|
||||
$qry.=' LIMIT 1';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -430,9 +428,9 @@ class betriebsmittelperson extends basis_db
|
||||
}
|
||||
$qry='';
|
||||
$qry.='SELECT * ';
|
||||
$qry.=' FROM '.$this->schema_inventar.'.tbl_betriebsmittel JOIN '.$this->schema_inventar.'.tbl_betriebsmittelperson USING(betriebsmittel_id)';
|
||||
$qry.=' FROM wawi.tbl_betriebsmittel JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)';
|
||||
$qry.=' WHERE betriebsmittel_id='.$this->addslashes($betriebsmittel_id);
|
||||
$qry.=' order by ausgegebenam desc, retouram desc';
|
||||
$qry.=' ORDER BY ausgegebenam desc, retouram desc';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
|
||||
@@ -28,8 +28,6 @@ require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class betriebsmitteltyp extends basis_db
|
||||
{
|
||||
private $schema_inventar='wawi';
|
||||
|
||||
public $debug=false; // boolean
|
||||
public $new; // boolean
|
||||
public $result = array();
|
||||
@@ -66,7 +64,7 @@ class betriebsmitteltyp extends basis_db
|
||||
$this->result=array();
|
||||
$this->errormsg = '';
|
||||
// Select erzeugen
|
||||
$qry.=' select * FROM '.$this->schema_inventar.'.tbl_betriebsmitteltyp';
|
||||
$qry.=' select * FROM wawi.tbl_betriebsmitteltyp';
|
||||
$qry.=" where betriebsmitteltyp >'' ";
|
||||
|
||||
// Bedingungen hinzufuegen
|
||||
@@ -106,7 +104,7 @@ class betriebsmitteltyp extends basis_db
|
||||
{
|
||||
$this->result=array();
|
||||
$this->errormsg = '';
|
||||
$qry = "SELECT * FROM ".$this->schema_inventar.".tbl_betriebsmitteltyp ORDER BY betriebsmitteltyp";
|
||||
$qry = "SELECT * FROM wawi.tbl_betriebsmitteltyp ORDER BY betriebsmitteltyp";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -140,7 +138,7 @@ class betriebsmitteltyp extends basis_db
|
||||
$this->errormsg = '';
|
||||
$dbanzahl=0;
|
||||
$qry='';
|
||||
$qry1='SELECT * FROM '.$this->schema_inventar.'.tbl_betriebsmitteltyp WHERE beschreibung='.$this->addslashes($this->beschreibung).';';
|
||||
$qry1='SELECT * FROM wawi.tbl_betriebsmitteltyp WHERE beschreibung='.$this->addslashes($this->beschreibung).';';
|
||||
if($this->db_query($qry1))
|
||||
{
|
||||
if($this->db_num_rows()>0) //eintrag gefunden
|
||||
@@ -152,14 +150,14 @@ class betriebsmitteltyp extends basis_db
|
||||
else
|
||||
$dbanzahl=$row1->anzahl;
|
||||
|
||||
$qry='UPDATE '.$this->schema_inventar.'.tbl_betriebsmitteltyp SET '.
|
||||
$qry='UPDATE wawi.tbl_betriebsmitteltyp SET '.
|
||||
'anzahl ='.addslashes($dbanzahl)."+".addslashes($this->anzahl).' '.
|
||||
'WHERE beschreibung='.$this->addslashes($this->beschreibung).'; ' ;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry='INSERT INTO '.$this->schema_inventar.'.tbl_betriebsmitteltyp (betriebsmitteltyp, beschreibung, anzahl, kaution,typ_code) VALUES('.
|
||||
$qry='INSERT INTO wawi.tbl_betriebsmitteltyp (betriebsmitteltyp, beschreibung, anzahl, kaution,typ_code) VALUES('.
|
||||
$this->addslashes($this->betriebsmitteltyp).', '.
|
||||
$this->addslashes($this->beschreibung).', '.
|
||||
$this->addslashes($this->anzahl).', '.
|
||||
@@ -191,7 +189,7 @@ class betriebsmitteltyp extends basis_db
|
||||
public function update()
|
||||
{
|
||||
$this->errormsg = '';
|
||||
$qry='UPDATE '.$this->schema_inventar.'.tbl_betriebsmitteltyp SET '.
|
||||
$qry='UPDATE wawi.tbl_betriebsmitteltyp SET '.
|
||||
'beschreibung ='.$this->addslashes($this->beschreibung).', '.
|
||||
'anzahl ='.$this->addslashes($this->anzahl).', '.
|
||||
'kaution ='.$this->addslashes($this->kaution).', '.
|
||||
@@ -207,6 +205,7 @@ class betriebsmitteltyp extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert die Daten in die Datenbank
|
||||
* @return true wenn erfolgreich, false im Fehlerfall
|
||||
@@ -214,18 +213,18 @@ class betriebsmitteltyp extends basis_db
|
||||
public function check_beschreibung()
|
||||
{
|
||||
$this->errormsg = '';
|
||||
$qry='UPDATE '.$this->schema_inventar.'.tbl_betriebsmitteltyp SET '.
|
||||
$qry='UPDATE wawi.tbl_betriebsmitteltyp SET '.
|
||||
'beschreibung = trim(betriebsmitteltyp) '.
|
||||
' where beschreibung is null ';
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Pruefen der Beschreibung des Betriebsmitteltypen-Datensatzes '.($this->debug?$this->db_last_error():'');
|
||||
return false;
|
||||
}
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Pruefen der Beschreibung des Betriebsmitteltypen-Datensatzes '.($this->debug?$this->db_last_error():'');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,667 @@
|
||||
<?php
|
||||
/* Copyright (C) 2010 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <[email protected]>,
|
||||
* Andreas Oesterreicher <[email protected]>,
|
||||
* Rudolf Hangl <[email protected]> and
|
||||
* Gerald Simane-Sequens <[email protected]>.
|
||||
*/
|
||||
/**
|
||||
* Klasse Cronjob
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/datum.class.php');
|
||||
|
||||
class cronjob extends basis_db
|
||||
{
|
||||
public $new;
|
||||
public $result = array();
|
||||
public $output = array();
|
||||
|
||||
//Tabellenspalten
|
||||
public $cronjob_id;
|
||||
public $server_kurzbz;
|
||||
public $titel;
|
||||
public $beschreibung;
|
||||
public $file;
|
||||
public $last_execute;
|
||||
public $aktiv=true;
|
||||
public $running=false;
|
||||
public $jahr;
|
||||
public $monat;
|
||||
public $tag;
|
||||
public $wochentag;
|
||||
public $stunde;
|
||||
public $minute;
|
||||
public $standalone=false;
|
||||
public $reihenfolge;
|
||||
public $updateamum;
|
||||
public $updatevon;
|
||||
public $insertamum;
|
||||
public $insertvon;
|
||||
public $variablen;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $cronjob_id ID des Cronjobs der geladen werden soll (Default=null)
|
||||
*/
|
||||
public function __construct($cronjob_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if(!is_null($cronjob_id))
|
||||
$this->load($cronjob_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Cronjob mit der ID $cronjob_id
|
||||
* @param $cronjob_id ID des zu ladenden Cronjobs
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load($cronjob_id)
|
||||
{
|
||||
if(!is_numeric($cronjob_id))
|
||||
{
|
||||
$this->errormsg = 'id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM system.tbl_cronjob WHERE cronjob_id='".addslashes($cronjob_id)."'";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->cronjob_id = $row->cronjob_id;
|
||||
$this->server_kurzbz = $row->server_kurzbz;
|
||||
$this->titel = $row->titel;
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->file = $row->file;
|
||||
$this->last_execute = $row->last_execute;
|
||||
$this->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$this->running = ($row->running=='t'?true:false);
|
||||
$this->jahr = $row->jahr;
|
||||
$this->monat = $row->monat;
|
||||
$this->tag = $row->tag;
|
||||
$this->wochentag = $row->wochentag;
|
||||
$this->stunde = $row->stunde;
|
||||
$this->minute = $row->minute;
|
||||
$this->standalone = ($row->standalone=='t'?true:false);
|
||||
$this->reihenfolge = $row->reihenfolge;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->variablen = $row->variablen;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Datensatz wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Variablen auf Gueltigkeit
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
protected function validate()
|
||||
{
|
||||
//Gesamtlaenge pruefen
|
||||
if(mb_strlen($this->titel)>64)
|
||||
{
|
||||
$this->errormsg = 'Titel darf nicht laenger als 64 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(mb_strlen($this->jahr)>6)
|
||||
{
|
||||
$this->errormsg = 'Jahr darf nicht laenger als 6 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(mb_strlen($this->monat)>4)
|
||||
{
|
||||
$this->errormsg = 'Monat darf nicht laenger als 4 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(mb_strlen($this->tag)>4)
|
||||
{
|
||||
$this->errormsg = 'Tag darf nicht laenger als 4 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(mb_strlen($this->stunde)>4)
|
||||
{
|
||||
$this->errormsg = 'Stunde darf nicht laenger als 4 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(mb_strlen($this->minute)>4)
|
||||
{
|
||||
$this->errormsg = 'Stunde darf nicht laenger als 4 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz in die Datenbank
|
||||
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
* andernfalls wird der Datensatz mit der ID in $cronjob_id aktualisiert
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function save()
|
||||
{
|
||||
//Variablen pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
if($this->last_execute=='')
|
||||
$this->last_execute = date('Y-m-d H:i:s');
|
||||
|
||||
//Neuen Datensatz einfuegen
|
||||
|
||||
$qry = 'BEGIN;INSERT INTO system.tbl_cronjob (server_kurzbz, titel, beschreibung, file, last_execute, aktiv,
|
||||
running, jahr, monat, tag, wochentag, stunde, minute, standalone, reihenfolge, updateamum, updatevon,
|
||||
insertamum, insertvon, variablen) VALUES('.
|
||||
$this->addslashes($this->server_kurzbz).', '.
|
||||
$this->addslashes($this->titel).', '.
|
||||
$this->addslashes($this->beschreibung).', '.
|
||||
$this->addslashes($this->file).', '.
|
||||
$this->addslashes($this->last_execute).', '.
|
||||
($this->aktiv?'true':'false').', '.
|
||||
($this->running?'true':'false').', '.
|
||||
$this->addslashes($this->jahr).', '.
|
||||
$this->addslashes($this->monat).', '.
|
||||
$this->addslashes($this->tag).', '.
|
||||
$this->addslashes($this->wochentag).', '.
|
||||
$this->addslashes($this->stunde).', '.
|
||||
$this->addslashes($this->minute).', '.
|
||||
($this->standalone?'true':'false').', '.
|
||||
$this->addslashes($this->reihenfolge).', '.
|
||||
$this->addslashes($this->updateamum).', '.
|
||||
$this->addslashes($this->updatevon).', '.
|
||||
$this->addslashes($this->insertamum).', '.
|
||||
$this->addslashes($this->insertvon).','.
|
||||
$this->addslashes($this->variablen).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
//Updaten des bestehenden Datensatzes
|
||||
|
||||
//Pruefen ob id eine gueltige Zahl ist
|
||||
if(!is_numeric($this->cronjob_id))
|
||||
{
|
||||
$this->errormsg = 'cronjob_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry='UPDATE system.tbl_cronjob SET '.
|
||||
'server_kurzbz='.$this->addslashes($this->server_kurzbz).', '.
|
||||
'titel='.$this->addslashes($this->titel).', '.
|
||||
'beschreibung='.$this->addslashes($this->beschreibung).', '.
|
||||
'file='.$this->addslashes($this->file).', '.
|
||||
'last_execute='.$this->addslashes($this->last_execute).', '.
|
||||
'aktiv='.($this->aktiv?'true':'false').', '.
|
||||
'running='.($this->running?'true':'false').', '.
|
||||
'jahr='.$this->addslashes($this->jahr).', '.
|
||||
'monat='.$this->addslashes($this->monat).', '.
|
||||
'tag='.$this->addslashes($this->tag).', '.
|
||||
'wochentag='.$this->addslashes($this->wochentag).', '.
|
||||
'stunde='.$this->addslashes($this->stunde).', '.
|
||||
'minute='.$this->addslashes($this->minute).', '.
|
||||
'standalone='.($this->standalone?'true':'false').', '.
|
||||
'reihenfolge='.$this->addslashes($this->reihenfolge).', '.
|
||||
'variablen='.$this->addslashes($this->variablen).','.
|
||||
'updateamum='.$this->addslashes($this->updateamum).','.
|
||||
'updatevon='.$this->addslashes($this->updatevon).' '.
|
||||
'WHERE cronjob_id='.$this->addslashes($this->cronjob_id).';';
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->new)
|
||||
{
|
||||
//Sequence auslesen
|
||||
$qry = "SELECT currval('system.tbl_cronjob_cronjob_id_seq') as id";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->cronjob_id = $row->id;
|
||||
$this->db_query('COMMIT');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht den Datenensatz mit der ID die uebergeben wird
|
||||
* @param $cronjob_id ID die geloescht werden soll
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function delete($cronjob_id)
|
||||
{
|
||||
if(!is_numeric($cronjob_id))
|
||||
{
|
||||
$this->errormsg = 'Id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM system.tbl_cronjob WHERE cronjob_id='".addslashes($cronjob_id)."'";
|
||||
|
||||
if($this->db_query($qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle Cronjobs
|
||||
* @param $server
|
||||
* @param $order Sortierreihenfolge
|
||||
* @param $aktiv wenn true dann nur aktive sonst alle
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getAll($server=null, $order=null, $aktiv=null)
|
||||
{
|
||||
$qry = "SELECT * FROM system.tbl_cronjob WHERE 1=1";
|
||||
if($server!=null)
|
||||
$qry.=" AND server_kurzbz='".addslashes($server)."'";
|
||||
if ($aktiv)
|
||||
$qry.=' AND aktiv=true';
|
||||
|
||||
if($order!=null)
|
||||
$qry .=" ORDER BY $order";
|
||||
|
||||
if(!$result = $this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new cronjob();
|
||||
|
||||
$obj->cronjob_id = $row->cronjob_id;
|
||||
$obj->server_kurzbz = $row->server_kurzbz;
|
||||
$obj->titel = $row->titel;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
$obj->file = $row->file;
|
||||
$obj->last_execute = $row->last_execute;
|
||||
$obj->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$obj->running = ($row->running=='t'?true:false);
|
||||
$obj->jahr = $row->jahr;
|
||||
$obj->monat = $row->monat;
|
||||
$obj->tag = $row->tag;
|
||||
$obj->wochentag = $row->wochentag;
|
||||
$obj->stunde = $row->stunde;
|
||||
$obj->minute = $row->minute;
|
||||
$obj->standalone = ($row->standalone=='t'?true:false);
|
||||
$obj->reihenfolge = $row->reihenfolge;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->variablen = $row->variablen;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Startet einen geladenen Cronjob
|
||||
*
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function execute()
|
||||
{
|
||||
$return = true;
|
||||
if($this->standalone && isJobRunning())
|
||||
{
|
||||
$this->errormsg = 'Job kann nicht ausgefuehrt werden, da noch ein anderer Job laeuft';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this->server_kurzbz!=SERVER_NAME)
|
||||
{
|
||||
$this->errormsg = 'Fehler: Dieses Script kann nur am Server '.$this->server_kurzbz.' gestartet werden. (aktueller Server laut config: '.SERVER_NAME.')';
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->running = true;
|
||||
if(!$this->save())
|
||||
return false;
|
||||
|
||||
unset($this->output);
|
||||
$path = dirname($this->file);
|
||||
$file = basename($this->file);
|
||||
$file .= ' id='.$this->cronjob_id;
|
||||
if(chdir($path))
|
||||
{
|
||||
exec("php $file", $this->output);
|
||||
//echo "Execute: php $file";
|
||||
$this->last_execute = date('Y-m-d H:i:s');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler: Falscher Verzeichnisname';
|
||||
$return = false;
|
||||
}
|
||||
|
||||
$this->running = false;
|
||||
|
||||
if(!$this->save())
|
||||
return false;
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Startet einen geladenen Cronjob mit Initialisierungsparameter
|
||||
* Der Job setzt dann die Standardwerte fuer die Variablen
|
||||
*
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function init()
|
||||
{
|
||||
$return = true;
|
||||
|
||||
unset($this->output);
|
||||
$path = dirname($this->file);
|
||||
$file = basename($this->file);
|
||||
$file .= ' -i';
|
||||
$file .= ' id='.$this->cronjob_id;
|
||||
if(chdir($path))
|
||||
{
|
||||
exec("php $file", $this->output);
|
||||
//echo "Execute: php $file";
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler: Falscher Verzeichnisname';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob zur Zeit ein Cronjob laeuft
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function isJobRunning()
|
||||
{
|
||||
$qry = 'SELECT count(*) as anzahl FROM system.tbl_cronjob WHERE running=true';
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
if($row->anzahl>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Parst die Schrittweite aus einem Feld
|
||||
* Wenn eine fixe Zeitangabe enthalten ist, wird false zurueckgeliefert
|
||||
*
|
||||
* @param $value
|
||||
* @return Schrittweite oder false wenn fixe Zeitangabe
|
||||
*/
|
||||
public function parseSchrittweite($value)
|
||||
{
|
||||
$matches='';
|
||||
//Pruefen ob der Wert im Format "*/<Zahl>" ist
|
||||
if(preg_match('/^\*\/(?P<value>\d+)/',$value, $matches))
|
||||
return $matches['value'];
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft, ob der Wert ein Fixdatum ist
|
||||
*
|
||||
* @param $value
|
||||
* @return boolean
|
||||
*/
|
||||
public function isFixDatum($value)
|
||||
{
|
||||
if($value=='')
|
||||
return false;
|
||||
if($this->parseSchrittweite($value))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die naechste Ausfuehrungszeit des aktuell geladenen Cronjobs
|
||||
*
|
||||
* @return timestamp des naechsten Starts
|
||||
*/
|
||||
public function getNextExecutionTime()
|
||||
{
|
||||
$datum = new datum();
|
||||
$last_execute = $datum->mktime_fromtimestamp($this->last_execute);
|
||||
$executiontime = $last_execute;
|
||||
$jahr = date('Y', $last_execute);
|
||||
$monat = date('m', $last_execute);
|
||||
$tag = date('d', $last_execute);
|
||||
$stunde = date('H', $last_execute);
|
||||
$stunde_last = date('H', $last_execute);
|
||||
$minute = date('i', $last_execute);
|
||||
|
||||
// wenn ein wochentag gewaehlt wird, dann wird jahr, monat und tag
|
||||
// nicht beruecksichtigt
|
||||
if($this->wochentag!='')
|
||||
{
|
||||
$stamp = jump_weekday($last_execute, $this->wochentag);
|
||||
$jahr = date('Y',$stamp);
|
||||
$monat = date('m',$stamp);
|
||||
$tag = date('d',$stamp);
|
||||
}
|
||||
else
|
||||
{
|
||||
//jahr
|
||||
if(!$jahr_schritt = $this->parseSchrittweite($this->jahr))
|
||||
$jahr = ($this->jahr!=''?$this->jahr:$jahr);
|
||||
else
|
||||
$jahr+= $jahr_schritt;
|
||||
|
||||
//monat
|
||||
if(!$monat_schritt = $this->parseSchrittweite($this->monat))
|
||||
{
|
||||
if($this->monat<$monat && $this->monat!='' && !$this->isFixDatum($this->jahr))
|
||||
{
|
||||
if(!$this->isFixDatum($this->jahr))
|
||||
{
|
||||
$jahr++;
|
||||
}
|
||||
}
|
||||
|
||||
$monat = ($this->monat!=''?$this->monat:$monat);
|
||||
|
||||
}
|
||||
else
|
||||
$monat+= $monat_schritt;
|
||||
|
||||
//tag
|
||||
if(!$tag_schritt = $this->parseSchrittweite($this->tag))
|
||||
{
|
||||
if($this->tag<$tag && $this->tag!='')
|
||||
{
|
||||
if(!$this->isFixDatum($this->monat))
|
||||
{
|
||||
$monat++;
|
||||
}
|
||||
elseif(!$this->isFixDatum($this->jahr))
|
||||
{
|
||||
$jahr++;
|
||||
}
|
||||
}
|
||||
$tag = ($this->tag!=''?$this->tag:$tag);
|
||||
}
|
||||
else
|
||||
$tag+= $tag_schritt;
|
||||
}
|
||||
|
||||
//Stunde
|
||||
if(!$stunde_schritt = $this->parseSchrittweite($this->stunde))
|
||||
{
|
||||
if($this->stunde<$stunde && $this->stunde!='')
|
||||
{
|
||||
if(!$this->isFixDatum($this->tag))
|
||||
{
|
||||
$tag++;
|
||||
}
|
||||
elseif(!$this->isFixDatum($this->monat))
|
||||
{
|
||||
$monat++;
|
||||
}
|
||||
elseif(!$this->isFixDatum($this->jahr))
|
||||
{
|
||||
$jahr++;
|
||||
}
|
||||
}
|
||||
$stunde = ($this->stunde!=''?$this->stunde:$stunde);
|
||||
}
|
||||
else
|
||||
$stunde+= $stunde_schritt;
|
||||
|
||||
//Minute
|
||||
if(!$minute_schritt = $this->parseSchrittweite($this->minute))
|
||||
{
|
||||
if($this->stunde<=$stunde_last)
|
||||
{
|
||||
if($this->minute<=$minute && $this->minute!='')
|
||||
{
|
||||
if(!$this->isFixDatum($this->stunde))
|
||||
{
|
||||
$stunde++;
|
||||
}
|
||||
elseif(!$this->isFixDatum($this->tag))
|
||||
{
|
||||
$tag++;
|
||||
}
|
||||
elseif(!$this->isFixDatum($this->monat))
|
||||
{
|
||||
$monat++;
|
||||
}
|
||||
elseif(!$this->isFixDatum($this->jahr))
|
||||
{
|
||||
$jahr++;
|
||||
}
|
||||
}
|
||||
}
|
||||
$minute = ($this->minute!=''?$this->minute:$minute);
|
||||
}
|
||||
else
|
||||
$minute+= $minute_schritt;
|
||||
|
||||
$next = mktime($stunde, $minute, 0, $monat, $tag, $jahr);
|
||||
|
||||
//Cronjobs die nicht mehr ausgefuehrt werden (Datum vor der letzten Ausfuehrung)
|
||||
if($next<$last_execute)
|
||||
$next=false;
|
||||
return $next;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parst die Cronjob ID aus den Kommandozeilenparametern
|
||||
*
|
||||
* @return cronjob_id wenn ok, sonst false
|
||||
*/
|
||||
public function getCronjobID()
|
||||
{
|
||||
foreach ($_SERVER['argv'] as $row)
|
||||
{
|
||||
if(strstr($row,'id='))
|
||||
{
|
||||
return substr($row,strlen('id='));
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob der Script-Aufruf ein Inistialisierungsaufruf ist
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function isInitialCall()
|
||||
{
|
||||
foreach ($_SERVER['argv'] as $row)
|
||||
{
|
||||
if($row=='-i')
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -383,13 +383,15 @@ class firma extends basis_db
|
||||
* Laedt alle Firmen Standorte, und Adressen nach Suchstring und/oder eines bestimmen Firmentyps
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function searchFirma($filter='',$firmentyp_kurzbz='')
|
||||
public function searchFirma($filter='',$firmentyp_kurzbz='', $standorte=false)
|
||||
{
|
||||
$this->result = array();
|
||||
$this->errormsg = '';
|
||||
|
||||
$qry =" SElECT tbl_firma.firma_id,tbl_firma.* ";
|
||||
$qry.=" ,tbl_standort.kurzbz,tbl_standort.adresse_id,tbl_standort.standort_id,tbl_standort.bezeichnung ";
|
||||
$qry ="SELECT * FROM (SElECT ";
|
||||
if(!$standorte)
|
||||
$qry.=" distinct on(firma_id)";
|
||||
$qry.=" tbl_firma.firma_id,tbl_firma.* ,tbl_standort.kurzbz,tbl_standort.adresse_id,tbl_standort.standort_id,tbl_standort.bezeichnung ";
|
||||
$qry.=" ,person_id, tbl_adresse.name as adress_name, strasse, plz, ort, gemeinde,nation,typ,heimatadresse,zustelladresse ";
|
||||
$qry.=" FROM public.tbl_firma, public.tbl_standort ";
|
||||
$qry.=" left outer join public.tbl_adresse on ( tbl_adresse.adresse_id=tbl_standort.adresse_id ) ";
|
||||
@@ -411,9 +413,10 @@ class firma extends basis_db
|
||||
|
||||
if($firmentyp_kurzbz!='')
|
||||
$qry.=" and firmentyp_kurzbz='".addslashes($firmentyp_kurzbz)."'";
|
||||
$qry.=" ORDER BY name ";
|
||||
|
||||
if($filter=='' && $firmentyp_kurzbz=='')
|
||||
$qry.=" limit 500 ";
|
||||
$qry.=") as a ORDER BY name ";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
|
||||
@@ -281,9 +281,9 @@ class gruppe extends basis_db
|
||||
*/
|
||||
protected function validate()
|
||||
{
|
||||
if(mb_strlen($this->gruppe_kurzbz)>16)
|
||||
if(mb_strlen($this->gruppe_kurzbz)>32)
|
||||
{
|
||||
$this->errormsg = 'Gruppe_kurzbz darf nicht laenger als 16 Zeichen sein';
|
||||
$this->errormsg = 'Gruppe_kurzbz darf nicht laenger als 32 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->gruppe_kurzbz=='')
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<script src="JSONeditor.js"></script>
|
||||
<script>
|
||||
onload=function(){
|
||||
|
||||
myjson = {"stgs":["256","257","222","546"],"mailtostudent":{"256":true,"257":true,"222":false,"546":false},"stsem":"WS2008"};
|
||||
JSONeditor.start('tree','jform',myjson,false)
|
||||
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div style="position:absolute;top:10px;left:10px" id="tree"></div>
|
||||
<div style="position:absolute;top:10px;left:400px" id="jform"></div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,686 @@
|
||||
/*
|
||||
jsonEditor 1.02
|
||||
copyright 2007-2009 Thomas Frank
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
files (the "Software"), to deal in the Software without
|
||||
restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
JSONeditor={
|
||||
start:function(treeDivName,formDivName,json,showExamples, path){
|
||||
if(this.examples.length<6){
|
||||
var e=this.treeBuilder.JSONstring.make(this)
|
||||
eval("this.examples[5]={JSONeditor:"+e+"}")
|
||||
}
|
||||
this.treeDivName=treeDivName
|
||||
var t=this.treeBuilder, $=t.$
|
||||
treeBuilder=t
|
||||
t.images.path=path+t.images.path;
|
||||
var s=$(treeDivName).style
|
||||
var f=$(formDivName)
|
||||
var fs=f.style
|
||||
f.innerHTML=this.formHTML
|
||||
if(!showExamples){$('jExamples').style.display="none"}
|
||||
fs.fontSize=s.fontSize="11px"
|
||||
fs.fontFamily=s.fontFamily="Verdana,Arial,Helvetica,sans-serif"
|
||||
var e=f.getElementsByTagName("*")
|
||||
for(var i=0;i<e.length;i++){
|
||||
var s=e[i].style
|
||||
if(s){
|
||||
s.fontSize="11px"
|
||||
s.fontFamily="Verdana,Arial,Helvetica,sans-serif"
|
||||
}
|
||||
}
|
||||
json=json||{}
|
||||
t.JSONbuild(treeDivName,json)
|
||||
},
|
||||
loadExample:function(x){
|
||||
treeBuilder.hasRunJSONbuildOnce=false
|
||||
treeBuilder.JSONbuild(this.treeDivName,this.examples[x/1])
|
||||
},
|
||||
formHTML:"<form name=\"jsoninput\" onsubmit=\"return treeBuilder.jsonChange(this)\"><div id=\"jExamples\">Load an example: <select name=\"jloadExamples\" onchange=\"JSONeditor.loadExample(this.value)\"><option value=\"0\">None/empty</option><option value=\"1\">Employee data</option><option value=\"2\">Sample Konfabulator Widget</option><option value=\"3\">Member data</option><option value=\"4\">A menu system</option><option value=\"5\">The source code of this JSON editor</option></select><br><br></div>\nLabel:<br><input name=\"jlabel\" type=\"text\" value=\"\" size=\"60\" style=\"width:400px\"><br><br>\nValue: <br><textarea name=\"jvalue\" rows=\"10\" cols=\"50\" style=\"width:400px\"></textarea><br><br>\nData type: <select onchange=\"treeBuilder.changeJsonDataType(this.value,this.parentNode)\" name=\"jtype\">\n<option value=\"object\">object</option>\n<option value=\"array\">array</option>\n<option value=\"function\">function</option>\n<option value=\"string\">string</option>\n<option value=\"number\">number</option>\n<option value=\"boolean\">boolean</option>\n<option value=\"null\">null</option>\n<option value=\"undefined\">undefined</option>\n</select> \n<input name=\"orgjlabel\" type=\"hidden\" value=\"\" size=\"50\" style=\"width:300px\">\n<input onfocus=\"this.blur()\" type=\"submit\" value=\"Save\"> \n<br><br>\n<input name=\"jAddChild\" onfocus=\"this.blur()\" type=\"button\" onclick=\"treeBuilder.jsonAddChild(this.parentNode)\" value=\"Add child\">\n<input name=\"jAddSibling\" onfocus=\"this.blur()\" type=\"button\" onclick=\"treeBuilder.jsonAddSibling(this.parentNode)\" value=\"Add sibling\">\n<br><br>\n<input name=\"jRemove\" onfocus=\"this.blur()\" type=\"button\" onclick=\"treeBuilder.jsonRemove(this.parentNode)\" value=\"Delete\"> \n<input name=\"jRename\" onfocus=\"this.blur()\" type=\"button\" onclick=\"treeBuilder.jsonRename(this.parentNode)\" value=\"Rename\"> \n<input name=\"jCut\" onfocus=\"this.blur()\" type=\"button\" onclick=\"treeBuilder.jsonCut(this.parentNode)\" value=\"Cut\"> \n<input name=\"jCopy\" onfocus=\"this.blur()\" type=\"button\" onclick=\"treeBuilder.jsonCopy(this.parentNode)\" value=\"Copy\"> \n<input name=\"jPaste\" onfocus=\"this.blur()\" type=\"button\" onclick=\"treeBuilder.jsonPaste(this.parentNode)\" value=\"Paste\"> \n<br><br>\n<input type=\"checkbox\" name=\"jbefore\">Add children first/siblings before\n<br>\n<input type=\"checkbox\" name=\"jPasteAsChild\">Paste as child on objects & arrays\n<br><br><div id=\"jformMessage\"></div>\n</form>",
|
||||
examples:[{},
|
||||
{employee:{gid:102, companyID:121, defaultActionID:444,names:{firstName:"Stive", middleInitial:"Jr",lastName:"Martin"},address:{city:"Albany",state:"NY",zipCode:"14410-585",addreess:"41 State Street"},job:{departmentID:102,jobTitleID:100,hireDate:"1/02/2000",terminationDate:"1/12/2007"},contact:{phoneHome:"12-123-2133", beeper:"5656",email1:"[email protected]",fax:"21-321-23223",phoneMobile:"32-434-3433",phoneOffice:"82-900-8993"},login:{employeeID:"eID102",password:"password",superUser:true,lastLoginDate:"1/12/2007",text:"text", regexp:/^mmm/, date: new Date() },comment:{PCDATA:"comment"},roles:[{role:102},{role:103}]}},
|
||||
{"widget": {"debug": true,"window": {"title": "Sample Konfabulator Widget","name": "main_window","width": 500,"height": 500},"Pairs": [ {"src": "Images/Sun.png","name": "sun1"},{"hOffset": 250,"vOffset": 200},null,{"alignment": "center"}],"text": {"a very long item label here": "Click Here","size": 36,"style": "null","name": "text1","hOffset": 250,"vOffset": 100,"alignment": "center","onmouseover": function(){alert("Hello World");},"onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"}}},
|
||||
{"members": [{"href": "1","entity": {"category": [{"term": "weblog", "label": "Weblog stuff"}],"updated": "2007-05-02T23:32:03Z","title": "This is the second post","author": {"uri": "http://dealmeida.net/","email": "[email protected]","name": "Rob de Almeida"},"summary": "Testing search","content": {"content": "This is my second post, to test the search.","type": "text"},"id": "1"}},{"href": "0","entity": {"category": [{"term": "weblog", "label": "Weblog stuff"},{"term": "json", "label": "JSON"}],"updated": "2007-05-02T23:25:59Z","title": "This is the second version of the first post","author": {"uri": "http://dealmeida.net/","email": "[email protected]","name": "Rob de Almeida"},"summary": "This is my first post here, after some modifications","content": {"content": "This is my first post, testing the jsonstore WSGI microapp PUT.","type": "html"},"id": "0"}}],"next": null},
|
||||
{"menu": {"header": "SVG Viewer","items": [{"id": "Open"},{"id": "OpenNew", "label": "Open New", "thing": "thing"},{"id": "ZoomIn", "label": "Zoom In"},{"id": "ZoomOut", "label": "Zoom Out"},{"id": "OriginalView", "label": "Original View"},null,{"id": "Quality"},{"id": "Pause"},{"id": "Mute"},null,{"id": "Find", "label": "Find..."},{"id": "FindAgain", "label": "Find Again"},{"id": "Copy"},{"id": "CopyAgain", "label": "Copy Again"},{"id": "CopySVG", "label": "Copy SVG"},{"id": "ViewSVG", "label": "View SVG"}]}}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
treeBuilder v 1.00 + a lot of json stuff added...
|
||||
copyright 2007 Thomas Frank
|
||||
*/
|
||||
JSONeditor.treeBuilder={
|
||||
stateMem:{},
|
||||
images:{
|
||||
folderNode:'',
|
||||
folderNodeOpen:'',
|
||||
folderNodeLast:'',
|
||||
folderNodeOpenLast:'',
|
||||
docNode:'',
|
||||
docNodeLast:'',
|
||||
folder:'',
|
||||
folderOpen:'',
|
||||
doc:'',
|
||||
vertLine:'',
|
||||
folderNodeFirst:'',
|
||||
folderNodeOpenFirst:'',
|
||||
folderNodeLastFirst:'',
|
||||
folderNodeOpenLastFirst:'',
|
||||
path:'treeBuilderImages/',
|
||||
nodeWidth:16
|
||||
},
|
||||
$:function(x){return document.getElementById(x)},
|
||||
preParse:function(x){
|
||||
var x=x.innerHTML.split("\n");
|
||||
var d=[];
|
||||
for(var i=0;i<x.length;i++){
|
||||
if(x[i]){
|
||||
var y=x[i].split("\t");
|
||||
var l=0;while(!y[l]){l++};
|
||||
var la=y[l]?y[l]:'';l++;
|
||||
var t=y[l]?y[l]:'';
|
||||
d.push({level:l,label:la,todo:t});
|
||||
}
|
||||
};
|
||||
return d
|
||||
},
|
||||
isArray:function(x){
|
||||
return x.constructor==Array
|
||||
},
|
||||
jSyncTree:function(x){
|
||||
var d=this.$(this.baseDiv).getElementsByTagName('div')
|
||||
for(var i=0;i<d.length;i++){
|
||||
|
||||
treeBuilder.maniClick="giveItBack"
|
||||
var p=d[i].onclick()
|
||||
if(p==x){
|
||||
var t=d[i]
|
||||
treeBuilder.maniClick="selectIt"
|
||||
t.onclick()
|
||||
t=t.parentNode
|
||||
while(t.id!=this.baseDiv){if(t.style){this.openAndClose(t.id,"open")};t=t.parentNode}
|
||||
}
|
||||
}
|
||||
treeBuilder.maniClick=false
|
||||
},
|
||||
jsonResponder:function(x){
|
||||
this.jTypeChanged=false
|
||||
treeBuilder.jSyncTree(x)
|
||||
var t=treeBuilder
|
||||
eval("var a=treeBuilder."+x)
|
||||
eval("var ap=treeBuilder."+treeBuilder.jsonParent(x))
|
||||
var b=t.JSONstring.make(a)
|
||||
var t=(a && treeBuilder.isArray(a))?"array":typeof a
|
||||
var tp=(ap && treeBuilder.isArray(ap))?"array":typeof ap
|
||||
if(a===null){t="null"}
|
||||
var f=document.forms.jsoninput
|
||||
if(t=="string"){eval("b="+b)}
|
||||
f.jlabel.value=x
|
||||
f.orgjlabel.value=x
|
||||
f.jvalue.value=b
|
||||
f.jtype.value=t
|
||||
f.jlabel.disabled=f.jlabel.value=="json"
|
||||
f.jtype.disabled=f.jlabel.disabled
|
||||
f.jRemove.disabled=f.jlabel.disabled
|
||||
f.jAddSibling.disabled=f.jlabel.disabled
|
||||
f.jRename.disabled=f.jlabel.disabled || tp=="array"
|
||||
f.jAddChild.disabled=t!="array" && t!="object"
|
||||
f.jPaste.disabled=!treeBuilder.jClipboard
|
||||
f.jCut.disabled=f.jlabel.disabled
|
||||
},
|
||||
jsonParent:function(x){
|
||||
// inmproved thanks to \x000
|
||||
if(x=="json"){return "treeBuilder"}
|
||||
if (x.charAt(x.length-1)==']') {return x.substring(0,x.lastIndexOf('['))}
|
||||
return x.substring(0,x.lastIndexOf('.'))
|
||||
},
|
||||
jsonChild:function(el1){
|
||||
var p=this.jsonParent(el1)
|
||||
el1=el1.split(p).join("")
|
||||
if(el1.charAt(0)=="."){el1=el1.substring(1)}
|
||||
if(el1.charAt(0)=="["){el1=el1.substring(2,el1.length-2)}
|
||||
return el1
|
||||
},
|
||||
jsonRemove:function(f){
|
||||
this.jsonChange(f,true)
|
||||
},
|
||||
jsonAlreadyExists:function(o,l){
|
||||
if(o[l]!==undefined){
|
||||
var co=2
|
||||
while(o[l+"_"+co]!==undefined){co++}
|
||||
var n=l+"_"+co
|
||||
var p='"'+l+'" already exists in this object.\nDo you want to rename? (otherwise the old "'+l+'" will be overwritten.)'
|
||||
p=prompt(p,n)
|
||||
if(p){l=p}
|
||||
}
|
||||
return l
|
||||
},
|
||||
jsonAddChild:function(f,label){
|
||||
var first=f.jbefore.checked
|
||||
var l=f.orgjlabel.value
|
||||
eval('var o=this.'+l)
|
||||
var t=(o && this.isArray(o))?"array":typeof o
|
||||
if(t=="object"){
|
||||
var nl=label||prompt("Label (without path):","")
|
||||
if(!nl){return}
|
||||
if(nl/1==nl){nl="$"+nl}
|
||||
nl=this.jsonAlreadyExists(o,nl)
|
||||
var n=nl.replace(/\w/g,'')===""?l+"."+nl:l+'["'+nl+'"]'
|
||||
eval('this.'+n+'={}')
|
||||
if(first){
|
||||
eval("var t=this."+l+";this."+l+"={};var s=this."+l)
|
||||
eval('this.'+n+'={}')
|
||||
for(var i in t){s[i]=t[i]}
|
||||
}
|
||||
}
|
||||
if(t=="array"){
|
||||
o.push({})
|
||||
n=l+"["+(o.length-1)+"]"
|
||||
if(first){
|
||||
for(var i=o.length-1;i>0;i--){o[i]=o[i-1]}
|
||||
o[0]={}
|
||||
n=l+"[0]"
|
||||
}
|
||||
}
|
||||
this.JSONbuild(this.baseDiv,this.json)
|
||||
for(var i in this.stateMem){this.openAndClose(i,true)}
|
||||
this.jsonResponder(n)
|
||||
},
|
||||
jsonAddSibling:function(f,label){
|
||||
var before=f.jbefore.checked
|
||||
var l=f.orgjlabel.value
|
||||
var r=Math.random()
|
||||
eval('var temp=this.'+l)
|
||||
eval('this.'+l+"=r")
|
||||
var s=this.JSONstring.make(this.json)
|
||||
s=s.split(r+",")
|
||||
if(s.length<2){s=s[0].split(r)}
|
||||
var lp=this.jsonParent(l)
|
||||
eval('var o=this.'+lp)
|
||||
var t=(o && this.isArray(o))?"array":typeof o
|
||||
if(t=="object"){
|
||||
var nl=label||prompt("Label (without path):","")
|
||||
if(!nl){return}
|
||||
if(nl/1==nl){nl="$"+nl}
|
||||
nl=this.jsonAlreadyExists(o,nl)
|
||||
var n=nl.replace(/\w/g,'')===""?"."+nl:'["'+nl+'"]'
|
||||
s=s.join('null,"'+nl+'":{},')
|
||||
lp+=n
|
||||
}
|
||||
if(t=="array"){
|
||||
s=s.join('null,{},')
|
||||
var k=l.split("[")
|
||||
k[k.length-1]=(k[k.length-1].split("]").join("")/1+1)+"]"
|
||||
lp=k.join("[")
|
||||
}
|
||||
s=s.split("},}").join("}}") // replace with something better soon
|
||||
eval('this.json='+s)
|
||||
eval('this.'+l+'=temp')
|
||||
if(before){lp=this.jsonSwitchPlace(this.jsonParent(l),l,lp)}
|
||||
this.JSONbuild(this.baseDiv,this.json)
|
||||
for(var i in this.stateMem){this.openAndClose(i,true)}
|
||||
this.jsonResponder(lp)
|
||||
},
|
||||
jSaveFirst:function(f,a){
|
||||
var l=f.orgjlabel.value
|
||||
eval("var orgj=this."+l)
|
||||
orgj=this.JSONstring.make(orgj)
|
||||
var v=f.jvalue.value
|
||||
v=f.jtype.value=="string"?this.JSONstring.make(v):v
|
||||
v=v.split("\r").join("")
|
||||
if(orgj!=v || f.orgjlabel.value!=f.jlabel.value || this.jTypeChanged){
|
||||
var k=confirm("Save before "+a+"?")
|
||||
if(k){this.jsonChange(f)}
|
||||
}
|
||||
},
|
||||
jsonRename:function(f){
|
||||
this.jSaveFirst(f,"renaming")
|
||||
var orgl=l=f.orgjlabel.value
|
||||
l=this.jsonChild(l)
|
||||
var nl=prompt("Label (without path):",l)
|
||||
if(!nl){return}
|
||||
this.jsonResponder(orgl)
|
||||
var nl=nl.replace(/\w/g,'')===""?"."+nl:'["'+nl+'"]'
|
||||
f.jlabel.value=this.jsonParent(orgl)+nl
|
||||
this.jsonChange(f,false,true)
|
||||
},
|
||||
jsonSwitchPlace:function(p,el1,el2){
|
||||
var orgel1=el1, orgel2=el2
|
||||
eval("var o=this."+p)
|
||||
if(this.isArray(o)){
|
||||
eval("var t=this."+el1)
|
||||
eval("this."+el1+"=this."+el2)
|
||||
eval("this."+el2+"=t")
|
||||
return orgel1
|
||||
}
|
||||
el1=this.jsonChild(el1)
|
||||
el2=this.jsonChild(el2)
|
||||
var o2={}
|
||||
for(var i in o){
|
||||
if(i==el1){o2[el2]=o[el2];o2[el1]=o[el1];continue}
|
||||
if(i==el2){continue}
|
||||
o2[i]=o[i]
|
||||
}
|
||||
eval("this."+p+"=o2")
|
||||
return orgel2
|
||||
},
|
||||
jsonCut:function(f){
|
||||
this.jSaveFirst(f,"cutting")
|
||||
this.jsonCopy(f,true)
|
||||
this.jsonChange(f,true)
|
||||
this.setJsonMessage('Cut to clipboard!')
|
||||
},
|
||||
jsonCopy:function(f,r){
|
||||
if(!r){this.jSaveFirst(f,"copying")}
|
||||
var l=f.orgjlabel.value
|
||||
eval("var v=this."+l)
|
||||
v=this.JSONstring.make(v)
|
||||
var l=this.jsonChild(l)
|
||||
this.jClipboard={label:l,jvalue:v}
|
||||
this.jsonResponder(f.jlabel.value)
|
||||
if(!r){this.setJsonMessage('Copied to clipboard!')}
|
||||
},
|
||||
jsonPaste:function(f,r){
|
||||
var t=f.jtype.value
|
||||
var sibling=t!="object" && t!="array"
|
||||
if(!f.jPasteAsChild.checked){sibling=true}
|
||||
if(f.orgjlabel.value=="json"){sibling=false}
|
||||
if(sibling){this.jsonAddSibling(f,this.jClipboard.label)}
|
||||
else {this.jsonAddChild(f,this.jClipboard.label)}
|
||||
var l=f.orgjlabel.value
|
||||
eval("this."+l+"="+this.jClipboard.jvalue)
|
||||
this.jsonResponder(l)
|
||||
this.jsonChange(f)
|
||||
if(!r){this.setJsonMessage('Pasted!')}
|
||||
},
|
||||
setJsonMessage:function(x){
|
||||
this.$('jformMessage').innerHTML=x
|
||||
setTimeout("treeBuilder.$('jformMessage').innerHTML=''",1500)
|
||||
},
|
||||
changeJsonDataType:function(x,f){
|
||||
this.jTypeChanged=true
|
||||
var v=f.jvalue.value
|
||||
var orgv=v;
|
||||
v=x=='object'?'{"label":"'+v+'"}':v
|
||||
v=x=='array'?'["'+v+'"]':v
|
||||
if(!orgv){
|
||||
v=x=='object'?'{}':v
|
||||
v=x=='array'?'[]':v
|
||||
}
|
||||
v=x=='function'?'function(){'+v+'}':v
|
||||
v=x=='string'?v:v
|
||||
v=x=='number'?v/1:v
|
||||
v=x=='boolean'?!!v:v
|
||||
v=x=='null'?'null':v
|
||||
v=x=='undefined'?'undefined':v
|
||||
f.jvalue.value=v
|
||||
},
|
||||
jsonChange:function(f,remove,rename){
|
||||
try {
|
||||
var l=f.jlabel.value
|
||||
var orgl=f.orgjlabel.value||"json.not1r2e3a4l"
|
||||
eval("var cur=this."+l)
|
||||
if(l!=orgl && cur!==undefined){
|
||||
var c=confirm(l+"\n\nalready contains other data. Overwrite?")
|
||||
if(!c){return false}
|
||||
}
|
||||
var v=f.jvalue.value.split("\r").join("")
|
||||
if(f.jtype.value=="string"){
|
||||
v=this.JSONstring.make(v)
|
||||
}
|
||||
if(l=="json"){
|
||||
eval("v="+v)
|
||||
this.JSONbuild(this.baseDiv,v)
|
||||
for(var i in this.stateMem){this.openAndClose(i,true)}
|
||||
this.setJsonMessage('Saved!')
|
||||
return false
|
||||
}
|
||||
eval("var json="+this.JSONstring.make(this.json))
|
||||
var randi=Math.random()
|
||||
eval(orgl+'='+randi)
|
||||
var paname=this.jsonParent(orgl)
|
||||
var samepa=this.jsonParent(orgl)==this.jsonParent(l)
|
||||
eval("var pa="+paname)
|
||||
if(this.isArray(pa)){
|
||||
eval(paname+'=[];var newpa='+paname)
|
||||
for(var i=0;i<pa.length;i++){
|
||||
if(pa[i]!=randi){newpa[i]=pa[i]}
|
||||
}
|
||||
if(remove){
|
||||
var pos=l.substring(l.lastIndexOf("[")+1,l.lastIndexOf("]"))/1
|
||||
newpa=newpa.splice(pos,1)
|
||||
}
|
||||
if(!remove){eval(l+"="+v)}
|
||||
}
|
||||
else {
|
||||
eval(paname+'={};var newpa='+paname)
|
||||
for(var i in pa){
|
||||
if(pa[i]!=randi){newpa[i]=pa[i]}
|
||||
else if(samepa && !remove){eval(l+"="+v)}
|
||||
}
|
||||
if(!samepa && !remove){eval(l+"="+v)}
|
||||
}
|
||||
this.json=json
|
||||
var selId=this.selectedElement?this.selectedElement.id:null
|
||||
this.JSONbuild(this.baseDiv,this.json)
|
||||
for(var i in this.stateMem){this.openAndClose(i,true)}
|
||||
this.selectedElement=this.$(selId)
|
||||
if(this.selectedElement && !remove && orgl!="json.not1r2e3a4l"){
|
||||
this.selectedElement.style.fontWeight="bold"
|
||||
}
|
||||
if(remove){l=""}
|
||||
this.setJsonMessage(remove?'Deleted!':rename?'Renamed!':'Saved!')
|
||||
if(!remove){this.jsonResponder(l)}
|
||||
}
|
||||
catch(err){
|
||||
alert(err+"\n\n"+"Save error!")
|
||||
}
|
||||
return false
|
||||
},
|
||||
JSONbuild:function(divName,x,y,z){
|
||||
if(!z){
|
||||
this.partMem=[]
|
||||
this.JSONmem=[]
|
||||
this.json=x
|
||||
this.baseDiv=divName
|
||||
}
|
||||
var t=(x && this.isArray(x))?"array":typeof x
|
||||
y=y===undefined?"json":y
|
||||
z=z||0
|
||||
this.partMem[z]='["'+y+'"]'
|
||||
if(typeof y!="number" && y.replace(/\w/g,'')===""){this.partMem[z]="."+y}
|
||||
if(typeof y=="number"){this.partMem[z]="["+y+"]"}
|
||||
if(z===0){this.partMem[z]="json"}
|
||||
this.partMem=this.partMem.slice(0,z+1)
|
||||
var x2=x
|
||||
this.JSONmem.push({type:t,label:y,todo:this.partMem.join(""),level:z+1})
|
||||
if(t=="object"){
|
||||
for(var i in x){
|
||||
this.JSONbuild(false,x[i],i,z+1)
|
||||
}
|
||||
}
|
||||
if(t=="array"){
|
||||
for(var i=0;i<x.length;i++){
|
||||
this.JSONbuild(false,x[i],i,z+1)
|
||||
}
|
||||
}
|
||||
if(divName){
|
||||
this.build(divName,this.jsonResponder,this.JSONmem)
|
||||
if(!this.hasRunJSONbuildOnce){this.jsonResponder('json')}
|
||||
this.hasRunJSONbuildOnce=true
|
||||
}
|
||||
},
|
||||
build:function(divName,todoFunc,data){
|
||||
//
|
||||
// divName is the id of the div we'll build the tree inside
|
||||
//
|
||||
// todoFunc - a function to call on label click with todo as parameter
|
||||
//
|
||||
// data should be an array of objects
|
||||
// each object should contain label,todo + level or id and pid (parentId)
|
||||
//
|
||||
var d=data, n=divName, $=this.$, lastlevel=0, levelmem=[], im=this.images;
|
||||
this.treeBaseDiv=divName
|
||||
if(!d){
|
||||
var c=$(divName).childNodes;
|
||||
for(var i=0;i<c.length;i++){
|
||||
if((c[i].tagName+"").toLowerCase()=='pre'){d=this.preParse(c[i])}
|
||||
};
|
||||
if(!d){return}
|
||||
};
|
||||
$(n).style.display="none";
|
||||
while ($(n).firstChild){$(n).removeChild($(n).firstChild)};
|
||||
for(var i=0;i<d.length;i++){
|
||||
if(d[i].level && !lastlevel){lastlevel=d[i].level};
|
||||
if(d[i].level && d[i].level>lastlevel){levelmem.push(n);n=d[i-1].id};
|
||||
if(d[i].level && d[i].level>lastlevel+1){return 'Trying to jump levels!'};
|
||||
if(d[i].level && d[i].level<lastlevel){
|
||||
for(var j=d[i].level;j<lastlevel;j++){n=levelmem.pop()}
|
||||
};
|
||||
if(!d[i].id){d[i].id=n+"_"+i};
|
||||
if(!d[i].pid){d[i].pid=n};
|
||||
lastlevel=d[i].level;
|
||||
var a=document.createElement('div');
|
||||
var t=document.createElement('span');
|
||||
t.style.verticalAlign='middle';
|
||||
a.style.whiteSpace='nowrap';
|
||||
var t2=document.createTextNode(d[i].label);
|
||||
t.appendChild(t2);
|
||||
a.style.paddingLeft=d[i].pid==divName?'0px':im.nodeWidth+'px';
|
||||
a.style.cursor='pointer';
|
||||
a.style.display=(d[i].pid==divName)?'':'none';
|
||||
a.id=d[i].id;
|
||||
a.t=t;
|
||||
var f=function(){
|
||||
var todo=d[i].todo;
|
||||
var func=todoFunc;
|
||||
a.onclick=function(e){
|
||||
if(treeBuilder.maniClick=="giveItBack"){return todo}
|
||||
if(treeBuilder.selectedElement){
|
||||
treeBuilder.selectedElement.style.fontWeight=""
|
||||
}
|
||||
this.style.fontWeight="bold"
|
||||
treeBuilder.selectedElement=this
|
||||
if(treeBuilder.maniClick=="selectIt"){return}
|
||||
func(todo);
|
||||
if (!e){e=window.event};
|
||||
e.cancelBubble = true;
|
||||
if(e.stopPropagation){e.stopPropagation()};
|
||||
};
|
||||
a.onmouseover=function(e){
|
||||
//this.style.color="#999"
|
||||
if (!e){e=window.event};
|
||||
e.cancelBubble = true;
|
||||
if(e.stopPropagation){e.stopPropagation()};
|
||||
};
|
||||
a.onmouseout=function(e){
|
||||
//this.style.color=""
|
||||
if (!e){e=window.event};
|
||||
e.cancelBubble = true;
|
||||
if(e.stopPropagation){e.stopPropagation()};
|
||||
};
|
||||
};
|
||||
f();
|
||||
$(d[i].pid).appendChild(a);
|
||||
if(d[i].pid==divName && !a.previousSibling){a.first=true};
|
||||
};
|
||||
// calculate necessary element looks before initial display
|
||||
for(var i=0;i<d.length;i++){var x=$(d[i].id);if(x && x.style.display!="none"){this.setElementLook(x)}};
|
||||
$(divName).style.display="";
|
||||
},
|
||||
setElementLook:function(m){
|
||||
var $=this.$, im=this.images
|
||||
if(!m.inited){
|
||||
var co=0
|
||||
for(var j in im){
|
||||
if(!Object.prototype[j]){
|
||||
if(j=="vertLine"){break};
|
||||
var img=document.createElement('img');
|
||||
var k=(m.first && j.indexOf('Node')>=0)?j+'First':j;
|
||||
img.src=im.path+(im[k]?im[k]:k+'.gif');
|
||||
img.style.display="none";
|
||||
img.style.verticalAlign="middle";
|
||||
img.id=m.id+"_"+j;
|
||||
if(j.indexOf('folderNode')==0){
|
||||
img.onclick=function(e){
|
||||
treeBuilder.openAndClose(this);
|
||||
if (!e){e=window.event};
|
||||
e.cancelBubble = true;
|
||||
if(e.stopPropagation){e.stopPropagation()};
|
||||
}
|
||||
};
|
||||
if(m.firstChild){m.insertBefore(img,m.childNodes[co]); co++}
|
||||
else {m.appendChild(img)};
|
||||
}
|
||||
};
|
||||
m.insertBefore(m.t,m.childNodes[co]);
|
||||
m.inited=true
|
||||
};
|
||||
var lastChild=m.childNodes[m.childNodes.length-1];
|
||||
var isParent=(lastChild.tagName+"").toLowerCase()=="div";
|
||||
var isLast=!m.nextSibling;
|
||||
var isOpen=isParent && lastChild.style.display!='none';
|
||||
$(m.id+"_folder").style.display=!isOpen && isParent?'':'none';
|
||||
$(m.id+"_folderOpen").style.display=isOpen && isParent?'':'none';
|
||||
$(m.id+"_doc").style.display=isParent?'none':'';
|
||||
$(m.id+"_docNode").style.display=isParent || isLast?'none':'';
|
||||
$(m.id+"_docNodeLast").style.display=isParent || !isLast?'none':'';
|
||||
$(m.id+"_folderNode").style.display=isOpen || !isParent || isLast?'none':'';
|
||||
$(m.id+"_folderNodeLast").style.display=isOpen || !isParent || !isLast?'none':'';
|
||||
$(m.id+"_folderNodeOpen").style.display=!isOpen || !isParent || isLast?'none':'';
|
||||
$(m.id+"_folderNodeOpenLast").style.display=!isOpen || !isParent || !isLast?'none':'';
|
||||
var p=m.parentNode.nextSibling;
|
||||
if(p && p.id){
|
||||
var sp=p;insideBase=false;
|
||||
while(sp){if(sp==$(this.treeBaseDiv)){insideBase=true};sp=sp.parentNode}
|
||||
if(!insideBase){return}
|
||||
var bg=im.path+(im.vertLine?im.vertLine:'vertLine.gif');
|
||||
m.style.backgroundImage='url('+bg+')';
|
||||
m.style.backgroundRepeat='repeat-y'
|
||||
};
|
||||
},
|
||||
openAndClose:function(x,remem){
|
||||
var o, div=remem?this.$(x):x.parentNode;
|
||||
if(!div){return}
|
||||
if(remem){o=this.stateMem[div.id]}
|
||||
else {o=x.id.indexOf('Open')<0}
|
||||
if(remem=="open"){o=true}
|
||||
this.stateMem[div.id]=o
|
||||
var c=div.childNodes;
|
||||
for(var i=0;i<c.length;i++){
|
||||
if(c[i].tagName.toLowerCase()!="div"){continue};
|
||||
c[i].style.display=o?'':'none';
|
||||
if(o && !c[i].inited){this.setElementLook(c[i])}
|
||||
};
|
||||
this.setElementLook(div)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
JSONstring v 1.0
|
||||
copyright 2006 Thomas Frank
|
||||
|
||||
Based on Steve Yen's implementation:
|
||||
http://trimpath.com/project/wiki/JsonLibrary
|
||||
*/
|
||||
|
||||
JSONeditor.treeBuilder.JSONstring={
|
||||
compactOutput:false,
|
||||
includeProtos:false,
|
||||
includeFunctions: true,
|
||||
detectCirculars:false,
|
||||
restoreCirculars:false,
|
||||
make:function(arg,restore) {
|
||||
this.restore=restore;
|
||||
this.mem=[];this.pathMem=[];
|
||||
return this.toJsonStringArray(arg).join('');
|
||||
},
|
||||
toObject:function(x){
|
||||
eval("this.myObj="+x);
|
||||
if(!this.restoreCirculars || !alert){return this.myObj};
|
||||
this.restoreCode=[];
|
||||
this.make(this.myObj,true);
|
||||
var r=this.restoreCode.join(";")+";";
|
||||
eval('r=r.replace(/\\W([0-9]{1,})(\\W)/g,"[$1]$2").replace(/\\.\\;/g,";")');
|
||||
eval(r);
|
||||
return this.myObj
|
||||
},
|
||||
toJsonStringArray:function(arg, out) {
|
||||
if(!out){this.path=[]};
|
||||
out = out || [];
|
||||
var u; // undefined
|
||||
switch (typeof arg) {
|
||||
case 'object':
|
||||
this.lastObj=arg;
|
||||
if(this.detectCirculars){
|
||||
var m=this.mem; var n=this.pathMem;
|
||||
for(var i=0;i<m.length;i++){
|
||||
if(arg===m[i]){
|
||||
out.push('"JSONcircRef:'+n[i]+'"');return out
|
||||
}
|
||||
};
|
||||
m.push(arg); n.push(this.path.join("."));
|
||||
};
|
||||
if (arg) {
|
||||
if (arg.constructor == Array) {
|
||||
out.push('[');
|
||||
for (var i = 0; i < arg.length; ++i) {
|
||||
this.path.push(i);
|
||||
if (i > 0)
|
||||
out.push(',\n');
|
||||
this.toJsonStringArray(arg[i], out);
|
||||
this.path.pop();
|
||||
}
|
||||
out.push(']');
|
||||
return out;
|
||||
} else if (typeof arg.toString != 'undefined') {
|
||||
out.push('{');
|
||||
var first = true;
|
||||
for (var i in arg) {
|
||||
if(!this.includeProtos && arg[i]===arg.constructor.prototype[i]){continue};
|
||||
this.path.push(i);
|
||||
var curr = out.length;
|
||||
if (!first)
|
||||
out.push(this.compactOutput?',':',\n');
|
||||
this.toJsonStringArray(i, out);
|
||||
out.push(':');
|
||||
this.toJsonStringArray(arg[i], out);
|
||||
if (out[out.length - 1] == u)
|
||||
out.splice(curr, out.length - curr);
|
||||
else
|
||||
first = false;
|
||||
this.path.pop();
|
||||
}
|
||||
out.push('}');
|
||||
return out;
|
||||
}
|
||||
return out;
|
||||
}
|
||||
out.push('null');
|
||||
return out;
|
||||
case 'unknown':
|
||||
case 'undefined':
|
||||
case 'function':
|
||||
try {eval('var a='+arg)}
|
||||
catch(e){arg='function(){alert("Could not convert the real function to JSON, due to a browser bug only found in Safari. Let us hope it will get fixed in future versions of Safari!")}'}
|
||||
out.push(this.includeFunctions?arg:u);
|
||||
return out;
|
||||
case 'string':
|
||||
if(this.restore && arg.indexOf("JSONcircRef:")==0){
|
||||
this.restoreCode.push('this.myObj.'+this.path.join(".")+"="+arg.split("JSONcircRef:").join("this.myObj."));
|
||||
};
|
||||
out.push('"');
|
||||
var a=['\n','\\n','\r','\\r','"','\\"'];
|
||||
arg+=""; for(var i=0;i<6;i+=2){arg=arg.split(a[i]).join(a[i+1])};
|
||||
out.push(arg);
|
||||
out.push('"');
|
||||
return out;
|
||||
default:
|
||||
out.push(String(arg));
|
||||
return out;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 993 B |
|
After Width: | Height: | Size: 147 B |
|
After Width: | Height: | Size: 142 B |
|
After Width: | Height: | Size: 107 B |
|
After Width: | Height: | Size: 974 B |
|
After Width: | Height: | Size: 133 B |
|
After Width: | Height: | Size: 878 B |
|
After Width: | Height: | Size: 130 B |
|
After Width: | Height: | Size: 872 B |
|
After Width: | Height: | Size: 129 B |
|
After Width: | Height: | Size: 868 B |
|
After Width: | Height: | Size: 125 B |
|
After Width: | Height: | Size: 863 B |
|
After Width: | Height: | Size: 254 B |
|
After Width: | Height: | Size: 140 B |
@@ -35,13 +35,22 @@
|
||||
$student = new student($user);
|
||||
$datum_obj = new datum();
|
||||
//Outgoing
|
||||
echo '<tr>
|
||||
echo '
|
||||
<tr>
|
||||
<td class="tdwidth10" nowrap> </td>
|
||||
<td class="tdwrap">
|
||||
<a class="Item" href="https://www.mobility-online.co.at/mobility/BewerbungServlet?identifier=wien20&kz_bew_art=OUT&kz_bew_pers=S&aust_prog=SMS&bew_matr_nr='.rawurlencode(trim($student->matrikelnr)).'&bew_nachname='.rawurlencode($student->nachname).'&bew_vorname='.rawurlencode($student->vorname).'&bew_titel='.rawurlencode($student->titelpre).'&bew_email='.rawurlencode($user.'@'.DOMAIN).'&bew_geb_datum='.rawurlencode($datum_obj->formatDatum($student->gebdatum,'d.m.Y')).'&bew_geschlecht='.rawurlencode(mb_strtoupper($student->geschlecht)).'" target="content">
|
||||
<img src="../../skin/images/menu_item.gif" width="7" height="9"> Mobility</a>
|
||||
</td>
|
||||
</tr>';
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tdwidth10" nowrap> </td>
|
||||
<td class="tdwrap">
|
||||
<a class="Item" href="https://www.mobility-online.co.at/mobility/BewerbungServlet?sprache=en&identifier=wien20&kz_bew_art=OUT&kz_bew_pers=S&aust_prog=SMS&bew_matr_nr='.rawurlencode(trim($student->matrikelnr)).'&bew_nachname='.rawurlencode($student->nachname).'&bew_vorname='.rawurlencode($student->vorname).'&bew_titel='.rawurlencode($student->titelpre).'&bew_email='.rawurlencode($user.'@'.DOMAIN).'&bew_geb_datum='.rawurlencode($datum_obj->formatDatum($student->gebdatum,'d.m.Y')).'&bew_geschlecht='.rawurlencode(mb_strtoupper($student->geschlecht)).'" target="content">
|
||||
<img src="../../skin/images/menu_item.gif" width="7" height="9"> Mobility Englisch</a>
|
||||
</td>
|
||||
</tr>
|
||||
';
|
||||
|
||||
//Dokumente
|
||||
echo '<tr>
|
||||
|
||||
@@ -193,8 +193,13 @@ $menu=array
|
||||
'ServerTests'=>array('name'=>'Server-Tests', 'link'=>'admin/test/index.html', 'target'=>'main'),
|
||||
'htaccessGenerator'=>array('name'=>'.htaccess-Generator', 'link'=>'admin/htaccess/access.php', 'target'=>'main'),
|
||||
),
|
||||
'FAS-Installation'=>array('name'=>'FAS-Installation', 'link'=>'admin/fasinstall.html', 'target'=>'main'),
|
||||
'ViReferenz'=>array('name'=>'VI-Kurzreferenz', 'link'=>'admin/VI-Kurzreferenz.html', 'target'=>'main'),
|
||||
'Hilfe'=> array
|
||||
(
|
||||
'name'=>'Hilfe',
|
||||
'FAS-Installation'=>array('name'=>'FAS-Installation', 'link'=>'admin/fasinstall.html', 'target'=>'main'),
|
||||
'ViReferenz'=>array('name'=>'VI-Kurzreferenz', 'link'=>'admin/VI-Kurzreferenz.html', 'target'=>'main'),
|
||||
),
|
||||
'Cronjobs'=>array('name'=>'Cronjobs', 'link'=>'stammdaten/cronjobverwaltung.php', 'target'=>'main','permissions'=>array('basis/cronjob')),
|
||||
),
|
||||
'SD-Tools'=> array
|
||||
(
|
||||
|
||||