YUI->TableSearchFilter($name, 5, 'inaktiv', '0', 0, 'checkbox'); $fmeinerueckrufe = $app->YUI->TableSearchFilter($name, 5, 'meinerueckrufe', '0', 0, 'checkbox'); $fmeinevergebenenrueckrufe = $app->YUI->TableSearchFilter($name, 6, 'meinevergebenenrueckrufe', '0', 0, 'checkbox'); $fauchabgeschlossene = $app->YUI->TableSearchFilter($name, 7, 'auchabgeschlossene', '0', 0, 'checkbox'); if($fmeinerueckrufe == 1){ $subwhere .= " AND t.rueckrufvon = ".$app->User->GetAdresse(); }else{ $subwhere .= ""; } if($fmeinevergebenenrueckrufe == 1){ $subwhere .= " AND t.angenommenvon = ".$app->User->GetAdresse(); }else{ $subwhere .= ""; } if($fauchabgeschlossene == 1){ $subwhere .= ""; }else{ $subwhere .= " AND t.abgeschlossen = 0"; } $where = " t.id > 0".$subwhere; $sql = "SELECT SQL_CALC_FOUND_ROWS t.id, 'Conf->WFconf['defaulttheme']."/images/details_open.png class=details>' as open, DATE_FORMAT(t.datum,'%d.%m.%Y') as datum, t.zeit, if(t.adresse != '', a.name, t.adressetext), if(t.angenommenvon != '', a2.name, ''), if(t.rueckrufvon != '', a3.name, ''), t.telefonnummer, (SELECT COUNT(tv.id) FROM telefonrueckruf_versuche tv WHERE tv.telefonrueckruf = t.id) as anzahlversuche, CONCAT('
', 'Conf->WFconf['defaulttheme']}/images/edit.svg\" border=\"0\"> ', 'Conf->WFconf['defaulttheme']}/images/delete.svg\" border=\"0\"> ', IF(t.abgeschlossen = 0, CONCAT('Conf->WFconf['defaulttheme']}/images/ack.png\" border=\"0\"> '),''), '
') as x, t.id FROM telefonrueckruf t LEFT JOIN adresse a ON t.adresse = a.id LEFT JOIN adresse a2 ON t.angenommenvon = a2.id LEFT JOIN adresse a3 ON t.rueckrufvon = a3.id"; $count = "SELECT count(t.id) FROM telefonrueckruf t WHERE $where"; break; case "telefonrueckruf_versuche": $allowed['telefonrueckruf'] = array('edit'); $heading = array('', 'Datum', 'Bearbeiter', 'Menü'); $width = array('1%', '30%', '70%', '1%'); $findcols = array('open', "CONCAT(tv.datum, ' ', tv.zeit)", "CONCAT(a.name, '
', LEFT(tv.beschreibung,50))", 'tv.id'); $searchsql = array('tv.datum', 'tv.zeit', 'a.name', 'tv.beschreibung','tv.id'); $defaultorder = 1; $defaultorderdesc = 0; $datecols = array(1); $disablebuttons=true; $moreinfo = true; $menucol = 4; $telefonrueckrufid = $app->Secure->GetGET("more_data1"); $menu = ""; $menu .= ""; $menu .= ""; $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 .= "
"; $where = " tv.id > 0 AND tv.telefonrueckruf = '$telefonrueckrufid'"; $sql = "SELECT SQL_CALC_FOUND_ROWS tv.id, 'Conf->WFconf['defaulttheme']."/images/details_open.png class=details>' as open, CONCAT(DATE_FORMAT(tv.datum,'%d.%m.%Y'), ' ', tv.zeit), CONCAT('',a.name,'
', LEFT(tv.beschreibung,50)), tv.id FROM telefonrueckruf_versuche tv LEFT JOIN adresse a ON tv.bearbeiter = a.id"; $count = "SELECT count(tv.id) FROM telefonrueckruf_versuche tv 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", "TelefonrueckrufList"); $this->app->ActionHandler("edit", "TelefonrueckrufEdit"); $this->app->ActionHandler("save", "TelefonrueckrufSave"); $this->app->ActionHandler("delete", "TelefonrueckrufDelete"); $this->app->ActionHandler("abgeschlossen", "TelefonrueckrufAbgeschlossen"); $this->app->ActionHandler("editversuch", "TelefonrueckrufVersuchEdit"); $this->app->ActionHandler("saveversuch", "TelefonrueckrufVersuchSave"); $this->app->ActionHandler("deleteversuch", "TelefonrueckrufVersuchDelete"); $this->app->ActionHandler("minidetail", "TelefonrueckrufVersucheMinidetail"); $this->app->ActionHandler("minidetailrueckruf", "TelefonrueckrufMinidetail"); $this->app->ActionHandlerListen($app); } function Install(){ $this->app->erp->CheckTable("telefonrueckruf"); $this->app->erp->CheckColumn("id", "int(11)", "telefonrueckruf", "NOT NULL AUTO_INCREMENT"); $this->app->erp->CheckColumn("datum", "date", "telefonrueckruf", "NOT NULL"); $this->app->erp->CheckColumn("zeit", "time", "telefonrueckruf", "NOT NULL"); $this->app->erp->CheckColumn("adresse", "int(11)", "telefonrueckruf", "NOT NULL DEFAULT 0"); $this->app->erp->CheckColumn("adressetext", "varchar(255)", "telefonrueckruf", "NOT NULL"); $this->app->erp->CheckColumn("grund", "varchar(255)", "telefonrueckruf", "NOT NULL"); $this->app->erp->CheckColumn("angenommenvon", "int(11)", "telefonrueckruf", "NOT NULL DEFAULT 0"); $this->app->erp->CheckColumn("rueckrufvon", "int(11)", "telefonrueckruf", "NOT NULL DEFAULT 0"); $this->app->erp->CheckColumn("telefonnummer", "varchar(255)", "telefonrueckruf", "NOT NULL"); $this->app->erp->CheckColumn("kommentar", "text", "telefonrueckruf", "NOT NULL"); $this->app->erp->CheckColumn("abgeschlossen", "tinyint", "telefonrueckruf", "NOT NULL DEFAULT 0"); $this->app->erp->CheckIndex("telefonrueckruf", "rueckrufvon"); $this->app->erp->CheckTable("telefonrueckruf_versuche"); $this->app->erp->CheckColumn("id", "int(11)", "telefonrueckruf_versuche", "NOT NULL AUTO_INCREMENT"); $this->app->erp->CheckColumn("telefonrueckruf", "int(11)", "telefonrueckruf_versuche", "NOT NULL DEFAULT 0"); $this->app->erp->CheckColumn("datum", "date", "telefonrueckruf_versuche", "NOT NULL"); $this->app->erp->CheckColumn("zeit", "time", "telefonrueckruf_versuche", "NOT NULL"); $this->app->erp->CheckColumn("bearbeiter", "int(11)", "telefonrueckruf_versuche", "NOT NULL DEFAULT 0"); $this->app->erp->CheckColumn("beschreibung", "text", "telefonrueckruf_versuche", "NOT NULL"); $this->app->erp->CheckIndex("telefonrueckruf_versuche", "telefonrueckruf"); $this->app->DB->Query("ALTER TABLE telefonrueckruf_versuche MODIFY beschreibung text"); $this->app->erp->RegisterHook('eproosystem_ende','telefonrueckruf','TelefonrueckrufAnzahl'); } function TelefonrueckrufAnzahl($tpl="") { $anzahl = $this->app->DB->Select("SELECT COUNT(id) FROM telefonrueckruf WHERE rueckrufvon='".$this->app->User->GetAdresse()."' AND abgeschlossen!=1"); if($anzahl <=0) $anzahl=""; $this->app->Tpl->Set("ANZAHLTELEFON",$anzahl); } function TelefonrueckrufMenu() { $this->app->erp->MenuEintrag("index.php?module=telefonrueckruf&action=list","Zurück zur Übersicht"); $this->app->erp->MenuEintrag("index.php?module=telefonrueckruf&action=list","Übersicht"); $this->app->erp->MenuEintrag("TelefonrueckrufEdit(0)","Neuer Eintrag"); } function TelefonrueckrufList() { $this->TelefonrueckrufMenu(); $this->app->Tpl->Set("KURZUEBERSCHRIFT","Telefonrückruf"); $this->app->YUI->AutoComplete("evon", "adresse"); $this->app->YUI->AutoComplete("emitarbeiter", "mitarbeiteraktuell"); $this->app->YUI->DatePicker("edatum"); $this->app->YUI->TimePicker("ezeit"); $this->app->YUI->CkEditor("ebeschreibung", "basic", array("width"=>"300")); $this->app->YUI->CkEditor("enotiz", "basic", array("width"=>"400", "height"=>"100")); $this->app->YUI->TableSearch('TAB1','telefonrueckruf_list', "show","","",basename(__FILE__), __CLASS__); $this->app->YUI->TableSearch('VERSUCHE', 'telefonrueckruf_versuche', "show", "","",basename(__FILE__), __CLASS__); $this->app->Tpl->Parse("PAGE","telefonrueckruf_list.tpl"); } function TelefonrueckrufEdit() { if($this->app->Secure->GetGET('cmd')=='get'){ $id = (int)$this->app->Secure->GetPOST('id'); $data = $this->app->DB->SelectArr("SELECT t.id, t.datum, t.zeit, t.adresse, t.adressetext, t.grund, t.rueckrufvon, t.telefonnummer, t.kommentar FROM telefonrueckruf t WHERE t.id = '$id' LIMIT 1"); if($data){ $data = reset($data); if($data['adresse'] != "" && $data['adresse'] > 0){ $adressid = $this->app->DB->Select("SELECT id FROM adresse WHERE id = '".$data['adresse']."' LIMIT 1"); if($adressid != ""){ $adressname = $this->app->DB->Select("SELECT name FROM adresse WHERE id = '$adressid' LIMIT 1"); if($adressname != ""){ $kundennr = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE id = '$adressid' LIMIT 1"); $lieferantennr = $this->app->DB->Select("SELECT lieferantennummer FROM adresse WHERE id = '$adressid' LIMIT 1"); $restadresse = ""; $restadresse .= "(Kdr: ".$kundennr." "; if($lieferantennr != ""){ $restadresse .= "Liefr: ".$lieferantennr; } $restadresse .= ")"; $data['von'] = $adressid." ".$adressname." ".$restadresse; } } }else{ $data['von'] = $data['adressetext']; } $data['datum'] = date('d.m.Y',strtotime($data['datum'])); $data['zeit'] = date('H:i',strtotime($data['zeit'])); if($data['rueckrufvon'] == 0){ $data['rueckrufvon'] = ''; }else{ $mitarbeiternummer = $this->app->DB->Select("SELECT mitarbeiternummer FROM adresse WHERE id = '".$data['rueckrufvon']."' LIMIT 1"); if($mitarbeiternummer != ""){ $mitarbeitername = $this->app->DB->Select("SELECT name FROM adresse WHERE id = '".$data['rueckrufvon']."' LIMIT 1"); $data['rueckrufvon'] = $mitarbeiternummer." ".$mitarbeitername; } } }else{ $data['id'] = 0; $data['datum'] = ''; $data['zeit'] = ''; $data['von'] = ''; $data['grund'] = ''; $data['rueckrufvon'] = ''; $data['telefonnummer'] = ''; $data['beschreibung'] = ''; } echo json_encode($data); exit; } $this->app->Tpl->Parse('PAGE', "telefonrueckruf_list.tpl"); } function TelefonrueckrufSave() { $id = (int)$this->app->Secure->GetPOST('id'); $datum = trim($this->app->Secure->GetPOST('datum')); $zeit = trim($this->app->Secure->GetPOST('zeit')); $adresse = trim($this->app->Secure->GetPOST('von')); $grund = $this->app->Secure->GetPOST('grund'); $kommentar = $this->app->Secure->GetPOST('beschreibung'); $telefonnummer = $this->app->Secure->GetPOST('telefon'); $rueckrufvon = $this->app->Secure->GetPOST('mitarbeiter'); $error = ""; if($datum != ""){ $datum = date('Y-m-d',strtotime($datum)); }else{ $datum = date('Y-m-d'); } if($zeit != ""){ $zeit = date('H:i:s',strtotime($zeit)); }else{ $zeit = date('H:i:s'); } if($adresse != ""){ $adressetmp = explode(" ", $adresse); $adressid = $adressetmp[0]; if(is_numeric($adressid)){ $adressid = $this->app->DB->Select("SELECT id FROM adresse WHERE id = '$adressid' LIMIT 1"); if($adressid != ""){ }else{ $adressetext = $adresse; } }else{ $adressetext = $adresse; } }else{ $error = "Bitte Von ausfüllen"."\n"; } if($rueckrufvon != ""){ $rueckrufvon = explode(" ", $rueckrufvon); $rueckrufvonnr = $rueckrufvon[0]; $rueckrufvonid = $this->app->DB->Select("SELECT id FROM adresse WHERE mitarbeiternummer = '$rueckrufvonnr' LIMIT 1"); if($rueckrufvonid != ""){ }else{ $error .= "Bitte gültigen Mitarbeiter auswählen"."\n"; } } if($error == ""){ if($id){ $this->app->DB->Update("UPDATE telefonrueckruf SET datum = '$datum', zeit = '$zeit', grund = '$grund', adresse = '$adressid', adressetext = '$adressetext', kommentar = '$kommentar', telefonnummer = '$telefonnummer', rueckrufvon = '$rueckrufvonid' WHERE id = '$id'"); echo json_encode(array('status'=>1)); exit; }else{ $this->app->DB->Insert("INSERT INTO telefonrueckruf (datum, zeit, grund, adresse, adressetext, kommentar, telefonnummer, rueckrufvon, angenommenvon) VALUES ('$datum', '$zeit', '$grund', '$adressid', '$adressetext', '$kommentar', '$telefonnummer', '$rueckrufvonid', ".$this->app->User->GetAdresse().")"); echo json_encode(array('status'=>1)); exit; } }else{ echo json_encode(array('status'=>0,'statusText'=>$error)); exit; } } function TelefonrueckrufDelete() { $id = (int) $this->app->Secure->GetPOST('id'); $this->app->DB->Update("DELETE FROM telefonrueckruf WHERE id = '$id'"); echo json_encode(array('status'=>1)); exit; } function TelefonrueckrufAbgeschlossen() { $id = (int) $this->app->Secure->GetPOST('id'); $this->app->DB->Update("UPDATE telefonrueckruf SET abgeschlossen = 1 WHERE id = '$id'"); echo json_encode(array('status'=>1)); exit; } function TelefonrueckrufVersuchEdit(){ if($this->app->Secure->GetGET('cmd')=='get'){ $id = (int)$this->app->Secure->GetPOST('id'); $data = $this->app->DB->SelectArr("SELECT tv.id, tv.beschreibung, tv.telefonrueckruf FROM telefonrueckruf_versuche tv WHERE tv.id = '$id' LIMIT 1"); if($data){ $data = reset($data); }else{ $data['id'] = 0; $data['beschreibung'] = ''; } echo json_encode($data); exit; } $this->app->Tpl->Parse('PAGE', "telefonrueckruf_list.tpl"); } function TelefonrueckrufVersuchSave(){ $id = (int)$this->app->Secure->GetPOST('id'); $beschreibung = trim($this->app->Secure->GetPOST('beschreibung')); $telefonrueckruf = (int)$this->app->Secure->GetPOST('telefonrueckruf'); $error = ""; if($telefonrueckruf > 0){ $telefonrueckrufcheck = $this->app->DB->Select("SELECT id FROM telefonrueckruf WHERE id = '$telefonrueckruf' LIMIT 1"); if($telefonrueckrufcheck != ""){ }else{ $error .= "Kein gültiger Telefonrückruf ausgewählt"."\n"; } }else{ $error .= "Kein gültiger Telefonrückruf ausgewählt"."\n"; } if($error == ""){ if($id){ $this->app->DB->Update("UPDATE telefonrueckruf_versuche SET beschreibung = '$beschreibung' WHERE id = '$id'"); echo json_encode(array('status'=>1)); exit; }else{ $datum = date('Y-m-d'); $zeit = date('H:i:s'); $this->app->DB->Insert("INSERT INTO telefonrueckruf_versuche (telefonrueckruf, datum, zeit, bearbeiter, beschreibung) VALUES ('$telefonrueckruf', '$datum', '$zeit', ".$this->app->User->GetAdresse().", '$beschreibung')"); echo json_encode(array('status'=>1)); exit; } }else{ echo json_encode(array('status'=>0,'statusText'=>$error)); exit; } } function TelefonrueckrufVersuchDelete(){ $id = (int) $this->app->Secure->GetPOST('id'); $this->app->DB->Update("DELETE FROM telefonrueckruf_versuche WHERE id = '$id'"); echo json_encode(array('status'=>1)); exit; } function TelefonrueckrufVersucheMinidetail(){ $id = $this->app->Secure->GetGET('id'); $table = new EasyTable($this->app); $table->Query("SELECT beschreibung FROM telefonrueckruf_versuche WHERE id = '$id' AND beschreibung != '' LIMIT 1"); $table->DisplayNew("TABELLE","Notiz","noAction"); $this->app->Tpl->Output("telefonrueckruf_versuch_minidetail.tpl"); exit; } function TelefonrueckrufMinidetail(){ $id = $this->app->Secure->GetGET('id'); $table = new EasyTable($this->app); $table->Query("SELECT kommentar FROM telefonrueckruf WHERE id = '$id' LIMIT 1"); $table->DisplayNew("TABELLE","Notiz","noAction"); $table2 = new EasyTable($this->app); $table2->Query("SELECT DATE_FORMAT(tv.datum, '%d.%m.%Y') as datum, tv.zeit, a.name, tv.beschreibung FROM telefonrueckruf_versuche tv LEFT JOIN adresse a on tv.bearbeiter = a.id WHERE tv.id > 0 AND tv.telefonrueckruf = '$id' ORDER BY tv.datum DESC, tv.zeit DESC"); $table2->DisplayNew("TABELLE2", "Notiz Versuche", "noAction"); $this->app->Tpl->Output("telefonrueckruf_minidetail.tpl"); exit; } }