Files
krk-litvinov.cz/lob2011/load.lib.php
Jan Tojnar 0ad86228e9 Merge in old tojnar.cz/krk (mostly) as is
The SupportIT server www.tojnar.cz is hosted on is being decommissioned.
To make the migration faster, we will just copy the current state
and convert it to Hakyll incrementally.

This mostly imports the tree as is minus accidentally misplaced files.
Additionally, the following changes were made:

- line separators were converted using dos2unix
- file encodings were changed from windows-1250 to utf-8
- highslide and related files are now loaded from root instead of per-gallery copy
- uppercase JPG extensions were changed to lowercase

remove private
2022-01-19 19:05:40 +01:00

221 lines
5.8 KiB
PHP

<?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://tojnar.cz/krk/lob2011/$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(e?)=\"([^\"]*)\"([^>]*)>",$fileContent,$cs);//article czech version link
$aliases["cs"]=($cs[2]=='e'?'*':'').trim($cs[3]);
ereg("<alias([^>]*)en(e?)=\"([^\"]*)\"([^>]*)>",$fileContent,$en);//article english version link
$aliases["en"]=($en[2]=='e'?'*':'').trim($en[3]);
ereg("<alias([^>]*)de(e?)=\"([^\"]*)\"([^>]*)>",$fileContent,$de);//article german version link
$aliases["de"]=($de[2]=='e'?'*':'').trim($de[3]);
ereg("<menu url=\"([^\"]*)\">",$fileContent,$menuUrl);//article menu url
$menuUrl=trim($menuUrl[1]);
foreach($languages as $language){//language box generator
if(mb_substr($aliases[$language], 0, 1)=='*'){
$langPanel.=rplc("<a href=\"".mb_substr($aliases[$language], 1)."\"><img src=\"%root%/gpx/".$language."flag.png\" alt=\"".$language."\"></a>");
}else{
if(!empty($aliases[$language]) && 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://tojnar.cz/krk/lob2011/$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://tojnar.cz/krk/lob2011/$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://tojnar.cz/krk/lob2011/$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://tojnar.cz/krk/lob2011/$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");
}
?>