diff --git a/www/eproosystem.php b/www/eproosystem.php
index 0dd40156..ffb1762a 100644
--- a/www/eproosystem.php
+++ b/www/eproosystem.php
@@ -443,10 +443,10 @@ class erpooSystem extends Application
// Creates user specific items
$possibleUserItems = [
-/* 'Inbox' => [
- 'link' => 'index.php?module=ticket&action=offene',
+ 'Tickets' => [
+ 'link' => 'index.php?module=ticket&action=list',
'counter' => $this->erp->AnzahlOffeneTickets()
- ],*/
+ ],
'Aufgaben' => [
'link' => 'index.php?module=aufgaben&action=list',
'counter' => $this->erp->AnzahlOffeneAufgaben()
diff --git a/www/lib/class.erpapi.php b/www/lib/class.erpapi.php
index f9e14437..025be38a 100644
--- a/www/lib/class.erpapi.php
+++ b/www/lib/class.erpapi.php
@@ -2631,7 +2631,7 @@ public function NavigationHooks(&$menu)
public function AnzahlOffeneTickets($eigene=true)
{
- return 0;
+ return (int)$this->app->DB->Select("SELECT COUNT(t.id) FROM ticket t WHERE t.status = 'neu' AND t.warteschlange IN (SELECT w.adresse FROM warteschlangen w WHERE w.adresse = '".$this->app->User->GetAdresse()."')");
}
diff --git a/www/pages/content/einstellungen.tpl b/www/pages/content/einstellungen.tpl
index 5a0c27f8..455ef03d 100644
--- a/www/pages/content/einstellungen.tpl
+++ b/www/pages/content/einstellungen.tpl
@@ -24,7 +24,7 @@
{|Ticket Vorlagen|} |
- {|Warteschlangen|} |
+ {|Ticket Warteschlangen|} |
{|Artikel Kategorien|} |
{|Artikel Einheiten|} |
diff --git a/www/pages/einstellungen.php b/www/pages/einstellungen.php
index afa01aba..b4b08559 100644
--- a/www/pages/einstellungen.php
+++ b/www/pages/einstellungen.php
@@ -1,702 +1,702 @@
-app=$app;
- if($intern) {
- return;
- }
-
- $this->app->ActionHandlerInit($this);
-
- $this->app->ActionHandler("create","EinstellungenCreate");
- $this->app->ActionHandler("edit","EinstellungenEdit");
- $this->app->ActionHandler("list","EinstellungenList");
- $this->app->ActionHandler("betaprogram", "EinstellungenBetaProgram");
- $this->app->ActionHandler("category","SettingsCategoryApps");
- $this->app->ActionHandlerListen($app);
-
- $this->app->Tpl->Set('UEBERSCHRIFT',"Einstellungen");
- $this->app->Tpl->Set('FARBE',"[FARBE5]");
- }
-
- /**
- * @param bool $parameter
- *
- * @return null|string
- */
- protected function sendBeta($parameter)
- {
- $setBeta = $parameter;
- $updateResultStatus = null;
- include_once dirname(__DIR__, 2).'/upgradesystemclient2_includekey.php';
-
- return $updateResultStatus;
- }
-
- /**
- * @param bool $betaStatus
- */
- public function tryChangeBetaStatusAndLocateToSite(bool $betaStatus): void
- {
- $updateServerResult = $this->sendBeta($betaStatus);
- if($updateServerResult === 'OK') {
- $this->app->User->SetParameter('updatekey', 1);
- $this->app->User->SetParameter('einstellungen_beta_activated', $betaStatus ? '1' : '');
- /** @var Appstore $appStore */
- $appStore = $this->app->loadModule('appstore');
- $appStore->resetBuyListCache();
- $appStore->resetBuyInfoCache();
- $this->app->Location->execute('index.php?module=einstellungen&action=betaprogram&cmd=updatekey');
- }
- if($betaStatus) {
- $msg = $this->app->erp->base64_url_encode(
- 'Das Beta-Programm konnte nicht aktiviert werden
'
- );
- }
- else {
- $msg = $this->app->erp->base64_url_encode(
- 'Das Beta-Programm konnte nicht beendet werden
'
- );
- }
- $this->app->Location->execute('index.php?module=einstellungen&action=betaprogram&msg='.$msg);
- }
-
- /**
- * @return void
- */
- public function EinstellungenBetaProgram()
- {
- $cmd = $this->app->Secure->GetGET('cmd');
- if($cmd === 'updatekey') {
- include dirname(dirname(__DIR__)).'/version.php';
- $this->app->User->SetParameter('updatekey','');
- include_once dirname(dirname(__DIR__)).'/upgradesystemclient2_includekey.php';
- $this->app->Location->execute('index.php?module=einstellungen&action=betaprogram');
- }
- if($this->app->Secure->GetPOST('deactivate')) {
- $this->tryChangeBetaStatusAndLocateToSite(false);
- }
- if($this->app->Secure->GetPOST('beta-agreement')) {
- $this->tryChangeBetaStatusAndLocateToSite(true);
- }
-
- $openPopup = !empty($this->app->User->GetParameter('einstellungen_beta_activated'));
-
- if($openPopup) {
- $this->app->User->SetParameter('einstellungen_beta_activated', '');
- $this->app->Tpl->Set('BETAOPEN', '1');
- }
- else {
- $this->app->Tpl->Set('BETAOPEN', '');
- }
-
- $this->app->erp->MenuEintrag('index.php?module=einstellungen&action=betaprogram', 'Beta Programm');
- if(!empty(erpAPI::Ioncube_Property('isbetaactive'))) {
- $this->app->Tpl->Set('BEFORESHOWIFBETADEACTIVATED', '');
- }
- else {
- $this->app->Tpl->Set('BEFORESHOWIFBETAACTIVATED', '');
- }
- $this->app->erp->Headlines('Beta Programm');
- $this->app->Tpl->Parse('PAGE', 'einstellungen_betaprogram.tpl');
- }
-
- /**
- * @return string[][][]
- */
- public function getModulesByCategory()
- {
- return [
- 'System' => [
- 'firmendaten' => [
- 'name' => 'Grundeinstellungen',
- 'icon' => 'Icons_dunkel_1.gif',
- 'link' => 'index.php?module=firmendaten&action=edit',
- ],
- 'benutzer' => [
- 'name' => 'Benutzer',
- 'icon' => 'Icons_dunkel_2.gif',
- 'link' => 'index.php?module=benutzer&action=list',
- ],
- 'geschaeftsbrief_vorlagen' => [
- 'name' => 'Geschäftsbrief Vorlagen',
- 'icon' => 'Icons_dunkel_3.gif',
- 'link' => 'index.php?module=geschaeftsbrief_vorlagen&action=list',
- ],
- 'emailbackup' => [
- 'name' => 'E-Mail Accounts',
- 'icon' => 'Icons_dunkel_4.gif',
- 'link' => 'index.php?module=emailbackup&action=list',
- ],
- 'ticket_vorlage' => [
- 'name' => 'Ticket Vorlagen',
- 'icon' => 'Icons_dunkel_5.gif',
- 'link' => 'index.php?module=ticket_vorlage&action=list',
- ],
- 'warteschlangen' => [
- 'name' => 'Warteschlangen',
- 'icon' => 'Icons_dunkel_6.gif',
- 'link' => 'index.php?module=warteschlangen&action=list',
- ],
- 'artikelkategorien' => [
- 'name' => 'Artikel Kategorien',
- 'icon' => 'Icons_dunkel_15.gif',
- 'link' => 'index.php?module=artikelkategorien&action=list',
- ],
- 'artikeleinheit' => [
- 'name' => 'Artikel Einheiten',
- 'icon' => 'Icons_dunkel_14.gif',
- 'link' => 'index.php?module=artikeleinheit&action=list',
- ],
- 'gruppen' => [
- 'name' => 'Gruppen',
- 'icon' => 'Icons_dunkel_2.gif',
- 'link' => 'index.php?module=gruppen&action=list',
- ],
- 'uservorlage' => [
- 'name' => 'Benutzer Vorlage',
- 'icon' => 'Icons_dunkel_2.gif',
- 'link' => 'index.php?module=uservorlage&action=list',
- ],
- 'laender' => [
- 'name' => 'Länderliste',
- 'icon' => 'Icons_dunkel_14.gif',
- 'link' => 'index.php?module=laender&action=list',
- ],
- 'kalender' => [
- 'name' => 'Kalender Gruppen',
- 'icon' => 'Icons_dunkel_2.gif',
- 'link' => 'index.php?module=kalender&action=gruppenlist',
- ],
- 'prozessstarter' => [
- 'name' => 'Prozessstarter',
- 'icon' => 'Icons_dunkel_22.gif',
- 'link' => 'index.php?module=prozessstarter&action=list',
- ],
- 'welcome' => [
- 'name' => 'Lizenz',
- 'icon' => 'Icons_dunkel_23.gif',
- 'link' => 'index.php?module=welcome&action=info',
- ],
- 'drucker' => [
- 'name' => 'Drucker',
- 'icon' => 'Icons_dunkel_24.gif',
- 'link' => 'index.php?module=drucker&action=list',
- ],
- 'adapterbox' => [
- 'name' => 'Adapterbox',
- 'icon' => 'Icons_dunkel_25.gif',
- 'link' => 'index.php?module=adapterbox&action=list',
- ],
- 'protokoll' => [
- 'name' => 'Protokoll',
- 'icon' => 'Icons_dunkel_22.gif',
- 'link' => 'index.php?module=protokoll&action=list',
- ],
- 'etiketten' => [
- 'name' => 'Etiketten',
- 'icon' => 'Icons_dunkel_14.gif',
- 'link' => 'index.php?module=etiketten&action=list',
- ],
- 'uebersetzung' => [
- 'name' => 'Übersetzungen',
- 'icon' => 'Icons_dunkel_14.gif',
- 'link' => 'index.php?module=uebersetzung&action=list',
- ],
- 'arbeitsfreietage' => [
- 'name' => 'Arbeitsfreie Tage',
- 'icon' => 'Icons_dunkel_14.gif',
- 'link' => 'index.php?module=arbeitsfreietage&action=list',
- ],
- 'support' => [
- 'name' => 'Support',
- 'icon' => 'Icons_dunkel_23.gif',
- 'link' => 'index.php?module=support&action=list',
- ],
- 'api_account' => [
- 'name' => 'API-Account',
- 'icon' => 'Icons_dunkel_25.gif',
- 'link' => 'index.php?module=api_account&action=list',
- ],
- ],
- 'Lager und Logistik' => [
- 'zolltarifnummer' => [
- 'name' => 'Zolltarifnummer',
- 'icon' => 'Icons_dunkel_16.gif',
- 'link' => 'index.php?module=zolltarifnummer&action=list',
- ],
- 'versandarten' => [
- 'name' => 'Versandarten',
- 'icon' => 'Icons_dunkel_16.gif',
- 'link' => 'index.php?module=versandarten&action=list',
- ],
- 'lieferbedingungen' => [
- 'name' => 'Lieferbedingungen',
- 'icon' => 'Icons_dunkel_16.gif',
- 'link' => 'index.php?module=lieferbedingungen&action=list',
- ],
- ],
- 'Shop Schnittstelle' => [
- 'onlineshops' => [
- 'name' => 'Online-Shops',
- 'icon' => 'Icons_dunkel_20.gif',
- 'link' => 'index.php?module=onlineshops&action=list',
- ],
- ],
- 'Mitarbeiter Verwaltung' => [
- 'stechuhrdevice' => [
- 'name' => 'Mitarbeiterzeiterfassung Geräteeinstellungen',
- 'icon' => 'Icons_dunkel_14.gif',
- 'link' => 'index.php?module=stechuhrdevice&action=list',
- ],
- ],
- ];
- }
-
-
- function EinstellungenCreate()
- {
- $this->app->Tpl->Add('TABS',
- "Zurück zur Übersicht");
- }
-
- /**
- * @return array
- */
- public function getTestModules()
- {
- /** @var Appstore $appstore */
- $ret = [];
- $appstore = $this->app->erp->LoadModul('appstore');
- $modules = $appstore->GetApps();
- if(!empty($modules['installiert'])) {
- foreach($modules['installiert'] as $k => $modul) {
- if(!empty($modul['ablaufdatum']) || ($modul['key'] === 'stechuhrdevice' && $this->app->erp->RechteVorhanden('stechuhrdevice','list'))) {
- if(!empty($modul['ablaufdatum']) && strtotime($modul['ablaufdatum']) < strtotime(date('Y-m-d'))) {
- continue;
- }
- $ret[] = [
- 'Icon' => $modul['Icon'],
- 'ablaufdatum' => !empty($modul['ablaufdatum'])?$this->app->String->Convert($modul['ablaufdatum'], '%1-%2-%3', '%3.%2.%1'):null,
- 'key' => $modul['key'],
- 'Link' => $modul['Link'],
- 'Bezeichnung' => strip_tags($modul['Bezeichnung'])
- ];
- }
- }
- }
- return $ret;
- }
-
- /**
- * @param array $array
- * @param int $countPerRow
- *
- * @return array
- */
- public function groupArray($array, $countPerRow = 0)
- {
- $ret = [];
- if($countPerRow === 0) {
- foreach($array as $key => $element) {
- $ret[] = [$key => $element];
- }
-
- return $ret;
- }
-
- $i = 0;
- $row = [];
- foreach($array as $key => $elements) {
- $i++;
- $row[$key] = $elements;
- if($i % $countPerRow === 0) {
- $ret[] = $row;
- $row = [];
- }
- }
-
- if(!empty($row)) {
- $ret[] = $row;
- }
-
- return $ret;
- }
-
- /**
- * @return array
- */
- public function getAppsWithSettings()
- {
- /** @var Appstore $appstore */
- $appstore = $this->app->loadModule('appstore');
- $apps = $appstore->GetApps();
- $kauf = empty($apps['kauf'])?[]:$apps['kauf'];
- $apps = empty($apps['installiert'])?[]:$apps['installiert'];
- if(!empty($kauf)) {
- foreach($kauf as $module) {
- if($this->app->erp->ModulVorhanden($module['key'])) {
- $apps[] = $module;
- }
- }
- }
- $appsWithSettings = [];
- $modulesWithSettings = [];
- /** @var Benutzer $userModule */
- $userModule = $this->app->loadModule('benutzer');
- $enc = $userModule->ScanModules();
- if(!empty($enc)) {
- foreach($enc as $module => $actions) {
- $module = strtolower($module);
- if(in_array('settings', $actions)) {
- $modulesWithSettings[$module] = 'settings';
- continue;
- }
- if(in_array('einstellungen', $actions)) {
- $modulesWithSettings[$module] = 'einstellungen';
- continue;
- }
- if(in_array('einstellung', $actions)) {
- $modulesWithSettings[$module] = 'einstellung';
- continue;
- }
- }
- }
- $sprachen = array('german','english');
- if(method_exists($this->app->User,'GetSprachen')) {
- $sprachen = $this->app->User->GetSprachen();
- if (in_array('deutsch', $sprachen, true) && !in_array('german', $sprachen, true)) {
- $sprachen[] = 'german';
- }
- }
- $inline = [];
- if(is_array($sprachen)) {
- $sprachen = array_reverse($sprachen);
-
- foreach($sprachen as $sprache) {
- if(preg_match_all('/[a-zA-Z0-9\-]/', $sprache, $erg)) {
- if(is_file(dirname(dirname(__DIR__)).'/languages/'.$sprache.'/inline.php')) {
- include dirname(dirname(__DIR__)).'/languages/'.$sprache.'/inline.php';
- }
- }
- }
- }
-
- foreach($apps as $app) {
-
- $showInSettings = isset($app['settings']) && $app['settings']==true;
-
- if(empty($modulesWithSettings[$app['key']]) && !$showInSettings) {
- continue;
- }
- if(!$this->app->erp->RechteVorhanden($app['key'], $modulesWithSettings[$app['key']]) && !$showInSettings) {
- continue;
- }
- if(!empty($inline[$app['key']]['default']['kategorie'])) {
- $app['kategorie'] = $inline[$app['key']]['default']['kategorie'];
- }
- $category = empty($app['kategorie'])?'{|System|}':$app['kategorie'];
- if($showInSettings){
- $link = $app['Link'];
- }else{
- $link = 'index.php?module='.$app['key'].'&action='. $modulesWithSettings[$app['key']];
- }
-
- $icon = [
- 'name' => $app['Bezeichnung'],
- 'icon' => $app['Icon'],
- 'link' => $link,
- 'key' => $app['key'],
- ];
- $appsWithSettings[$category][$app['Bezeichnung']] = $icon;
- }
-
- ksort($appsWithSettings);
- $return = [];
- foreach($appsWithSettings as $category => $apps) {
- ksort($apps);
- $return[$category] = [];
- foreach($apps as $app) {
- $return[$category][$app['key']] = $app;
- }
- }
-
- return $return;
- }
-
- public function SettingsCategoryApps()
- {
- $categoryFromParam = $this->app->Secure->GetGET('category', null, '', true);
-
- $iconSearchString = $categoryFromParam;
- if(strstr($categoryFromParam,'{|') === false){
- $iconSearchString = '{|'.$categoryFromParam.'|}';
- }
-
- /** @var Appstore $appstore */
- $appstore = $this->app->erp->LoadModul('appstore');
- $iconTag = $appstore->GetAppIconTagByCategory($iconSearchString);
- $html = '';
- $appList = $appstore->GetApps();
-
- $this->app->erp->Headlines(' ');
- $overviewTile = $appstore->getOverViewFromCategory($categoryFromParam);
- $this->app->Tpl->Set(
- 'CURRENTHEADLINES',
- 'Einstellungen / '. $categoryFromParam .''
- );
- $this->app->Tpl->Set('CATEGORY', $categoryFromParam);
-
- if($overviewTile !== null) {
- $html .= $this->createIconHtmlForCategory($overviewTile, $categoryFromParam, $iconTag);
- }
-
- foreach ($appList['installiert'] as $modul) {
- $cleanCategory = str_replace(array('{|','|}'), '', $modul['kategorie']);
- if ($categoryFromParam === $cleanCategory) {
- $html .= $this->createIconHtmlForCategory($modul, $categoryFromParam, $iconTag);
- }
- }
-
- $this->app->Tpl->Set('HTML', $html);
-
- $this->app->Tpl->Parse('STANDARDMODULE', 'einstellungen_apptile.tpl');
-
- $this->app->Tpl->Parse('TAB1', 'einstellungen_categorysite.tpl');
- $this->app->Tpl->Parse('PAGE','tabview.tpl');
- }
-
- /**
- * @param array $modul
- * @param string $categoryFromParam
- * @param string $iconTag
- *
- * @return string
- */
- public function createIconHtmlForCategory($modul, $categoryFromParam, $iconTag)
- {
- $link = 'index.php?module='. $modul['key'] .'&action=list';
- if(!empty($modul['Link'])) {
- $link = $modul['Link'];
- }
-
- return ''.
- ''.
- '' .
- '' .
- strip_tags($modul['Bezeichnung'])
- .'
' .
- (!empty($modul['ablaufdatum'])
- ? '{|Ablauf am|} '
- . $this->app->String->Convert($modul['ablaufdatum'], '%1-%2-%3', '%3.%2.%1') . ''
- : '')
- . (!empty($modul['beta'])?' BETA':'')
- . (!empty($modul['legacy']) && $modul['legacy']?' LEGACY':'')
- . (!empty($modul['special']) && $modul['special']?' SPECIAL':'')
- . (!empty($modul['project_sensitive']) && $modul['project_sensitive']?' PROJEKT':'')
- . '
'
- . '';
- }
-
- /**
- * @param string $category
- *
- * @return string
- */
- public function getCategoryLinkByCategory(string $category): string
- {
- switch($category) {
- case '{|Versandarten|}':
- return 'index.php?module=versandarten&action=list&overviewpage=einstellungen&overviewpageaction=list&backlinkparameter=einstellungen&backlinkparameter=list';
- case '{|Zahlungsweisen|}':
- return 'index.php?module=zahlungsweisen&action=list&overviewpage=einstellungen&overviewpageaction=list&backlinkmodule=einstellungen&backlinkparameter=list';
- case '{|Shop Schnittstelle|}':
- return 'index.php?module=onlineshops&action=list&overviewpage=einstellungen&overviewpageaction=list&backlinkmodule=einstellungen&backlinkparameter=list';
- }
-
- return 'index.php?module=einstellungen&action=category&category=' . str_replace(['{|', '|}'], '', $category);
- }
-
- public function EinstellungenList()
- {
-
- $this->app->erp->Headlines(' ');
- $this->app->Tpl->Set('EMAILBACKUPLINK', 'href="index.php?module=emailbackup&action=list"');
- if(!$this->app->erp->ModulVorhanden('emailbackup')){
- $this->app->Tpl->Set('EMAILBACKUPLINK', '');
- $this->app->Tpl->Set('GREYEMAILBACKUP','');
- }
- $this->app->Tpl->Set('TICKETVORLAGENLINK', 'href="index.php?module=ticket_vorlage&action=list"');
- if(!$this->app->erp->ModulVorhanden('ticket_vorlage')){
- $this->app->Tpl->Set('TICKETVORLAGENLINK', '');
- $this->app->Tpl->Set('GREYTICKETVORLAGEN','');
- }
- $this->app->Tpl->Set('UEBERSETZUNGENLINK', 'href="index.php?module=uebersetzung&action=list"');
- if(!$this->app->erp->ModulVorhanden('uebersetzung')){
- $this->app->Tpl->Set('UEBERSETZUNGENLINK', '');
- $this->app->Tpl->Set('GREYUEBERSETZUNGEN','');
- }
- $this->app->Tpl->Set('KOSTENSTELLENLINK', 'href="index.php?module=kostenstellen&action=list"');
- if(!$this->app->erp->ModulVorhanden('kostenstellen')){
- $this->app->Tpl->Set('KOSTENSTELLENLINK', '');
- $this->app->Tpl->Set('GREYKOSTENSTELLEN','');
- }
- $this->app->Tpl->Set('ZOLLTARIFNUMMERLINK', 'href="index.php?module=zolltarifnummer&action=list"');
- if(!$this->app->erp->ModulVorhanden('zolltarifnummer')){
- $this->app->Tpl->Set('ZOLLTARIFNUMMERLINK', '');
- $this->app->Tpl->Set('GREYZOLLTARIFNUMMER','');
- }
- $this->app->Tpl->Set('WARTESCHLANGENLINK', 'href="index.php?module=warteschlangen&action=list"');
- if(!$this->app->erp->ModulVorhanden('warteschlangen')){
- $this->app->Tpl->Set('WARTESCHLANGENLINK', '');
- $this->app->Tpl->Set('GREYWARTESCHLANGEN','');
- }
-
- $this->app->Tpl->Set('GREYVERRECHNUNGSART','');
-
- $this->app->Tpl->Set('GRUPPENLINK', 'href="index.php?module=gruppen&action=list"');
- if(!$this->app->erp->ModulVorhanden('gruppen')){
- $this->app->Tpl->Set('GRUPPENLINK', '');
- $this->app->Tpl->Set('GREYGRUPPEN','');
- }
- $this->app->Tpl->Set('ARTIKELKATEGORIENLINK', 'href="index.php?module=artikelkategorien&action=list"');
- if(!$this->app->erp->ModulVorhanden('artikelkategorien')){
- $this->app->Tpl->Set('ARTIKELKATEGORIENLINK', '');
- $this->app->Tpl->Set('GREYARTIKELKATEGORIEN','');
- }
- $this->app->Tpl->Set('USERVORLAGELINK', 'href="index.php?module=uservorlage&action=list"');
- if(!$this->app->erp->ModulVorhanden('uservorlage')){
- $this->app->Tpl->Set('USERVORLAGELINK', '');
- $this->app->Tpl->Set('GREYUSERVORLAGE','');
- }
- $this->app->Tpl->Set('KONTENLINK', 'href="index.php?module=konten&action=list"');
- if(!$this->app->erp->ModulVorhanden('konten')){
- $this->app->Tpl->Set('KONTENLINK', '');
- $this->app->Tpl->Set('GREYKONTEN','');
- }
- $this->app->Tpl->Set('KONTORAHMENLINK', 'href="index.php?module=kontorahmen&action=list"');
- if(!$this->app->erp->ModulVorhanden('kontorahmen')){
- $this->app->Tpl->Set('KONTORAHMENLINK', '');
- $this->app->Tpl->Set('GREYKONTORAHMEN','');
- }
- $this->app->Tpl->Set('LIEFERBEDINGUNGENLINK', 'href="index.php?module=lieferbedingungen&action=list"');
- if(!$this->app->erp->ModulVorhanden('lieferbedingungen')){
- $this->app->Tpl->Set('LIEFERBEDINGUNGENLINK', '');
- $this->app->Tpl->Set('GREYLIEFERBEDINGUNGEN','');
- }
- $this->app->Tpl->Set('ARBEITSFREIETAGELINK', 'href="index.php?module=arbeitsfreietage&action=list"');
- if(!$this->app->erp->ModulVorhanden('arbeitsfreietage')){
- $this->app->Tpl->Set('ARBEITSFREIETAGELINK', '');
- $this->app->Tpl->Set('GREYARBEITSFREIETAGE','');
- }
-
-
- $this->app->Tpl->Parse('TAB1',"einstellungen.tpl");
- //$this->app->Tpl->Set(TABTEXT,"Einstellungen");
- $this->app->Tpl->Parse('PAGE',"tabview.tpl");
- }
-
- function EinstellungenMenu()
- {
- $id = $this->app->Secure->GetGET("id");
-
- $this->app->Tpl->Add('TABS',"Einstellungen ");
- $this->app->Tpl->Add('TABS',"Stückliste ");
- $this->app->Tpl->Add('TABS',"Verkauf ");
- $this->app->Tpl->Add('TABS',"Einkauf ");
- $this->app->Tpl->Add('TABS',"Projekte ");
- $this->app->Tpl->Add('TABS',"Lager ");
- $this->app->Tpl->Add('TABS',"Dateien ");
- $this->app->Tpl->Add('TABS',"Provisionen ");
- $this->app->Tpl->Add('TABS',"Etiketten ");
- //$this->app->Tpl->Add('TABS',"Gesamtkalkulation ");
- $this->app->Tpl->Add('TABS',"Zurück zur Übersicht ");
- }
-
-
- function EinstellungenEdit()
- {
- $this->EinstellungenMenu();
- $this->app->Tpl->Set('TABLE_ADRESSE_KONTAKTHISTORIE',"TDB");
- $this->app->Tpl->Set('TABLE_ADRESSE_ROLLEN',"TDB");
-
- $this->app->Tpl->Set('TABLE_ADRESSE_USTID',"TDB");
- }
-
- /**
- * @param string $overviewPageAction
- *
- * @return string|null
- */
- public function getOverViewLink($overviewPageAction): ?string
- {
- if(!in_array($overviewPageAction, ['', 'list'])) {
- return null;
- }
-
- return 'index.php?module=einstellungen&action=list';
- }
-
-
- /**
- * @param string $backlinkParameter
- *
- * @return string|null
- */
- public function getBackLink($backlinkParameter): ?string
- {
- if($backlinkParameter === 'list') {
- return 'index.php?module=einstellungen&action=list';
- }
- $appstore = $this->app->loadModule('appstore', false);
- $appList = $appstore->GetApps();
-
- foreach ($appList['installiert'] as $modul) {
- $cleanCategory = str_replace(array('{|', '|}'), '', $modul['kategorie']);
- if($cleanCategory === $backlinkParameter) {
- return 'index.php?module=einstellungen&action=category&category='.urlencode($backlinkParameter);
- }
- }
-
- return null;
- }
-}
+app=$app;
+ if($intern) {
+ return;
+ }
+
+ $this->app->ActionHandlerInit($this);
+
+ $this->app->ActionHandler("create","EinstellungenCreate");
+ $this->app->ActionHandler("edit","EinstellungenEdit");
+ $this->app->ActionHandler("list","EinstellungenList");
+ $this->app->ActionHandler("betaprogram", "EinstellungenBetaProgram");
+ $this->app->ActionHandler("category","SettingsCategoryApps");
+ $this->app->ActionHandlerListen($app);
+
+ $this->app->Tpl->Set('UEBERSCHRIFT',"Einstellungen");
+ $this->app->Tpl->Set('FARBE',"[FARBE5]");
+ }
+
+ /**
+ * @param bool $parameter
+ *
+ * @return null|string
+ */
+ protected function sendBeta($parameter)
+ {
+ $setBeta = $parameter;
+ $updateResultStatus = null;
+ include_once dirname(__DIR__, 2).'/upgradesystemclient2_includekey.php';
+
+ return $updateResultStatus;
+ }
+
+ /**
+ * @param bool $betaStatus
+ */
+ public function tryChangeBetaStatusAndLocateToSite(bool $betaStatus): void
+ {
+ $updateServerResult = $this->sendBeta($betaStatus);
+ if($updateServerResult === 'OK') {
+ $this->app->User->SetParameter('updatekey', 1);
+ $this->app->User->SetParameter('einstellungen_beta_activated', $betaStatus ? '1' : '');
+ /** @var Appstore $appStore */
+ $appStore = $this->app->loadModule('appstore');
+ $appStore->resetBuyListCache();
+ $appStore->resetBuyInfoCache();
+ $this->app->Location->execute('index.php?module=einstellungen&action=betaprogram&cmd=updatekey');
+ }
+ if($betaStatus) {
+ $msg = $this->app->erp->base64_url_encode(
+ 'Das Beta-Programm konnte nicht aktiviert werden
'
+ );
+ }
+ else {
+ $msg = $this->app->erp->base64_url_encode(
+ 'Das Beta-Programm konnte nicht beendet werden
'
+ );
+ }
+ $this->app->Location->execute('index.php?module=einstellungen&action=betaprogram&msg='.$msg);
+ }
+
+ /**
+ * @return void
+ */
+ public function EinstellungenBetaProgram()
+ {
+ $cmd = $this->app->Secure->GetGET('cmd');
+ if($cmd === 'updatekey') {
+ include dirname(dirname(__DIR__)).'/version.php';
+ $this->app->User->SetParameter('updatekey','');
+ include_once dirname(dirname(__DIR__)).'/upgradesystemclient2_includekey.php';
+ $this->app->Location->execute('index.php?module=einstellungen&action=betaprogram');
+ }
+ if($this->app->Secure->GetPOST('deactivate')) {
+ $this->tryChangeBetaStatusAndLocateToSite(false);
+ }
+ if($this->app->Secure->GetPOST('beta-agreement')) {
+ $this->tryChangeBetaStatusAndLocateToSite(true);
+ }
+
+ $openPopup = !empty($this->app->User->GetParameter('einstellungen_beta_activated'));
+
+ if($openPopup) {
+ $this->app->User->SetParameter('einstellungen_beta_activated', '');
+ $this->app->Tpl->Set('BETAOPEN', '1');
+ }
+ else {
+ $this->app->Tpl->Set('BETAOPEN', '');
+ }
+
+ $this->app->erp->MenuEintrag('index.php?module=einstellungen&action=betaprogram', 'Beta Programm');
+ if(!empty(erpAPI::Ioncube_Property('isbetaactive'))) {
+ $this->app->Tpl->Set('BEFORESHOWIFBETADEACTIVATED', '');
+ }
+ else {
+ $this->app->Tpl->Set('BEFORESHOWIFBETAACTIVATED', '');
+ }
+ $this->app->erp->Headlines('Beta Programm');
+ $this->app->Tpl->Parse('PAGE', 'einstellungen_betaprogram.tpl');
+ }
+
+ /**
+ * @return string[][][]
+ */
+ public function getModulesByCategory()
+ {
+ return [
+ 'System' => [
+ 'firmendaten' => [
+ 'name' => 'Grundeinstellungen',
+ 'icon' => 'Icons_dunkel_1.gif',
+ 'link' => 'index.php?module=firmendaten&action=edit',
+ ],
+ 'benutzer' => [
+ 'name' => 'Benutzer',
+ 'icon' => 'Icons_dunkel_2.gif',
+ 'link' => 'index.php?module=benutzer&action=list',
+ ],
+ 'geschaeftsbrief_vorlagen' => [
+ 'name' => 'Geschäftsbrief Vorlagen',
+ 'icon' => 'Icons_dunkel_3.gif',
+ 'link' => 'index.php?module=geschaeftsbrief_vorlagen&action=list',
+ ],
+ 'emailbackup' => [
+ 'name' => 'E-Mail Accounts',
+ 'icon' => 'Icons_dunkel_4.gif',
+ 'link' => 'index.php?module=emailbackup&action=list',
+ ],
+ 'ticket_vorlage' => [
+ 'name' => 'Ticket Vorlagen',
+ 'icon' => 'Icons_dunkel_5.gif',
+ 'link' => 'index.php?module=ticket_vorlage&action=list',
+ ],
+ 'warteschlangen' => [
+ 'name' => 'Warteschlangen',
+ 'icon' => 'Icons_dunkel_6.gif',
+ 'link' => 'index.php?module=warteschlangen&action=list',
+ ],
+ 'artikelkategorien' => [
+ 'name' => 'Artikel Kategorien',
+ 'icon' => 'Icons_dunkel_15.gif',
+ 'link' => 'index.php?module=artikelkategorien&action=list',
+ ],
+ 'artikeleinheit' => [
+ 'name' => 'Artikel Einheiten',
+ 'icon' => 'Icons_dunkel_14.gif',
+ 'link' => 'index.php?module=artikeleinheit&action=list',
+ ],
+ 'gruppen' => [
+ 'name' => 'Gruppen',
+ 'icon' => 'Icons_dunkel_2.gif',
+ 'link' => 'index.php?module=gruppen&action=list',
+ ],
+ 'uservorlage' => [
+ 'name' => 'Benutzer Vorlage',
+ 'icon' => 'Icons_dunkel_2.gif',
+ 'link' => 'index.php?module=uservorlage&action=list',
+ ],
+ 'laender' => [
+ 'name' => 'Länderliste',
+ 'icon' => 'Icons_dunkel_14.gif',
+ 'link' => 'index.php?module=laender&action=list',
+ ],
+ 'kalender' => [
+ 'name' => 'Kalender Gruppen',
+ 'icon' => 'Icons_dunkel_2.gif',
+ 'link' => 'index.php?module=kalender&action=gruppenlist',
+ ],
+ 'prozessstarter' => [
+ 'name' => 'Prozessstarter',
+ 'icon' => 'Icons_dunkel_22.gif',
+ 'link' => 'index.php?module=prozessstarter&action=list',
+ ],
+ 'welcome' => [
+ 'name' => 'Lizenz',
+ 'icon' => 'Icons_dunkel_23.gif',
+ 'link' => 'index.php?module=welcome&action=info',
+ ],
+ 'drucker' => [
+ 'name' => 'Drucker',
+ 'icon' => 'Icons_dunkel_24.gif',
+ 'link' => 'index.php?module=drucker&action=list',
+ ],
+ 'adapterbox' => [
+ 'name' => 'Adapterbox',
+ 'icon' => 'Icons_dunkel_25.gif',
+ 'link' => 'index.php?module=adapterbox&action=list',
+ ],
+ 'protokoll' => [
+ 'name' => 'Protokoll',
+ 'icon' => 'Icons_dunkel_22.gif',
+ 'link' => 'index.php?module=protokoll&action=list',
+ ],
+ 'etiketten' => [
+ 'name' => 'Etiketten',
+ 'icon' => 'Icons_dunkel_14.gif',
+ 'link' => 'index.php?module=etiketten&action=list',
+ ],
+ 'uebersetzung' => [
+ 'name' => 'Übersetzungen',
+ 'icon' => 'Icons_dunkel_14.gif',
+ 'link' => 'index.php?module=uebersetzung&action=list',
+ ],
+ 'arbeitsfreietage' => [
+ 'name' => 'Arbeitsfreie Tage',
+ 'icon' => 'Icons_dunkel_14.gif',
+ 'link' => 'index.php?module=arbeitsfreietage&action=list',
+ ],
+ 'support' => [
+ 'name' => 'Support',
+ 'icon' => 'Icons_dunkel_23.gif',
+ 'link' => 'index.php?module=support&action=list',
+ ],
+ 'api_account' => [
+ 'name' => 'API-Account',
+ 'icon' => 'Icons_dunkel_25.gif',
+ 'link' => 'index.php?module=api_account&action=list',
+ ],
+ ],
+ 'Lager und Logistik' => [
+ 'zolltarifnummer' => [
+ 'name' => 'Zolltarifnummer',
+ 'icon' => 'Icons_dunkel_16.gif',
+ 'link' => 'index.php?module=zolltarifnummer&action=list',
+ ],
+ 'versandarten' => [
+ 'name' => 'Versandarten',
+ 'icon' => 'Icons_dunkel_16.gif',
+ 'link' => 'index.php?module=versandarten&action=list',
+ ],
+ 'lieferbedingungen' => [
+ 'name' => 'Lieferbedingungen',
+ 'icon' => 'Icons_dunkel_16.gif',
+ 'link' => 'index.php?module=lieferbedingungen&action=list',
+ ],
+ ],
+ 'Shop Schnittstelle' => [
+ 'onlineshops' => [
+ 'name' => 'Online-Shops',
+ 'icon' => 'Icons_dunkel_20.gif',
+ 'link' => 'index.php?module=onlineshops&action=list',
+ ],
+ ],
+ 'Mitarbeiter Verwaltung' => [
+ 'stechuhrdevice' => [
+ 'name' => 'Mitarbeiterzeiterfassung Geräteeinstellungen',
+ 'icon' => 'Icons_dunkel_14.gif',
+ 'link' => 'index.php?module=stechuhrdevice&action=list',
+ ],
+ ],
+ ];
+ }
+
+
+ function EinstellungenCreate()
+ {
+ $this->app->Tpl->Add('TABS',
+ "Zurück zur Übersicht");
+ }
+
+ /**
+ * @return array
+ */
+ public function getTestModules()
+ {
+ /** @var Appstore $appstore */
+ $ret = [];
+ $appstore = $this->app->erp->LoadModul('appstore');
+ $modules = $appstore->GetApps();
+ if(!empty($modules['installiert'])) {
+ foreach($modules['installiert'] as $k => $modul) {
+ if(!empty($modul['ablaufdatum']) || ($modul['key'] === 'stechuhrdevice' && $this->app->erp->RechteVorhanden('stechuhrdevice','list'))) {
+ if(!empty($modul['ablaufdatum']) && strtotime($modul['ablaufdatum']) < strtotime(date('Y-m-d'))) {
+ continue;
+ }
+ $ret[] = [
+ 'Icon' => $modul['Icon'],
+ 'ablaufdatum' => !empty($modul['ablaufdatum'])?$this->app->String->Convert($modul['ablaufdatum'], '%1-%2-%3', '%3.%2.%1'):null,
+ 'key' => $modul['key'],
+ 'Link' => $modul['Link'],
+ 'Bezeichnung' => strip_tags($modul['Bezeichnung'])
+ ];
+ }
+ }
+ }
+ return $ret;
+ }
+
+ /**
+ * @param array $array
+ * @param int $countPerRow
+ *
+ * @return array
+ */
+ public function groupArray($array, $countPerRow = 0)
+ {
+ $ret = [];
+ if($countPerRow === 0) {
+ foreach($array as $key => $element) {
+ $ret[] = [$key => $element];
+ }
+
+ return $ret;
+ }
+
+ $i = 0;
+ $row = [];
+ foreach($array as $key => $elements) {
+ $i++;
+ $row[$key] = $elements;
+ if($i % $countPerRow === 0) {
+ $ret[] = $row;
+ $row = [];
+ }
+ }
+
+ if(!empty($row)) {
+ $ret[] = $row;
+ }
+
+ return $ret;
+ }
+
+ /**
+ * @return array
+ */
+ public function getAppsWithSettings()
+ {
+ /** @var Appstore $appstore */
+ $appstore = $this->app->loadModule('appstore');
+ $apps = $appstore->GetApps();
+ $kauf = empty($apps['kauf'])?[]:$apps['kauf'];
+ $apps = empty($apps['installiert'])?[]:$apps['installiert'];
+ if(!empty($kauf)) {
+ foreach($kauf as $module) {
+ if($this->app->erp->ModulVorhanden($module['key'])) {
+ $apps[] = $module;
+ }
+ }
+ }
+ $appsWithSettings = [];
+ $modulesWithSettings = [];
+ /** @var Benutzer $userModule */
+ $userModule = $this->app->loadModule('benutzer');
+ $enc = $userModule->ScanModules();
+ if(!empty($enc)) {
+ foreach($enc as $module => $actions) {
+ $module = strtolower($module);
+ if(in_array('settings', $actions)) {
+ $modulesWithSettings[$module] = 'settings';
+ continue;
+ }
+ if(in_array('einstellungen', $actions)) {
+ $modulesWithSettings[$module] = 'einstellungen';
+ continue;
+ }
+ if(in_array('einstellung', $actions)) {
+ $modulesWithSettings[$module] = 'einstellung';
+ continue;
+ }
+ }
+ }
+ $sprachen = array('german','english');
+ if(method_exists($this->app->User,'GetSprachen')) {
+ $sprachen = $this->app->User->GetSprachen();
+ if (in_array('deutsch', $sprachen, true) && !in_array('german', $sprachen, true)) {
+ $sprachen[] = 'german';
+ }
+ }
+ $inline = [];
+ if(is_array($sprachen)) {
+ $sprachen = array_reverse($sprachen);
+
+ foreach($sprachen as $sprache) {
+ if(preg_match_all('/[a-zA-Z0-9\-]/', $sprache, $erg)) {
+ if(is_file(dirname(dirname(__DIR__)).'/languages/'.$sprache.'/inline.php')) {
+ include dirname(dirname(__DIR__)).'/languages/'.$sprache.'/inline.php';
+ }
+ }
+ }
+ }
+
+ foreach($apps as $app) {
+
+ $showInSettings = isset($app['settings']) && $app['settings']==true;
+
+ if(empty($modulesWithSettings[$app['key']]) && !$showInSettings) {
+ continue;
+ }
+ if(!$this->app->erp->RechteVorhanden($app['key'], $modulesWithSettings[$app['key']]) && !$showInSettings) {
+ continue;
+ }
+ if(!empty($inline[$app['key']]['default']['kategorie'])) {
+ $app['kategorie'] = $inline[$app['key']]['default']['kategorie'];
+ }
+ $category = empty($app['kategorie'])?'{|System|}':$app['kategorie'];
+ if($showInSettings){
+ $link = $app['Link'];
+ }else{
+ $link = 'index.php?module='.$app['key'].'&action='. $modulesWithSettings[$app['key']];
+ }
+
+ $icon = [
+ 'name' => $app['Bezeichnung'],
+ 'icon' => $app['Icon'],
+ 'link' => $link,
+ 'key' => $app['key'],
+ ];
+ $appsWithSettings[$category][$app['Bezeichnung']] = $icon;
+ }
+
+ ksort($appsWithSettings);
+ $return = [];
+ foreach($appsWithSettings as $category => $apps) {
+ ksort($apps);
+ $return[$category] = [];
+ foreach($apps as $app) {
+ $return[$category][$app['key']] = $app;
+ }
+ }
+
+ return $return;
+ }
+
+ public function SettingsCategoryApps()
+ {
+ $categoryFromParam = $this->app->Secure->GetGET('category', null, '', true);
+
+ $iconSearchString = $categoryFromParam;
+ if(strstr($categoryFromParam,'{|') === false){
+ $iconSearchString = '{|'.$categoryFromParam.'|}';
+ }
+
+ /** @var Appstore $appstore */
+ $appstore = $this->app->erp->LoadModul('appstore');
+ $iconTag = $appstore->GetAppIconTagByCategory($iconSearchString);
+ $html = '';
+ $appList = $appstore->GetApps();
+
+ $this->app->erp->Headlines(' ');
+ $overviewTile = $appstore->getOverViewFromCategory($categoryFromParam);
+ $this->app->Tpl->Set(
+ 'CURRENTHEADLINES',
+ 'Einstellungen / '. $categoryFromParam .''
+ );
+ $this->app->Tpl->Set('CATEGORY', $categoryFromParam);
+
+ if($overviewTile !== null) {
+ $html .= $this->createIconHtmlForCategory($overviewTile, $categoryFromParam, $iconTag);
+ }
+
+ foreach ($appList['installiert'] as $modul) {
+ $cleanCategory = str_replace(array('{|','|}'), '', $modul['kategorie']);
+ if ($categoryFromParam === $cleanCategory) {
+ $html .= $this->createIconHtmlForCategory($modul, $categoryFromParam, $iconTag);
+ }
+ }
+
+ $this->app->Tpl->Set('HTML', $html);
+
+ $this->app->Tpl->Parse('STANDARDMODULE', 'einstellungen_apptile.tpl');
+
+ $this->app->Tpl->Parse('TAB1', 'einstellungen_categorysite.tpl');
+ $this->app->Tpl->Parse('PAGE','tabview.tpl');
+ }
+
+ /**
+ * @param array $modul
+ * @param string $categoryFromParam
+ * @param string $iconTag
+ *
+ * @return string
+ */
+ public function createIconHtmlForCategory($modul, $categoryFromParam, $iconTag)
+ {
+ $link = 'index.php?module='. $modul['key'] .'&action=list';
+ if(!empty($modul['Link'])) {
+ $link = $modul['Link'];
+ }
+
+ return ''.
+ ''.
+ '' .
+ '' .
+ strip_tags($modul['Bezeichnung'])
+ .'
' .
+ (!empty($modul['ablaufdatum'])
+ ? '{|Ablauf am|} '
+ . $this->app->String->Convert($modul['ablaufdatum'], '%1-%2-%3', '%3.%2.%1') . ''
+ : '')
+ . (!empty($modul['beta'])?' BETA':'')
+ . (!empty($modul['legacy']) && $modul['legacy']?' LEGACY':'')
+ . (!empty($modul['special']) && $modul['special']?' SPECIAL':'')
+ . (!empty($modul['project_sensitive']) && $modul['project_sensitive']?' PROJEKT':'')
+ . '
'
+ . '';
+ }
+
+ /**
+ * @param string $category
+ *
+ * @return string
+ */
+ public function getCategoryLinkByCategory(string $category): string
+ {
+ switch($category) {
+ case '{|Versandarten|}':
+ return 'index.php?module=versandarten&action=list&overviewpage=einstellungen&overviewpageaction=list&backlinkparameter=einstellungen&backlinkparameter=list';
+ case '{|Zahlungsweisen|}':
+ return 'index.php?module=zahlungsweisen&action=list&overviewpage=einstellungen&overviewpageaction=list&backlinkmodule=einstellungen&backlinkparameter=list';
+ case '{|Shop Schnittstelle|}':
+ return 'index.php?module=onlineshops&action=list&overviewpage=einstellungen&overviewpageaction=list&backlinkmodule=einstellungen&backlinkparameter=list';
+ }
+
+ return 'index.php?module=einstellungen&action=category&category=' . str_replace(['{|', '|}'], '', $category);
+ }
+
+ public function EinstellungenList()
+ {
+
+ $this->app->erp->Headlines(' ');
+ $this->app->Tpl->Set('EMAILBACKUPLINK', 'href="index.php?module=emailbackup&action=list"');
+ if(!$this->app->erp->ModulVorhanden('emailbackup')){
+ $this->app->Tpl->Set('EMAILBACKUPLINK', '');
+ $this->app->Tpl->Set('GREYEMAILBACKUP','');
+ }
+ $this->app->Tpl->Set('TICKETVORLAGENLINK', 'href="index.php?module=ticket_vorlage&action=list"');
+ if(!$this->app->erp->ModulVorhanden('ticket_vorlage')){
+ $this->app->Tpl->Set('TICKETVORLAGENLINK', '');
+ $this->app->Tpl->Set('GREYTICKETVORLAGEN','');
+ }
+ $this->app->Tpl->Set('UEBERSETZUNGENLINK', 'href="index.php?module=uebersetzung&action=list"');
+ if(!$this->app->erp->ModulVorhanden('uebersetzung')){
+ $this->app->Tpl->Set('UEBERSETZUNGENLINK', '');
+ $this->app->Tpl->Set('GREYUEBERSETZUNGEN','');
+ }
+ $this->app->Tpl->Set('KOSTENSTELLENLINK', 'href="index.php?module=kostenstellen&action=list"');
+ if(!$this->app->erp->ModulVorhanden('kostenstellen')){
+ $this->app->Tpl->Set('KOSTENSTELLENLINK', '');
+ $this->app->Tpl->Set('GREYKOSTENSTELLEN','');
+ }
+ $this->app->Tpl->Set('ZOLLTARIFNUMMERLINK', 'href="index.php?module=zolltarifnummer&action=list"');
+ if(!$this->app->erp->ModulVorhanden('zolltarifnummer')){
+ $this->app->Tpl->Set('ZOLLTARIFNUMMERLINK', '');
+ $this->app->Tpl->Set('GREYZOLLTARIFNUMMER','');
+ }
+ $this->app->Tpl->Set('WARTESCHLANGENLINK', 'href="index.php?module=warteschlangen&action=list"');
+ if(!$this->app->erp->ModulVorhanden('warteschlangen')){
+ $this->app->Tpl->Set('WARTESCHLANGENLINK', '');
+ $this->app->Tpl->Set('GREYWARTESCHLANGEN','');
+ }
+
+ $this->app->Tpl->Set('GREYVERRECHNUNGSART','');
+
+ $this->app->Tpl->Set('GRUPPENLINK', 'href="index.php?module=gruppen&action=list"');
+ if(!$this->app->erp->ModulVorhanden('gruppen')){
+ $this->app->Tpl->Set('GRUPPENLINK', '');
+ $this->app->Tpl->Set('GREYGRUPPEN','');
+ }
+ $this->app->Tpl->Set('ARTIKELKATEGORIENLINK', 'href="index.php?module=artikelkategorien&action=list"');
+ if(!$this->app->erp->ModulVorhanden('artikelkategorien')){
+ $this->app->Tpl->Set('ARTIKELKATEGORIENLINK', '');
+ $this->app->Tpl->Set('GREYARTIKELKATEGORIEN','');
+ }
+ $this->app->Tpl->Set('USERVORLAGELINK', 'href="index.php?module=uservorlage&action=list"');
+ if(!$this->app->erp->ModulVorhanden('uservorlage')){
+ $this->app->Tpl->Set('USERVORLAGELINK', '');
+ $this->app->Tpl->Set('GREYUSERVORLAGE','');
+ }
+ $this->app->Tpl->Set('KONTENLINK', 'href="index.php?module=konten&action=list"');
+ if(!$this->app->erp->ModulVorhanden('konten')){
+ $this->app->Tpl->Set('KONTENLINK', '');
+ $this->app->Tpl->Set('GREYKONTEN','');
+ }
+ $this->app->Tpl->Set('KONTORAHMENLINK', 'href="index.php?module=kontorahmen&action=list"');
+ if(!$this->app->erp->ModulVorhanden('kontorahmen')){
+ $this->app->Tpl->Set('KONTORAHMENLINK', '');
+ $this->app->Tpl->Set('GREYKONTORAHMEN','');
+ }
+ $this->app->Tpl->Set('LIEFERBEDINGUNGENLINK', 'href="index.php?module=lieferbedingungen&action=list"');
+ if(!$this->app->erp->ModulVorhanden('lieferbedingungen')){
+ $this->app->Tpl->Set('LIEFERBEDINGUNGENLINK', '');
+ $this->app->Tpl->Set('GREYLIEFERBEDINGUNGEN','');
+ }
+ $this->app->Tpl->Set('ARBEITSFREIETAGELINK', 'href="index.php?module=arbeitsfreietage&action=list"');
+ if(!$this->app->erp->ModulVorhanden('arbeitsfreietage')){
+ $this->app->Tpl->Set('ARBEITSFREIETAGELINK', '');
+ $this->app->Tpl->Set('GREYARBEITSFREIETAGE','');
+ }
+
+
+ $this->app->Tpl->Parse('TAB1',"einstellungen.tpl");
+ //$this->app->Tpl->Set(TABTEXT,"Einstellungen");
+ $this->app->Tpl->Parse('PAGE',"tabview.tpl");
+ }
+
+ function EinstellungenMenu()
+ {
+ $id = $this->app->Secure->GetGET("id");
+
+ $this->app->Tpl->Add('TABS',"Einstellungen ");
+ $this->app->Tpl->Add('TABS',"Stückliste ");
+ $this->app->Tpl->Add('TABS',"Verkauf ");
+ $this->app->Tpl->Add('TABS',"Einkauf ");
+ $this->app->Tpl->Add('TABS',"Projekte ");
+ $this->app->Tpl->Add('TABS',"Lager ");
+ $this->app->Tpl->Add('TABS',"Dateien ");
+ $this->app->Tpl->Add('TABS',"Provisionen ");
+ $this->app->Tpl->Add('TABS',"Etiketten ");
+ //$this->app->Tpl->Add('TABS',"Gesamtkalkulation ");
+ $this->app->Tpl->Add('TABS',"Zurück zur Übersicht ");
+ }
+
+
+ function EinstellungenEdit()
+ {
+ $this->EinstellungenMenu();
+ $this->app->Tpl->Set('TABLE_ADRESSE_KONTAKTHISTORIE',"TDB");
+ $this->app->Tpl->Set('TABLE_ADRESSE_ROLLEN',"TDB");
+
+ $this->app->Tpl->Set('TABLE_ADRESSE_USTID',"TDB");
+ }
+
+ /**
+ * @param string $overviewPageAction
+ *
+ * @return string|null
+ */
+ public function getOverViewLink($overviewPageAction): ?string
+ {
+ if(!in_array($overviewPageAction, ['', 'list'])) {
+ return null;
+ }
+
+ return 'index.php?module=einstellungen&action=list';
+ }
+
+
+ /**
+ * @param string $backlinkParameter
+ *
+ * @return string|null
+ */
+ public function getBackLink($backlinkParameter): ?string
+ {
+ if($backlinkParameter === 'list') {
+ return 'index.php?module=einstellungen&action=list';
+ }
+ $appstore = $this->app->loadModule('appstore', false);
+ $appList = $appstore->GetApps();
+
+ foreach ($appList['installiert'] as $modul) {
+ $cleanCategory = str_replace(array('{|', '|}'), '', $modul['kategorie']);
+ if($cleanCategory === $backlinkParameter) {
+ return 'index.php?module=einstellungen&action=category&category='.urlencode($backlinkParameter);
+ }
+ }
+
+ return null;
+ }
+}
diff --git a/www/themes/new/images/sidebar/tickets.svg b/www/themes/new/images/sidebar/tickets.svg
new file mode 100644
index 00000000..66cea796
--- /dev/null
+++ b/www/themes/new/images/sidebar/tickets.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file