ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Hinweistext im Gästebuch

Geschlossen
  1. #1
    User Pic
    Remix Mitglied
    Registriert seit
    28.02.2009
    Beiträge
    267
    Beitragswertungen
    3 Beitragspunkte
    Hallo,

    bin derzeit mal wieder aktiver unterwegs. Habe nun ein Gästebuch mit Sperrfunktion installiert. In diesem Zusammenhang würde ich gerne, sobald jemand einen Text eingibt, der Hinweis kommt: "Ihr Eintrag wird erst nach Sichtung eines Administrators freigeschaltet", oder so ähnlich.

    Wie und wo packe ich das hin ?

    <?php
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    $title = $allgAr['title'].' :: G&auml;stebuch';
    $hmenu = 'G&auml;stebuch';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    # time sperre in sekunden
    $timeSperre = $allgAr['Gsperre'];
    
    /*
    
      gbook
    
    	id , name , mail , page , ip , time , txt
    
    */
    
    switch($menu->get(1)) {
    case 1 :
    
    	$tpl = new tpl ( 'gbook.htm' );
    	$ar = array (
        'uname' => $_SESSION['authname'],
        'SMILIES' => getsmilies(),
    		'ANTISPAM' => get_antispam ('gbook', 1),
        'TXTL' => $allgAr['Gtxtl']
      );
    	$tpl->set_ar_out($ar,3);
    
      if (!isset($_SESSION['klicktime_gbook'])) { $_SESSION['klicktime_gbook'] = 0; }
    
    break;
    case 2 :
    
      $dppk_time = time();
    
      if (($_SESSION['klicktime_gbook'] + $timeSperre) < $dppk_time
      AND isset($_POST['name'])
      AND isset($_POST['txt'])
      AND trim($_POST['name']) != ""
      AND trim($_POST['txt']) != ""
      AND chk_antispam ('gbook' )
      AND strlen ($_POST['txt']) <= $allgAr['Gtxtl'] ) {
    
        $txt = escape($_POST['txt'], 'textarea');
    	  $name = escape($_POST['name'], 'string');
    	  $mail = escape($_POST['mail'], 'string');
    	  $page = escape($_POST['page'], 'string');
    	  $frei = $allgAr['eintraege_bestaetigen'];
    
        db_query("INSERT INTO prefix_gbook VALUES (
          null,
    	    '".$name."',
          '".$mail."',
          '".$page."',
          '".time()."',
          '".getip()."',
          '".$txt."',
    		  '".$frei."'
        )
        ");
    
    
        $_SESSION['klicktime_gbook'] = $dppk_time;
        wd('index.php?gbook','<center><b>erfolgreich eingetragen,</b><br> nach einer Spamkontrolle wird der Eintrag freigeschaltet.</center>');
    	} else {
    	  echo '- '.$lang['donotpostsofast'];
    	  echo '<br />- '.sprintf($lang['gbooktexttolong'], $allgAr['Gtxtl']);
    	  echo '<br />- '.$lang['plsfilloutallfields'];
    	}
      break;
    case 'show' :
      if ($allgAr['gbook_koms_for_inserts'] == 1) {
        $id = escape($menu->get(2), 'integer');
        if (chk_antispam('gbookkom') AND isset($_POST['name']) AND isset($_POST['text'])) {
          $name = escape($_POST['name'], 'string');
          $text = escape($_POST['text'], 'string');
          db_query("INSERT INTO prefix_koms (name,text,uid,cat) VALUES ('".$name."', '".$text."', ".$id.", 'GBOOK')");
        }
        if ($menu->getA(3) == 'd' AND is_numeric($menu->getE(3)) AND has_right(-7, 'gbook')) {
          $did = escape($menu->getE(3), 'integer');
          db_query("DELETE FROM prefix_koms WHERE uid = ".$id." AND cat = 'GBOOK' AND id = ".$did);
        }
    
    
        $r  = db_fetch_assoc(db_query("SELECT time, name, mail, page, txt as text, id FROM prefix_gbook WHERE id = ".$id));
        $r['datum'] = date('d.m.Y', $r['time']);
        if ($r['page'] != '') {
          $r['page'] = get_homepage($r['page']);
          $r['page'] = ' &nbsp; <a href="'.$r['page'].'" target="_blank"><img src="include/images/icons/page.gif" border="0" alt="Homepage '.$lang['from'].' '.$r['name'].'"></a>';
    		}
    		if ($r['mail'] != '') {
    	    $r['mail'] = ' &nbsp; <a href="mailto:'.escape_email_to_show($r['mail']).'"><img src="include/images/icons/mail.gif" border="0" alt="E-Mail '.$lang['from'].' '.$r['name'].'"></a>';
    		}
    
        $tpl = new tpl ( 'gbook.htm' );
    		$r['ANTISPAM'] = get_antispam('gbookkom', 0);
        $r['uname'] = $_SESSION['authname'];
        $r['text'] = bbcode($r['text']);
        $tpl->set_ar_out($r, 4);
        $i = 1;
        $erg = db_query("SELECT id, name, text FROM prefix_koms WHERE uid = ".$id." AND cat = 'GBOOK' ORDER BY id DESC");
        $anz = db_num_rows($erg)+1;
        while ($r1 = db_fetch_assoc($erg)) {
          $r1['zahl'] = $anz - $i;
          $r1['text'] = bbcode($r1['text']);
          if (has_right(-7, 'gbook')) { $r1['text'] .= '<a href="index.php?gbook-show-'.$id.'-d'.$r1['id'].'"><img src="include/images/icons/del.gif" alt="'.$lang['delete'].'" border="0" title="'.$lang['delete'].'" /></a>'; }
          $tpl->set_ar_out($r1, 5);
          $i++;
        }
        $tpl->out(6);
      }
      break;
    default :
    
      $limit = $allgAr['gbook_posts_per_site'];  // Limit
      $page = ( $menu->getA(1) == 'p' ? escape($menu->getE(1), 'integer') : 1 );
      $MPL = db_make_sites ($page , "" , $limit , "?gbook" , 'gbook' );
      $anfang = ($page - 1) * $limit;
    
    	$tpl = new tpl ( 'gbook.htm' );
    
      $ei = @db_query("SELECT COUNT(ID) FROM prefix_gbook ");
      $ein    = @db_result($ei,0);
    
      $ei1 = @db_query("SELECT COUNT(ID) FROM prefix_gbook WHERE frei = 1");
      $ein1    = @db_result($ei1,0);
    
      $ei2 = @db_query("SELECT COUNT(ID) FROM prefix_gbook WHERE frei = 0");
      $ein2    = @db_result($ei2,0);
    
      $ar = array ('EINTRAGE' => $ein, 'GEINTRAGE' => $ein1, 'FEINTRAGE' => $ein2,);
    	$tpl->set_ar_out($ar,0);
    
    	$erg = db_query("SELECT * FROM prefix_gbook ORDER BY time DESC LIMIT ".$anfang.",".$limit) or die (db_error());
    	while ($row = db_fetch_object($erg)) {
    
    
    
    
    
    
    
    
        $page = '';
        $mail = '';
    		if ($row->page) {
          $row->page = get_homepage($row->page);
          $page = ' &nbsp; <a href="'.$row->page.'" target="_blank"><img src="include/images/icons/page.gif" border="0" alt="Homepage '.$lang['from'].' '.$row->name.'"></a>';
    		}
    		if ($row->mail) {
    	    $mail = ' &nbsp; <a href="mailto:'.escape_email_to_show($row->mail).'"><img src="include/images/icons/mail.gif" border="0" alt="E-Mail '.$lang['from'].' '.$row->name.'"></a>';
    		}
        $koms = '';
        if ($allgAr['gbook_koms_for_inserts'] == 1) {
          $koms = db_result(db_query("SELECT COUNT(*) FROM prefix_koms WHERE uid = ".$row->id." AND cat = 'GBOOK'"),0,0);
          $koms = '<a href="index.php?gbook-show-'.$row->id.'">'.$koms.' '.$lang['comments'].'</a>';
        }
    
    		$ar = array ( 'NAME' => $row->name,
    		                'DATE' => date("d.m.Y",$row->time),
                        'koms' => $koms,
    										'MAIL' => $mail,
    										'ID'   => $row->id,
    										'PAGE' => $page,
    										'TEXT' => BBCode($row->txt)
    		  );
          if ($row->frei == 0) {
    			$tpl->set_ar_out($ar,1);
    	}}
    	$tpl->set_out('SITELINK', $MPL, 2 );
    break;
    }
    
    //-----------------------------------------------------------|
    
    $design->footer();
    
    ?>


    Vielen Dank für Eure Unterstützung!

    betroffene Homepage: externer Link
    www.fsk-anticlan.de --> www.revival.4playin.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.637
    Beitragswertungen
    1193 Beitragspunkte
    Ich würde es als Info in das Template oder nach dem Eintrag in die Weiterleitungsfunktion wd() setzen. Ein Alert welches durch klick oä. ausgeführt ist bestimmt sehr nervig.
    rules :: doku :: faq :: linkus
    1 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    SHAQ Mitglied
    Registriert seit
    20.02.2011
    Beiträge
    85
    Beitragswertungen
    2 Beitragspunkte
    Hi Remix,

    muss unbedingt die gbook.php geändert werden? Eine Alternative wäre, ins Template vom Gästebuch eine festen Hinweis zu platzieren, den jeder sieht, der einen Klick auf euer GB macht zwinker

    Öffne doch mal die gbook.htm und ersetze

      <table width="100%">
    	  <tr>
    		  <td width="50%" align="right">
    			  <strong>{EINTRAGE}</strong> {_lang_entries}, <strong>{EINLOCKED}</strong> davon Gesperrt  
    			</td>
    			<td width="50%" align="center">
    			  <a href="index.php?gbook-1">{_lang_insert}</a>
    			</td>
    		</tr>
    	 </table>


    gegen

      <table width="100%">
    	  <tr>
    		  <td width="50%" align="right">
    			  <strong>{EINTRAGE}</strong> {_lang_entries}, <strong>{EINLOCKED}</strong> davon Gesperrt  
    			</td>
    			<td width="50%" align="center">
    			  <a href="index.php?gbook-1">{_lang_insert}</a>
    			</td>
    		</tr>
    		<tr>
    			<td colspan="2" cellspacing="0" cellpadding="5">
    				<fieldset>
    					<legend>Eintrageinfo</legend>				
    					<label><b style="color:red;">Hinweis:</b> Alle G&auml;stebucheintr&auml;ge werden erst von der Administration gepr&uuml;ft.</label>
    				</fieldset>
    			</td>
    		</tr>
    	 </table>


    Und eure www.fsk-anticlan.de funktioniert irgednwie nicht ^^

    Grüße
    SHAQ

    P.S.: Mist Lord|Schirmer, Du warst schneller lachen


    Zuletzt modifiziert von SHAQ am 07.02.2013 - 23:50:57
    1 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Remix Mitglied
    Registriert seit
    28.02.2009
    Beiträge
    267
    Beitragswertungen
    3 Beitragspunkte
    Wunderbar....genau so habe ich mir das vorgestellt. Habe wohl noch eine alte Version des Gästebuch mit Sperrfunktion, da hier die gesperrten Einträge nicht angezeigt werden :-)
    Aber das ist ja das kleinste Übel. Bastel gerade an einer anderen Seite und die FSK-Seite ist mein Erstlingswerk (läuft auf kilu.de und ist hin-und-wieder nicht verfügbar :-() und da passiert auch nicht mehr viel.

    Auf jeden Fall läuft das GB genau so wie gewünscht! TOP!
    www.fsk-anticlan.de --> www.revival.4playin.de
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten