ACC SHELL

Path : /srv/www/vhosts/tsisystem/app/config/
File Upload :
Current File : //srv/www/vhosts/tsisystem/app/config/bootstrap.php

<?php
/* SVN FILE: $Id: bootstrap.php 2951 2006-05-25 22:12:33Z phpnut $ */
/**
 * Short description for file.
 *
 * Long description for file
 *
 * PHP versions 4 and 5
 *
 * CakePHP :  Rapid Development Framework <http://www.cakephp.org/>
 * Copyright (c)	2006, Cake Software Foundation, Inc.
 *								1785 E. Sahara Avenue, Suite 490-204
 *								Las Vegas, Nevada 89104
 *
 * Licensed under The MIT License
 * Redistributions of files must retain the above copyright notice.
 *
 * @filesource
 * @copyright		Copyright (c) 2006, Cake Software Foundation, Inc.
 * @link				http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
 * @package			cake
 * @subpackage		cake.app.config
 * @since			CakePHP v 0.10.8.2117
 * @version			$Revision: 2951 $
 * @modifiedby		$LastChangedBy: phpnut $
 * @lastmodified	$Date: 2006-05-25 17:12:33 -0500 (Thu, 25 May 2006) $
 * @license			http://www.opensource.org/licenses/mit-license.php The MIT License
 */
/**
 *
 * This file is loaded automatically by the app/webroot/index.php file after the core bootstrap.php is loaded
 * This is an application wide file to load any function that is not used within a class define.
 * You can also use this to include or require any files in your application.
 *
 */
/**
 * The settings below can be used to set additional paths to models, views and controllers.
 * This is related to Ticket #470 (https://trac.cakephp.org/ticket/470)
 *
 * $modelPaths = array('full path to models', 'second full path to models', 'etc...');
 * $viewPaths = array('this path to views', 'second full path to views', 'etc...');
 * $controllerPaths = array('this path to controllers', 'second full path to controllers', 'etc...');
 *
 */

define('VALID_DATETIME', '/(\d+)[,.\s]+(\d+)[,.\s]+(\d+)? (\d+)[.:](\d+)([.:](\d+))?/');
define('VALID_DB_DATETIME', '/^\d+\-\d+\-\d+ \d+:\d+(:\d+)?$/');

/**
 *
 */
function fromDate($what)
{
    $what = trim($what);

    if (preg_match('/^\d+\-\d+\-\d+$/', $what)) {
        return $what;
    }

    if (! preg_match('/(\d+)[,.\s]+(\d+)([,.\s]+(\d+))?/', $what, $m)) {
        return NULL;
    }

    $year   = $m[4] ? $m[4] : date('y');

    if ($year < 75) {
        $year = 20 . $year;
    }
    else if ($year < 1000) {
        $year = 19 . $year;
    }

    return sprintf('%d-%02d-%02d', $year, $m[2], $m[1]);
}

/**
 *
 */
function toDate($what, $long_year = false)
{
    if (! preg_match('/\d+\-\d+\-\d+/', $what)) {
        return NULL;
    }

    $date = explode('-', $what);

    $year = $long_year ? $date[0] : substr($date[0], 2);

    return sprintf('%02d.%02d.%s', $date[2], $date[1], $year);
}

/**
 *
 */
function fromDateTime($what)
{
    $what = trim($what);

    if (preg_match('/^\d+\-\d+\-\d+ \d+:\d+(:\d+)?$/', $what)) {
        return $what;
    }

    if (! preg_match('/(\d+)[,.\s]+(\d+)[,.\s]+(\d+)? (\d+)[.:](\d+)([.:](\d+))?/', $what, $m)) {
        return NULL;
    }

    $year   = $m[3] ? $m[3] : date('y');
    $sec    = empty($m[7]) ? 0 : $m[7];

    if ($year < 75) {
        $year = 20 . $year;
    }
    else if ($year < 1000) {
        $year = 19 . $year;
    }

    return sprintf('%d-%02d-%02d %02d:%02d:%02d',
        $year,
        $m[2],
        $m[1],
        $m[4],
        $m[5],
        $sec
    );
}

/**
 *
 */
