iliaa Mon May 24 16:09:17 2004 EDT
Modified files: /livedocs handlers.php Log: Optimization tune-up. http://cvs.php.net/diff.php/livedocs/handlers.php?r1=1.6&r2=1.7&ty=u Index: livedocs/handlers.php diff -u livedocs/handlers.php:1.6 livedocs/handlers.php:1.7 --- livedocs/handlers.php:1.6 Sat May 1 15:58:13 2004 +++ livedocs/handlers.php Mon May 24 16:09:17 2004 @@ -18,7 +18,7 @@ // | Special Handlers for $aliases | // +----------------------------------------------------------------------+ // -// $Id: handlers.php,v 1.6 2004/05/01 19:58:13 nlopess Exp $ +// $Id: handlers.php,v 1.7 2004/05/24 20:09:17 iliaa Exp $ /*********************************** @@ -63,8 +63,8 @@ echo "</div><hr />\n"; /* Sanitize index letter */ - if (isset($_GET['i']) && preg_match('/^[A-Z]{0,1}$/i', $_GET['i'])) { - $idxl = $_GET['i']; + if (isset($_GET['i']) && ctype_alpha($_GET['i'][0])) { + $idxl = $_GET['i'][0]; } else { $idxl = 'a'; } @@ -74,22 +74,16 @@ sqlite_create_function($idx, 'TO_LOWER', 'strtolower'); /* Select all titles starting with $idxl */ - $q = sqlite_query($idx, "SELECT title, id FROM idents WHERE STARTS_WITH(title, '$idxl') ORDER BY TO_LOWER(title)"); - if ($q) { - while ($r = sqlite_fetch_array($q, SQLITE_NUM)) { - list($title, $id) = $r; - $url = FORCE_DYNAMIC ? "?l=$lang&q=$id#$id" : "$lang/$id#$id"; - echo "<span class='index'><a href='" . WEBBASE . "$url'>$title</a></span><br />\n"; - } + $q = sqlite_array_query($idx, "SELECT title, id FROM idents WHERE STARTS_WITH(title, '$idxl') ORDER BY TO_LOWER(title)", SQLITE_NUM); + foreach ($q as $r) { + list($title, $id) = $r; + $url = FORCE_DYNAMIC ? "?l=$lang&q=$id#$id" : "$lang/$id#$id"; + echo "<span class='index'><a href='" . WEBBASE . "$url'>$title</a></span><br />\n"; } } -function sqlite_starts_with($title, $char) { - $title = strtolower($title); - $char = strtolower($char); - if (!strlen($title) || !strlen($char)) { - return FALSE; - } - return ($title{0} == $char{0}); +function sqlite_starts_with($title, $char) +{ + return !strncasecmp($title, $char, 1); } ?>