/Server/PrjInfo/Common.php
6,20 → 6,20
// *********************************
 
 
define('DIRINFO', 'DirInfo.txt', true); // Jméno souboru s informacemi o adresáři
define('PRJINFO', 'PrjInfo.txt', true); // Jméno souboru s informacemi o projektu
define('DIRINFO', 'DirInfo.txt'); // Jméno souboru s informacemi o adresáři
define('PRJINFO', 'PrjInfo.txt'); // Jméno souboru s informacemi o projektu
 
define('PERMALINK', '/PermaLink', true); // Začátek cesty s permalinkem (zpracovává mod_rewrite)
define('LISTSCRIPT', 'List', true); // Jméno skriptu v rootu pro výpis
define('WEBSVNSCRIPT', '/WebSVN/listing.php', true); // Cesta k WebSVN skriptu
define('WIKISERVER', 'wiki', true); // Jméno Wiki serveru (co se strčí místo jména stávajícího serveru)
define('PERMALINK', '/PermaLink'); // Začátek cesty s permalinkem (zpracovává mod_rewrite)
define('LISTSCRIPT', 'List'); // Jméno skriptu v rootu pro výpis
define('WEBSVNSCRIPT', '/WebSVN/listing.php'); // Cesta k WebSVN skriptu
define('WIKISERVER', 'wiki'); // Jméno Wiki serveru (co se strčí místo jména stávajícího serveru)
 
// Cesta k templejtům
define('TEMPLATE_PATH', 'Server/PrjInfo/Templates', true); // Cesta do adresáře s templejty
define('TEMPLATE_PERMALINK', TEMPLATE_PATH . '/PermaLink.ihtml', true); // Zobrazení PermaLinku (přípona jazyka se doplní sama)
define('TEMPLATE_PERMALINK_PATH', TEMPLATE_PATH . '/PermaLinkPath.ihtml', true); // Zobrazení PermaLinku s cestou (přípona jazyka se doplní sama)
define('TEMPLATE_LISTDIR', TEMPLATE_PATH . '/ListDir.ihtml', true); // Zobrazení sekce (přípona jazyka se doplní sama)
define('TEMPLATE_LISTPRJ', TEMPLATE_PATH . '/ListPrj.ihtml', true); // Zobrazení projektu (přípona jazyka se doplní sama)
define('TEMPLATE_PATH', 'Server/PrjInfo/Templates'); // Cesta do adresáře s templejty
define('TEMPLATE_PERMALINK', TEMPLATE_PATH . '/PermaLink.ihtml'); // Zobrazení PermaLinku (přípona jazyka se doplní sama)
define('TEMPLATE_PERMALINK_PATH', TEMPLATE_PATH . '/PermaLinkPath.ihtml'); // Zobrazení PermaLinku s cestou (přípona jazyka se doplní sama)
define('TEMPLATE_LISTDIR', TEMPLATE_PATH . '/ListDir.ihtml'); // Zobrazení sekce (přípona jazyka se doplní sama)
define('TEMPLATE_LISTPRJ', TEMPLATE_PATH . '/ListPrj.ihtml'); // Zobrazení projektu (přípona jazyka se doplní sama)
 
 
// *********************************
504,7 → 504,7
$Result[] = $Data;
*/
// Hledej permalinky, které obsahují zadaný klíč
if(strpos(mb_strtolower($Data['PermaLink']), $Key)!==false)
if(str_contains(mb_strtolower($Data['PermaLink']), $Key))
$Result[] = $Data;
}
return $Result;
/Server/PrjInfo/CommonOld.php
1,8 → 1,8
<?php
 
 
define('WEBSVNSCRIPT', '/WebSVN/listing.php', true); // Cesta k WebSVN skriptu
define('WIKISERVER', 'wiki', true); // Jméno Wiki serveru (co se strčí místo jména stávajícího serveru)
define('WEBSVNSCRIPT', '/WebSVN/listing.php'); // Cesta k WebSVN skriptu
define('WIKISERVER', 'wiki'); // Jméno Wiki serveru (co se strčí místo jména stávajícího serveru)
 
 
function Error($str)
45,7 → 45,7
$Path = realpath($_SERVER['DOCUMENT_ROOT'].$Path);
 
