ACC SHELL

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

<?php

function parseUrl($url)
{
    $counter = 0;
    $arr['lang'] = false;
    $arr['category'] = false;
    $arr['detail'] = false;
    $arr['possibleUrl'] = false;
    $data = parse_url($url);
    if (!isset($data['path']))
    {
	return $arr;
    }

    $regExp = "/^item-/";
    if (preg_match($regExp, $data['path']))
    {
	$detail = substr($data['path'], 5);
	$tmp = explode('.', $detail);
	$arr['detail'] = $tmp[0];
    } else
    {
	$myUrl = explode('/', $data['path']);
	$tmp = explode('.', $data['path']);
	$arr['possibleUrl'] = $tmp[0];

	foreach ($myUrl as $fragment)
	{
	    if (empty($fragment))
	    {
		continue;
	    }
	    //Check na jazykovou mutaci
	    if ($counter == 0)
	    {
		$regExp = "/^[a-zA-Z]{2}$/";
		if (preg_match($regExp, $fragment))
		{

		    //echo "<br />I got language $matches[0]<br />";
		    $arr['lang'] = $fragment;
		}
	    }
	    $regExp = "/^item-$/";
	    if (preg_match($regExp, $fragment))
	    {
		$tmp = explode('.', $fragment);
		$arr['detail'] = $tmp[0];
	    } else
	    {
		//Check na detail 
		$regExp = "/.html$/";
		if (preg_match($regExp, $fragment))
		{
		    $tmp = explode('.', $fragment);
		    $arr['detail'] = $tmp[0];
		} else
		{
		    $arr['category'] .= $counter == 0 ? $fragment : '/' . $fragment;
		}
	    }


	    $counter++;
	}
	if (empty($arr['category']) && !empty($arr['detail']))
	{
	    $arr['category'] = $arr['detail'];
	    $arr['detail'] = false;
	}
    }
    return $arr;
}

function seo_url($url = '')
{
    //$file = basename($url, ".html");
    //$file = explode(".html", $url);
    $file = explode(".", $url);
    return $file[0];
}

function activ($page = array(), $returnBool = false)
{

    $file = basename($_SERVER['PHP_SELF'], ".php");

    $aktivni = explode(".", $file);

    if (in_array($file, $page))
    {
	if ($returnBool)
	{
	    return true;
	} else
	{
	    echo "class=\"current\"";
	}
    }
}

function activMenu($page)
{
    $file = basename($_SERVER['PHP_SELF'], ".php");
    $aktivni = explode("_", $file);

    if ($aktivni[0] == 'fotografie')
	$aktivni[0] = 'fotogalerie';
    //echo $aktivni[0];
    if (in_array($aktivni[0], $page))
	echo "class=\"current\"";
}

function pageLinks($totalpages, $currentpage, $pagesize, $parametr, $skript = "")
{
    //echo "celkem " . $totalpages;
    $page = 1;
    $recordstart = 0;
    $pageLinks = "";
    //NDebugger::Dump($_SERVER);
    $url = parse_url($_SERVER['REQUEST_URI']);
    $cesta = $url['path'];
    //NDebugger::Dump($url);
    if (isset($url['query']))
    {
	parse_str($url['query'], $params);

	if (isset($params[$parametr]))
	{
	    unset($params[$parametr]);
	}
	$params = http_build_query($params);
	if (!empty($params) && count($params) > 0)
	{
	    $params .= '&amp;';
	}
    } else
    {
	$params = '';
    }
    /*
      NDebugger::barDump($page, 'Page <= totalpage');
      NDebugger::barDump($totalpages, 'Celkem stranek');
      NDebugger::barDump($currentpage, 'Aktualni stranka');
      NDebugger::barDump($pagesize, 'Velikost strankovani');
     */
    if ($totalpages == 0 || $totalpages == 1)
    {
	//$pageLinks = 1;
    } else
    {
	while ($page <= $totalpages)
	{
	    $class = $page != $currentpage ? 'class="number"' : 'class="number current"';

	    $pageLinks .= "<a href=\"$cesta?$params$parametr=$recordstart\" $class title=\"$page\" >$page</a>\n ";
	    $recordstart = $recordstart + $pagesize;
	    $page++;
	    //NDebugger::barDump($pageLinks, 'link strankovani');
	}
    }

    return $pageLinks;
}

