YUI->TableSearchFilter($name, 1, 'auchinaktive', 0,0,'checkbox'); $menu = "Conf->WFconf['defaulttheme']}/images/edit.svg\" border=\"0\"> Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\">"; $where = " id > 0 ".($auchinaktive?'':' AND aktiv = 1'); $sql = "SELECT SQL_CALC_FOUND_ROWS id, iso, bezeichnung_de, bezeichnung_en, if(aktiv=1,'ja','nein'), id FROM sprachen"; break; } $erg = false; 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", "SprachenList"); $this->app->ActionHandler("create", "SprachenCreate"); $this->app->ActionHandler("edit", "SprachenEdit"); $this->app->ActionHandler("delete", "SprachenDelete"); $this->app->ActionHandlerListen($app); $this->Install(); } function Install(){ $this->app->erp->CheckTable("sprachen"); $this->app->erp->CheckColumn("id", "int(11)", "sprachen", "NOT NULL AUTO_INCREMENT"); $this->app->erp->CheckColumn("iso", "varchar(2)", "sprachen", "NOT NULL"); $this->app->erp->CheckColumn("bezeichnung_de", "varchar(255)", "sprachen", "NOT NULL DEFAULT ''"); $this->app->erp->CheckColumn("bezeichnung_en", "varchar(255)", "sprachen", "NOT NULL DEFAULT ''"); $this->app->erp->CheckColumn("alias", "varchar(255)", "sprachen", "NOT NULL DEFAULT ''"); $this->app->erp->CheckColumn("aktiv", "tinyint(1)", "sprachen", "NOT NULL DEFAULT '0'"); $arr = array('DE'=>array('Deutsch','German','deutsch','1'), 'EN'=>array('Englisch','English','englisch','1'), 'FR'=>array('Französisch','French','franzoesisch','1'), 'NL'=>array('Holländisch','Dutch','hollaendisch','1'), 'IT'=>array('Italienisch','Italian','italienisch','1'), 'ES'=>array('Spanisch','Spanish','spanisch','1') ); foreach($arr as $k => $v) { $check = $this->app->DB->SelectArr("SELECT * FROM sprachen WHERE iso = '$k' LIMIT 1"); if($check) { if($check[0]['alias'] != $v[2])$this->app->DB->Update("UPDATE sprachen SET alias = '".$v[2]."', aktiv = 1 WHERE id = '".$check[0]['id']."' LIMIT 1"); }else{ $this->app->DB->Insert("INSERT INTO sprachen (iso, bezeichnung_de,bezeichnung_en, alias, aktiv) VALUES ('".$k."','".$v[0]."','".$v[1]."','".$v[2]."','1')"); } } } function SprachenMenu() { $this->app->erp->MenuEintrag("index.php?module=sprachen&action=list","Zurück zur Übersicht"); } function SprachenList() { $this->app->erp->MenuEintrag("index.php?module=sprachen&action=create","Neue Sprache"); $this->app->erp->MenuEintrag("index.php?module=sprachen&action=list","Übersicht"); $this->app->YUI->TableSearch('TAB1','sprachen_list', "show","","",basename(__FILE__), __CLASS__); $this->app->Tpl->Parse("PAGE","sprachen_list.tpl"); } function SprachenEdit() { $id = (int)$this->app->Secure->GetGET('id'); $submit = $this->app->Secure->GetPOST('submitsprache'); $this->app->Tpl->Add('KURZUEBERSCHRIFT2',$bezeichnung_de); $input = array(); $this->app->erp->MenuEintrag("index.php?module=sprachen&action=edit&id=$id","Details"); $this->app->erp->MenuEintrag("index.php?module=sprachen&action=list","Zurück zur Übersicht"); $input = $this->GetInput(); $error = ''; if(is_numeric($id) && $submit!=''){ if($input['iso']=='' || strlen(trim($input['iso'])) > 2) $error .= 'Geben Sie bitte einen zweistelligen ISO-Code ein.
'; if($input['bezeichnung_de'] == '') $error .= 'Geben Sie bitte eine deutsche Sprachbezeichnung ein.
'; if($input['bezeichnung_en'] =='') $error .= 'Geben Sie bitte eine englische Sprachbezeichnung ein.
'; if($this->app->DB->Select("SELECT '1' FROM sprachen WHERE iso='{$input['iso']}' AND id <> '$id' LIMIT 1")=='1') $error .= "Es existiert bereits ein ISO-Code mit diesem Namen.
"; if($error!=''){ $this->app->Tpl->Set('MESSAGE', "
$error
"); }else{ if($error == ""){ $this->app->DB->Update("UPDATE sprachen SET iso='{$input['iso']}', bezeichnung_de='{$input['bezeichnung_de']}', bezeichnung_en='{$input['bezeichnung_en']}' , aktiv='{$input['aktiv']}' WHERE id = '$id' LIMIT 1"); $this->app->Tpl->Set('MESSAGE', "
Die Einstellungen wurden erfolgreich übernommen.
"); } } } $iso = $this->app->DB->Select("SELECT iso FROM sprachen WHERE id = '$id'"); $bezeichnung_de = $this->app->DB->Select("SELECT bezeichnung_de FROM sprachen WHERE id = '$id'"); $bezeichnung_en = $this->app->DB->Select("SELECT bezeichnung_en FROM sprachen WHERE id = '$id'"); if($id) { $aktiv = $this->app->DB->Select("SELECT aktiv FROM sprachen WHERE id = '$id'"); }else{ $aktiv = 1; } $this->app->Tpl->Set('ISO', $iso); $this->app->Tpl->Set('BEZEICHNUNG_DE', $bezeichnung_de); $this->app->Tpl->Set('BEZEICHNUNG_EN', $bezeichnung_en); if($aktiv)$this->app->Tpl->Set('AKTIV', ' checked="checked" '); //$this->SetInput($input); $this->app->Tpl->Parse('PAGE', "sprachen_edit.tpl"); } function SprachenDelete() { $ref = $_SERVER['HTTP_REFERER']; $id = $this->app->Secure->GetGET("id"); $iso = $this->app->DB->Select("SELECT iso FROM sprachen WHERE id = '$id' LIMIT 1"); if(in_array($iso,array('DE','EN'))) { $this->app->DB->Update("UPDATE sprachen SET aktiv = 0 WHERE id = '$id' LIMIT 1"); }else{ $this->app->DB->Delete("DELETE FROM sprachen WHERE id = '$id' LIMIT 1"); } //$this->VorlageList(); header("Location: $ref"); exit; } function SprachenCreate(){ // $this->app->Tpl->Add(KURZUEBERSCHRIFT,"Benutzer"); $this->app->erp->MenuEintrag("index.php?module=sprachen&action=list","Zurück zur Übersicht"); $input = $this->GetInput(); $submit = $this->app->Secure->GetPOST('submitsprache'); if($submit!='') { $error = ''; if($input['iso']=='' || strlen(trim($input['iso'])) > 2) $error .= 'Geben Sie bitte einen zweistelligen ISO-Code ein.
'; if($input['bezeichnung_de']=='') $error .= 'Geben Sie bitte eine deutsche Sprachbezeichnung ein.
'; if($input['bezeichnung_en']=='') $error .= 'Geben Sie bitte eine englische Sprachbezeichnung ein.
'; if($this->app->DB->Select("SELECT '1' FROM sprachen WHERE iso='{$input['iso']}' LIMIT 1")=='1') $error .= "Es existiert bereits ein ISO-Code mit diesem Namen.
"; if($error!=''){ $this->app->Tpl->Set('MESSAGE', "
$error
"); }else { $this->app->DB->Insert("INSERT INTO sprachen (iso, bezeichnung_de, bezeichnung_en, aktiv) VALUES ('{$input['iso']}', '{$input['bezeichnung_de']}', '{$input['bezeichnung_en']}','{$input['aktiv']}')"); $newid = $this->app->DB->GetInsertID(); $msg = $this->app->erp->base64_url_encode("
Der Spracheintrag wurde erfolgreich angelegt.
"); header("Location: index.php?module=sprachen&action=edit&id=$newid&msg=$msg"); exit; } } $this->SetInput($input); $this->app->Tpl->Parse('PAGE', "sprachen_edit.tpl"); } function GetInput(){ $input = array(); $input['iso'] = $this->app->Secure->GetPOST('iso'); $input['bezeichnung_de'] = $this->app->Secure->GetPOST('bezeichnung_de'); $input['bezeichnung_en'] = $this->app->Secure->GetPOST('bezeichnung_en'); $input['aktiv'] = (int)$this->app->Secure->GetPOST('aktiv'); return $input; } function SetInput($input){ $this->app->Tpl->Set('ISO', $input['iso']); $this->app->Tpl->Set('BEZEICHNUNG_DE', $input['bezeichnung_de']); $this->app->Tpl->Set('BEZEICHNUNG_EN', $input['bezeichnung_en']); if($input['aktiv'] || $this->app->Secure->GetGET('action')=='create')$this->app->Tpl->Set('AKTIV', ' checked="checked" '); } }