app=$app; if($intern)return; $this->app->ActionHandlerInit($this); $this->app->ActionHandler("create","EmailbackupCreate"); $this->app->ActionHandler("delete","EmailbackupDelete"); $this->app->ActionHandler("edit","EmailbackupEdit"); $this->app->ActionHandler("list","EmailbackupList"); $this->app->DefaultActionHandler("list"); //$this->Templates = $this->GetTemplates(); $this->app->ActionHandlerListen($app); } public function Install() { } function EmailbackupList() { $this->app->erp->MenuEintrag("index.php?module=uservorlage&action=list","Übersicht"); $this->app->erp->MenuEintrag("index.php?module=uservorlage&action=history","Historie"); $this->app->erp->MenuEintrag("index.php?module=uservorlage&action=create","Neue Benutzervorlage anlegen"); $this->app->erp->MenuEintrag("index.php?module=einstellungen&action=list","Zurück zur Übersicht"); $this->app->YUI->TableSearch('ACCOUNT_TABLE','mailaccount_list',"show","","",basename(__FILE__), __CLASS__); $this->app->Tpl->Parse('PAGE', "emailbackup_list.tpl"); } static function TableSearch(&$app, $name, $erlaubtevars) { switch ($name) { case "mailaccount_list": $allowed['mailaccount_list'] = array('list'); $heading = array('Adresse', 'Angezeigter Name','Ticket','Emailbackup', 'Menü'); $width = array('40%','50%', '10%'); $findcols = array('id','email', 'angezeigtername','ticket','emailbackup'); $searchsql = array('id','email', 'angezeigtername'); $defaultorder = 1; $defaultorderdesc = 0; $menu = "
"."Conf->WFconf['defaulttheme']}/images/edit.png\" border=\"0\"> " . "Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\">"."
"; $sql = "SELECT id, email, angezeigtername, CASE WHEN ticket=1 THEN 'Ja' ELSE '' END, CASE WHEN emailbackup=1 THEN 'Ja' ELSE '' END, id FROM emailbackup"; // $where = "m.geloescht = 0"; $groupby = ""; // $count = "SELECT count(DISTINCT id) FROM emailbackup WHERE $where"; break; } $erg = false; foreach($erlaubtevars as $k => $v) { if(isset($$v))$erg[$v] = $$v; } return $erg; } public function UservorlageDelete(): void { $id = (int)$this->app->Secure->GetGET('id'); $benutzervorlage = $this->app->DB->Select("SELECT bezeichnung FROM `uservorlage` WHERE id='$id' LIMIT 1"); $users = $this->app->DB->Select("SELECT `username` FROM `user` WHERE `vorlage` = '$benutzervorlage'"); $prefix = "\""; if (!empty($users)) { $usernames = ""; if (is_array($users)) { foreach ($users as $user) { $usernames = $usernames.$prefix.$user[0]."\""; $prefix = ", \""; } } else { $usernames = $users; } $this->app->Tpl->Set('MESSAGE', "
{|Benutzervorlage \"$benutzervorlage\" ist in Benutzung durch ".$usernames.".|}
"); } else { $this->app->DB->Delete("DELETE FROM `uservorlage` WHERE `id` = '{$id}'"); $this->app->DB->Delete("DELETE FROM `uservorlagerights` WHERE `vorlage` = '{$id}'"); $this->app->Tpl->Set('MESSAGE', "
Die Benutzervorlage \"$benutzervorlage\" wurde gelöscht.
"); } $this->UservorlageList(); } function UservorlageCreate() { $this->app->erp->MenuEintrag("index.php?module=uservorlage&action=list","Zurück zur Übersicht"); $input = $this->GetInput(); $submit = $this->app->Secure->GetPOST('submituservorlage'); $error = ''; $maxlightuser = 0; if($submit!='') { if($input['bezeichnung']=='') { $error .= 'Geben Sie bitte einen Vorlagennamen ein.
'; } if($this->app->DB->Select("SELECT '1' FROM `uservorlage` WHERE bezeichnung='{$input['bezeichnung']}' LIMIT 1")=='1') { $error .= "Es existiert bereits eine Vorlage mit diesem Namen"; } if($error!=='') $this->app->Tpl->Set('MESSAGE', "
$error
"); else { $id = $this->app->erp->CreateBenutzerVorlage($input); $msg = $this->app->erp->base64_url_encode("
Die Benutzervorlage wurde erfolgreich angelegt.
"); header("Location: index.php?module=uservorlage&action=edit&id=$id&msg=$msg"); exit; } } $this->SetInput($input); $this->app->Tpl->Set('ACTIVCHECKED',"checked"); $this->app->Tpl->Set('VORRECHTE',""); $extra = ' if($(\'#hwtoken\').val() == \'4\' || $(\'#hwtoken\').val() == \'5\') { message = \'\'; } '; $this->app->YUI->PasswordCheck('password', 'repassword', 'username', 'submit', $extra); $this->app->Tpl->Parse('PAGE', "uservorlage_edit.tpl"); } function EmailbackupEdit() { $id = $this->app->Secure->GetGET('id'); $this->app->Tpl->Set('ID', $id); $this->app->erp->MenuEintrag("index.php?module=emailbackup&action=edit&id=$id","Details"); $this->app->erp->MenuEintrag("index.php?module=emailbackup&action=list","Zurück zur Übersicht"); $id = $this->app->Secure->GetGET('id'); $input = $this->GetInput(); $submit = $this->app->Secure->GetPOST('submitemailbackup'); // Input GET if(is_numeric($id) && $submit!='') { $error = ''; if ($input['bezeichnung']=='') { $error .= 'Geben Sie bitte eine Bezeichnung ein.
'; } else { $this->app->DB->Update( sprintf( "UPDATE `uservorlage` SET bezeichnung='%s', beschreibung='%s' WHERE id=%d LIMIT 1", $input['bezeichnung'], $input['beschreibung'], $id ) ); $this->app->Tpl->Set('MESSAGE', "
Die Einstellungen wurden erfolgreich übernommen.
"); } } // END Input Get $email = $this->app->DB->Select("SELECT email FROM `emailbackup` WHERE id='$id' LIMIT 1"); $angezeigtername = $this->app->DB->Select("SELECT angezeigtername FROM `emailbackup` WHERE id='$id' LIMIT 1"); $this->app->Tpl->Add('KURZUEBERSCHRIFT2',$email); $this->app->Tpl->Add('EMAIL',$email); $this->app->Tpl->Add('ANGEZEIGTERNAME',$angezeigtername); $this->app->Tpl->Parse('PAGE', "emailbackup_edit.tpl"); } /** * @return array */ public function GetInput(): array { $input = array(); $input['EMAIL'] = $this->app->Secure->GetPOST('email'); $input['ANGEZEIGTERNAME'] = $this->app->Secure->GetPOST('angezeigtername'); return $input; } function SetInput($input) { $this->app->Tpl->Set('EMAIL', $input['email']); $this->app->Tpl->Set('ANGEZEIGTERNAME', $input['angezeigtername']); } }