ACC SHELL

Path : /srv/www/vhosts/centrumlb/administrace/libs/
File Upload :
Current File : /srv/www/vhosts/centrumlb/administrace/libs/tools.class.php

<?php

/**
 *
 * @version 0.9
 * @copyright 19.10.2010
 */
class Validate {

    private $valid = true;

    function __construct() {

    }

    public function setValid($value) {
	$this->valid = $value;
    }

    public function getValid() {
	return $this->valid;
    }

    public static function validateJmeno($jmeno = "") {
	// Vyplnil uzivatel prihlasovaci jmeno?
	if (empty($jmeno)) {
	    $_SESSION['message_ko'][] = "Musíte vyplnit Vaše jméno.";
	    return false;
	} else {
	    $jmeno = htmlspecialchars(strip_tags($jmeno), ENT_QUOTES);
	    //po orezani bordelu, neni jmeno prazdne?
	    if (!empty($jmeno)) {
		return $jmeno;
	    } else {
		$_SESSION['message_ko'][] = "Musíte vyplnit Vaše jméno.";
		return false;
	    }
	}
    }

    /**
     *
     * @name validateMail
     * @var string - string ke kontrole
     * @var required - true - jedna se o povinnou polozku, false - neni vyzadovano
     * @copyright 10.5.2011
     * @return bool
     */
    public static function validateMail($mail = "", $required = true) {
	// Vyplnil uzivatel prihlasovaci jmeno?
	if (empty($mail)) {
	    if ($required == false) {
		return null;
	    } else {
		Tools::message('Musíte vyplnit Váš email.', 'ERR');
		return false;
	    }
	}

	// Je zadany email ve spravnem tvaru?
	else {
	    $kontrola = preg_match('/^[^@]+@[a-zA-Z0-9._-]+\.[a-zA-Z]+$/', $mail);
	    if ($kontrola == true) {
		return $mail;
	    } else {
		Tools::message('Email není ve správném tvaru.', 'ERR');
		return false;
	    }
	}
    }

    public static function validateTelefon($telefon = "", $required = true) {
	if (empty($telefon)) {
	    if ($required == false) {
		return null;
	    } else {
		Tools::message('Musíte vyplnit telefonní číslo.', 'ERR');
		return false;
	    }
	} else {
	    $predvolby = array('', '\+420', '00420', '\+421', '00421');
	    foreach ($predvolby as $number) {
		$kontrola = preg_match("/^({$number})? ?\d{3} ?\d{3} ?\d{3}$/", $telefon);
		if ($kontrola == true) {
		    return true;
		}
	    }
	    Tools::message('Telefonní číslo není ve správném tvaru.', 'ERR');
	    return false;
	}
    }

    /**
     *
     * @name validateString
     * @var string - string ke kontrole
     * @var what - Nazev ktery se doplni do message ($what je povinna polozka)
     * @var required - true - jedna se o povinnou polozku, false - neni vyzadovano
     * @copyright 10.5.2011
     * @return bool
     */
    public static function validateString($string = "", $what = false, $required = true) {
	if (empty($string) && $required == false) {
	    return null;
	}
	if (empty($string) && $required == true) {
	    Tools::message("$what je povinná položka.", 'ERR');
	    return false;
	} else {
	    $string = htmlspecialchars(strip_tags($string), ENT_QUOTES);
	    if (!empty($string)) {
		return $string;
	    } else {
		return false;
	    }
	}
    }

    public function validateMesto($mesto = "") {
	if (empty($mesto)) {
	    $_SESSION['message_ko'][] = "Musíte vyplnit název města.";
	    $this->setValid(false);
	} else {
	    $mesto = htmlspecialchars(strip_tags($mesto), ENT_QUOTES);
	    if (!empty($mesto)) {
		//$this->setValid("TRUE");
		return $mesto;
	    } else {
		$_SESSION['message_ko'][] = "Název ulice není správně.";
		$this->setValid(false);
	    }
	}
    }

