ACC SHELL
<?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 .= '&';
}
} 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('@', '@', $email);
$email = str_replace('.', '.', $email);
$email = str_split($email, 5);
$linkText = str_replace('@', '@', $linkText);
$linkText = str_replace('.', '.', $linkText);
$linkText = str_split($linkText, 5);
$part1 = '<a href="ma';
$part2 = 'ilto:';
$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