diff --git a/Layout/andom-tec/header.php b/Layout/andom-tec/header.php index e07a9a4d9..0e57095d9 100644 --- a/Layout/andom-tec/header.php +++ b/Layout/andom-tec/header.php @@ -1,105 +1,71 @@ - - - <?=MFAPPNAME_FULL?> - - - - + + + <?=MFAPPNAME_FULL?> + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + +
+ + +
+ - - -
- - -
- - -
-
- - - -
-
-
- -
Fehler
- -
-
- - - -
-
-
- -
Warnung
- -
-
- - - -
-
-
- -
Info
- -
-
- - - -
-
-
- -
Erfolgreich
- -
-
- - - \ No newline at end of file +
diff --git a/Layout/default/header.php b/Layout/default/header.php index a895ae291..0ddee07cc 100644 --- a/Layout/default/header.php +++ b/Layout/default/header.php @@ -1,129 +1,87 @@ + - - - <?=MFAPPNAME_FULL?> - - - - + + + <?=MFAPPNAME_FULL?> + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + - - - - - - + + + + + + + + + + + + + + + + + + - - - - + + + + - + + + + + + + + +
+ + +
+ - - - - - -
- - -
- - -
-
- - - -
-
-
- -
Fehler
- -
-
- - - -
-
-
- -
Warnung
- -
-
- - - -
-
-
- -
Info
- -
-
- - - -
-
-
- -
Erfolgreich
- -
-
- - - \ No newline at end of file +
diff --git a/lib/mvcfronk/mfLayout/mfLayout.php b/lib/mvcfronk/mfLayout/mfLayout.php index f4564eb7f..afd3a6742 100644 --- a/lib/mvcfronk/mfLayout/mfLayout.php +++ b/lib/mvcfronk/mfLayout/mfLayout.php @@ -2,309 +2,285 @@ class mfLayout { - private $log; - private $tvars = array(); - private $template = "cli"; - private $package = "default"; - private $inline; - private $returnValue; - protected static $instance; + private $log; + private $tvars = array(); + private $template = "cli"; + private $package = "default"; + private $inline; + private $returnValue; + protected static $instance; - public function __construct() { - $this->log = mfLoghandler::singleton(); - $this->inline = new stdClass(); + public function __construct() { + $this->log = mfLoghandler::singleton(); + $this->inline = new stdClass(); - if (!defined("LAYOUT_DEFAULTPACKAGE")) { - $this->package = "default"; - } else { - $this->package = LAYOUT_DEFAULTPACKAGE; - } - - if (method_exists($this, "init")) { - $this->init(); - } - } - - public static function singleton($param = false) { - if (!isset(self::$instance)) { - $c = __CLASS__; - self::$instance = new $c($param); - } - return self::$instance; - } - - public function set($name, $value) { - $this->tvars[$name] = $value; - } - - public function get($name) { - if(array_key_exists($name, $this->tvars)) { - return $this->tvars[$name]; - } - return null; - } - - public function setPackage($package) { - $this->package = $package; - } - - public function setTemplate($template) { - $this->template = $template; - } - - private function setReturnValue($value) { - $this->returnValue = $value; - } - - public function getReturnedValue() { - return $this->returnValue; - } - - private function getTplPath() { - return VIEWDIR . "/" . $this->package . "/" . $this->template . ".php"; - } - - public function templatePathExists() { - return file_exists($this->getTplPath()); - } - - public function render() { - $this->defaultLayoutvariables(); - - $tpl_path = $this->getTplPath(); - if(!is_file($tpl_path)) { - $tpl_path = VIEWDIR . "/default/" . $this->template . ".php"; - } - - foreach ($this->tvars as $name => $value) { - if ($name === "this") - continue; - $$name = $value; - } - - ob_end_clean(); - ob_start(); - include($tpl_path); - return ob_get_clean(); - } - - public function display() { - echo $this->render(); - } - - public function renderPDF($filename = false, $extraPdfArgs = false) { - $html = $this->render(); - - if (!$filename) - $filename = date('U') . "-" . rand(1000, 9999) . ".pdf"; - - $wk = new mfWkhtmltopdf($html); - - $pdfargs = ""; - if ($extraPdfArgs) { - $pdfargs .= " $extraPdfArgs"; - } - - $filename = $wk->generate($filename, $pdfargs); - - if (!$filename) { - throw new Exception("Error generating PDF document."); - } - - $file = PDFOUTPUTPATH . "/$filename"; - - return $file; - } - - public function displayPDF($filename = false, $extraPdfArgs = false) { - $filepath = $this->renderPDF($filename, $extraPdfArgs); - - if (!$filename && strpos($filepath, "/") !== false) { - $path_parts = explode("/", $filepath); - $filename = end($path_parts); - } - - header('Content-Type: application/octet-stream'); - header('Content-disposition: attachment; filename=' . $filename); - header('Content-Transfer-Encoding: binary'); - header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); - header('Content-Type: ' . mime_content_type($filepath)); - header("Content-Length: " . filesize($filepath)); - - readfile($filepath); - exit; - } - - public function setFlash($msg, $type = "info") { - // info, warning, error - if (!$msg) { - return true; - } - - if ($type == "error") { - $_SESSION[MFAPPNAME . '_mfError'] = $msg; - } elseif ($type == "warning" || $type == "warn") { - $_SESSION[MFAPPNAME . '_mfWarning'] = $msg; - } elseif ($type == "success") { - $_SESSION[MFAPPNAME . '_mfSuccess'] = $msg; - } else { - $_SESSION[MFAPPNAME . '_mfInfo'] = $msg; - } - - return true; - } - - private function defaultLayoutvariables() { - $this->set('mfLayoutPackage', $this->package); - - if (isset($_SESSION[MFAPPNAME . '_mfError'])) { - $this->set("mfError", $_SESSION[MFAPPNAME . '_mfError']); - $this->set("_flash_set", true); - unset($_SESSION[MFAPPNAME . '_mfError']); - } - if (isset($_SESSION[MFAPPNAME . '_mfWarning'])) { - $this->set("mfWarning", $_SESSION[MFAPPNAME . '_mfWarning']); - $this->set("_flash_set", true); - unset($_SESSION[MFAPPNAME . '_mfWarning']); - } - if (isset($_SESSION[MFAPPNAME . '_mfInfo'])) { - $this->set("mfInfo", $_SESSION[MFAPPNAME . '_mfInfo']); - $this->set("_flash_set", true); - unset($_SESSION[MFAPPNAME . '_mfInfo']); - } - if (isset($_SESSION[MFAPPNAME . '_mfSuccess'])) { - $this->set("mfSuccess", $_SESSION[MFAPPNAME . '_mfSuccess']); - $this->set("_flash_set", true); - unset($_SESSION[MFAPPNAME . '_mfSuccess']); - } - } - - /* - * Begin inline functions - */ - - public static function strtrim($string, $chars) { - if (strlen($string) <= $chars) - return $string; - return substr($string, 0, $chars) . "..."; - } - - // produces url for generating links - public static function getUrl($mod, $action = null, $param = null) { - if (!$mod) { - return ""; - } - - - if (MFUSEFANCYURLS) { - // use fancy urls - $url = MFFANCYBASEURL; - if ($mod) { - $url .= "/$mod"; - if ($action) { - $url .= "/$action"; + if (!defined("LAYOUT_DEFAULTPACKAGE")) { + $this->package = "default"; + } else { + $this->package = LAYOUT_DEFAULTPACKAGE; + } + + if (method_exists($this, "init")) { + $this->init(); } - } - $url = preg_replace('#//#', '/', $url); - } else { - // no fancy urls - $url = "?action=$mod"; - if ($action) { - $url .= "_$action"; - } - } - if (is_array($param) && count($param)) { - $url .= (MFUSEFANCYURLS) ? "/?" : "&"; - $param_qs = http_build_query($param); - $url .= "$param_qs"; } - return $url; - } - - public static function getResourcePath() { - if (MFUSEFANCYURLS) { - $path = MFFANCYBASEURL; - if (substr($path, -1, 1) != "/") { - $path .= "/"; - } - } else { - $path = ""; - } - return $path; - } - - public function cycle() { - $args = func_get_args(); - - if (is_array($this->inline->cycle) && count($this->inline->cycle)) { - if (array_diff($this->inline->cycle, $args)) { // if different, start new cycle - $this->inline->cycle = $args; - $this->inline->cyclecount = 0; - } - } else { - $this->inline->cycle = $args; - $this->inline->cyclecount = 0; + public static function singleton($param = false) { + if (!isset(self::$instance)) { + $c = __CLASS__; + self::$instance = new $c($param); + } + return self::$instance; } - if ($this->inline->cyclecount >= count($this->inline->cycle)) { - $this->inline->cyclecount = 0; + public function set($name, $value) { + $this->tvars[$name] = $value; } - return $this->inline->cycle[$this->inline->cyclecount++]; - } + public function get($name) { + if(array_key_exists($name, $this->tvars)) { + return $this->tvars[$name]; + } + return null; + } + + public function setPackage($package) { + $this->package = $package; + } + + public function setTemplate($template) { + $this->template = $template; + } + + private function setReturnValue($value) { + $this->returnValue = $value; + } + + public function getReturnedValue() { + return $this->returnValue; + } + + private function getTplPath() { + return VIEWDIR . "/" . $this->package . "/" . $this->template . ".php"; + } + + public function templatePathExists() { + return file_exists($this->getTplPath()); + } + + public function render() { + $this->defaultLayoutvariables(); + + $tpl_path = $this->getTplPath(); + if(!is_file($tpl_path)) { + $tpl_path = VIEWDIR . "/default/" . $this->template . ".php"; + } + + foreach ($this->tvars as $name => $value) { + if ($name === "this") + continue; + $$name = $value; + } + + ob_end_clean(); + ob_start(); + include($tpl_path); + return ob_get_clean(); + } + + public function display() { + echo $this->render(); + } + + public function renderPDF($filename = false, $extraPdfArgs = false) { + $html = $this->render(); + + if (!$filename) + $filename = date('U') . "-" . rand(1000, 9999) . ".pdf"; + + $wk = new mfWkhtmltopdf($html); + + $pdfargs = ""; + if ($extraPdfArgs) { + $pdfargs .= " $extraPdfArgs"; + } + + $filename = $wk->generate($filename, $pdfargs); + + if (!$filename) { + throw new Exception("Error generating PDF document."); + } + + $file = PDFOUTPUTPATH . "/$filename"; + + return $file; + } + + public function displayPDF($filename = false, $extraPdfArgs = false) { + $filepath = $this->renderPDF($filename, $extraPdfArgs); + + if (!$filename && strpos($filepath, "/") !== false) { + $path_parts = explode("/", $filepath); + $filename = end($path_parts); + } + + header('Content-Type: application/octet-stream'); + header('Content-disposition: attachment; filename=' . $filename); + header('Content-Transfer-Encoding: binary'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Content-Type: ' . mime_content_type($filepath)); + header("Content-Length: " . filesize($filepath)); + + readfile($filepath); + exit; + } + + public function setFlash($msg, $type = "info") { + // info, warning, error + if (!$msg) { + return true; + } + + $_SESSION[MFAPPNAME . '_mfNotify'] = array("type" => $type, "message" => $msg); + + return true; + } + + private function defaultLayoutvariables() { + $this->set('mfLayoutPackage', $this->package); + + if (isset($_SESSION[MFAPPNAME . '_mfNotify'])) { + $this->set("mfNotify", $_SESSION[MFAPPNAME . '_mfNotify']); + unset($_SESSION[MFAPPNAME . '_mfNotify']); + } + } + + /* + * Begin inline functions + */ + + public static function strtrim($string, $chars) { + if (strlen($string) <= $chars) + return $string; + return substr($string, 0, $chars) . "..."; + } + + // produces url for generating links + public static function getUrl($mod, $action = null, $param = null) { + if (!$mod) { + return ""; + } + + + if (MFUSEFANCYURLS) { + // use fancy urls + $url = MFFANCYBASEURL; + if ($mod) { + $url .= "/$mod"; + if ($action) { + $url .= "/$action"; + } + } + $url = preg_replace('#//#', '/', $url); + } else { + // no fancy urls + $url = "?action=$mod"; + if ($action) { + $url .= "_$action"; + } + } + if (is_array($param) && count($param)) { + $url .= (MFUSEFANCYURLS) ? "/?" : "&"; + $param_qs = http_build_query($param); + $url .= "$param_qs"; + } + + return $url; + } + + public static function getResourcePath() { + if (MFUSEFANCYURLS) { + $path = MFFANCYBASEURL; + if (substr($path, -1, 1) != "/") { + $path .= "/"; + } + } else { + $path = ""; + } + return $path; + } + + public function cycle() { + $args = func_get_args(); + + if (is_array($this->inline->cycle) && count($this->inline->cycle)) { + if (array_diff($this->inline->cycle, $args)) { // if different, start new cycle + $this->inline->cycle = $args; + $this->inline->cyclecount = 0; + } + } else { + $this->inline->cycle = $args; + $this->inline->cyclecount = 0; + } + + if ($this->inline->cyclecount >= count($this->inline->cycle)) { + $this->inline->cyclecount = 0; + } + + return $this->inline->cycle[$this->inline->cyclecount++]; + } } function mfLayoutInclude($filename, $folder = "") { - global $mfLayoutPackage; - - if($folder) { - $folder = $folder."/"; - } + global $mfLayoutPackage; - $inc_path = VIEWDIR . "/" . LAYOUT_DEFAULTPACKAGE . "/" . $folder . $filename; - if(!file_exists($inc_path)) { - $inc_path = VIEWDIR . "/default/" . $folder . $filename; - } + if($folder) { + $folder = $folder."/"; + } - include $inc_path; + $inc_path = VIEWDIR . "/" . LAYOUT_DEFAULTPACKAGE . "/" . $folder . $filename; + if(!file_exists($inc_path)) { + $inc_path = VIEWDIR . "/default/" . $folder . $filename; + } + + include $inc_path; } /* * global variable $lang to avoid loading it every time it's accessed */ if(!isset($lang)) { - $lang = []; + $lang = []; } $last_translation_failed = false; function __($_string, $prefix = null) { - global $lang; - global $last_translation_failed; - $last_translation_failed = false; - - $string = str_replace(["Ä","Ö","Ü","ß","ä","ö","ü","ß"], ["ae","oe","ue","ss","ae","oe","ue", "ss"], strtolower($_string)); - - if(!$lang) { - //mfLoghandler::singleton()->debug("Loading language file for __() function"); - include(BASEDIR . "/lang/de.php"); - } - - if($prefix) { - $string = "$prefix.$string"; - } - - if (array_key_exists($string, $lang['de'])) { - return $lang['de'][$string]; - } - $last_translation_failed = true; - return $string; + global $lang; + global $last_translation_failed; + $last_translation_failed = false; + + $string = str_replace(["Ä","Ö","Ü","ß","ä","ö","ü","ß"], ["ae","oe","ue","ss","ae","oe","ue", "ss"], strtolower($_string)); + + if(!$lang) { + //mfLoghandler::singleton()->debug("Loading language file for __() function"); + include(BASEDIR . "/lang/de.php"); + } + + if($prefix) { + $string = "$prefix.$string"; + } + + if (array_key_exists($string, $lang['de'])) { + return $lang['de'][$string]; + } + $last_translation_failed = true; + return $string; } function __last_translation_failed() { - global $last_translation_failed; - return $last_translation_failed; -} \ No newline at end of file + global $last_translation_failed; + return $last_translation_failed; +} diff --git a/public/plugins/notification/notify.js b/public/plugins/notification/notify.js new file mode 100644 index 000000000..f733afcd5 --- /dev/null +++ b/public/plugins/notification/notify.js @@ -0,0 +1,42 @@ +// noinspection all + +document.addEventListener('DOMContentLoaded', () => { + // @formatter:off + var Notyf=function(){"use strict";var e,o=function(){return(o=Object.assign||function(t){for(var i,e=1,n=arguments.length;e