    public static function validatePSC($psc = "", $required = true) {
	if (empty($psc)) {
	    if (!$required) {
		return true;
	    }
	    Tools::message('Musíte vyplnit poštovní směrovací číslo.', 'ERR');
	    return false;
	} else {
	    $kontrola = preg_match("/^ ?\d{3} ?\d{2}$/", $psc);

	    if ($kontrola == true) {
		return $psc;
	    } else {
		Tools::message('Poštovní směrovací číslo není ve správném tvaru.', 'ERR');
		return false;
	    }
	}
    }

    public static function validateIp($ip) {
	$regexp = "([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})";

	$validate = preg_match($regexp, $ip);

	if ($validate == true) {
	    return true;
	} else {
	    return false;
	}
    }

    public static function isImage($file) {

	if (!empty($_FILES[$file])) { // Photo uploaded.
	    if ($_FILES[$file]['error'] != UPLOAD_ERR_OK) {
		return false;
	    } else if (!is_uploaded_file($_FILES[$file]['tmp_name'])) { // File specified is local file system, not actually uploaded. BAD.
		return false;
	    } else { // Check if the image is valid by loading it into memory as an image.
		$image_info = @getimagesize($_FILES[$file]['tmp_name']); // Grabs the dimensions and type of image. May throw an error if not an image, not yet tested.

		$image_type = $image_info[2]; // Grab the image type.
		$image_function = False;
		if ($image_type == IMAGETYPE_JPEG) {
		    $image_function = 'jpeg';
		} else if ($image_type == IMAGETYPE_PNG) {
		    $image_function = 'png';
		} else if ($image_type == IMAGETYPE_GIF) {
		    $image_function = 'gif';
		} else if ($image_type == IMAGETYPE_BMP) {
		    $image_function = 'bmp';
		} else {
		    //$errors['file'] = 'Photo uploaded does not appear to be a valid PNG, BMP, GIF or JPEG.';
		    return false;
		}

		if ($image_function != false) { // Attempt to load the image into memory.
		    $image_function = 'imagecreatefrom' . $image_function;

		    $image = @$image_function($_FILES[$file]['tmp_name']); // Load the image into memory. May throw an error, su supress.

		    if ($image == false) { // If false, it means it was unable to load the image into memory.
			return false;
			//$errors['file'] = 'Photo uploaded appears to be corrupt, unable to upload.';
		    }
		}

		unset($image_info, $image_type, $image_function, $image); // Free no longer relavent memory.
	    }
	    return true;
	}
    }

    public static function validateDateTimePicker($datetime = false, $what = false, $required = false) {
	if (empty($datetime) && $required == false) {
	    return true;
	}
	if (empty($datetime) && $required == true) {
	    $_SESSION['message_ko'][] = "$what je povinná položka.";
	    return false;
	}



	//26.08.2011 15:00
	$date = explode(' ', $datetime);

	$datum = explode('.', $date['0']);
	if (count($datum) != 3) {
	    unset($datum);
	    $datum = explode('-', $date['0']);
	}

	$rok = $datum['2'];
	$mesic = $datum['1'];
	$den = $datum['0'];

	if (!isset($date['1'])) {
	    $hodina = '00';
	    $minuta = '00';
	    $sekunda = '00';
	} else {
	    $cas = explode(':', $date['1']);
	    // Hodina - pouze cislo a v rozmezi 0-24
	    if (preg_match('/^[0-9]+$/', $cas['0'])) {
		if ($cas['0'] < 0 || $cas['0'] > 24) {
		    $hodina = '00';
		}
		else
		    $hodina = $cas['0'];
	    }
	    else {
		$hodina = '00';
	    }
	    // Minuta - pouze cislo a v rozmezi 0-59
	    if (preg_match('/^[0-9]+$/', $cas['1'])) {
		if ($cas['1'] < 0 || $cas['1'] > 59) {
		    $minuta = '00';
		}
		else
		    $minuta = $cas['1'];
	    }
	    else {
		$minuta = '00';
	    }
	    // Sekunda - pouze cislo a v rozmezi 0-59
	    if (preg_match('/^[0-9]+$/', $cas['2'])) {
		if ($cas['2'] < 0 || $cas['2'] > 59) {
		    $sekunda = '00';
		}
		else
		    $sekunda = $cas['1'];
	    }
	    else {
		$sekunda = '00';
	    }
	}

	return $rok . '-' . $mesic . '-' . $den . ' ' . $hodina . ':' . $minuta . ':' . $sekunda;
    }