function pageLinksV($totalpages, $currentpage, $pagesize, $parametr, $skript = "")
{

    $page = 1;
    $recordstart = 0;
    $pageLinks = "";
    $cesta = $_SERVER['PHP_SELF'];

    //$pageLinks .= "<a href=\"$cesta\" title=\"První\">« První</a>";

    if (isset($_GET['rec']))
    {
	if ((int) $_GET['rec'] - $pagesize >= 0)
	{
	    
	}
    }
    if ($totalpages == 0 || $totalpages == 1)
    {
	//$pageLinks = 1;
    } else
    {
	while ($page <= $totalpages)
	{

	    if ($page != $currentpage)
	    {
		$pageLinks .= "<a href=\"$cesta?$parametr=$recordstart\" class=\"number\" title=\"$page\" >$page</a>\n ";
	    } else
	    {
		$pageLinks .= "<a href=\"$cesta?$parametr=$recordstart\" class=\"number current\" title=\"$page\" >$page</a>\n ";
	    }
	    $recordstart = $recordstart + $pagesize;
	    $page++;
	    if ($page == 21)
	    {
		break;
	    }
	}

	if (isset($_GET['rec']))
	{
	    if ((int) $_GET['rec'] + $pagesize <= $totalpages)
	    {
		//$pageLinks .= "<a href=\"$cesta?$parametr=" . ((int)$_GET['recordstart']+$pagesize) . "\" title=\"Další\">» Další</a>";
	    }
	}
	//$pageLinks .= "<a href=\"$cesta?$parametr=$totalpages\" title=\"Poslední\">» Poslední</a>";
	return $pageLinks;
    }
}

function datum_i_cas($datum, $seconds = false)
{
    if ($datum == "")
    {
	return "-";
    } else
    {
	$datum = explode(" ", $datum);

	$cas = $datum[1];
	if (!$seconds)
	{
	    $cas = explode(":", $datum[1]);
	    $cas = $cas[0] . ":" . $cas[1];
	}

	$datum = explode("-", $datum[0]);
	$datum = $datum[2] . "." . $datum[1] . "." . $datum[0];

	return "$datum $cas";
    }
}

function datum($datum)
{

    if ($datum == '0000-00-00 00:00:00')
    {
	return false;
    }
    return date("d.m.Y", strtotime($datum));
}

function cas($datum)
{
    if ($datum == "")
    {
	return "-";
    } else
    {
	$datum = explode(" ", $datum);
	$cas = explode(":", $datum[1]);

	return $cas[0] . ":" . $cas[1];
    }
}

function den($datum)
{
    if (!$datum)
    {
	return false;
    }

    return date("d", strtotime($datum));
}

function nazev_dne($datum)
{
    if (!$datum)
    {
	return false;
    }
    $den = date("l", strtotime($datum));
    switch ($den)
    {
	case 'Sunday':
	    return 'Pondělí';
	    break;
	case 'Monday':
	    return 'Pondělí';
	    break;
	case 'Thuesday':
	    return 'Úterý';
	    break;
	case 'Wednesday':
	    return 'Středa';
	    break;
	case 'Thursday':
	    return 'Čtvrtek';
	    break;
	case 'Friday':
	    return 'Pátek';
	    break;
	case 'Saturday':
	    return 'Sobota';
	    break;
    }
}

function nazev_mesice($datum)
{
    if (!$datum)
    {
	return false;
    }
    $den = date("F", strtotime($datum));
    switch ($den)
    {
	case 'January':
	    return 'Leden';
	    break;
	case 'February':
	    return 'Únor';
	    break;
	case 'March':
	    return 'Březen';
	    break;
	case 'April':
	    return 'Duben';
	    break;
	case 'May':
	    return 'Květen';
	    break;
	case 'June':
	    return 'Červen';
	    break;
	case 'July':
	    return 'Červenec';
	    break;
	case 'August':
	    return 'Srpen';
	    break;
	case 'September':
	    return 'Září';
	    break;
	case 'October':
	    return 'Říjen';
	    break;
	case 'November':
	    return 'Listopad';
	    break;
	case 'December':
	    return 'Prosinec';
	    break;
    }
}

/**
 *
 * @param string $data to translate
 * @param int $lang to search for
 */
