$s_dirs = array(""); searches the entire server $s_skip = array(""); // Which files/dirs do you like to skip? $s_files = "shtml|shtm|SHTM|SHTML|php3|php4|php|txt"; // Which files types should be searched? Example: "html$|htm$|php4$" $min_chars = "3"; // Min. chars that must be entered to perform the search $max_chars = "30"; // Max. chars that can be submited to perform the search $default_val = "Searchphrase"; // Default value in searchfield $limit_hits = array("5","10","25","50","100"); // How many hits should be displayed, to suppress the select-menu simply use one value in the array --> array("100") $message_1 = "Invalid Search term!"; // Invalid searchterm $message_2 = "Please enter at least '$min_chars' characters and no more than '$max_chars'."; // Invalid searchterm long ($min_chars/$max_chars) $message_3 = "Your search result for:"; // Headline searchresults $message_4 = "Sorry, no hits."; // No hits $message_5 = "Results"; // Hits $message_6 = "Match case"; // Match case $no_title = "Untitled"; // This should be displayed if no title or empty title is found in file $limit_extracts = ""; // How many extratcts per file do you like to display. Default: "" --> every extract, alternative: 'integer' e.g. "3" $byte_size = "51200"; // How many bytes per file should be searched? Reduce to increase speed /* // Deutsche Konfiguration $my_server = "http://".getenv("SERVER_NAME").":".getenv("SERVER_PORT"); // Zu durchsuchender Server $my_root = getenv("DOCUMENT_ROOT"); // Wurzelverzeichnis fuer die Suche $s_dirs = array("/search/dir1","/search/dir2"); // Welche Verzeichnisse ("/Verzeichniss1","/Verzeichniss2","/Verzeichniss2/Unterverzeichniss1","/Verzeichniss2/Unterverzeichniss2") im Wurzelverzeichnis sollen durchsucht werden? --> $s_dirs = array(""); durchsucht den ganzen Server $s_skip = array("..",".","subdir2"); // Welche Ordner oder Dateien sollen ausgelassen werden? $s_files = "html|htm|HTM|HTML|php3|php4|php|txt"; // Welche Dateien (Endung) sollen durchsucht werden? Beispiel fuer mehrere Endungen: "html$|htm$|php4$" $min_chars = "3"; // Wieviel Zeichen muessen mind. bei der Suche eingegeben werden? $max_chars = "30"; // Wieviel Zeichen duerfen max. bei der Suche eingegeben werden? $default_val = "Begriff"; // Default Wert im Suchfeld $limit_hits = array("5","10","25","50","100"); // Max. Treffer anzeigen, um das select-menue zu unterdruecken und beispielsweise max. 100 Treffer anzuzeigen --> array("100") $message_1 = "Ungültiger Suchbegriff!"; // Zuwenig/zuviel Zeichen in der Suche $message_2 = "Bitte geben Sie mindestens '$min_chars', maximal '$max_chars' Zeichen ein, zusammenhängende Begriffe durch ein Leerzeichen getrennt."; // Ungueltige Suchanfrage ($min_chars/$max_chars) $message_3= "Suchergebnisse für:"; // Ueberschrift Suchergebnisse $message_4 = "Die Suche ergab leider keinen Treffer."; // Keinen Treffer $message_5 = "Treffer"; // Treffer $message_6 = "Gro�-/Kleinschreibung beachten"; // Gro�-/Kleinschreibung beachten $no_title = "Ohne Titel"; // Kein Titel in Datei $limit_extracts = ""; // Wieviele Treffer (Auszuege) sollen _pro Dokument_ ausgegeben. Default: "" also alle, Alternativ: 'Zahl' z.B. "2" $byte_size = "51200"; // Wieviel byte sollen pro zu durchsuchender html-Datei durchsucht werden (Je kleiner, desto schneller die Suche, desto geringer die Chance auf einen Treffer --> html-Dateien sollten eigentlich nicht groesser als 10 KB, also 10240 byte sein) Default: '51200', weil grosse Dateien vorhanden? */ //ini_set("error_reporting", "2047"); // Debugger // search_form(): Gibt das Suchformular aus function search_form($_GET, $limit_hits, $default_val, $message_5, $message_6) { @$keyword=$_GET['keyword']; @$case=$_GET['case']; @$limit=$_GET['limit']; echo "
\n", "\n", " "; $j=count($limit_hits); if($j==1) echo ""; elseif($j>1) { echo " "; } echo "\n", "
\n", "$message_6 \n", "
\n", "Powered by terraserver.de/search", "
\n"; } // search_headline(): Ueberschrift Suchergebnisse function search_headline($_GET, $message_3) { @$keyword=$_GET['keyword']; @$action=$_GET['action']; if($action == "SEARCH") // Volltextsuche echo "

$message_3 '".htmlentities(stripslashes($keyword))."'