function toDateTime($what, $long_year = false, $seconds = false)
{
    if (! preg_match(VALID_DB_DATETIME, $what)) {
        return NULL;
    }

    list($date, $time) = explode(' ', $what);
    $date = explode('-', $date);
    $time = explode(':', $time);

    $year = $long_year ? $date[0] : substr($date[0], 2);

    if ($seconds) {
        return sprintf('%02d.%02d.%s %02d:%02d:%02d',
            $date[2],
            $date[1],
            $year,
            $time[0],
            $time[1],
            $time[2]
        );
    }

    return sprintf('%02d.%02d.%s %02d:%02d',
        $date[2],
        $date[1],
        $year,
        $time[0],
        $time[1]
    );
}

/**
 *
 */
function setDefault(&$v, $d = NULL, $strict = 1)
{
    if ($strict) {
        if ($v === NULL) {
            $v = $d;
        }
    }
    else {
        if (empty($v)) {
            $v = $d;
        }
    }
}

/**
 *
 */
function en2czMonth($str)
{
    static $en2czMonth = array(
        'January' => 'ledna',
        'February' => 'února',
        'March' => 'března',
        'April' => 'dubna',
        'May' => 'května',
        'June' => 'června',
        'July' => 'července',
        'August' => 'srpna',
        'September' => 'září',
        'October' => 'října',
        'November' => 'listopadu',
        'December' => 'prosince'
    );

    return str_replace(array_keys($en2czMonth), $en2czMonth, $str);
}

function __latin2ascii($str)
{
    $from = "\xA1\xA3\xA5\xA6\xA9\xAA\xAB\xAC\xAE\xAF\xB1\xB3\xB5\xB6\xB9\xBA" .
        "\xBB\xBC\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB" .
        "\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD8\xD9\xDA\xDB\xDC" .
        "\xDD\xDE\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED" .
        "\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF8\xF9\xFA\xFB\xFC\xFD\xFE";
    $to = "\x41\x4C\x4C\x53\x53\x53\x54\x5A\x5A\x5A\x61\x6C\x6C\x73\x73\x73" .
        "\x74\x7A\x7A\x7A\x52\x41\x41\x41\x41\x4C\x43\x43\x43\x45\x45\x45" .
        "\x45\x49\x49\x44\x44\x4E\x4E\x4F\x4F\x4F\x4F\x52\x55\x55\x55\x55" .
        "\x59\x54\x72\x61\x61\x61\x61\x6C\x63\x63\x63\x65\x65\x65\x65\x69" .
        "\x69\x64\x64\x6E\x6E\x6F\x6F\x6F\x6F\x72\x75\x75\x75\x75\x79\x74";
    return strtr($str, $from, $to);
}

function __win2latin($str)
{
    return strtr($str,
        "\x9A\x8A\x9E\x8E\x9D\x8D",
        "\xB9\xA9\xBE\xAE\xBB\xAB"
    );
}


/**
 *
 */
function indexFromName($name)
{
    $idx = strtolower(__latin2ascii($name));
    $idx = preg_replace('/[ _]+/', '-', $idx);
    return preg_replace('/[^a-z0-9-]/', '', $idx);
}


/**
 * Smart substr /currently not so smart../ :D
 */
function ssubstr($str, $from, $to)
{
    if (! strlen($str)) {
        return $str;
    }

    $nstr = preg_replace('/&#\d+;/', '*', $str);
    $nstr = preg_replace('/&[a-z]+;/i', '*', $nstr);

//     echo "STR: ", h($str), " NSTR: ", h($nstr);
//     echo "DIFF: ", strlen($str) - strlen($nstr);
//     echo "<br>";

    $to = $to * (1+((strlen($str) - strlen($nstr)) / strlen($nstr)));


//     $to += strlen($str) - strlen($nstr);
    $nstr = substr($str, $from, $to);

//     if (strlen($nstr) == ($to - $from)) {
//         echo "GHE?";
//     }

    $len = strlen($nstr);
    $nstr = strrev($nstr);

    $strip = strcspn($nstr, " \t\r\n");

    if ($strip) {
        return substr(strrev($nstr), 0, -$strip - 1);
    }

    return strrev($nstr);
}

/**
 *
 */