function tr($data, $lang = false)
{
    if ($lang == 1)
    {
	return $data;
    }
    if (isset($lang) && intval($lang) != 0)
    {
	$l = $lang;
    } else
    {
	$l = isset($_SESSION['jazyk']) ? $_SESSION['jazyk'] : 1;
    }

    global $tr;

    $string = $tr[NStrings::lower($data)];
    // Pokud string nenajdu v translate.php vratim original string
    if (!$string)
    {
	return $data;
    } else
    {
	return $string;
    }
}

function money($amount, $decimal = 2)
{
    return number_format($amount, $decimal, ',', '.');
}

/**
 * funcke pro migraci z dibi row do stringu pro pouziti v sql dotazu
 * @param type $dibiArray
 * @return boolean
 */
function dibiArrayToString($dibiArray)
{

    $dibiArray = is_array($dibiArray) ? $dibiArray : array($dibiArray);

    foreach ($dibiArray as $key => $item)
    {
	if (isset($item['id_item']))
	{
	    $string[] = $item['id_item'];
	}
	if (isset($item['id']))
	{
	    $string[] = $item['id'];
	}
    }

    //NDebugger::dump($dibiArray);exit;
    if (!$string)
    {
	return false;
    }
    return implode(',', $string);
}

function myDebug($data)
{
    echo '<pre>';
    print_r($data);
    echo '</pre>';
}

/**
 * 
 * @param type $file
 */
function isPicture($file, $docRoot)
{
    if (isset($file) && is_file($docRoot . $file))
    {
	return $file;
    }
    return false;
}

/** Nalezení souborů vyhovujících dané masce ve všech podadresářích
 * @param string se stejnými zástupnými znaky jako glob()
 * @param int stejné jako glob()
 * @return array nalezené soubory
 * @copyright Jakub Vrána, http://php.vrana.cz/
 */
function rglob($pattern, $flags = 0)
{
    $return = glob($pattern, $flags);
    $dirs = "*";
    $separator = DIRECTORY_SEPARATOR;
    $files = $pattern;
    if (preg_match('~(.*)([/\\\\])(.+)~', $pattern, $match))
    {
	$dirs = "$match[1]$match[2]*";
	$separator = $match[2];
	$files = $match[3];
    }
    foreach (glob($dirs, ($flags & ~GLOB_MARK) | GLOB_ONLYDIR) as $subdir)
    {
	$return = array_merge($return, rglob("$subdir$separator$files", $flags));
    }
    return $return;
}

/**
 * Prida do url http:// pokud neni uvedeno
 * @param string url, do ktere chci doplnit http
 * @return string http://url
 */
function addHttpToUrl($url)
{

    if (!$url)
	return false;
    if (!preg_match("/^(http|https|ftp):/", $url))
    {

	$url = 'http://' . $url;
    }
    return $url;
}

/**
 * Prida <p> na zacatek a </p> na konec retezce
 * @param string text, ktery chci obalit tagem <p>
 * @return string <p>text</p>
 */
function addPTag($text)
{
    if (!$text)
	return false;
    if (!NStrings::startsWith($text, '<p>'))
    {
	$text = '<p>' . $text;
    }
    if (!NStrings::endsWith($text, '</p>'))
    {
	$text = $text . '</p>';
    }
    return $text;
}

function encode_email($email = 'info@domain.com', $linkText = 'Contact Us', $attrs = 'class="emailencoder"')
{
    // remplazar aroba y puntos
    $email = str_replace('@', '&#64;', $email);
    $email = str_replace('.', '&#46;', $email);
    $email = str_split($email, 5);

    $linkText = str_replace('@', '&#64;', $linkText);
    $linkText = str_replace('.', '&#46;', $linkText);
    $linkText = str_split($linkText, 5);

    $part1 = '<a href="ma';
    $part2 = 'ilto&#58;';
    $part3 = '" ' . $attrs . ' >';
    $part4 = '</a>';

    $encoded = '<script type="text/javascript">';
    $encoded .= "document.write('$part1');";
    $encoded .= "document.write('$part2');";
    foreach ($email as $e)
    {
	$encoded .= "document.write('$e');";
    }
    $encoded .= "document.write('$part3');";
    foreach ($linkText as $l)
    {
	$encoded .= "document.write('$l');";
    }
    $encoded .= "document.write('$part4');";
    $encoded .= '</script>';

    return $encoded;
}

/**
 * 
 * @param type $amount
 * @param type $fee in percent like 1.03 for 3% fee
 * @return counted amount
 */
function countFee($amount, $fee)
{

    return round($amount - ($amount / $fee), 2);
}

?>

ACC SHELL 2018