"; } // search_error(): Auf Fehler testen und Suchfehler anzeigen function search_error($_GET, $min_chars, $max_chars, $message_1, $message_2, $limit_hits) { global $_GET; @$keyword=$_GET['keyword']; @$action=$_GET['action']; @$limit=$_GET['limit']; if($action == "SEARCH") { // Volltextsuche if(strlen($keyword)<$min_chars||strlen($keyword)>$max_chars||!in_array ($limit, $limit_hits)) { // Ist die Anfrage in Ordnung (min. '$min_chars' Zeichen, max. '$max_chars' Zeichen)? echo "

$message_1
$message_2

"; $_GET['action'] = "ERROR"; // Suche abbrechen } } } // search_dir(): Volltextsuche in Verzeichnissen function search_dir($my_server, $my_root, $s_dirs, $s_files, $s_skip, $message_1, $message_2, $no_title, $limit_extracts, $byte_size, $_GET) { global $count_hits; @$keyword=$_GET['keyword']; @$action=$_GET['action']; @$limit=$_GET['limit']; @$case=$_GET['case']; if($action == "SEARCH") { // Volltextsuche foreach($s_dirs as $dir) { // Alle Verzeichnisse in $s_dirs durchsuchen $handle = @opendir($my_root.$dir); while($file = @readdir($handle)) { if(in_array($file, $s_skip)) { // Alles in $skip auslassen continue; } elseif($count_hits>=$limit) { break; // Maximale Trefferzahl erreicht } elseif(is_dir($my_root.$dir."/".$file)) { // Unterverzeichnisse durchsuchen continue; //$s_dirs = array("$dir/$file"); //search_dir($my_server, $my_root, $s_dirs, $s_files, $s_skip, $message_1, $message_2, $no_title, $limit_extracts, $byte_size, $_GET); // search_dir() rekursiv auf alle Unterverzeichnisse aufrufen } elseif(preg_match("/($s_files)$/i", $file)) { // Alle Dateien gemaess Endungen $s_files $fd=fopen($my_root.$dir."/".$file,"r"); $text=fread($fd, $byte_size); // 50 KB $keyword_html = htmlentities($keyword); if($case) { // Gross-/Kleinschreibung beruecksichtigen? $do=(strstr($text, $keyword)!=FALSE)||(strstr($text, $keyword_html)!=FALSE); } else { $do=(stristr($text, $keyword)!=FALSE)||(stristr($text, $keyword_html)!=FALSE); } if($do) { $count_hits++; // Treffer zaehlen if(preg_match_all("=]*>(.*)=siU", $text, $titel)) { // Generierung des Link-Textets aus ... if(!$titel[1][0]) // ist leer... $link_title=$no_title; // ...also $no_title else $link_title=$titel[1][0]; // ... vorhanden... } else { $link_title=$no_title; // ...ansonsten $no_title } echo "$count_hits. $link_title
"; // Ausgabe des Links $auszug = strip_tags($text); $keyword2 = preg_quote($keyword); // unescapen $keyword2 = str_replace("/","\/","$keyword2"); $keyword_html2 = preg_quote($keyword_html); // unescapen $keyword_html2 = str_replace("/","\/","$keyword_html2"); echo ""; if(preg_match_all("/((\s\S*){0,3})($keyword2|$keyword_html2)((\s?\S*){0,3})/i", $auszug, $match, PREG_SET_ORDER)); { if(!$limit_extracts) $number=count($match); else $number=$limit_extracts; for ($h=0;$h<$number;$h++) { // Kein Limit angegeben also alle Vorkommen ausgeben if (!empty($match[$h][3])) printf(".. %s%s%s ..", $match[$h][1], $match[$h][3], $match[$h][4]); } } echo "

"; flush(); } fclose($fd); } } @closedir($handle); } } } // search_no_hits(): Ausgabe 'keine Treffer' bei der Suche function search_no_hits($_GET, $count_hits, $message_4) { @$action=$_GET['action']; if($action == "SEARCH" && $count_hits<1) // Volltextsuche, kein Treffer echo "

$message_4

"; } ?> UECE - Research Unit on Complexity and Economics
Home
About
Events
People
Network
Research
Publications
    Articles in Journals
    Books and Chapters
    Other Publications
Other Activities

ISEG (School of Economics and Management) UTL (Technical University of Lisbon)

Other Publications

Sort by Year UECE's Authors
 


Search Engine

You can search by keyword, by author, by title or by publisher. Please use only letters and numbers, between 3 and 30 charaters ( 3 < [Aa..Zz] and [1..0] < 30 ).

UECE, ISEG/UTL, Rua Miguel Lupi, 20 - 1249-078 Lisboa, Portugal
phone: (+351) 213 925 912       fax: (+351) 213 971 196       email: uece@iseg.ulisboa.pt
©2006-2008 UECE. Todos os direitos reservados. All rights reserved.


UECE is supported by