";
$menu .= "
";
$menu .= "";
$menu .= '';
$menu .= "Conf->WFconf['defaulttheme']}/images/edit.svg\" border=\"0\">";
$menu .= " ";
$menu .= '';
$menu .= "Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\">";
$menu .= "";
$menu .= " | ";
$menu .= "
";
$menu .= "";
$finaktiv = $app->YUI->TableSearchFilter($name, 5, 'inaktiv', '0', 0, 'checkbox');
$subwhere = '';
if($finaktiv == 0){
$subwhere .= ' AND b.aktiv = 1';
}
$where = " b.id > 0".$subwhere;
$sql = "SELECT SQL_CALC_FOUND_ROWS b.id, l.bezeichnung_de, b.iso, b.bundesstaat, if(b.aktiv, 'ja', '-') as aktiv, b.id FROM bundesstaaten b LEFT JOIN laender l ON b.land = l.iso";
$count = "SELECT count(b.id) FROM bundesstaaten b WHERE $where";
break;
}
$erg = [];
foreach($erlaubtevars as $k => $v)
{
if(isset($$v))$erg[$v] = $$v;
}
return $erg;
}
function __construct($app, $intern = false) {
$this->app=$app;
if($intern)return;
$this->app->ActionHandlerInit($this);
// ab hier alle Action Handler definieren die das Modul hat
$this->app->ActionHandler("list", "BundesstaatenList");
$this->app->ActionHandler("edit", "BundesstaatenEdit");
$this->app->ActionHandler("save", "BundesstaatenSave");
$this->app->ActionHandler("delete", "BundesstaatenDelete");
$this->app->ActionHandlerListen($app);
$this->Install();
}
function Install(){
$this->app->erp->CheckTable("bundesstaaten");
$this->app->erp->CheckColumn("id", "int(11)", "bundesstaaten", "NOT NULL AUTO_INCREMENT");
$this->app->erp->CheckColumn("land", "varchar(255)", "bundesstaaten", "NOT NULL");
$this->app->erp->CheckColumn("iso", "varchar(255)", "bundesstaaten", "NOT NULL");
$this->app->erp->CheckColumn("bundesstaat", "varchar(255)", "bundesstaaten", "NOT NULL");
$this->app->erp->CheckColumn("aktiv", "int(11)", "bundesstaaten", "NOT NULL DEFAULT 0");
}
/**
* @param $target
* @param $landid
* @param $bundeslandid
* @param string $valueland
* @param string $valuebundesland
* @param bool $disabled
*/
function BundeslaenderSelect($target, $landid, $bundeslandid, $valueland = '', $valuebundesland = '', $disabled = false)
{
if($valueland == '')$valueland = $this->app->erp->Firmendaten('land');
$arr = $this->app->DB->SelectArr("SELECT * FROM bundesstaaten WHERE land <> '' AND iso <> '' AND ( aktiv = 1 OR (land = '$valueland' AND iso = '$valuebundesland')) ORDER BY land, bundesstaat");
$this->app->Tpl->Add($target,'');
$this->app->Tpl->Add($target,'');
}
function BundesstaatenMenu()
{
$this->app->erp->MenuEintrag("index.php?module=bundesstaaten&action=list","Zurück zur Übersicht");
$this->app->erp->MenuEintrag("index.php?module=bundesstaaten&action=list","Details");
$this->app->erp->MenuEintrag("BundesstaatenEdit(0)","Neuer Eintrag");
}
/**
* @param string $needle
* @param $haystack
* @param bool $strict
* @return bool
*/
function in_array_r($needle, $haystack, $strict = false){
foreach($haystack as $item){
if(($strict ? $item === $needle : $item == $needle) || (is_array($item) && $this->in_array_r($needle, $item, $strict))){
return true;
}
}
return false;
}
function BundesstaatenList()
{
$this->BundesstaatenMenu();
$this->app->Tpl->Set("KURZUEBERSCHRIFT","Bundesstaaten");
$bundesstaatende = $this->app->erp->GetSelectStaatenliste('DE');
$bundesstaatendedb = $this->app->DB->SelectArr("SELECT bundesstaat, iso FROM bundesstaaten WHERE land = 'DE'");
$fehlende = array();
foreach($bundesstaatende as $key=>$value){
if($this->in_array_r($value,$bundesstaatendedb)){
}else{
$fehlende[$key] = $value;
}
}
$bundesstaatenat = $this->app->erp->GetSelectStaatenliste('AT');
$bundesstaatenatdb = $this->app->DB->SelectArr("SELECT bundesstaat, iso FROM bundesstaaten WHERE land = 'AT'");
$fehlenat = array();
foreach($bundesstaatenat as $key=>$value){
if($this->in_array_r($value,$bundesstaatenatdb)){
}else{
$fehlenat[$key] = $value;
}
}
$bundesstaatench = $this->app->erp->GetSelectStaatenliste('CH');
$bundesstaatenchdb = $this->app->DB->SelectArr("SELECT bundesstaat, iso FROM bundesstaaten WHERE land = 'CH'");
$fehlench = array();
foreach($bundesstaatench as $key=>$value){
if($this->in_array_r($value,$bundesstaatenchdb)){
}else{
$fehlench[$key] = $value;
}
}
$bundesstaatenus = $this->app->erp->GetSelectStaatenliste('US');
$bundesstaatenusdb = $this->app->DB->SelectArr("SELECT bundesstaat, iso FROM bundesstaaten WHERE land = 'US'");
$fehlenus = array();
foreach($bundesstaatenus as $key=>$value){
if($this->in_array_r($value,$bundesstaatenusdb)){
}else{
$fehlenus[$key] = $value;
}
}
$bundesstaatenca = $this->app->erp->GetSelectStaatenliste('CA');
$bundesstaatencadb = $this->app->DB->SelectArr("SELECT bundesstaat, iso FROM bundesstaaten WHERE land = 'CA'");
$fehlenca = array();
foreach($bundesstaatenca as $key=>$value){
if($this->in_array_r($value,$bundesstaatencadb)){
}else{
$fehlenca[$key] = $value;
}
}
$anzahlfehlen = (!empty($fehlende)?count($fehlende):0) + (!empty($fehlenat)?count($fehlenat):0) + (!empty($fehlench)?count($fehlench):0) + (!empty($fehlenus)?count($fehlenus):0) + (!empty($fehlenca)?count($fehlenca):0);
if($anzahlfehlen > 0){
if($anzahlfehlen == 1){
$info = "Es steht ".$anzahlfehlen." neuer Bundesstaaten Eintrag in Xentral zur Verfügung.";
}else{
$info = "Es stehen ".$anzahlfehlen." neue Bundesstaaten Einträge in Xentral zur Verfügung.";
}
$nachladebutton = "";
$info .= $nachladebutton;
$this->app->Tpl->Set('MESSAGE',"$info
");
}
$nachladen = $this->app->Secure->GetPOST("nachladen");
if($nachladen != ""){
if((!empty($fehlende)?count($fehlende):0) > 0){
foreach($fehlende as $key=>$value){
$this->app->DB->Insert("INSERT INTO bundesstaaten (land, iso, bundesstaat, aktiv) VALUES ('DE', '$key', '$value', 1)");
}
}
if((!empty($fehlenat)?count($fehlenat):0) > 0){
foreach($fehlenat as $key=>$value){
$this->app->DB->Insert("INSERT INTO bundesstaaten (land, iso, bundesstaat, aktiv) VALUES ('AT', '$key', '$value', 1)");
}
}
if((!empty($fehlench)?count($fehlench):0) > 0){
foreach($fehlench as $key=>$value){
$this->app->DB->Insert("INSERT INTO bundesstaaten (land, iso, bundesstaat, aktiv) VALUES ('CH', '$key', '$value', 1)");
}
}
if((!empty($fehlenus)?count($fehlenus):0) > 0){
foreach($fehlenus as $key=>$value){
$this->app->DB->Insert("INSERT INTO bundesstaaten (land, iso, bundesstaat, aktiv) VALUES ('US', '$key', '$value', 1)");
}
}
if((!empty($fehlenca)?count($fehlenca):0) > 0){
foreach($fehlenca as $key=>$value){
$this->app->DB->Insert("INSERT INTO bundesstaaten (land, iso, bundesstaat, aktiv) VALUES ('CA', '$key', '$value', 1)");
}
}
header("Location:index.php?module=bundesstaaten&action=list");
exit;
}
$laenderanzahl = $this->app->DB->Select("SELECT COUNT(id) FROM laender");
//if($laenderanzahl <= 0){
$select = '';
$laender = $this->app->erp->GetSelectLaenderliste();
foreach($laender as $key=>$value){
if(trim($key) != "" && trim($key) != "0"){
$select .= "";
}
}
//}else{
//$laender = $this->app->DB->SelectArr("SELECT iso, bezeichnung_de FROM laender");
//foreach($laender as $key=>$value){
//$select .= "";
//}
$this->app->Tpl->Add("LAENDER", $select);
//}
$this->app->YUI->TableSearch('TAB1','bundesstaaten_list', "show","","",basename(__FILE__), __CLASS__);
$this->app->Tpl->Parse("PAGE","bundesstaaten_list.tpl");
}
function BundesstaatenEdit()
{
if($this->app->Secure->GetGET('cmd')=='get'){
$id = (int)$this->app->Secure->GetPOST('id');
$data = $this->app->DB->SelectArr("SELECT b.id, b.land, b.iso, b.bundesstaat, b.aktiv FROM bundesstaaten b WHERE b.id = '$id' LIMIT 1");
if($data){
$data = reset($data);
}else{
$data['id'] = 0;
$data['land'] = '';
$data['iso'] = '';
$data['bundesstaat'] = '';
$data['aktiv'] = 1;
}
echo json_encode($data);
exit;
}
$this->app->Tpl->Parse('PAGE', "bundesstaaten_list.tpl");
}
function BundesstaatenSave()
{
$id = (int)$this->app->Secure->GetPOST('id');
$land = trim($this->app->Secure->GetPOST('land'));
$iso = trim($this->app->Secure->GetPOST('iso'));
$bundesstaat = trim($this->app->Secure->GetPOST('bundesstaat'));
$aktiv = $this->app->Secure->GetPOST('aktiv');
$error = "";
if($land == ""){
$error .= "Bitte Land ausfüllen\n";
}
if($iso == ""){
$error .= "Bitte ISO-Code ausfüllen"."\n";
}
if(strlen($iso) > 2){
$error .= "Bitte 2-stelligen ISO-Code für den Bundesstaat ausfüllen"."\n";
}
if($bundesstaat == ""){
$error .= "Bitte Bundesstaat ausfüllen"."\n";
}
if($land != "" && $bundesstaat != ""){
$isovorhanden = $this->app->DB->Select("SELECT id FROM bundesstaaten WHERE land = '$land' AND iso = '$iso' AND id != '$id' LIMIT 1");
if($isovorhanden != ""){
$error .= "Es gibt diesen ISO-Code bereits für dieses Land"."\n";
}else{
$schonvorhanden = $this->app->DB->Select("SELECT id FROM bundesstaaten WHERE land = '$land' AND iso = '$iso' AND bundesstaat = '$bundesstaat' AND id != '$id' LIMIT 1");
if($schonvorhanden != ""){
$error .= "Diesen Eintrag gibt es bereits"."\n";
}
}
}
if($error == ""){
if($id){
$this->app->DB->Update("UPDATE bundesstaaten SET land = '$land', iso = '$iso', bundesstaat = '$bundesstaat', aktiv = '$aktiv' WHERE id = '$id'");
echo json_encode(array('status'=>1));
exit;
}else{
$this->app->DB->Insert("INSERT INTO bundesstaaten (land, iso, bundesstaat, aktiv) VALUES ('$land', '$iso', '$bundesstaat', '$aktiv')");
echo json_encode(array('status'=>1));
exit;
}
}else{
echo json_encode(array('status'=>0,'statusText'=>$error));
exit;
}
}
function BundesstaatenDelete()
{
$id = (int) $this->app->Secure->GetPOST('id');
if($id)
$this->app->DB->Update("DELETE FROM bundesstaaten WHERE id = '$id'");
echo json_encode(array('status'=>1));
exit;
}
}