function _html2tmce($data)
{
    if (! empty($_SESSION['tinymce_disabled'])) {
        return $data;
    }

    $data = preg_replace('/<(div|p)([^>]*?)style="text-align: ([^>]*?)"([^>]*?)>/i',
        '<\\1\\2align="\\3"\\4>', $data);

    $data = preg_replace('/<div/i', '<p', $data);
    $data = preg_replace(',</div,i', '</p', $data);

    $data = preg_replace('/<img([^>]*)class="st-([^>]*?)"([^>]*)>/i',
        '<img\\1align="\\2"\\3>', $data);

    return $data;
}

function html_address($x)
{

    if (strpos($x, "\n")) {
        return preg_replace('/\\r?\\n/', ',<br />', $x);
    }

    $back = $x;

    $psc = '';
    $city = '';
    $street = '';

    if (preg_match('/(\d{3}\s+\d{2})/', $x, $m)) {
        $psc = $m[1];
        $x = str_replace($psc, '', $x);
    }

    if (preg_match(',(.*?\s+[0-9/]+[a-z]?),i', $x, $m)) {
        $street = trim($m[1]);
        $x = str_replace($street, '', $x);
    }

    if (! $psc && preg_match('/(\d{5})/', $x, $m)) {
        $psc = $m[1];
        $x = str_replace($psc, '', $x);
    }

    if ($psc && $street) {
        $city = preg_replace('/[\\r\\n\\t,]/', '', $x);
        return "$street,<br />$city,<br />$psc";
    }

    return $back;
}

function text_address($x)
{
    $back = $x;

    $psc = '';
    $city = '';
    $street = '';

    if (preg_match('/(\d{3}\s+\d{2})/', $x, $m)) {
        $psc = trim($m[1]);
        $x = str_replace($psc, '', $x);
    }

    if (preg_match(',(.*?\s+[0-9/]+[a-z]?),i', $x, $m)) {
        $street = trim($m[1]);
        $x = str_replace($street, '', $x);
    }

    if (! $psc && preg_match('/(\d{5})/', $x, $m)) {
        $psc = trim($m[1]);
        $x = str_replace($psc, '', $x);
    }

    if ($psc && $street) {
        $city = trim(preg_replace('/[\\r\\n\\t,]/', '', $x));
        return "$street\n$city\n$psc";
    }

    return $back;
}

/**
 *
 */
function fix_local_links($buf, $base)
{
    // link to product page
    $buf = preg_replace('/href="[^"]*produkty\\/([^"]+)"/',
        'href="' . $base . '/produkty/\\1"', $buf);

    // handle custom uploaded files and images
    $buf = preg_replace('/src="[^"]*image\\/(\\d+)"/',
        'src="' . $base . '/image/\\1"', $buf);

    $buf = preg_replace('/src="[^"]*files\\/view\\/(\d+)"/',
        'src="' . $base . '/image/\\1"', $buf);

    $buf = preg_replace('/href="[^"]*files\\/view\\/(\d+)"/',
        'href="' . $base . '/file/\\1"', $buf);

    return $buf;
}

global $DOMAINS;
$DOMAINS = array(
    ' vybrat ...' => 0,
    'Ultrazvukové NDT přístroje' => 'lkeller@tsisystem.cz',
    'Ultrazvukové diagnostické přístroje' => 'lkeller@tsisystem.cz',
    'Povlakoměry, tloušťkoměry a porozimetry' => 'lkeller@tsisystem.cz',
    'Ruční bezkontaktní teploměry' => 'vhubik@tsisystem.cz',
    'Termokamery' => 'vhubik@tsisystem.cz',
    'Systémové bezkontakntí teploměry' => 'vhubik@tsisystem.cz',
    'Metalografické stroje a materiály' => 'pcvanda@tsisystem.cz',
    'Přenosné a stacionární tvrdoměry' => 'pcvanda@tsisystem.cz',
    'Mikrotvrdoměry' => 'pcvanda@tsisystem.cz',
    'Kalibrace' => 'hhermanova@tsisystem.cz',
    'Opravy' => 'hhermanova@tsisystem.cz',
    'Měření a zkoušení' => 'hhermanova@tsisystem.cz',
);

ACC SHELL 2018