    public static function validateDate($datetime) {
	if (empty($datetime)) {
	    return false;
	}
	$valid = true;
	$datum = explode('.', $datetime);

	$rok = intval($datum['2']);
	$mesic = intval($datum['1']);
	$den = intval($datum['0']);

	if (checkdate($mesic, $den, $rok)) {
	    return $datetime;
	} else {
	    return false;
	}
    }

}

class Tools {
    /*
     * @param $directory to check or create
     * @param create if true, non existing directory will be created
     * @return true if directory exists or was successfully created
     */

    public static function isDir($directory, $create = false) {
	if (!is_dir(ROOT . $directory) && $create == true) {
	    if ($create == false) {
		Tools::message('Adresář (' . $directory . ') neexistuje, ale dle nastavení nemůže být vytvořen.', 'ERR');
		return false;
	    }
	    if (!mkdir(ROOT . $directory, null, true)) {
		Tools::message('Adresář (' . $directory . ') neexistuje a nepovedlo se jeho vytvoření.', 'ERR');
		return false;
	    }
	}
	return true;
    }

    /*
     * @param $directory to check or create
     * @param create if true, non existing directory will be created
     * @return true if directory exists or was successfully created
     */

    public static function testDir($directory, $create = false) {
	if (!is_dir(ROOT . $directory) && $create == true) {
	    if ($create == false) {
		Tools::message('Adresář (' . $directory . ') neexistuje, ale dle nastavení nemůže být vytvořen.', 'ERR');
		return false;
	    }
	    if (!mkdir(ROOT . $directory, null, true)) {
		Tools::message('Adresář (' . $directory . ') neexistuje a nepovedlo se jeho vytvoření.', 'ERR');
		return false;
	    }
	} else {
	    if (self::testWrite($directory)) {
		return true;
	    } else {
		return false;
	    }
	}
	return true;
    }

    /*
     * @param $directory to check if is possible to write files
     * @return true if is possible to write files
     */

    public static function testWrite($directory) {
	$dir = ROOT . $directory;
	$file = 'iswritable.log';
	$test = fopen($dir . '/' . $file, 'w+');
	if (fwrite($test, 'test if the file is writable')) {
	    return true;
	} else {
	    Tools::message('Zápis souboru (' . $dir . ') se nepovedl.', 'ERR');
	    return false;
	}
	fclose($test);
    }

    public static function generujHeslo($length = 7) {
	$heslo = "";
	for ($i = 1; $i < $length; $i++) {
	    $nahoda = mt_rand(0, 2);
	    if ($nahoda == 0) {
		// Generovani velkych pismen
		$heslo.= chr(mt_rand(65, 90));
	    } elseif ($nahoda == 1) {
		// Generovani malych pismen
		$heslo.= chr(mt_rand(97, 122));
	    } else {
		// Generovani cisel
		$heslo.= chr(mt_rand(48, 57));
	    }
	}
	return $heslo;
    }

    public static function getEnumValues($table, $field, $sel = false) {

	$query = " SHOW COLUMNS FROM `$table` LIKE '$field' ";
	$result = mysql_query($query) or die('error getting enum field ' . mysql_error());
	$row = mysql_fetch_array($result, MYSQL_NUM);
	$regex = "/'(.*?)'/";
	preg_match_all($regex, $row[1], $enum_array);
	$enum_fields = $enum_array[1];

	foreach ($enum_fields as $key => $value):
	    //NDebugger::dump($sel);NDebugger::dump($value);exit;
	    if (isset($sel) && $sel == $value) {
		$mark = ' SELECTED';
	    } else {
		$mark = '';
	    }
	    echo '<option value="' . ($key + 1) . '" ' . $mark . '>' . $value . '</option>';
	endforeach;
    }

