Files
skirogaining.krk-litvinov.cz/Skirogaining_2010/load.lib.php

217 lines
5.6 KiB
PHP
Raw Normal View History

2022-01-13 22:50:25 +01:00
<?php
if($included==true){
// boolean readPage(string $page)
function readPage($page){//main function
global $lang,$realPageType,$menuUrl,$article,$title,$author,$date,$time,$menu,$mainMail,$langPanel,$notreleased, $eu;
if(empty($page)){//page specification
$realPage="pages/".$lang."/main.pg";
}else{
if(file_exists("pages/".$lang."/".$page.".pg")){
$realPage="pages/".$lang."/".$page.".pg";
}else{
$realPage="pages/".$lang."/error/404.pg";
$log404=fopen("404.log","a+");
if(!ereg($page."\n",file_get_contents("404.log"))){
fwrite($log404,$page."\n");
mail($mainMail,"Stranka nenalezena http://skirogaining.tojnar.cz/$page",rplc("Prichozi z: %comefrom%"));
}
fclose($log404);
}
}
//end of page specification
$errPageStart="pages/".$lang."/error/";
if(substr($realPage,0,strlen($errPageStart))==$errPageStart){//page type setting
$realPageType=2;
}elseif($realPage=="pages/".$lang."/main.pg"){
$realPageType=1;
}else{
$realPageType=0;
}
//end of page type setting
$fileContent=rplc(file_get_contents($realPage));
//echo($fileContent);
$fileContent=ereg_replace("<a([^>]*)hs=\"([1-9][0-9]?)\"([^>]*)>","<a\\1onclick=\"return hs.expand(this,{slideshowGroup:\\2})\"\\3>",$fileContent);
$sbContent=rplc(sboard_generate($realPage));
$fileContent=str_replace("<board>",$sbContent,$fileContent);
ereg("<article>(.*)<\/article>",$fileContent,$article);//article body
$article=trim($article[1]);
ereg("<title>(.*)<\/title>",$fileContent,$title);//article title
$title=trim($title[1]);
ereg("<date>(.*)<\/date>",$fileContent,$date);//article title
$date=trim($date[1]);
ereg("<author>(.*)<\/author>",$fileContent,$author);//article title
$author=trim($author[1]);
$languages=array("cs","en","de");
ereg("<alias([^>]*)cs=\"([^\"]*)\"([^>]*)>",$fileContent,$cs);//article czech version link
$aliases["cs"]=trim($cs[2]);
ereg("<alias([^>]*)en=\"([^\"]*)\"([^>]*)>",$fileContent,$en);//article english version link
$aliases["en"]=trim($en[2]);
ereg("<alias([^>]*)de=\"([^\"]*)\"([^>]*)>",$fileContent,$de);//article german version link
$aliases["de"]=trim($de[2]);
ereg("<menu url=\"([^\"]*)\">",$fileContent,$menuUrl);//article menu url
$menuUrl=trim($menuUrl[1]);
foreach($languages as $language){//language box generator
if(!empty($aliases[$language]) AND file_exists("pages/".$language."/".$aliases[$language].".pg")){
$langPanel.=rplc("<a href=\"%root%/".$language."/".($aliases[$language]=="main"?"":$aliases[$language])."\"><img src=\"%root%/gpx/".$language."flag.png\" alt=\"".$language."\"></a>");
}
}
//end of language box generator
$author=$realPageType==1?"":rplc($author);
/*if($realPageType==0){
if(empty($date)){
$date=date(rplc("%dateFormat%"),filemtime($realPage));
}
}
*/
if(empty($menuUrl) OR !file_exists($menuUrl)){
$menuUrl="main";
}
$menu=rplc(file_get_contents("pages/".$lang."/".$menuUrl.".mn"));
$article=rplc($article);
if(ereg("<goto url=\"([^\"]+)\">",$fileContent,$gotoUrl)){
if($page==$gotoUrl[1]){
$logrecursive=fopen("syntax.log","a+");
if(!ereg($realPage."\n",file_get_contents("recursive.log"))){
fwrite($logrecursive,$realPage."\n");
mail($mainMail,"Presmerovaci smycka http://skirogaining.tojnar.cz/$realPage","Stranka se presmerovava sama na sebe");
}
fclose($logrecursive);
readPage("error/recursive");
}else{
readPage($gotoUrl[1]);
}
}
if(strpos($fileContent,"<eu>")!=false){
$eu=true;
}else{
$eu=false;
}
if(empty($title) AND empty($article)){
$logsyntax=fopen("syntax.log","a+");
if(!ereg($realPage."\n",file_get_contents("syntax.log"))){
fwrite($logsyntax,$realPage."\n");
mail($mainMail,"Chyba syntaxe http://skirogaining.tojnar.cz/$realPage","Nerozpoznan titulek a clanek");
}
fclose($logsyntax);
readPage("error/syntax");
return false;
}elseif(empty($title)){
$logsyntax=fopen("syntax.log","a+");
if(!ereg($realPage."\n",file_get_contents("syntax.log"))){
fwrite($logsyntax,$realPage."\n");
mail($mainMail,"Chyba syntaxe http://skirogaining.tojnar.cz/$realPage","Nerozpoznan titulek");
}
fclose($logsyntax);
readPage("error/syntax");
return false;
}elseif(empty($article)){
$logsyntax=fopen("syntax.log","a+");
if(!ereg($realPage."\n",file_get_contents("syntax.log"))){
fwrite($logsyntax,$realPage."\n");
mail($mainMail,"Chyba syntaxe http://skirogaining.tojnar.cz/$realPage","Nerozpoznan clanek");
}
fclose($logsyntax);
readPage("error/syntax");
return false;
}else{
return true;
}
}
// string|null author(string $author)
function author($author){
global $realPageType;
if($realPageType==0){
if(empty($author)){
return rplc("%unknownAuthor%");
}else{
return $author;
}
}else{
return null;
}
}
// string|null toDate(string $date)
function toDate($dateStr){
if(!empty($dateStr)){
$dateStr=explode(" ",$dateStr);
$dateStr=$dateStr[0];
$dateStr=explode("-",$dateStr);
$year=$dateStr[0];
$month=ltrim($dateStr[1],"0");
$day=ltrim($dateStr[2],"0");
return str_replace(array("%y%","%m%","%d%"),array($year,$month,$day),rplc("%date%"));
}else{
return null;
}
}
function isReleased($dateStr){
$dateStr=explode(" ",$dateStr);
$dateStr=$dateStr[0];
$dateStr=explode("-",$dateStr);
$year=$dateStr[0];
$month=ltrim($dateStr[1],"0");
$day=ltrim($dateStr[2],"0");
$time=explode(" ",$dateStr);
$time=explode(":",$time[1]);
$hour=$time[0];
$minute=$time[1];
if(date("Y")>=$year){
if(date("m")>=$month){
if(date("d")>=$day){
if(date("H")>=$hour){
if(date("i")>=$minute){
return true;
}else{
return false;
}
}else{
return false;
}
}else{
return false;
}
}else{
return false;
}
}else{
return false;
}
}
// string|null toTime(string $date)
function toTime($dateStr){
if(!empty($dateStr)){
$time=explode(" ",$dateStr);
$time=$time[1];
return $time;
}else{
return null;
}
}
}else{
header("HTTP/1.0 403 Forbidden");
header("Location: /en/error/403");
}
?>