<li><?php print(get_fontsize_link('dec', '-a')); ?></li>
system("php -f eingabe.php > ausgabe.html");
2011-04-29T17:53:26 GwenDragonNa, ich denke, bspw. per system an den PHP-Interpreter übergeben und dessen Ausgabe in eine Datei ausgeben.
<tr><td> <!--cgi: header--> <!--cgi: subheader--> <!--cgi: searchtime--> </td></tr>
2011-04-29T18:30:00 biancaStellen gehen aus dem obigen Template hervor, es geht nur um diesen Output.Er ist aber ein PHP'ler, soweit ich das sehe und möchte in seinen PHP Workaround ein Perlscript einbinden.
Frage an newperler: Ist das die einzige Stelle, wo ein Output eines Perlscripts geparst werden müsste? Und wieviele Stellen wären da zu parsen?
2011-04-29T18:41:39 newperlerStellen gehen aus dem obigen Template hervor, es geht nur um diesen Output.
2011-04-29T19:11:43 newperlerDaran hatte ich auch schon gedacht. Problem ist jedoch, dass einige dynamische Funktionen wie Kontrast-, SSL- oder Schriftgrößenumschaltung dann nicht mehr funktionieren würden und man deshalb einen Layoutsprung von der Such- zur Ergebnisseite hätte.
2011-04-29T20:48:15 newperlerEs gibt nicht nur eine Ergebnisseite, sondern je nach Zahl der Treffer mehrere und da beginnt es höchst kompliziert, weil verschachtelt zu werden....
2011-04-30T05:33:39 rostiwenn der php-Parser anspringen soll, muss die Endung .php lauten.
2011-04-30T05:54:27 biancaGenau so ist es. Mit unterschiedlichen Dateiendungen/Verzeichnissen hatte ich ebenfalls schon experimentiert, nebst Konfigurationsänderungen des Servers mit .htaccess und/oder php.ini (s.o.); entweder wird cgi oder php geparst, bislang niemals beides...2011-04-30T05:33:39 rostiIch meine, das Ergebnistemplate wird ja derzeit von der Perl Suche geladen und nicht vom Webserver. Das heißt, der Webserver sieht die Dateiextension nicht und kann deshalb den PHP Parser nicht anwerfen.wenn der php-Parser anspringen soll, muss die Endung .php lauten.
2011-05-02T12:43:47 GwenDragon2. Diese Datei von ksearch.cgi innerhalb Documentroot abspeichern lassen
3. In ksearch.gi ein Redirect auf found+ID+time.php (bspw: found_764c16af46dd4f15edb05ecc5595b50cbe3714ea_1304340116.php) stattfinden lassen
2011-05-02T14:07:52 newperlerKsearch übernimmt (bislang) keine Parameter.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
#### You do not have to edit below unless you want to ############################################ $DATABASE_DIR = $KSEARCH_DIR.'database/'; $DATABASEFILE = $DATABASE_DIR.'database.txt'; $F_FILE_DB_FILE = $DATABASE_DIR.'files'; $F_SIZE_DB_FILE = $DATABASE_DIR.'files_size'; $F_DATE_DB_FILE = $DATABASE_DIR.'files_date'; $F_TERMCOUNT_DB_FILE = $DATABASE_DIR.'files_termcount'; $DESCRIPTIONS_DB_FILE = $DATABASE_DIR.'descriptions'; $TITLES_DB_FILE = $DATABASE_DIR.'titles'; $FILENAMES_DB_FILE = $DATABASE_DIR.'filenames'; $TERMS_DB_FILE = $DATABASE_DIR.'terms'; $CONTENTS_DB_FILE = $DATABASE_DIR.'contents'; $ALT_TEXT_DB_FILE = $DATABASE_DIR.'alt_text'; $LINKS_DB_FILE = $DATABASE_DIR.'links'; $META_DESCRIPTION_DB_FILE = $DATABASE_DIR.'meta_description'; $META_KEYWORD_DB_FILE = $DATABASE_DIR.'meta_keyword'; $META_AUTHOR_DB_FILE = $DATABASE_DIR.'meta_author'; $CONFIGURATION_DIR = $KSEARCH_DIR.'configuration/'; $IGNORE_FILES_FILE = $CONFIGURATION_DIR.'ignore_files.txt'; $IGNORE_TERMS_FILE = $CONFIGURATION_DIR.'stop_terms.txt'; $HELP_FILE = $KSEARCH_DIR.'search_tips.html'; $LOG_FILE = $KSEARCH_DIR.'log.txt'; $TEMPLATE_DIR = $KSEARCH_DIR.'templates/'; $KSEARCH_TEMPLATE = $TEMPLATE_DIR.'search.php'; $FORM_LINK = '<a href="#form" alt="To Search Form" title="To Search Form" onclick="document.search.'.$FORM_INPUT_NAME.'.focus()">Form</a>'; $SPEED_TIP_TIME = 5; # time required to get a tip to increase search speed $VERSION = "1.6"; 1;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
sub returnresults { # creates HTML page from template file my %h; my ($options, $sortby, $casesearch, $commonterms, $subsearch_string, $subsearch_info); my $rank = 0; $query_terms_copy =~ s/\s$//; my $bare_query = $query_terms_copy; my $query_str = CGI::escape($bare_query_terms); my $previous_query_str = CGI::escape($previous_query); $bare_query_terms =~ s/\"/\"\;/g; $h{query_str} = $bare_query_terms; $h{version} = $VERSION; $h{search_url} = $SEARCH_URL; $h{input_name} = $FORM_INPUT_NAME; $html = get_template($KSEARCH_TEMPLATE); my $results = @sortedanswers; my $currentpage = $query->param('p'); $currentpage ||= 1; if ($SEARCH_RESULTS && $query->param('pq') !~ /^\s*$/) { $subsearch_string = '&pq='.CGI::escape($query->param('pq')); $subsearch_info = ' im vorherigen Ergebnis'; }
print $html; # finally print the HTML page
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
{ use Digest::MD5 qw(md5_hex); my $t = time; my $dig = md5_hex($t . $html . $$); if (!-e "$ENV{DOCUMENT_ROOT}/cgi-bin/ksresult/") { mkdir("$ENV{DOCUMENT_ROOT}/cgi-bin/ksresult/"); } my $php_fname = "ks-$dig-$t.php"; my $outfh; open ($outfh, ">", "$ENV{DOCUMENT_ROOT}/cgi-bin/ksresult/$php_fname"); print $outfh $html; # finally print the HTML page # --- PHP-Datei löschen nach Anzeige? Dann Kommentar entfernen! #print $outfh '<?php @unlink("$ENV{DOCUMENT_ROOT}/cgi-bin/ksresult/$php_fname"); ?>'; # --- close ($outfh); my $redirect_url = "/cgi-bin/ksresult/$php_fname"; print <<"HTML"; <html> <head> <meta http-equiv="refresh" content="0; url=$redirect_url"> </head> <body> <p>Suchergebnis unter <a href="$redirect_url">$redirect_url</a></p> </body> </html> HTML exit; }