    /**
     *
     * @param type $id - id typu, pokud se shoduje -> selected
     * @param type $table - zbytecne
     * @param type $only_active true vybere pouze aktivni typy kategorie
     * @todo odstranit parametr table
     */
    public function getTypOption($id, $table = 'kategorie', $only_active = false) {

	$query = "SELECT a.id, a.nazev, a.lang
                    FROM {$table}_typ a
                    WHERE a.lang  = {$_SESSION['jazyk']}
                    ";
	if ($only_active) {
	    $query .= ' AND a.stav = 1';
	}
	$result = mysql_query($query);
	//NDebugger::dump($query);

	if (mysql_num_rows($result) != '0') {

	    while ($row = mysql_fetch_assoc($result)) {
		printf("<option name=\"%d\" id=\"%d\" value=\"%d\" %s>%s</option>\n", $row['id'], $row['id'], $row['id'], $id == $row['id'] ? "SELECTED" : "", $row['nazev']);
	    }
	    if (isset($result))
		mysql_free_result($result);
	}
	else {
	    printf("<option value=\"default\">---</option>\n");
	}
    }

    public static function redirect($where = NULL) {
	//NDebugger::dump($_SERVER);exit;

	if ($where == 'this') {
	    $where = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : $_SERVER['REDIRECT_URL'];
	}
	if (!headers_sent()) {
	    header("Location: " . $where);
	    exit;
	}
    }

    public static function createUrl($server, $projekt, $jazyk = 'cz', $typ = '', $nazev = '') {
	//Domena
	$odkaz = 'http://' . $server;
	//Slozka s projektem
	$odkaz .= $projekt == false ? '' : '/' . $projekt;
	//Jazykova verze
	//NDebugger::dump($jazyk);
	if ($jazyk == 'en' || $jazyk == '3') {
	    $odkaz .= '/en/';
	}

	//Typ sablony
	$odkaz .= $typ == '' ? '' : '/' . $typ;
	//Nazev kategorie
	if (!empty($nazev)) {
	    if (is_array($nazev)) {
		foreach ($nazev as $n) {
		    $odkaz .= '/' . $n;
		}
	    } else {
		$odkaz .= '/' . $nazev;
	    }
	}

	return $odkaz;
    }

    public static function format_size($size, $round = 2) {
	$units = array(' B', ' KB', ' MB', ' GB', ' TB');
	for ($i = 0; $size >= 1000 && $i < 4; $i++)
	    $size /= 1000;
	return round($size, $round) . $units[$i];
    }

    /*
      public function logEvent($what = NULL, $who = NULL, $query = NULL) {
      $query = "INSERT INTO event (text, date, user, query) VALUES ('" . $what . "',now(),'" . $who . "','" . $query . "')";
      //echo $query;//$this->debug($query, show);
      mysql_query($query);
      }
     */

