Nee, das is ne extra suche für die eigenen selfpages
@Tr3icio:
Ich bekomme auf einer brandneuen ilch 1.1o diese Fehlermeldung:
Warning: scandir(): Unable to access __DIR__include/contents/selfbp/selfp/ in /srv/www/htdocs/web84/html/bvt/include/contents/selfpsearch.php on line 74 Warning: scandir(__DIR__include/contents/selfbp/selfp/): failed to open dir: No such file or directory in /srv/www/htdocs/web84/html/bvt/include/contents/selfpsearch.php on line 74 Warning: scandir(): (errno 2): No such file or directory in /srv/www/htdocs/web84/html/bvt/include/contents/selfpsearch.php on line 74 Warning: Invalid argument supplied for foreach() in /srv/www/htdocs/web84/html/bvt/include/contents/selfpsearch.php on line 76
betroffene Zeile:
$Dir = scandir($Path);
Ich muss bei mir das __DIR__ entfernen und den pfad komplett ab include angeben, dann gehts komischerweise ^^ Muss wohl echt was mit den Servereinstellungen zu tuen haben, kp.
Also so hab ich´s jetzt:
<?php
/**
* SelfPage Search
*
* Ein simples Skript um Seiten, die über den Admin Bereich erstellt wurden zu durchsuchen
*
* @author Justin Nuß <admin@tr3icio.de>
* @copyright Justin Nuß 2011
* @version 1.0
*/
defined('main') or die ('No direct Access to this File!');
$ckLogin = false; // Wenn auf true gesetzt, können nur eingeloggte User die Suche nutzen
$pName = 'Selfpage Search';
$Title = $allgAr['title'].' :: ' . $pName;
$Hmenu = $pName;
$Design = new design($Titel, $Hmenu);
$Design->header();
if ( $ckLogin === true && !loggedin() ) {
wd('index.php', 'Du darfst diese Suche nicht benutzen!');
$Design->footer(1);
}
echo '<h2>Suche</h2><hr /><br />';
?>
<form method="post" action="index.php?selfpsearch">
<input type="text" name="q" value="Suchen..." onfocus="if ( this.value == 'Suchen...' ) {
this.value = '';
}" onblur="if ( this.value == '' ) {
this.value = 'Suchen...';
}" style="width: 200px; font-style: italic; font-weight: bold;" />
<br />
<br />
<input type="checkbox" name="i" /> Begriffe trennen? ( Trennt die Begriffe nach Kommas. Nützlich für mehrere Suchbegriffe )
<br />
<input type="checkbox" name="b" /> Treffer hervorheben?
<br />
<input type="checkbox" name="fn" /> Im Dateinamen suchen?
<br />
<br />
<input type="submit" value="Suchen!" />
</form>
<br />
<hr />
<br />
<?php
if ( isset($_REQUEST['q']) && !empty($_REQUEST['q']) ) {
$_REQUEST['q'] = trim($_REQUEST['q']);
$_REQUEST['q'] = escape($_REQUEST['q'], 'string');
$Search = isset($_REQUEST['i']) ? preg_replace('/(\s*),(\s*)/', '|', $_REQUEST['q']) : $_REQUEST['q'];
$Output = array();
$Path = 'include/contents/selfbp/selfp/';
$Dir = scandir($Path);
foreach ( $Dir as $File ) {
if ( substr($File, 0, 1) == '.' || substr($File, ( strlen($File) - 4 ), 4) !== '.php' ) {
continue;
}
$Content = file_get_contents($Path . $File);
$Content = preg_replace('/(<!--(.*)-->)/Us', '', $Content);
$Content = preg_replace('/<\?php(.*)\?>/', '', $Content);
$Content = strip_tags($Content);
$Matches = NULL;
$File = str_replace('.php', '', $File);
if ( preg_match('/(' . $Search . ')/Uis', $Content, $Matches) || ( isset($_REQUEST['fn']) && preg_match('/(' . $Search . ')/Uis', $File) ) ) {
$Content = substr($Content, 0, 255);
$Content = isset($_REQUEST['b']) ? preg_replace('/(' . $Search . ')/Uis', '<b>\1</b>', $Content) : $Content;
$Filename = isset($_REQUEST['b']) && isset($_REQUEST['fn']) ? preg_replace('/(' . $Search . ')/Uis', '<b>\1</b>', $File) : $File;
$Output[$File] = $Content;
echo '<div class="search_result"><div class="search_info"><b>Datei</b>: <a href="index.php?' . $File . '">' . $Filename . '</a>; <b>Treffer</b>: ' . count($Matches) . '</div><div class="search_text" style="padding-left: 25px;">' . $Content . '</div></div><br />';
}
}
$MatchesCount = count($Output);
echo '<br /><hr />';
echo '<b>Anzahl der Treffer</b>: ' . $MatchesCount;
}
$Design->footer();
?>
Nochmal nen großes Lob an dich, haste echt super gemacht, stellt natürlich meine kleine version in den Schatten ^^
Zuletzt modifiziert von s4sch4 am 14.11.2011 - 19:19:14