0) { $ignorelevel--; } else { $ignore = array_pop($ignorestack); } return true; } if (strncmp(trim($line), "[websvn-getlisting]", 19) == 0) { global $path, $rev, $svnrep; if (!$ignore) { $svnrep->listFileContents($path, $rev); } return true; } if (strncmp(trim($line), "[websvn-defineicons]", 19) == 0) { global $icons; if (!isset($icons)) { $icons = array(); } // Read all the lines until we reach the end of the definition, storing // each one... if (!$ignore) { while (!feof($handle)) { $line = trim(fgets($handle)); if (strncmp($line, "[websvn-enddefineicons]", 22) == 0) { return true; } $eqsign = strpos($line, "="); $match = substr($line, 0, $eqsign); $def = substr($line, $eqsign + 1); $icons[$match] = $def; } } return true; } if (strncmp(trim($line), "[websvn-icon]", 13) == 0) { global $icons, $vars; if (!$ignore) { // The current filetype should be defined my $vars["filetype"] if (!empty($icons[$vars["filetype"]])) { echo parseTags($icons[$vars["filetype"]], $vars); } else if (!empty($icons["*"])) { echo parseTags($icons["*"], $vars); } } return true; } if (strncmp(trim($line), "[websvn-treenode]", 17) == 0) { global $icons, $vars; if (!$ignore) { if ((!empty($icons["i-node"])) && (!empty($icons["t-node"])) && (!empty($icons["l-node"]))) { for ($n = 1; $n < $vars["level"]; $n++) { if ($vars["last_i_node"][$n]) { echo parseTags($icons["e-node"], $vars); } else { echo parseTags($icons["i-node"], $vars); } } if ($vars["level"] != 0) { if ($vars["node"] == 0) { echo parseTags($icons["t-node"], $vars); } else { echo parseTags($icons["l-node"], $vars); $vars["last_i_node"][$vars["level"]] = TRUE; } } } } return true; } return false; } // parseTemplate // // Parse the given template, replacing the variables with the values passed function parseTemplate($template, $vars, $listing) { global $ignore, $vars; if (!is_file($template)) { print"No template file found ($template)"; exit; } $handle = fopen($template, "r"); $inListing = false; $ignore = false; $listLines = array(); while (!feof($handle)) { $line = fgets($handle); // Check for the end of the file list if ($inListing) { if (strcmp(trim($line), "[websvn-endlisting]") == 0) { $inListing = false; // For each item in the list foreach ($listing as $listvars) { // Copy the value for this list item into the $vars array foreach ($listvars as $id => $value) { $vars[$id] = $value; } // Output the list item foreach ($listLines as $line) { if (!parseCommand($line, $vars, $handle)) { if (!$ignore) { print parseTags($line, $vars); } } } } } else { if ($ignore == false) { $listLines[] = $line; } } } else if (parseCommand($line, $vars, $handle)) { continue; } else { // Check for the start of the file list if (strncmp(trim($line), "[websvn-startlisting]", 21) == 0) { $inListing = true; } else { if ($ignore == false) { print parseTags($line, $vars); } } } } fclose($handle); } // parseTags // // Replace all occurences of [websvn:varname] with the give variable function parseTags($line, $vars) { global $lang; $l = ''; // Replace the websvn variables while (ereg("\[websvn:([a-zA-Z0-9_]+)\]", $line, $matches)) { // Find beginning $p = strpos($line, $matches[0]); // add everything up to beginning if ($p > 0) { $l .= substr($line, 0, $p); } // Replace variable (special token, if not exists) $l .= isset($vars[$matches[1]]) ? $vars[$matches[1]]: ('?'.$matches[1].'?'); // Remove allready processed part of line $line = substr($line, $p + strlen($matches[0])); } // Rebuild line, add remaining part of line $line = $l.$line; // Replace the language strings while (ereg("\[lang:([a-zA-Z0-9_]+)\]", $line, $matches)) { // Make sure that the variable exists if (!isset($lang[$matches[1]])) { $lang[$matches[1]] = "?${matches[1]}?"; } $line = str_replace($matches[0], $lang[$matches[1]], $line); } // Return the results return $line; }
WebSVN - websvn - Blame - Rev 1 - /include/template.php
Català-Valencià - Catalan
Česky - Cesky
Dansk - Dansk
Dutch - Dutch
English - English
Finnish - Finnish
Français - Francais
Deutsch - German
עברית - Hebrew
Magyar - Hungarian
Bahasa Indonesia - Indonesian
Italiano - Italian
日本語 - Japanese
한국어 - Korean
Norsk - Norwegian
Polski - Polish
Português - Portuguese
Português - Brazilian Portuguese
Русский - Russian
中文 - Simplified Chinese
Slovenčina - Slovak
Slovenčina - Slovenian
Español - Spanish
Svenska - Swedish
中文 - Traditional Chinese
Türkçe - Turkish
Oëzbekcha - Uzbek
websvn
Subversion Repositories:
banderdyn
centos.prosek.czf
crusader
czf4bfu
czf4bfu.prosek.czf
czfcentos
czfgmap
discover
fedora.prosek.czf
freenet-router
ftth
getonlineclouds
hotsanic
internet.prosek.czf
is
mapstats
meteolinger
netmap
qos
sedlo
sedlo.prosek.czf
switches
vbtobb
vlubnt
weathermap
weatherstats
websvn
wifidashboard
wifimon
www.prosek.czf
xenstats
[
/
] [
include/
] [
template.php
] - Blame information for rev
1
Line No.
Rev
Author
Line
Powered by
WebSVN
2.2.1