ilch Forum » Ilch Clan 1.1 » Kritik und Verbesserungen » Suchfunktion für Selfbp?

Geschlossen
  1. #1
    User Pic
    Sali Mitglied
    Registriert seit
    12.11.2011
    Beiträge
    2
    Beitragswertungen
    0 Beitragspunkte
    Nabend,


    Ich wollte mal nachfragen, ob jemand eine Suchfunktion für Ilch hat die auch die Selfpage mit durchsucht?

    Die Standartsuche greift da ja leider nicht.

    Oder das man übers eigene Seite erstellen statt einer PHP direkt in die Datenbank schreiben kann ? und dann eine `Suchfunktion die das wieder auslesen kann?

    Bei uns sammelt sich im moment immer mehr an, so das eine funktionierende Suche schon wichtig wär. Wir haben auch schon das ein oder andere CMS ausprobiert nur gefällt uns das Ilch am besten und würden gerne dabei bleiben.


    P.S. Ich habe hier auch schon nach gesucht bin aber nicht fündig geworden traurig

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    s4sch4 Mitglied
    Registriert seit
    09.12.2007
    Beiträge
    183
    Beitragswertungen
    5 Beitragspunkte
    Wenn man php ein wenig beherschst dann kann man das relativ leicht selber bauen sowas...

    ich hab dir mal was gebastelt lächeln bin ja nich so:

    <?php
    
    #   Selfpage suchscript
    #   Copyright by: Sascha Künkes
    #   Support: www.itroyal.de
    
    
    defined ('main') or die ( 'no direct access' );
    
      $title = $allgAr['title'].' ::: Selfpage Search';
      $hmenu = 'Selfpage Search';
      $design = new design ( $title , $hmenu );
      $design->header();
      
      
    function copyShellFolder($source, $search){
    
        $shellBefehl = "grep -il --directories=recurse '$search' $source";
        exec($shellBefehl, $var);
        return $var;
     
    }
    
    
    if(isset($_POST['search'])) {
    
    $source = 'include/contents/selfbp/selfp/';
    $search = $_POST['search'];
    $var = copyShellFolder($source, $search);
    
    $anz = count($var);
    #exec("grep help",$var);
    $nr = 1;
    echo 'Ihre suche nach "'.$search.'" ergab '.$anz.' Treffer:<br /><br />';
    foreach($var as $link) {
    $file = substr($link, 30, -4);
    echo $nr.' <a href="index.php?'.$file.'">'.$file.'</a><br />';
    $nr++;
    }
    
    }
    
    ?>
    <form action="index.php?selfpagesearch" method="post">
    Bitte suchwort eingeben: <input type="text" name="search" value="suchwort" /> <input type="submit" value="Suchen" />
    </form>
    <?
    
    
    $design->footer();
    ?>


    copier das in eine datei, nenn sie zB selfpagesearch.php und ab damit in den include/contents ordner, aufrufen kannst du dann natürlich mit "www.deine-domain.de/?selfpagesearch", viel spass damit...

    Gruß Sascha


    Zuletzt modifiziert von s4sch4 am 13.11.2011 - 04:01:53
    Visit me on: externer Link
    Visit my Clan: externer Link
    Mein ilch Modul: Höhrercharts v0.8 für OnlineRadios
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Tr3icio gelöschter User
    @s4sch4: Dumme Lösung. Funktionen wie exec, system und fpassthru sind standardmäßig deaktiviert und php wird dich nur anmeckern.

    Und dann würde ich mit keiner Art von Daten die der Client schickt, jemals ungefiltert arbeiten.

    Lese einfach die Datein aus und dann nutze preg_match oder ne andere Funktion dafür, aber versuch es nicht über Funktionen wie exec zu lösen, verursacht nur Probleme.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    s4sch4 Mitglied
    Registriert seit
    09.12.2007
    Beiträge
    183
    Beitragswertungen
    5 Beitragspunkte
    naja, einfach vorher die post-variable escapen, fertig, einzigste system-vorraussetzung ist php >= 3 und linux basierter Server...

    also ich hab das script getestet und es läuft super, man müsste es natürlich noch in die standartsuche mit einbeziehen...
    Visit me on: externer Link
    Visit my Clan: externer Link
    Mein ilch Modul: Höhrercharts v0.8 für OnlineRadios
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Tr3icio gelöschter User
    Ja aber standardmäßig sind funktionen wie exec immer deaktiviert ( ist in der php.ini als standart deaktiviert ) und bei webspace ist es immer deaktiviert
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    s4sch4 Mitglied
    Registriert seit
    09.12.2007
    Beiträge
    183
    Beitragswertungen
    5 Beitragspunkte
    ok dann schreib doch mal nen altanativscript dafür lächeln also mit preg_match statt exec, die user würden sich bestimmt freuen... lächeln
    Visit me on: externer Link
    Visit my Clan: externer Link
    Mein ilch Modul: Höhrercharts v0.8 für OnlineRadios
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Tr3icio gelöschter User
    Hatte mal Langeweile ;-)
    Würde schätzen, dass dies für die User reichen würde.

    <?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!');
            defined('__DIR__') or define('__DIR__', dirname(__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?selfsearch">
    		
    			<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&uuml;tzlich f&uuml;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 = __DIR__ . '/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();
    
    ?>



    EDIT: So ein paar Einrückungen entfernt ^^


    Zuletzt modifiziert von Tr3icio am 13.11.2011 - 15:55:44
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    s4sch4 Mitglied
    Registriert seit
    09.12.2007
    Beiträge
    183
    Beitragswertungen
    5 Beitragspunkte
    hm, sieht gut aus, aber funtzt nich ^^ also iwas passt da noch nich, habs auf meiner clanpage getestet:

    mein script liefert beim wort "sportz" zB 19 treffer, deins "0" und iwie hab ich das gefühl das der immer "0" treffer macht lächeln aber ich denk mal das is nur iwo nen kleiner flüchtigkeitsfehler oder sowas, hier wenn du selber mal schauen willst:

    mein script: externer Link

    dein script: externer Link

    oder muss ich da vielleicht noch was anpassen? Aber soweit ich das sehen kann muss da eig. nix mehr angepasst werden... also hat sich da iwo nen fehler eingeschlichen. sauer


    Zuletzt modifiziert von s4sch4 am 13.11.2011 - 15:56:42
    Visit me on: externer Link
    Visit my Clan: externer Link
    Mein ilch Modul: Höhrercharts v0.8 für OnlineRadios
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Tr3icio gelöschter User
    ZitatZitat geschrieben von s4sch4

    hm, sieht gut aus, aber funtzt nich ^^ also iwas passt da noch nich, habs auf meiner clanpage getestet:

    mein script liefert beim wort "sportz" zB 19 treffer, deins "0" und iwie hab ich das gefühl das der immer "0" treffer macht lächeln aber ich denk mal das is nur iwo nen kleiner flüchtigkeitsfehler oder sowas, hier wenn du selber mal schauen willst:

    mein script: www.united-sportz.de/index.php?selfpagesearch

    dein script: www.united-sportz.de/index.php?selfpsearch

    oder muss ich da vielleicht noch was anpassen?


    Bei mir läuft alles ohne Probleme auf meinem Server .. habe es mit Ilch 1.2 und 1.1 getestet
    Tipp: Hab mein Skript mal geändert, damit es auch mit PHP 5.2 geht ( vorher nur mit 5.3 )


    Zuletzt modifiziert von Tr3icio am 13.11.2011 - 15:57:25
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    s4sch4 Mitglied
    Registriert seit
    09.12.2007
    Beiträge
    183
    Beitragswertungen
    5 Beitragspunkte
    hm, dann kann es sein das es deshalb is, weil bei uns noch ne ältere version läuft glaub ich, werd die mal updaten...
    Visit me on: externer Link
    Visit my Clan: externer Link
    Mein ilch Modul: Höhrercharts v0.8 für OnlineRadios
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Klosterwurm Mitglied
    Registriert seit
    30.11.2004
    Beiträge
    354
    Beitragswertungen
    2 Beitragspunkte
    lächelnlächelnlächelnlächelnlächeln
    Mein Funportal @ externer Link | Facebook @ Spasselite
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Tr3icio gelöschter User
    ZitatZitat geschrieben von Klosterwurm

    lächelnlächelnlächelnlächelnlächeln


    Du bist so .. xD
    Also habe jetzt bei mir nochmal ne Datei erstellt, diesmal mit simplen Lorem Ipsum Inhalt und geht trotzdem!
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    s4sch4 Mitglied
    Registriert seit
    09.12.2007
    Beiträge
    183
    Beitragswertungen
    5 Beitragspunkte
    jo, naja, am besten testet es mal der Sali und sagt uns einfach obs bei ihm funtzt oder nich, wenn er auch ne neuere version verwendet dann denk ich mal wird das bei ihm schon klappern ^^
    Visit me on: externer Link
    Visit my Clan: externer Link
    Mein ilch Modul: Höhrercharts v0.8 für OnlineRadios
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Tr3icio gelöschter User
    So siehts bei mir aus:

    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    s4sch4 Mitglied
    Registriert seit
    09.12.2007
    Beiträge
    183
    Beitragswertungen
    5 Beitragspunkte
    cool, haste echt genial gemacht, ich werd mal meine page updaten, mal sehen obs dann auch bei uns funtzt... lächeln


    // Edit:

    also bei mir funtzt das auch nich mit dem aktuellen 1.1o evtl liegt es an servereinstellungen, zB php memory limit...


    Zuletzt modifiziert von s4sch4 am 13.11.2011 - 17:54:00
    Visit me on: externer Link
    Visit my Clan: externer Link
    Mein ilch Modul: Höhrercharts v0.8 für OnlineRadios
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Tr3icio gelöschter User
    WTF? Wieso soll das memory limit dran schuld sein? Wenn PHP damit ein Problem hätte würde es schon ganz fett das dem browser mitteilen, welcher es ausgeben würde.

    Also bei mir geht es bei 1.1 und 1.2 ohne Probleme.
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    s4sch4 Mitglied
    Registriert seit
    09.12.2007
    Beiträge
    183
    Beitragswertungen
    5 Beitragspunkte
    jo, war ja nur nen beispiel, kp, iwas muss dafür aber verantwortlich sein, mein script zB benötigt open basedir, sonst gehts nich...
    Visit me on: externer Link
    Visit my Clan: externer Link
    Mein ilch Modul: Höhrercharts v0.8 für OnlineRadios
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Tr3icio gelöschter User
    Meines benötigt nur PHP. Keine besonderen Sachen .. das läuft mit PHP 5.X auf jedenfall.
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    s4sch4 Mitglied
    Registriert seit
    09.12.2007
    Beiträge
    183
    Beitragswertungen
    5 Beitragspunkte
    wie gesagt, bei mir nich ^^

    und ich hab kein Free-Space oder son schrott ^^ aber es wäre mal schön was vom sali zu hören, wenns bei ihm läuft is ja alles roger lächeln


    Zuletzt modifiziert von s4sch4 am 14.11.2011 - 15:03:24
    Visit me on: externer Link
    Visit my Clan: externer Link
    Mein ilch Modul: Höhrercharts v0.8 für OnlineRadios
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    Tr3icio gelöschter User
    Ich habs auf meinem Laptop versucht und auf meinen 2 vServer: geht
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    ZitatZitat geschrieben von Tr3icio

    So siehts bei mir aus:




    Ich hab das Ding jetzt nicht getestet, aber ist das jetzt eine separate Seite/Suchfunktion oder mit der Standart-Suchfunktion von ilch "verschmolzen"? Oo (sieht man jetzt nicht auf dem screen)

    Ich finde es ja toll wenn ihr sowas programmiert und würde es auch nutzen, sicher auch andere User, aber wäre es nicht sinnvoll beide Scripts zu "vereinen"?
    Also ich meine die Standart-Suche von ilch und diese hier in einer PHP-Datei zu proggen, also das man in der Suche das Suchwort eingibt und durch radiopoints dann auswählt was man durchsuchen möchte (News/Forum/Selfpages/Downloads/Alles)?
    Wäre sinnvoller und praktischer als zwei separate Suchfunktionen auf der Seite zu haben.

    Achso ja falls ihr das macht, wäre es super, es bei ilch als Script im Downloadbereich zu uppen.
    Es wird immer jemand nach so einer Suchfunktion fragen, da ilch zwar auf die Idee kommt eine Funktion einzubauen damit man eigene Seiten erstellen kann, aber keine anständige Suchfunktion programmiert die wirklich alles durchsucht besonderst Forum, News und Selfpages... grumml
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    s4sch4 Mitglied
    Registriert seit
    09.12.2007
    Beiträge
    183
    Beitragswertungen
    5 Beitragspunkte
    Nee, das is ne extra suche für die eigenen selfpages lächeln

    @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&uuml;tzlich f&uuml;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
    Visit me on: externer Link
    Visit my Clan: externer Link
    Mein ilch Modul: Höhrercharts v0.8 für OnlineRadios
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    Tr3icio gelöschter User
    Kleiner Tipp: __DIR__ ist ab 5.3 verfügbar, also ist es nicht meine Schuld.
    Außerdem hatte ich den Code oben sogar so umgeändert gehabt, dass es auch mit PHP Versionen vor 5.3 geht.

    Dafür die Zeile:

    defined('__DIR__') or define('__DIR__', dirname(__FILE__));


    Aber das ich die Zeile eingefügt habe ist Ausnahme gewesen .. normalerweise passe ich meine Skripte nie an ältere PHP Versionen an, dass diese zu nutzen nur dumm ist.
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.623
    Beitragswertungen
    1192 Beitragspunkte
    Naja "dumm" oder bei vielen abhängig vom Hoster!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    s4sch4 Mitglied
    Registriert seit
    09.12.2007
    Beiträge
    183
    Beitragswertungen
    5 Beitragspunkte
    ok, dann werd ich mal die php version erneuern lassen lächeln
    Visit me on: externer Link
    Visit my Clan: externer Link
    Mein ilch Modul: Höhrercharts v0.8 für OnlineRadios
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    Tr3icio gelöschter User
    ZitatZitat geschrieben von Lord|Schirmer

    Naja "dumm" oder bei vielen abhängig vom Hoster!


    Die Sache ist trotzdem die Schuld des Users, denn man ist selber schuld, wenn man sich nen Hoster mit veralteter Software holt.

    Außerdem würde ich nie nen Webspace holen.
    Ich habe nur vServer am laufen ( im moment noch 2 Stk. ), weil ich dort volle Kontrolle habe.
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    Sali Mitglied
    Registriert seit
    12.11.2011
    Beiträge
    2
    Beitragswertungen
    0 Beitragspunkte
    Nabend,

    sorry das Ich mich jetzt erst dazu melde aber liege krank im bett und habs vergessen zwinker


    Habs jetzt mal ausprobiert, scheint auch gut zu funktionieren. Nur bekomme ich hinter dem Dateinamen immer Treffer:2 angezeigt ^^

    Und man bekommt leider als besucher auch dateien angezeigt die nur für Admins freigegeben sind (kann man zwar nicht öffnen aber könnte Irre führen)

    Vielen dank schon mal für eure Arbeit.


    P.S.: PHP Version 5.3.5


    Zuletzt modifiziert von Sali am 15.11.2011 - 18:44:05
    0 Mitglieder finden den Beitrag gut.
  28. #28
    User Pic
    Tr3icio gelöschter User
    So jetzt sollte die Anzahl Treffer stimmen: ( ungetestet )

    <?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!');
            defined('__DIR__') or define('__DIR__', dirname(__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?selfsearch">
             
                <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&uuml;tzlich f&uuml;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 = __DIR__ . '/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_all('/(' . $Search . ')/Uis', $Content, $Matches) || ( isset($_REQUEST['fn']) && preg_match_all('/(' . $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();
     
    ?>
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Kritik und Verbesserungen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten