���ѧۧݧ�ӧ�� �ާ֧ߧ֧էا֧� - ���֧էѧܧ�ڧ��ӧѧ�� - /var/www/nitsch.de/wp-includes/php-compat/incs.tar
���ѧ٧ѧ�
functions.inc.php 0000775 00000024125 00000000000 0010007 0 ustar 00 <?php use PHPMailer\PHPMailer\PHPMailer; /** * get Page Title, Pages Include Name * @return object $page */ function getPage(){ if(!LOGGED){ if(PAGE == 'passwort-vergessen') return (object) [ 'title' => 'Passwort vergessen', 'page' => 'passwort-vergessen' ]; return (object) [ 'title' => 'Login', 'page' => 'login' ]; } switch (PAGE){ case 'account': $title = 'Account'; $page = PAGE; break; case 'auftrage': if(SPAGE){ $title = 'Auftrag'; $page = PAGE.'.detail'; }else{ $title = 'Aufträge'; $page = PAGE; } break; case 'werkzeuge': if(SPAGE){ $title = 'Werkzeug'; $page = PAGE.'.detail'; }else{ $title = 'Werkzeuge'; $page = PAGE; } break; case 'maschinen': $title = 'Maschinen'; $page = PAGE; break; case 'produkte': if(SPAGE2){ $title = 'Produkt'; $page = PAGE.'.detail'; }elseif(SPAGE){ $title = 'Produkte'; $page = PAGE.'.customer'; }else{ $title = 'Produkte'; $page = PAGE; } break; case 'kunden': $title = 'Kunden'; $page = PAGE; break; case 'mitarbeiter': $title = 'Mitarbeiter'; $page = PAGE; break; case 'tablets': $title = 'Tablets'; $page = PAGE; break; case 'einstellungen': $title = 'Einstellungen'; $page = PAGE; break; case 'archiv': $title = 'Archiv'; $page = PAGE; break; case 'accounts': $title = 'Zugänge'; $page = PAGE; break; default: $title = 'Dashboard'; $page = 'dashboard'; break; } return (object) [ 'title' => $title, 'page' => $page ]; } /** * Load the form * @param string $form * @param object $p * * @return string $html */ function loadForm($form,$p){ $filename = DIR.'forms/'.$form.'.php'; if (is_file($filename)) { ob_start(); include $filename; return ob_get_clean(); } return ''; } /** * return function for ajax.inc.php * * @param number $code * @param string $msg * @return string $json */ function _return($code, $msg = '', $data = '') { return json_encode(['code' => $code, 'msg' => $msg, 'data' => $data]); } /** * Mailingfunction * @param (string|array) $email * @param string $subject * @param string $html * @param (string|array) $attachments * @return boolean */ function myMail($email,$subject,$html,$attachments=false){ $mail = new PHPMailer(true); try{ $mail->isSMTP(); $mail->Host = 'smtp.ionos.de'; $mail->SMTPAuth = true; $mail->Username = 'noreply@kockzius.com'; $mail->Password = 'yG!E?Z_TiE1e*BO6_87Rh'; $mail->SMTPSecure = 'TLS'; $mail->Port = 587; $mail->CharSet = "UTF-8"; $mail->setFrom('noreply@kockzius.com', 'Automailer | kockzius.de'); $mail->FromName = 'Kockzius | Maschinentool'; if(!is_array($email)) $email = [$email]; foreach($email AS $e) $mail->addAddress($e); // Add a recipient if($attachments){ if(is_array($attachments)){ foreach($attachments AS $a) $mail->addAttachment($a); }else $mail->addAttachment($attachments); } $mail->isHTML(true); $mail->Subject = $subject; $mail->Body = $html; if($mail->send()){ return true; } } catch (phpmailerException $e) { echo $e->errorMessage(); } catch (Exception $e) { echo $e->getMessage(); } return false; } /** * get Domain from URL * @param string $url * @return (string|boolean) $domain */ function getDomain($url) { $pieces = parse_url($url); $domain = isset($pieces['host']) ? $pieces['host'] : ''; if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $regs)) { return $regs['domain']; } return false; } /** * Activate Debugging * @param boolean $debug * @return void */ function debug($debug = false) { if ($debug) { error_reporting(E_ALL); ini_set('display_errors', 'on'); } else { error_reporting(0); ini_set('display_errors', 'off'); } } /** * Create random 512 Hash * @param number $len * @return string $hash */ function createHash($len = 32) { return substr(hash('sha512', mt_rand(0, 99999) . date('YmYmdHHiis')), 0, $len); } /** * Create random string * @param number $length * @param string $keyspace * @return string $str */ function createStr( int $length = 64, string $keyspace = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' ): string { if ($length < 1) { throw new \RangeException("Length must be a positive integer"); } $pieces = []; $max = mb_strlen($keyspace, '8bit') - 1; for ($i = 0; $i < $length; ++$i) { $pieces[] = $keyspace[random_int(0, $max)]; } return implode('', $pieces); } /** * Return month name * @param number $m * @return string $month */ function month2name($m) { setlocale(LC_TIME, 'de_DE', 'de_DE.UTF-8'); return strftime('%B', strtotime(date('Y-') . $m . '-1')); /* $dateObj = DateTime::createFromFormat('!m', $i); $dateObj->format('F'); */ } /** * Return url valid string * @param string $str * @return string $url */ function createUrl($str) { $str = preg_replace('![^A-Za-z0-9äüöÄÖÜß]!', '-', trim(strtolower($str))); $search = ['ä', 'ö', 'ü', 'Ä', 'Ö', 'Ü', 'ß', 'Å']; $replace = ['ae', 'oe', 'ue', 'Ae', 'Oe', 'Ue', 'ss', 'A']; $str = str_replace($search, $replace, $str); return trim(trim(preg_replace('/-+/', '-', $str), '-')); } /** * Return the object of an array * @param array $array * @param boolean $first * @return object $obj */ function a2o($array, $first = true) { $obj = json_decode(json_encode($array)); return $obj; /* $obj = new stdClass; if (is_array($array)) { foreach ($array as $k => $v) { if (strlen($k)) { if (is_array($v) && $first) { if (is_object($obj)) $obj = []; $obj[$k] = a2o($v, 0); //RECURSION } elseif (is_array($v) && !$first) { $obj->{$k} = a2o($v, 0); //RECURSION } else { $obj->{$k} = $v; } } } } return $obj; */ } /** * Return the array of an object * @param object $obj * @return array $array */ function o2a($obj) { return json_decode(json_encode($obj), true); /* if (is_object($obj)) { $obj = get_object_vars($obj); } if (is_array($obj)) { return array_map(__FUNCTION__, $obj); } else { return $obj; } */ } /** * Convert string to Windows-1252 * @param string $string * @return void */ function convertToWindowsCharset(&$string) { $charset = mb_detect_encoding($string, "UTF-8, ISO-8859-1, ISO-8859-15", true); $string = mb_convert_encoding($string, "Windows-1252", $charset); } /** * Savley Parse User Input with array_walk * @param string $item * @param string $key * @return void */ function h2a(&$item, $key) { if (str_contains($key, "_html")) { $item = html2txt($item); return; } elseif (is_string($item)) $item = nl2br(str_replace('>', ' ', str_replace('<', ' ', str_replace('<br />', '', html2txt($item))))); } /** * Convert HTML to Text * @param string $html * @return string $text */ function html2txt($html) { $search = array( '@<div[^>]*?>.*?</div>@si', // Strip div tags '@<script[^>]*?>.*?</script>@si', // Strip out javascript '@<style[^>]*?>.*?</style>@siU', // Strip style tags properly '@<![\s\S]*?--[ \t\n\r]*>@' // Strip multi-line comments including CDATA ); $text = preg_replace($search, '', $html); return $text; } /** * Show Min Price * @param number $min * @param number $max * @return string $price */ function showMinPrice($min, $max) { return (($min == $max) ? '' : 'ab ') . showPrice($min); } /** * Show Price with 2 Dezimal * @param number $r * @param number $dez * @return string $price */ function showPrice($r, $dez = 2) { return number_format($r, $dez, ",", "."); } /** * Format Price * @param number $r * @return string $price */ function formatPrice($r) { return str_replace(",", ".", str_replace('.', '', $r)); } /** * Generate Random Light HexColor * @return string $color */ function generateLightColor($count=0) { $hex = sprintf('#%06X', mt_rand(0xDD9999, 0xFFFF00)); if($count > 10) return $hex; if(!getContrastColor($hex)) return generateLightColor($count+1); return $hex; } /** * Get Contrast Color * @param string $hexcolor * @return string $color */ function getContrastColor($hexcolor) { $r = hexdec(substr($hexcolor, 1, 2)); $g = hexdec(substr($hexcolor, 3, 2)); $b = hexdec(substr($hexcolor, 5, 2)); $yiq = (($r * 299) + ($g * 587) + ($b * 114)) / 1000; return ($yiq >= 150) ? 0 : 1; // 0 = black | 1 = white => Best readable contrast is >= 128 (!) } /** * Generate Random Dark HexColor * @return string $color */ function generateDarkColor() { return sprintf('#%06X', mt_rand(0x000000, 0x999999)); } /** * Generate Random HexColor * @return string $color */ function generateRandomColor() { return sprintf('#%06X', mt_rand(0, 0xFFFFFF)); } function jsRandom(){ return mt_rand() / (mt_getrandmax() + 1); } function getGreeting(){ if(date("H") < 11) return "Guten Morgen"; elseif(date("H") < 18) return "Servus"; elseif(date("H") < 21) return "Guten Abend"; else return "Gute Nacht"; } function showOrderName($order){ if(!empty($order->customerOrderNr)) return $order->customerOrderNr; return $order->customerID.'.'.$order->productID.'.'.$order->id; } function showPinPad(){ $rand = md5(mt_rand(0,9999999)); return ' <div class="std-form"> <input type="number" id="pp-input-'.$rand.'" name="pin" placeholder="PIN eingeben" /> <label for="pp-input-'.$rand.'">PIN</label> </div> <div class="numpad" data-input="pp-input-'.$rand.'"> <button type="button" class="num" data-num="1">1</button> <button type="button" class="num" data-num="2">2</button> <button type="button" class="num" data-num="3">3</button> <button type="button" class="num" data-num="4">4</button> <button type="button" class="num" data-num="5">5</button> <button type="button" class="num" data-num="6">6</button> <button type="button" class="num" data-num="7">7</button> <button type="button" class="num" data-num="8">8</button> <button type="button" class="num" data-num="9">9</button> <button type="button" class="num icon" data-num="del"><i class="fas fa-backspace"></i></button> <button type="button" class="num" data-num="0">0</button> <button type="button" class="num" data-num="ok">.</button> </div>'; } ?>