// Zkontroluj, zda jsme nevybočili z webu
if ( 0 == strncmp($Path, $_SERVER['DOCUMENT_ROOT'], strlen($_SERVER['DOCUMENT_ROOT']) ) )
if ( str_starts_with($Path, $_SERVER['DOCUMENT_ROOT']) )
{
// Shoda - odstraň DOCUMENT_ROOT část cesty
return substr( $Path, strlen($_SERVER['DOCUMENT_ROOT']) );
/Server/PrjInfo/DirMetadata.php
46,11 → 46,11
 
// Vyhoď komentáře (po řádcích)
foreach($File as $Key => $Line)
if (substr(ltrim($Line), 0, 2) == '//')
if (str_starts_with(ltrim($Line), '//'))
unset($File[$Key]);
 
// Sestav z pole jeden retězec
$File = implode($File);
$File = implode('', $File);
 
// Vyhledej v souboru informace
$PatternKey = '\[(?P<Key>[a-z,A-Z,0-9,\-\_\.]+)\]';
/Server/PrjInfo/List.php
6,7 → 6,7
require_once('TemplateEngine.php'); // Stroj pro práci s templejty
require_once('DirMetadata.php'); // Modul pro načítání informace o adresářích
 
define('WRAP', 70, true); // Lámání řetězcových hodnot
define('WRAP', 70); // Lámání řetězcových hodnot
 
// Stavová informace
// -----------------
274,7 → 274,7
 
$Variables['InfoName'] = ($DirInfoValid or $ProjectInfoValid) ? CreateListLinkHTML($Params, $DirName, $DirInfo->GetString('InfoLongDescription'))
: $DirName;
$Variables['InfoPicture'] = CreatePicturesLink($Params['path'].'/'.$DirName, $Glue, 'Ilustrative Picture', '/'.TEMPLATE_PATH.'/'.$Template->GetVariable('InfoNoPicture'), 150);
$Variables['InfoPicture'] = CreatePicturesLink($Params['path'].'/'.$DirName, $Glue, 'Ilustrative Picture', '/'.TEMPLATE_PATH.'/'.$Template->GetVariable('InfoNoPicture'));
$Variables['InfoDescripion'] = $DirInfo->GetString('InfoShortDescription', WRAP);
$Variables['InfoWebSVN'] = CreateSVNLink($Params['path'].'/'.$DirName, $Params['lang'], $Template->GetString('InfoSVNTitle'));
if (!$DirInfoValid)
358,7 → 358,7
$Template->SetVariable('InfoVariables', $Variables);
 
// Odkaz na obrázky k projektu
$Template->SetVariable('InfoPictures', CreatePicturesLink($Path, $Template->GetString('InfoPicturesGlue'), 'Ilustrative Picture', '', 200));
$Template->SetVariable('InfoPictures', CreatePicturesLink($Path, $Template->GetString('InfoPicturesGlue'), 'Ilustrative Picture', ''));
 
// Data do tabulky
$Template->SetVariable('InfoText', CreateFilesLink($Path.'/DOC/{HTML/*.[hH][tT][mM][lL],*.[pP][dD][fF]}', $Glue));
538,7 → 538,7
$Path = realpath($_SERVER['DOCUMENT_ROOT'].$Path);
 
// Zkontroluj, zda jsme nevybočili z webu
if ( 0 == strncmp($Path, $_SERVER['DOCUMENT_ROOT'], strlen($_SERVER['DOCUMENT_ROOT']) ) )
if ( str_starts_with($Path, $_SERVER['DOCUMENT_ROOT']) )
{
// Shoda - odstraň DOCUMENT_ROOT část cesty
return substr( $Path, strlen($_SERVER['DOCUMENT_ROOT']) );
/Server/PrjInfo/PermaLink.php
8,8 → 8,8
// Pro snadné odkázání lze permanentní odkaz doplnit cestou k adresáři či souboru v rámci projektu.
 
 
define(DISPLAY_ALL_IF_EMPTY , true); // Povol zobrazení všech sekcí a projektů když je zadaný prázdný permalink
define(MAX_DEPTH, 50); // Maximální hloubka prohledávání adresářů (pojistka proti zacyklené struktuře adresářů)
define('DISPLAY_ALL_IF_EMPTY' , true); // Povol zobrazení všech sekcí a projektů když je zadaný prázdný permalink
define('MAX_DEPTH', 50); // Maximální hloubka prohledávání adresářů (pojistka proti zacyklené struktuře adresářů)
 
require_once('Common.php'); // Modul společných funkcí
require_once('DirMetadata.php'); // Modul pro načítání informace o adresářích
105,7 → 105,7
// Naplň proměnné pro definici položky
// Type / Picture / PermaLink / Path
$Variables['InfoType'] = $Data['Type'];
$Variables['InfoPicture'] = CreatePicturesLink($Data['Path'], $PictureGlue, $PictureAlt, $PictureNoPicture, 150);
$Variables['InfoPicture'] = CreatePicturesLink($Data['Path'], $PictureGlue, $PictureAlt, $PictureNoPicture);
$Variables['InfoPermaLink'] = "<a href=\"".PermaLinkCreateLink($Data['PermaLink'])."\">{$Data['PermaLink']}</a>";
$PathMarked = MarkPath($Data['Path']);
$Variables['InfoPath'] = "<a href=\"".CreateProjectLink($Data['Path'], $Lang)."\">$PathMarked</a>";
/Server/PrjInfo/TemplateEngine.php
73,7 → 73,7
return 'Unable Open Template File';
 
// Sestav z pole jeden retězec
$this->Page = implode($this->Page);
$this->Page = implode('', $this->Page);
 
 
// Definice regulárních výrazů pro hledání