    public static function createAdvert($type, $id) {
	if (!$type || !$id)
	    return false;

	switch ($type) {
	    // samostatna fotka nebo vice fotek
	    case 1:
		//arr filter smaze prazdne
		//$slideshow = array_filter(explode('}', $content));
		$Reklama = new Reklama();
		return $Reklama->fetchDetail($id);

		break;
	    // slideshow z katalogu
	    case 2:

		//$items = dibi::query('SELECT * FROM katalog WHERE id_kategorie=%i', $content)->fetchAll();
		$items = dibi::query('
                    SELECT
                        concat(a.jmeno, " ", a.prijmeni) as jmeno,
                        a.rok_narozeni, a.fotografie, sum(b.minuty) as minuty,
                        sum(b.goly) as goly, sum(b.ck) as ck, sum(b.zk) as zk, a.statistika, d.nazev as pozice
                    FROM katalog a
                    LEFT JOIN zapis b ON a.id = b.id_hrace
                    LEFT JOIN katalog_parametry c ON a.id = c.id_katalog
                    LEFT JOIN parametry_hodnoty d ON d.id = c.id_hodnoty_parametru
                    WHERE id_kategorie=%i', $content, ' GROUP BY a.id')->fetchAll();

		//NDebugger::dump($content);
		echo 'TODO createAdvert - slideshow z katalogu';
		//NDebugger::dump($items);echo 'TODO createAdvert - slideshow z katalogu';
		$c = 1;
		foreach ($items as $i):
		    echo '<h3>Slide ' . $c . '</h3>';
		    echo 'jmeno:' . $i->jmeno . '<br />';
		    echo 'narozeniny:' . $i->rok_narozeni . '<br />';
		    echo 'fotografie:' . $i->fotografie . '<br />';
		    echo 'pozice:' . $i->pozice . '<br />';
		    if ($i->statistika == 1):
			echo 'goly:' . $i->goly . '<br />';
			echo 'ck:' . $i->ck . '<br />';
			echo 'zk:' . $i->zk . '<br />';
		    endif;
		    echo '<hr />';
		    $c++;
		endforeach;
		break;
	    // flashovy banner
	    case 3:
		$banner = explode(';', $content);
		//NDebugger::dump($content);
		echo 'TODO createAdvert - banner';
		?>
		<!--[if !IE]> -->
		<object type="application/x-shockwave-flash" data="<?php echo OBRAZEK_REKLAMA_CESTA . $banner[0]; ?>" width="300" height="135">
		    <!-- <![endif]-->

		    <!--[if IE]>
		    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
		      codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
		      width="300" height="135">
		      <param name="movie" value="<?php echo $banner[0]; ?>" />
		    <!--><!--dgx-->
		    <param name="loop" value="true" />
		    <param name="menu" value="false" />

		<?php echo $banner[2]; ?>
		</object>
		<!-- <![endif]-->
		<?php
		break;
	    // externi reklama (url z google)
	    case 4:
		NDebugger::dump($content);
		echo 'TODO createAdvert - externi reklama';
		break;
	}
    }

    static function validateDateTime($datetime) {
	$date = explode(' ', $datetime);

	$datum = explode('-', $date['0']);
	$rok = $datum['0'];
	$mesic = $datum['1'];
	$den = $datum['2'];
	//26.08.2011 15:00
	if (!isset($date['1'])) {
	    $hodina = '00';
	    $minuta = '00';
	    $sekunda = '00';
	} else {
	    $cas = explode(':', $date['1']);
	    // Hodina - pouze cislo a v rozmezi 0-24
	    if (preg_match('/^[0-9]+$/', $cas['0'])) {
		if ($cas['0'] < 0 || $cas['0'] > 24) {
		    $hodina = '00';
		}
		else
		    $hodina = $cas['0'];
	    }
	    else {
		$hodina = '00';
	    }
	    // Minuta - pouze cislo a v rozmezi 0-59
	    if (preg_match('/^[0-9]+$/', $cas['1'])) {
		if ($cas['1'] < 0 || $cas['1'] > 59) {
		    $minuta = '00';
		}
		else
		    $minuta = $cas['1'];
	    }
	    else {
		$minuta = '00';
	    }
	    // Sekunda - pouze cislo a v rozmezi 0-59
	    if (preg_match('/^[0-9]+$/', $cas['2'])) {
		if ($cas['2'] < 0 || $cas['2'] > 59) {
		    $sekunda = '00';
		}
		else
		    $sekunda = $cas['1'];
	    }
	    else {
		$sekunda = '00';
	    }
	}

	return $rok . '-' . $mesic . '-' . $den . ' ' . $hodina . ':' . $minuta . ':' . $sekunda;
    }

    /**
     *
     * @param type $password plain text password
     * @return string md5 + salt
     */
    public static function getPassword($password) {
	/*
	  echo '<pre>';
	  echo 'heslo:' . $password . '<br />';
	  echo 'heslo+salt:' . $password.SALT . '<br />';
	  echo 'md5 heslo+salt:' . md5($password.SALT) . '<br />';
	  echo '<pre />';
	 */
	return md5($password . SALT);
    }

    /**
     *
     * @param type $message message to print
     * @param type $level OK|ERR|INFO
     */
    public static function message($message = false, $level = 'INFO') {
	if (is_array($message)) {
	    $level = $message[1];
	    $message = $message[0];
	}
	if ($message) {
	    switch ($level) {
		case 'OK':
		    $_SESSION['message_ok'][] = $message;
		    break;
		case 'ERR':
		    $_SESSION['message_ko'][] = $message;
		    break;
		case 'INFO':
		    $_SESSION['message_info'][] = $message;
		    break;
	    }
	}
    }

    public function insertWidget($idUzivatele = null) {
	if ($idUzivatele == null) {
	    exit;
	} else {
	    $query = "INSERT IGNORE INTO `widgets` (`id`, `column_id`, `sort_no`, `collapsed`, `title`, `user_id`) VALUES
                (1, 1, 0, 0, '/kategorie/widget_kategorie_uvodni_strana', $idUzivatele),
                (2, 1, 1, 0, '/kategorie/widget_kategorie_horizontalni_menu', $idUzivatele),
                (3, 1, 2, 0, '/kategorie/widget_kategorie_vertikalni_menu', $idUzivatele),
                (4, 1, 3, 0, '/kategorie/widget_kategorie_horizontalni_menu1', $idUzivatele),
                (5, 1, 4, 0, '/kategorie/widget_kategorie_horizontalni_menu2', $idUzivatele),
                (6, 1, 5, 0, '/kategorie/widget_kategorie_vertikalni_menu1', $idUzivatele),
                (7, 1, 6, 0, '/kategorie/widget_kategorie_vertikalni_menu2', $idUzivatele),
                (11, 1, 0, 0, '/kategorie/widget_kategorie_edit_formular', $idUzivatele),
                (20, 1, 0, 0, '/texty/widget_texty_globalni_texty', $idUzivatele),
                (30, 1, 0, 0, '/novinky/widget_novinky', $idUzivatele),
                (21, 1, 0, 0, '/texty/widget_texty_globalni_texty_edit', $idUzivatele),
                (42, 1, 1, 0, '/clanky/widget_clanky_prirazeni', $idUzivatele),
                (31, 1, 0, 0, '/novinky/widget_novinky_edit', $idUzivatele),
                (40, 1, 0, 0, '/clanky/widget_clanky', $idUzivatele),
                (41, 1, 0, 0, '/clanky/widget_clanky_edit', $idUzivatele),
                (50, 1, 0, 0, '/fotogalerie/widget_fotogalerie', $idUzivatele),
                (51, 1, 1, 0, '/fotogalerie/widget_fotogalerie_edit', $idUzivatele),
                (52, 1, 2, 0, '/fotogalerie/widget_fotogalerie_upload', $idUzivatele),
                (53, 1, 3, 0, '/fotogalerie/widget_fotografie', $idUzivatele),
                (54, 1, 0, 0, '/fotogalerie/widget_fotogalerie_prirazeni', $idUzivatele),
                (60, 1, 0, 0, '/dokumenty/widget_dokumenty', $idUzivatele),
                (61, 1, 0, 0, '/dokumenty/widget_dokumenty_edit', $idUzivatele),
                (62, 1, 1, 0, '/dokumenty/widget_dokumenty_prirazeni', $idUzivatele),
                (63, 1, 0, 0, '/dokumenty/widget_dokumenty_upload', $idUzivatele),
                (70, 1, 0, 0, '/newsletter/widget_newsletter', $idUzivatele),
                (71, 1, 0, 0, '/newsletter/widget_newsletter_edit', $idUzivatele),
                (72, 1, 0, 0, '/newsletter/widget_newsletter_show', $idUzivatele),
                (80, 1, 0, 0, '/nastaveni/widget_nastaveni_webu', $idUzivatele),
                (81, 1, 0, 0, '/nastaveni/widget_nastaveni_rozsirene', $idUzivatele),
                (90, 1, 0, 0, '/uzivatele/widget_uzivatele_administrace', $idUzivatele),
                (91, 1, 0, 0, '/uzivatele/widget_uzivatele_administrace_edit', $idUzivatele),
                (100, 1, 0, 0, '/uzivatele/widget_uzivatele', $idUzivatele),
                (101, 1, 0, 0, '/uzivatele/widget_uzivatele_edit', $idUzivatele),
                (110, 1, 0, 0, '/uzivatele/widget_uzivatele_newsletter', $idUzivatele),
                (111, 1, 0, 0, '/uzivatele/widget_uzivatele_newsletter_edit', $idUzivatele),
                (120, 1, 0, 0, '/katalog/widget_katalog', $idUzivatele),
                (121, 1, 0, 0, '/katalog/widget_katalog_edit', $idUzivatele),
                (122, 1, 0, 0, '/katalog/widget_katalog_varianty', $idUzivatele),
                (123, 1, 0, 0, '/katalog/widget_katalog_varianty_edit', $idUzivatele),
                (124, 1, 0, 0, '/katalog/widget_ibf_doplnky', $idUzivatele),
                (129, 1, 0, 0, '/katalog/widget_ibf_katalog_sleva', $idUzivatele),
		(125, 1, 0, 0, '/katalog1/widget_katalog1', $idUzivatele),
		(126, 1, 0, 0, '/katalog1/widget_katalog1_edit', $idUzivatele),
		(127, 1, 0, 0, '/katalog1/widget_zapis', $idUzivatele),
		(128, 1, 0, 0, '/katalog1/widget_zapis_edit', $idUzivatele),
                (130, 1, 0, 0, '/parametry/widget_parametry', $idUzivatele),
                (131, 1, 0, 0, '/parametry/widget_parametry_edit', $idUzivatele),
                (132, 1, 0, 0, '/parametry/widget_parametry_prirazeni', $idUzivatele),
                (133, 1, 0, 0, '/parametry/widget_parametry_hodnoty_edit', $idUzivatele),
                (134, 1, 0, 0, '/parametry/widget_parametry_hodnoty_prirazeni', $idUzivatele),
                (140, 1, 0, 0, '/knihanavstev/widget_kniha_navstev', $idUzivatele),
                (141, 1, 0, 0, '/knihanavstev/widget_kniha_navstev_edit', $idUzivatele),
		(150, 1, 0, 0, '/slideshow/widget_slideshow', $idUzivatele),
		(151, 1, 0, 0, '/slideshow/widget_slideshow_edit', $idUzivatele),
		(160, 1, 0, 0, '/role/widget_role', $idUzivatele),
		(161, 1, 0, 0, '/role/widget_role_edit', $idUzivatele),
		(170, 1, 0, 0, '/komentare/widget_komentare', $idUzivatele),
		(171, 1, 0, 0, '/komentare/widget_komentare_edit', $idUzivatele),
		(180, 1, 0, 0, '/reklama/widget_reklama', $idUzivatele),
		(181, 1, 0, 0, '/reklama/widget_reklama_edit', $idUzivatele),
		(182, 1, 0, 0, '/reklama/widget_reklama_show', $idUzivatele),
		(183, 1, 1, 1, '/reklama/widget_reklama_prirazeni', $idUzivatele),
		(184, 1, 2, 1, '/reklama/widget_reklama_nahled', $idUzivatele),
		(190, 1, 0, 1, '/usergroup/widget_usergroup', $idUzivatele),
		(191, 1, 0, 1, '/usergroup/widget_usergroup_edit', $idUzivatele),
		(200, 1, 0, 1, '/diskografie/widget_diskografie', $idUzivatele),
		(201, 1, 0, 1, '/diskografie/widget_diskografie_edit', $idUzivatele),
		(202, 1, 1, 1, '/diskografie/widget_diskografie_upload', $idUzivatele),
		(203, 1, 2, 1, '/diskografie/widget_diskografie_skladby', $idUzivatele),
		(204, 1, 3, 1, '/diskografie/widget_diskografie_skladby_edit', $idUzivatele),
		(210, 1, 0, 1, '/doprava/widget_doprava', $idUzivatele),
		(211, 1, 0, 1, '/doprava/widget_doprava_edit', $idUzivatele),
		(212, 1, 0, 1, '/doprava/widget_doprava_prirazeni', $idUzivatele),
		(213, 1, 0, 1, '/platebnimetody/widget_platba', $idUzivatele),
		(214, 1, 0, 1, '/platebnimetody/widget_platba_edit', $idUzivatele),
		(220, 1, 0, 1, '/objednavky/widget_objednavky', $idUzivatele),
		(221, 1, 0, 1, '/objednavky/widget_objednavky_edit', $idUzivatele),
		(222, 1, 0, 1, '/objednavky/widget_objednavky_modify', $idUzivatele)
	    ";

	    if (dibi::query($query)) {
		return true;
	    } else {
		Tools::message('Nepodařilo se vytvořit uživatelské panely, nebo již existují.', 'INFO');
		return false;
	    }
	}
    }

}
?>

ACC SHELL 2018