ilch Forum » Ilch Clan 1.1 » Allgemein » Username Schutz in Shortbox

Geschlossen
  1. #1
    User Pic
    ChrisWat Mitglied
    Registriert seit
    20.03.2007
    Beiträge
    11
    Beitragswertungen
    0 Beitragspunkte
    Hallo @ all,

    mal wieder eine Frage!

    Habe heute auf 1.1 F abgedated

    Vor dem Update hatte ich ein username Schutz in der Shortbox also keiner konnte als nich angemeldeter User mit einen Nick in die Shortbox schreiben den es schon als Registrierten User gab (klein und Großschreibung wurde beachtet)

    denke das der Teil aus der shortbox.php aus den Verzeichniss \include\boxes dafür verantwortlich ist.
    Wie muss ich das nun an 1.1F anpassen?

        $users = '';
        if (has_right(-1)) {
          $readonly = 'readonly="readonly"';
    		  $user = 'u';
    		  $onfocus = '';
    		}
    		else
    		{
          $user = 'g';
          $uquery = db_query("SELECT name FROM prefix_user");
          while ($uds = db_fetch_object($uquery)) {
            $username = $uds -> name;
            if (!empty($users)) $users = $users.', ';
            $users = $users.'"'.$username.'"';
          }
          $onfocus = 'onFocus="if (value == \''.$shoutbox_VALUE_name.'\') {value = \'\'}" onBlur="if (value == \'\') {value = \''.$shoutbox_VALUE_name.'\'}"';
        }
        
      echo '<script language="JavaScript" type="text/javascript">';
      echo '    user = new Array('.$users.');';
      echo '    </script>';
    	echo '    <script language="JavaScript" src="include/includes/js/comments.js" type="text/javascript"></script>';


    Für eure Hilfe bin ich dankbar!
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    387 Beitragspunkte
    Also sieht irgendwie nach meinem Modul aus, hier ist meine aktualisierte Shoutbox
    <?php 
    #   Copyright by Manuel
    #   Support www.ilch.de
    
    defined ('main') or die ( 'no direct access' );
    
      if ( loggedin() ) {
        $shoutbox_VALUE_name = $_SESSION['authname'];
      } else {
        $shoutbox_VALUE_name = 'Nickname';
      }
      if ( !empty($_POST['shoutbox_submit']) AND chk_antispam ('shoutbox')) {
    		$shoutbox_nickname = escape($_POST['shoutbox_nickname'],'string');
        $shoutbox_nickname = substr($shoutbox_nickname, 0, 15).'@'.date('H:i');
    	  $shoutbox_textarea = escape($_POST['shoutbox_textarea'],'textarea');
    		$shoutbox_textarea = preg_replace("/\[.?(url|b|i|u|img|code|quote)[^\]]*?\]/i","",$shoutbox_textarea);
    		$shoutbox_textarea = strip_tags($shoutbox_textarea);
        if ( !empty($shoutbox_nickname) AND !empty($shoutbox_textarea) ) {
    	    db_query('INSERT INTO `prefix_shoutbox` VALUES ( "" , "'.$shoutbox_nickname.'" , "'.$shoutbox_textarea.'" ) ' );
    	  }
      }
    
    if (has_right($allgAr['sb_recht'])){  
          $users = '';
          if (has_right(-1)) {
            $readonly = 'readonly="readonly"';
      		  $user = 'u';
      		  $onfocus = '';
      		}
      		else
      		{
            $user = 'g';
            $uquery = db_query("SELECT name FROM prefix_user");
            while ($uds = db_fetch_object($uquery)) {
              $username = $uds -> name;
              if (!empty($users)) $users = $users.', ';
              $users = $users.'"'.$username.'"';
            }
            $onfocus = 'onFocus="if (value == \''.$shoutbox_VALUE_name.'\') {value = \'\'}" onBlur="if (value == \'\') {value = \''.$shoutbox_VALUE_name.'\'}"';
          }
          
        echo '<script language="JavaScript" type="text/javascript">';
        echo '    user = new Array('.$users.');';
        echo '    </script>';
      	echo '    <script language="JavaScript" src="include/includes/js/comments.js" type="text/javascript"></script>';
        
        echo '<form action="index.php" method="POST" name="shoutbox" onsubmit="return chkShoutbox'.$user.'()">';
        echo '<input type="text" size="15" name="shoutbox_nickname" value="'.$shoutbox_VALUE_name.'" '.$onfocus.' maxlength="15" '.$readonly.' >';
        echo '<br /><textarea style="width: 80%" cols="15" rows="2" name="shoutbox_textarea"></textarea><br />';
      	echo get_antispam ('shoutbox', 0);
        echo '<input type="submit" value="'.$lang['formsub'].'" name="shoutbox_submit">';
      	echo '</form><table width="90%" class="border" cellpadding="2" cellspacing="1" border="0">';
        $erg = db_query('SELECT * FROM `prefix_shoutbox` ORDER BY id DESC LIMIT '.(is_numeric($allgAr['sb_limit'])?$allgAr['sb_limit']:5));
      	$class = 'Cnorm';
        while ($row = db_fetch_object($erg) ) { 
      	  $class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
          echo '<tr class="'.$class.'"><td><b>'.$row->nickname.' :</b><br />'.bbcode(preg_replace( '/([^\s]{'.$allgAr['sb_maxwordlength'].'})(?=[^\s])/', "$1\n", $row->textarea)).'</td></tr>';
        }
        echo '</table><a class="box" href="index.php?shoutbox">'.$lang['archiv'].'</a>';
      }
    
    ?>
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    assault Hall Of Fame
    Registriert seit
    03.11.2006
    Beiträge
    2.925
    Beitragswertungen
    1 Beitragspunkte
    du kannst auch einfach wieder die alte shoutbox.php vom mod nehmen, funzt wunderbar(ich glaub, dann gehen nur die shoutboxeinstellungen nicht*gg*)

    /edit:
    hat sich erledigt...


    Zuletzt modifiziert von assault am 25.03.2007 - 17:26:53
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    ChrisWat Mitglied
    Registriert seit
    20.03.2007
    Beiträge
    11
    Beitragswertungen
    0 Beitragspunkte
    Hallo Mairu,

    das wird schon so sein das es Dein Modul ist habe es von hier...

    Echt klasse Supportleitung kaum geposted schon eine Antwort.

    Da ich keine Ahnung von PHP habe, versuche ich dennoch den Quellcode zu verstehen, denke mal Ansatzweise klappt es schon da ich die betroffenen Stellen schon lokalisieren kann. Und dann Frage ich gezielt im Forum denke das ist einfacher!

    Vielen dank nochmals



    /edit

    sehe gerade im GBook ist es auch nicht mehr vorhanden

    @ Mairu könntest Du da auch mal bitte schauen zwinker


    Zuletzt modifiziert von ChrisWat am 25.03.2007 - 18:05:41
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    387 Beitragspunkte
    OK hier noch meine gbook.php
    <?php 
    #   Copyright by: Manuel
    #   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 :
      
      $users = '';
      $uquery = db_query("SELECT name FROM prefix_user");
      while ($uds = db_fetch_object($uquery)) {
        $username = $uds -> name;
        if (!empty($users)) $users = $users.', ';
        $users = $users.'"'.$username.'"';
        }
    
    	$tpl = new tpl ( 'gbook.htm' );
    	$ar = array (
        'uname' => $_SESSION['authname'],
        'SMILIES' => getsmilies(),
    		'ANTISPAM' => get_antispam ('gbook', 1),
        'TXTL' => $allgAr['Gtxtl'],
        'USERS' => $users
      );
    	$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');
    	
      	db_query("INSERT INTO prefix_gbook VALUES (
          null,
    	    '".$name."',
          '".$mail."',
          '".$page."',
          '".time()."',
          '".getip()."',
          '".$txt."' 
    		)
        ");
    					
        
       $_SESSION['klicktime_gbook'] = $dppk_time;
        wd('index.php?gbook',$lang['insertsuccessful']);
    	} 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']);    
        $users = '';
        if (has_right(-1)) {
          $readonly = 'readonly="readonly"';
    		  $user = 'u';
    		}
    		else
    		{
          $user = 'g';
          $uquery = db_query("SELECT name FROM prefix_user");
          while ($uds = db_fetch_object($uquery)) {
            $username = $uds -> name;
            if (!empty($users)) $users = $users.', ';
            $users = $users.'"'.$username.'"';
          }
        } 
        
        $r['READONLY'] = $readonly;
    		$r['user'] = $user;
    		$r['USERS'] = $users;   
        
        $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' );
    	
      $ei1 = @db_query("SELECT COUNT(ID) FROM prefix_gbook"); 
      $ein    = @db_result($ei1,0);
    	
    	$ar = array ('EINTRAGE' => $ein );
    	$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.' ('.$row->ip.')',
    		                'DATE' => date("d.m.Y - H:i",$row->time),
                        'koms' => $koms,
    										'MAIL' => $mail,
    										'ID'   => $row->id,
    										'PAGE' => $page,
    										'TEXT' => BBCode($row->txt),
              );
          
    			$tpl->set_ar_out($ar,1);
    	}
    	$tpl->set_out('SITELINK', $MPL, 2 );
    break;
    }
    
    //-----------------------------------------------------------|
    
    $design->footer();
    
    ?>
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    assault Hall Of Fame
    Registriert seit
    03.11.2006
    Beiträge
    2.925
    Beitragswertungen
    1 Beitragspunkte
    was ich nochmal eben sagen wollte, beim code für die shoutbox kommt in Internet sporatisch dieser fehler und lokal der gleiche aber dauernt
    Notice: Undefined variable: readonly in \www\clan-lant\include\boxes\shoutbox.php on line 47

    bei der älteren version aus dem modul aber nicht
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    387 Beitragspunkte
    Das kommt nur wenn du error_reporting auf einem hohen Level hast, und die variable nicht deklariert wurde, also entweder du machst dein error_reporting(E_ALL); weg, oder du setzt an den anfang der datei $readonly = '';
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    ChrisWat Mitglied
    Registriert seit
    20.03.2007
    Beiträge
    11
    Beitragswertungen
    0 Beitragspunkte
    Super besten Dank Mairu


    wirklich klasse support !
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten