ilch Forum » Ilch Clan 1.1 » Installation und Upgrades » Antispam upgrade ?

Geschlossen
  1. #1
    User Pic
    marvman Mitglied
    Registriert seit
    22.05.2006
    Beiträge
    587
    Beitragswertungen
    3 Beitragspunkte
    Hallo,

    ich habe auf Grund von vielen älteren Modulen und Änderungen an Dateien bei mir noch die Version 1.1H laufen. Ist es möglich dort die Antispamfunktion von 1.1P zu intergrieren ? Falls ja wie ? Oder läuft auf meine Version das ReCaptcha Antispam v. 1.0.2 ???

    Grüße Marv


    verwendete ilch Version: 1.1 H
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    marvman Mitglied
    Registriert seit
    22.05.2006
    Beiträge
    587
    Beitragswertungen
    3 Beitragspunkte
    Hallo,

    ich habe mich an diesen Foreneintrag gehalten und das Antispam von 1.1 P eingebaut.

    externer Link

    Leider schaffe ich es nicht einen Button zum neuladen des Captchas einzubauen. Ich finde nicht dieses "if(is_numeric..."

    Gruß Marv
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Hast du die capchta.js von 1.1P hochgeladen, dann sollte der Code von 1.1P eigentlich 1 zu 1 übernommen werden können.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    marvman Mitglied
    Registriert seit
    22.05.2006
    Beiträge
    587
    Beitragswertungen
    3 Beitragspunkte
    Hallo,

    die war nicht hochgeladen. Muß ich nun noch das wie in dem Beitrag machen, da immer noch kein reloadbutton angezeigt wird.

    externer Link

    Gruß Marv
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Die captcha.js wird zumindest bei dir nicht geladen, hast du denn die Funktionen von 1.1P, nicht aus dem Thema?

    Ansonsten mal die allg.php hier posten.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    marvman Mitglied
    Registriert seit
    22.05.2006
    Beiträge
    587
    Beitragswertungen
    3 Beitragspunkte
    Hallo,

    hier die allg.php
    <?php 
    #   Copyright by Manuel Staechele
    #   Support www.ilch.de
    
    defined ('main') or die ( 'no direct access' );
    
    ##
    ###
    ####
    #####  W E I T E R L E I T U N G S   F U N K T I O N
    function wd ($wdLINK,$wdTEXT,$wdZEIT=3) {  
    	global $lang;
    
      if (!is_array($wdLINK)) {
    	  $urls  = '<a href="'.$wdLINK.'">'.$lang['forward2'].'</a>';
    	  $wdURL = $wdLINK; 
    	} else {
    	  $urls  = '';
        $i = 0;
    		foreach($wdLINK as $k => $v) {
    		  if ( $i == 0 ) {
    			  $wdURL = $v;
    			}
    			$urls .= '<a href="'.$v.'">'.$k.'</a><br />';
    		  $i++;
    		}
    	}
    	$tpl = new tpl ( 'weiterleitung.htm' );
    	$ar = array
    	(
        'LINK' => $urls,
    	  'URL'  => $wdURL,
    		'ZEIT' => $wdZEIT,
    		'TEXT' => $wdTEXT 
    	);
    	$tpl->set_ar_out ( $ar, 0 );
    	unset($tpl); 
    }
    
    ##
    ###
    ####
    ##### g e t   R e c h t
    function getrecht ($RECHT, $USERRECHT) {
    	if ( empty ( $USERRECHT ) ) {
    	  return (false);
    	} else {
    	  if($USERRECHT <= $RECHT) {
    	    return (true);
    	  } else {
    	    return (false);
    	  }
      }
    }
    
    ##
    ###
    ####
    ##### g e t   U s e r   N a m e
    function get_n($uid) {
    	$row = db_fetch_object(db_query("SELECT name FROM prefix_user WHERE id = '".$uid."'"));
    	return $row->name;
    }
    
    ##
    ###
    ####
    ##### wochentage sonntag 0 samstag 6
    function wtage ($tag) {
      $wtage = array('Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag');
      return ($wtage[$tag]);
    }
    
    ##
    ###
    ####
    ##### monate in deutsch
    function getDmon ($mon) {
      $monate = array('Januar','Februar','M&auml;rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
      return($monate[$mon-1]);
    }
    
    
    ##
    ###
    ####
    ##### a l l g e m e i n e s   A r r a y
    function getAllgAr () {
      
    	# v1 = schluessel
    	# v2 = wert
    	# v3 = feldtyp
      # v4 = kurze beschreibung wenn n&#65533;tig
    	
    	$ar = array();
    	$abf = "SELECT schl, wert FROM `prefix_config`";
    	$erg = db_query($abf);
    	while($row = db_fetch_assoc($erg) ) {
    	  $ar[$row['schl']] = $row['wert'];
    	}
    	return $ar;
    }
    ##
    ###
    ####
    ##### Ordnergroesse ermitteln
    function dir_size($dirname) {
        if (!is_dir($dirname) || !is_readable($dirname)) {
            return false;
        }
    
        $dirname_stack[] = $dirname;
        $size = 0;
    
        do {
            $dirname = array_shift($dirname_stack);
            $handle = opendir($dirname);
            while (false !== ($file = readdir($handle))) {
                if ($file != '.' && $file != '..' && is_readable($dirname . DIRECTORY_SEPARATOR . $file)) {
                    if (is_dir($dirname . DIRECTORY_SEPARATOR . $file)) {
                        $dirname_stack[] = $dirname . DIRECTORY_SEPARATOR . $file;
                    }
                    $size += filesize($dirname . DIRECTORY_SEPARATOR . $file);
                }
            }
            closedir($handle);
        } while (count($dirname_stack) > 0);
        return sprintf('%.2f', $size / 1024000) . ' MB';
    }
    ##
    ###
    ####
    ##### UserRang ermitteln
    function userrang ($post,$uid) {
      global $global_user_rang_array;
      
      if (!isset($global_user_rang_array[$uid])) {
        if (!isset($global_user_rang_array)) {
          $global_user_rang_array = array();
        }
        if ( empty($uid) ) {
          $rRang = 'Gast';
        } else {
          $rRang = @db_result(db_query("SELECT bez FROM prefix_user LEFT JOIN prefix_ranks ON prefix_ranks.id = prefix_user.spezrank WHERE prefix_user.id = ".$uid),0);
        }
        if ( empty($rRang) ) {
          $post = ( $post == 0 ? 1 : $post );
          $rRang = @db_result(db_query("SELECT bez FROM `prefix_ranks` WHERE spez = 0 AND min <= ".$post." ORDER BY min DESC LIMIT 1"),0);
        } elseif ( $rRang != 'Gast' ) {
          $rRang = ''.$rRang.'';
        }
        $global_user_rang_array[$uid] = $rRang;
      }
      
      return ($global_user_rang_array[$uid]); 
    }
    
    
    ##
    ###
    ####
    ##### makiert suchwoerter
    function  markword($text,$such) { 
      $erg  = '<span style="background-color: #EBF09B;">';
      $erg .= $such."</span>";
    	$text = str_replace($such,$erg,$text);
      return $text; 
    } 
    
    
    ##
    ###
    ####
    ##### gibt die smiley lilste zurueck
    function getsmilies () {
      global $lang;
      $zeilen = 3; $i = 0;
    	$b = '<script language="JavaScript" type="text/javascript">function moreSmilies () { var x = window.open("about:blank", "moreSmilies", "width=250,height=200,status=no,scrollbars=yes,resizable=yes"); ';
      $a = '';
      $erg = db_query('SELECT emo, ent, url FROM `prefix_smilies`');
    	while ($row = db_fetch_object($erg) ) {
    
        $b .= 'x.document.write ("<a href=\"javascript:opener.put(\''.addslashes(addslashes($row->ent)).'\')\">");';
        $b .= 'x.document.write ("<img style=\"border: 0px; padding: 5px;\" src=\"include/images/smiles/'.$row->url.'\" title=\"'.$row->emo.'\"></a>");';
            
        if ($i<12) {
          # float einbauen
          if($i%$zeilen == 0 AND $i <> 0) { $a .= '<br /><br />'; }
          $a .= '<a href="javascript:put(\''.addslashes($row->ent).'\')">';
          $a .= '<img style="margin: 2px;" src="include/images/smiles/'.$row->url.'" border="0" title="'.$row->emo.'"></a>';
        }
        $i++;
    	}
      $b .= ' x.document.write("<br /><br /><center><a href=\"javascript:window.close();\">'.$lang['close'].'</a></center>"); x.document.close(); }</script>';
      if ($i>12) { $a .= '<br /><br /><center><a href="javascript:moreSmilies();">'.$lang['more'].'</a></center>'; }
      $a = $b.$a;
      return ($a);
    }
    
    
    
    ##
    ###
    ####
    ##### generey key with x length
    function genkey ( $anz ) {
    	$letterArray = array ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','1','2','3','4','5','6','7','8','9','0','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9','0');
      $key = '';
    	for ($i=0;$i < $anz ; $i ++)
    	{
    	    mt_srand((double)microtime()*1000000);
    	    $zufallZahl = mt_rand(0,62);
          $key .= $letterArray[$zufallZahl];
      }
    	return ( $key );
    }
    
    function icmail ($mail,$bet,$txt, $from = '', $html=false) {
      global $allgAr;
      if ( $from == '' ) {
        $from = $allgAr['allg_default_subject'].' <'.$allgAr['adminMail'].'>';
      }
      $from    = preg_replace ("/\015\012|\015|\012/", "", $from);
      $header  = "From: ".$from."\n";
      $header .= "MIME-Version: 1.0\n";
      $header .= "Content-Type: ".($html?"text/html":"text/plain")."; charset=\"iso-8859-1\";\n";
      $header .= "Content-Transfer-Encoding: 8bit";
      
      $mail = escape_for_email($mail);
      $bet  = escape_for_email($bet,true);
      $txt  = str_replace("\r", "\n", str_replace("\r\n", "\n",$txt));
      
      if ($allgAr['mail_smtp']) {
          require_once('include/includes/func/smtp.php');
          return smtpmail($mail, $bet ,$txt , $header );
      } elseif ( mail ( $mail, $bet, $txt, $header) ) {
    	  return ( true );
    	} else {
    	  return ( false );
    	}
    }
    
    
    function html_enc_substr($text, $start, $length) {
       $trans_tbl = get_html_translation_table(HTML_ENTITIES);
       $trans_tbl = array_flip($trans_tbl);
       return(htmlentities(substr(strtr($text, $trans_tbl), $start, $length)));
    }
    
    function get_datum ($d) {
      if (strpos($d,'.') !== FALSE) { $d = str_replace('.','-',$d); }
      if (strpos($d,'/') !== FALSE) { $d = str_replace('/','-',$d); }
      if (is_numeric(substr($d,-4))) {
        list($t,$m,$j) = explode('-', $d);
      } elseif (is_numeric(substr($d,0,4))) {
        list($j,$m,$t) = explode('-', $d);
      }
      $d = $j.'-'.$m.'-'.$t;
      return ($d);
    }
    
    function get_homepage ($h) {
      $h = trim($h);
      if (!empty($h) AND substr($h, 0, 7) != 'http://') {
        $h = 'http://'.$h;
      }
      return ($h);
    }
    
    function get_wargameimg ($img) {
      if (file_exists('include/images/wargames/'.$img.'.gif')) {
        return ('<img src="include/images/wargames/'.$img.'.gif" alt="'.$img.'" border="0">');
      } elseif (file_exists('include/images/wargames/'.$img.'.jpg')) {
        return ('<img src="include/images/wargames/'.$img.'.jpg" alt="'.$img.'" border="0">');
      } elseif (file_exists('include/images/wargames/'.$img.'.jpeg')) {
        return ('<img src="include/images/wargames/'.$img.'.jpeg" alt="'.$img.'" border="0">');
      } elseif (file_exists('include/images/wargames/'.$img.'.png')) {
        return ('<img src="include/images/wargames/'.$img.'.png" alt="'.$img.'" border="0">');
      }
      return ('');
    }
    
    function iurlencode_help ($a) {
      if (preg_match("/(http:|https:|ftp:)/", $a[0])) {
        return ($a[0]);
      }
    
      return (rawurlencode($a[1]).substr($a[0], -1));
    }
    
    function iurlencode ($s) {
      return (preg_replace_callback("/([^\/]+|\/[^\.])[\.\/]/", 'iurlencode_help', $s));
      /*
      $x = 'false';
      if (preg_match ('/(http:|https:|ftp:)[^:]+:[^@]+@./', $s)) {
        $x = preg_replace('/([^:]+:[^@]+@)./',"\\1",$s);
      	$s = str_replace($x,'',$s);
    	} elseif (substr($s, 0, 7) == 'http://') {
    	  $s = substr ($s, 7);
    		$x = 'http://';
    	} elseif (substr($s, 0, 8) == 'https://') {
    	  $s = substr ($s, 8);
    	  $x = 'https://';
    	} elseif (substr($s, 0, 6) == 'ftp://') {
    	  $s = substr ($s, 6);
    	  $x = 'ftp://';
    	}
    	
    	
    	$a = explode('/', $s);
      $r = '';
      for ($i=0;$i<count($a);$i++) {
        $r .= rawurlencode($a[$i]).'/';
      }
    	
    	if ($x !== 'false') {
    	  $r = $x.$r;
    	}
    	
      $r = substr($r, 0, -1);
      return ($r);
      */
    }
    
    # antispam
    /**
     * Prüft, ob der Antispamcode richtig eingegeben wurde
     * Der NoPictureMode fügt ein Hidden Feld ein, um Cross Site Request Forgery Attacken zu unterbinden, der NoPictureMode
     * wird automatisch genutzt, wenn kein Bildabfrage statt findet, kann aber auch erzwungen werden
     *
     * @global array $allgAr
     * @param string $m Modulname, um unterschiedliche Antispamfelder auf einer Seite zu ermöglichen
     * @param boolean $nopictures NoPictureMode erzwingen
     * @return boolean
     */
    function chk_antispam($m, $nopictures = false)
    {
        global $allgAr;
    
        if (!$nopictures && is_numeric($allgAr['antispam']) && has_right($allgAr['antispam'])) {
            $nopictures = true;
        }
    
        $valid = false;
    
        if ($nopictures && isset($_POST['antispam_id'])) {
            $antispamId = $_POST['antispam_id'];
            if (isset($_SESSION['antispam'][$antispamId]) && $_SESSION['antispam'][$antispamId]) {
                $valid = true;
                unset($_SESSION['antispam'][$antispamId]);
            }
        } elseif (isset($_POST['captcha_code']) && isset($_POST['captcha_id'])) {
            require_once 'include/includes/captcha/Captcha.php';
            $controller = new Captcha();
            $captchaCode = strtoupper($_POST['captcha_code']);
            $valid = $controller->isValid($captchaCode, $_POST['captcha_id']);
        }
        return $valid;
    }
    
    /**
     * Erzeugt HTML Code für ein Formularfeld, welches für einen Antibot-Schutz dienen oder vor CSFR Attacken schützen soll
     * Beschreibung zum NoPictureMode bitte der chk_antispam Funktion entnehmen
     *
     * @global array $allgAr
     * @param string $m Modulname
     * @param integer $t Type, der angibt wie das Formularfeld formatiert wird (0, 1 oder > 10 als Breite für das label) siehe Code :P
     * @param boolean $nopictures Erzwing NoPictureMode
     * @return string
     */
    function get_antispam($m, $t, $nopictures = false)
    {
        global $allgAr, $ILCH_BODYEND_ADDITIONS;
        static $addedJavascript = false;
    
        if ($addedJavascript === false) {
            $ILCH_BODYEND_ADDITIONS .= '<script type="text/javascript" src="include/includes/js/captcha.js"></script>' . "\n";
            $addedJavascript = true;
        }
    
        if (!$nopictures && $t < 0 || (is_numeric($allgAr['antispam']) && has_right($allgAr['antispam']))) {
            $nopictures = true;
        }
    
        $id = uniqid($m . '_', true);
    
        if ($nopictures) {
            $_SESSION['antispam'][$id] = true;
            return '<input type="hidden" name="antispam_id" value="' . $id . '" />';
        }
    
        include 'include/includes/captcha/settings.php';
    
        $helpText = 'Geben Sie diese Zeichen in das direkt daneben stehende Feld ein.';
        $seperator = ' ';
    
        if ($t == 0) {
            $seperator = '<br />';
            $helpText = 'Geben Sie diese Zeichen in das direkt darunter stehende Feld ein.';
        }
        $img = '<img width="' . $imagewidth . '" height="' . $imageheight . '" src="include/includes/captcha/captchaimg.php?id='
            . $id . '&nocache=' . time() . '" alt="captchaimg" title="' . $helpText . '" class="captchaImage">'
            . $seperator . '<input class="captcha_code" name="captcha_code" type="text" maxlength="5" size="8" title="Geben Sie die Zeichen aus dem Bild ein">'
            . '<input type="hidden" name="captcha_id" value="' . $id .  '" />';
            ;
    
        if ($t == 1) {
            $img = '<tr><td class="Cmite"><b>Antispam</b></td><td class="Cnorm">' . $img . '</td></tr>';
        } elseif ($t > 10) {
            $img = '<label style="float:left; width: ' . $t . 'px; ">Antispam</label>' . $img . '<br/>';
        }
        return $img;
    }
    
    // Funktion scandir für PHP 4
    if (version_compare(phpversion(), '5.0.0') == -1) {
        function scandir($dir)
        {
            $dh = opendir($dir);
            while (false !== ($filename = readdir($dh))) $files[] = $filename;
            sort($files);
            return $files;
        }
    }
    // Funktion array_fill_keys < PHP 5.2
    if (version_compare(phpversion(), '5.2.0') == -1) {
    	function array_fill_keys($target, $value = '') {
    		if(is_array($target)) {
    			foreach($target as $key => $val) {
    				$filledArray[$val] = is_array($value) ? $value[$key] : $value;
    			}
    		}
    		return $filledArray;
    	}
    }
    # antispam
    
    ?>
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ok ich nehme alles zurück, 1.1H ist dafür doch zu alt. Ich hoffe dir ist klar, dass deine Seite mit so einer alten Version nicht sicher ist.

    Du kannst den Code zum Einbinden der captcha.js aber auch am Ende deiner index.htm einfügen, am besten über </body>

    Generell solltest du hinter </body> keinen Code mehr haben, also mal alles was dahinter kommt (außer </html> und der Ilch Menüpunktecode natürlich), vor das </body> schieben.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    marvman Mitglied
    Registriert seit
    22.05.2006
    Beiträge
    587
    Beitragswertungen
    3 Beitragspunkte
    Hallo,

    meinst du mit Code dann sowas ß

    <script type="text/javascript" src="include/includes/js/captcha.js"></script>


    EDIT: ok funktioniert THX


    Zuletzt modifiziert von marvman am 25.05.2014 - 20:00:48
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    marvman Mitglied
    Registriert seit
    22.05.2006
    Beiträge
    587
    Beitragswertungen
    3 Beitragspunkte
    Hi,

    nochmal da. So wie es ausschaut wird nun zwar das Captchabild neu geladen, aber wenn ich dann zB auf einen Forenbeitrag antworten will wird dieser nicht abgesandet und die Seite neu geladen. Der Code der dann da steht funktioniert.

    EDIT:und wenn ich nun im Forum etwas mit der "Schnellantwort" Funktion beantworten will werde ich auf die normale "Antworten" Seite geleitet.

    Gruß Marv


    Zuletzt modifiziert von marvman am 25.05.2014 - 23:00:58
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    "Lustigerweise" hat das noch nie funktioniert, du bist der erste, dem das auffällt zunge

    Damit sollte es gehen:
    /*
     * Add Reload Button for Captcha Images
     */
    (function() {
        var img, imgs = findCaptchaImages();
        for (var i = 0, l = imgs.length; i < l; i++) {
            appendReloadButton(imgs[i]);
        }
    
        /**
         * Find all Captcha Images
         * @returns {Array|NodeList}
         */
        function findCaptchaImages()
        {
            if (document.querySelectorAll !== undefined) {
                return document.querySelectorAll('img.captchaImage');
            } else {
                var captchaImgs = [], allImgs = document.getElementsByTagName('img');
                for (var img, i = 0, l = allImgs.length; i < l; i++) {
                    img = allImgs[i];
                    if (img.className.match(/\bcaptchaImage\b/)) {
                        captchaImgs.push(img);
                    }
                }
                return captchaImgs;
            }
        }
    
        function appendReloadButton(image)
        {
            var img = document.createElement('img');
            img.src = 'include/images/icons/reload.gif';
            img.title = 'Captcha neu generieren';
            img.alt = 'reload';
            img.style.cursor = 'pointer';
            img.onclick = function() { reloadImage(image); };
            image.parentNode.insertBefore(img, image.nextSibling);
        }
    
        function getRandomInt(min, max) {
            return Math.floor(Math.random() * (max - min + 1)) + min;
        }
    
        function findCaptchaHidden(image) {
            var form = findParent(image, 'form');
            if (form) {
                return form['captcha_id'];
            }
        }
    
        function findParent(element, type) {
            if (element.parentNode === document) {
                return false;
            } else if (element.parentNode.tagName.toLowerCase() === type) {
                return element.parentNode;
            } else {
                return findParent(element.parentNode, type);
            }
        }
    
        function reloadImage(image) {
            var src = image.src, newSrc, result, hidden, newRandomId = '';
    
            result = /captchaimg.php\?id=(\w+)_(.+)&nocache=(\d+)/.exec(src);
            if (result) {
                for (var i = 0, length = result[2].length; i < length; i++) {
                    newRandomId += getRandomInt(0, 9);
                }
                newSrc = src.replace(result[2], newRandomId).replace(result[3], Date.now().toString());
                image.src = newSrc;
                hidden = findCaptchaHidden(image);
                if (hidden) {
                    hidden.value = result[1] + '_' + newRandomId;
                }
            }
        }
    })();
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    marvman Mitglied
    Registriert seit
    22.05.2006
    Beiträge
    587
    Beitragswertungen
    3 Beitragspunkte
    Hallo,

    leider funktioniert das nicht und wenn ich nun im Forum etwas mit der "Schnellantwort" Funktion beantworten will werde ich auf die normale "Antworten" Seite geleitet.

    Gruß Marv
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Kling so, als würde der antispam nicht überprüft werden können bzw. er ist falsch.

    Und was meinst du mit, das funktioniert nicht? Und soll das mit der Schnellantwort nur bei der neueren captcha.js sein?
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    marvman Mitglied
    Registriert seit
    22.05.2006
    Beiträge
    587
    Beitragswertungen
    3 Beitragspunkte
    Hallo,

    ich habe die captcha.js von dir mit der von mir getauscht und "das funktioniert nicht" sprich es passiert das selbe wie davor. Das mit der Schnellantwort ging bis ich die allg.php angepaßt habe damit ich den captcha Code von 1.1P nutzen kann.

    Gruß Marv
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Dann fehlt die antispam Ausgabe für deine Schnellantwort.

    (Musst mal schauen, wie es bei new_post.php/htm gemacht ist)

    Das mit dem Refresh funktioniert bei mir, ich weiß nicht, warum es bei dir nicht geht, vor allem ist die captcha.js auf deiner Seite nicht die, die ich gepostet habe.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    DarkBrain Mitglied
    Registriert seit
    06.05.2012
    Beiträge
    29
    Beitragswertungen
    2 Beitragspunkte
    Habe das gleiche prob Antispam wird nicht angezeigt bei der Schnellantwort. Wenn ich den Text dort eingebe und auf senden drücke werde ich auf das normale antworten Script weitergeleitet.

    Hier meine qpost.htm:

    {EXPLODE}
    <div align="center">
    <form action="index.php?forum-newpost-{tid}" method="POST" name="form" onSubmit="return form_check()">
    <table width="60%" border="0" cellspacing="1" class="border" cellpadding="5">
      <TR>
              <td colspan="2" height="8" class="Chead">
                      <b>Schnellantwort</b>
                    </td>
    <tr>
        <td colspan="2" width="100%" class="Cnorm" align="center" valign="middle">
          <textarea style="width: 98%" name="txt" rows="8" cols="50" tabindex="2">{txt_qp}</textarea>
        </td>
      </tr><tr class="Cmite">    
        <td colspan="2">&nbsp;
        <input type="submit" name="submit" value="{_lang_formsub}" accesskey='s' />
        </td>
            </tr>
    </table></form></div>
    <br />
    {EXPLODE}


    vieleicht weiß jemand eine lösung.


    Zuletzt modifiziert von DarkBrain am 01.10.2014 - 15:31:15
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Um eine Lösung bieten zu können, braucht man auf jeden Fall noch die entsprechende php Datei. Es muss wie schon angedeutet "nur" mit get_antispam das Element erzeugt und an das $tpl übergeben und im Template dann entsprechend ausgegeben werden.

    Beispiele dafür sollte es in jeder Datei geben, die Antispam nutzt.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    DarkBrain Mitglied
    Registriert seit
    06.05.2012
    Beiträge
    29
    Beitragswertungen
    2 Beitragspunkte
    Die qpost.htm hat keine eigene php datei. Oder brauchst du dafür die newpost.php
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Irgendwo (in einer php Datei) muss das Template ja benutzt werden,
    $tpl = new tpl ('.../qpost);
    oder so ähnlich und diese Datei halt dann.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    DarkBrain Mitglied
    Registriert seit
    06.05.2012
    Beiträge
    29
    Beitragswertungen
    2 Beitragspunkte
    Das ist die einzige wo das drin steht.

    <?php 
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    # check ob ein fehler aufgetreten ist.
    check_forum_failure($forum_failure);
    
    # toipc als gelesen markieren
    $_SESSION['forumSEE'][$fid][$tid] = time();
    
    $title = $allgAr['title'].' :: Forum :: '.$aktTopicRow['name'].' :: Beitr&auml;ge zeigen';
    $hmenu  = $extented_forum_menu.'<a class="smalfont" href="index.php?forum">Forum</a><b> &raquo; </b>'.aktForumCats($aktForumRow['kat']).'<b> &raquo; </b><a class="smalfont" href="index.php?forum-showtopics-'.$fid.'">'.$aktForumRow['name'].'</a><b> &raquo; </b>';
    $hmenu .= $aktTopicRow['name'].$extented_forum_menu_sufix;
    $design = new design ( $title , $hmenu, 1);
    $design->header();
    
    
    # Topic Hits werden eins hochgesetzt.
    db_query('UPDATE `prefix_topics` SET hit = hit + 1 WHERE id = "'.$tid.'"');
    
    $erg = db_query("SELECT fid FROM `prefix_posts` WHERE tid = ".$tid);
    $row = db_fetch_assoc($erg);
    $newth = '<a href="index.php?forum-newtopic-'.$row['fid'].'"><img src="include/images/forum/newth.png" border="0"></a>';
    
    # mehrere seiten fals gefordert         
    $limit = $allgAr['Fpanz'];  // Limit 
    $page = ($menu->getA(3) == 'p' ? $menu->getE(3) : 1 );
    $MPL = db_make_sites ($page , "WHERE tid = ".$tid , $limit , 'index.php?forum-showposts-'.$tid , 'posts' );
    $anfang = ($page - 1) * $limit;
    
    $antworten = '';
    if (($aktTopicRow['stat'] == 1 AND $forum_rights['reply'] == TRUE) OR ($_SESSION['authright'] <= '-7' OR $forum_rights['mods'] == TRUE)) {
      $antworten = '<a href="index.php?forum-newpost-'.$tid.'"><img src="include/images/forum/antw.png" border="0"></a>';
    }
    
    
    $class = 'Cmite';
    
    $tpl = new tpl ( 'forum/showpost' );
    $ar = array (
      'SITELINK' => $MPL,
      'tid' => $tid,
            'ANTWORTEN' => $antworten,
            'TOPICNAME' => $aktTopicRow['name'],
                    'HMENU' => $hmenu,
                    'NEWTH' => $newth
    );
    $tpl->set_ar_out($ar,0);
    $i = $anfang +1;
    $ges_ar = array ('wurstegal', 'maennlich', 'weiblich');
    
                    ##################################
                    #Forenmod by matthias-schlich.de - Vorlage von Benjamin Rau
                    #Posts
    
    $erg = db_query("SELECT geschlecht, prefix_posts.id,txt,time,erstid,erst,sig,icq,avatar,posts FROM `prefix_posts` LEFT JOIN prefix_user ON prefix_posts.erstid = prefix_user.id WHERE tid = ".$tid." ORDER BY time LIMIT ".$anfang.",".$limit);
    while($row = db_fetch_assoc($erg)) {
      
            $class = ( $class == 'Cnorm' ? 'Cmite' : 'Cnorm' );
            
    
         $icq1   = str_replace("-","",$row['icq']);
         $icq2   = str_replace(" ","",$icq1);
    // icq abfrage
    //  0 - keine ICQ abfrage 
    //  1 - ICQ standartbilder bei &design= kann man zwischen den 26 verschiedenen icq bildern wechseln  
    //  2 - für eigne ICQ Statsubilder 
    $own_pics = "1";
    $icqdesign = "25";
    if ($own_pics == "1") {
          if (is_numeric($icq2) ){
        $row['icq'] = '<a href="http://www.icq.com/whitepages/cmd.php?uin='.$icq2.'&action=add"><img src="http://web.icq.com/whitepages/online?web='.$icq2.'&img='.$icqdesign.'" border="0"></a>';
        } else {$row['icq'] = '';}
    }
    elseif ($own_pics == "0"){
    $row['icq'] = '';}
    else{
        if (is_numeric($icq2) ){
       // Eigene ICQ-Bilder
        $status = (icq_status($icq2));
        if ($status == "1"){
        $row['icq'] = '<a href="http://www.icq.com/whitepages/cmd.php?uin='.$icq2.'&action=add"><img src="include/images/forum/icqonline.png" border="0"></a>';
        }elseif ($status == "0"){
        $row['icq'] = '<a href="http://www.icq.com/whitepages/cmd.php?uin='.$icq2.'&action=add"><img src="include/images/forum/icqoffline.png" border="0"></a>';
        }elseif ($status == "2"){
        $row['icq'] = '<a href="http://www.icq.com/whitepages/cmd.php?uin='.$icq2.'&action=add"><img src="include/images/forum/icqinactive.png" border="0"></a>';
        }else {$row['icq'] = '';}
    
        }else {$row['icq'] = '';}
    
        }
           
            
            # define some vars.
    		$row['danke'] = '';
    		$row['THX'] = '';
            $row['sig'] = ( empty($row['sig']) ? '' : '<br /><hr style="width: 50%;" align="left">'.bbcode($row['sig']) );
            $row['TID'] = $tid;
            $row['class'] = $class;
            $row['date'] = date ('d.m.Y - H:i:s', $row['time'] );
            $row['delete'] = '';
            $row['change'] = '';
            if (file_exists($row['avatar'])) { $row['avatar'] = '<br /><br /><img src="'.$row['avatar'].'" alt="User Pic" border="0" /><br />'; }
                  elseif ($allgAr['forum_default_avatar']) { $row['avatar'] = '<br /><br /><img src="include/images/avatars/'.$ges_ar[$row['geschlecht']].'.jpg" alt="User Pic" border="0" /><br />'; }
                   else { $row['avatar'] = ''; }
            $row['rang2']   = userrang ($row['posts'],$row['erstid']);
            $rank_name = $row['rang2'];
            $row['txt']    = (isset($_GET['such']) ? markword(bbcode ($row['txt']),$_GET['such']) : bbcode ($row['txt']) );
            $row['i']      = $i;
    
                      if ( $row['erstid'] != '' ) {
                      $user_row = db_fetch_assoc(db_query("SELECT posts,regist FROM prefix_user WHERE id = ".$row['erstid']));
    
                    $posts = $row['posts'];
                    $row['posts']  = 'Beiträge: '.$row['posts'].'<br />';
    
                    if ( $posts == '' ) { $row['posts'] = '<br>Nicht registriert';}
    
                     #Ranking Balken
                    #Grafiken definieren
                    $rank_01 = '<img src="include/images/forum/rank/rank01.png" alt="" border="0"><br>';
                    $rank_02 = '<img src="include/images/forum/rank/rank02.png" alt="" border="0"><br>';
                    $rank_03 = '<img src="include/images/forum/rank/rank03.png" alt="" border="0"><br>';
                    $rank_04 = '<img src="include/images/forum/rank/rank04.png" alt="" border="0"><br>';
                    $rank_05 = '<img src="include/images/forum/rank/rank05.png" alt="" border="0"><br>';
    
    
                    #Bezugnehmen auf das Ranking des users
                    if ( $row['posts'] != '' ) {
                    $row['rang'] = $rank_name.'<br>';
                    if ($posts <= '200') { $row['rang'] .= $rank_01; }
                    elseif ($posts <= '500') { $row['rang'] .= $rank_02;}
                    elseif ($posts <= '800') { $row['rang'] .= $rank_03; }
                    elseif ($posts < '1000') { $row['rang'] .= $rank_04; }
                    elseif ($posts >= '1000') { $row['rang'] .= $rank_05; }
                    }
    
                    else {$row['rang'] .= ""; }
    
                    }
    
                    #User Details
                    if ( $posts != '' ) {
                    $abf1 = 'SELECT * FROM prefix_user where id = '.$row["erstid"];
                    $erg1 = db_query($abf1);
                    $user = db_fetch_object($erg1);
    
                    $zeit = date('d. M Y',$user->regist);
                    $llogin = date('d. M Y',$user->llogin);
                    $ort = $user->wohnort;
                    $www = $user->homepage;
                    $email = $user->opt_mail;
                    $pm = $user->opt_pm;
                    $land = $user->staat;
                    #Flagge
                     if ($land != '')
                     {$row['land'] = '<img src="include/images/flags/'.$land.'" >';}
                     else{$row['land'] = '';}
                    #Dabei seit
                    $row['details'] = "<br><br>Dabei seit: ".$zeit."<br>";
                    #Wohnort
                    if ($ort != ''){$row['details'] .= "Wohnort: ".$ort."<br>";}
                    #Homepage
                    if ($www != ''){$row['www'] = '<a href="'.$www.'" target="_blank"><img src="include/images/forum/www.png" border="0" alt="Website des Users besuchen"></a>';}
                    else{$row['www'] = '';}
                    #Letzter Login
                    $row['details'] .= "Letzter Login: ".$llogin."<br>";
                    #PM
                    if ($pm == '1'){
                    $row['pm'] = "<a href='?forum-privmsg-new=0&empfid=".$row['erstid']."'><img src='include/images/forum/pm.png' border='0' alt='Private Nachricht an den User senden'></a>";
                    }else{$row['pm'] = '';}
                    #email
                    if ($email == '1'){
                    $row['email'] = "<a href='?user-mail-".$row['erstid']."'><img src='include/images/forum/email.png' border='0' alt='E-Mail an den User senden'></a>";
                    }else{$row['email'] = '';}
                    }
                    else {
                    $row['details'] = "";
                    $row['land'] = '';
                    $row['pm'] = '';
                    $row['email'] = '';
                    $row['www'] = '';                
                    }
                    
                    if ( $posts != '' ) {
    
    
                    #User Online o Offline
                    
                    $abf1 = "SELECT * FROM prefix_online where uid = ".$row['erstid'];
                    $erg1 = db_query($abf1);
                    $status = db_fetch_object($erg1);
                    if ($status->uid == $row['erstid']) {
                    $row['online'] = '&nbsp;<img src="include/images/forum/uonline.png" border="0">'; }
                    else {
                    $row['online'] = '&nbsp;<img src="include/images/forum/uoffline.png" border="0">'; }
                      }
                      else {$row['online'] = '';}
    
    
                    #
                    #Edit Ende
                    ##################################
      $row['page']   = $page;
      
                   if ( $row['posts'] != 0 ) {
                    $row['erst'] = '<a href="index.php?user-details-'.$row['erstid'].'"><b>'.$row['erst'].'</b></a>';
            } 
            elseif ( $row['erstid'] == 0 ) {
            $row['rang'] = 'gel&ouml;schter User';
            }
      
            if ($forum_rights['mods'] == TRUE AND $i>1) {
              $row['delete'] = '<a href="index.php?forum-delpost-'.$tid.'-'.$row['id'].'"><img src="http://www.gods-of-nation.eu/images/loeschen.jpg"></a>';
            }
            if ( $forum_rights['reply'] == TRUE AND loggedin() ) {
              $row['change'] = '&nbsp;<a href="index.php?forum-editpost-'.$tid.'-'.$row['id'].'"><img src="http://www.gods-of-nation.eu/images/aendern.jpg"></a>';
            }
        //Forumex - begin
        $row['txt'] = FE_Vote2HTML($row['id'],$row['txt']);
        //Forumex - end
            $row['posts']  = ($row['posts']?'<br />'.$row['posts']:'').'<br />';
    		// Danke-Link anzeigen oder ausblenden falls user == ersteller oder Gast
    if ($row['erstid'] == $_SESSION['authid'] or $_SESSION['authid'] == 0) {
    $row['THX'] = '';
    } else {
    # Zufallszahl generieren um Missbrauch vorzubeugen
    if (!isset($_SESSION['thx_rand']) OR empty($_SESSION['thx_rand'][$row['id']])) {
    $_SESSION['thx_rand'][$row['id']] = rand(000,999);
    }
    $row['THX'] = '<a href="index.php?danke-'.$row['id'].'-'.$_SESSION['thx_rand'][$row['id']].'-'.$tid.'-'.$row['erstid'].'-'.$_SESSION['authid'].'-'.$_SESSION['authname'].'"><img src="http://www.gods-of-nation.eu/images/bedanken.jpg"></a>';
    
    }
    // Ausgeben der Danke-Liste im Post
    $thxcount = db_count_query("SELECT COUNT(id) FROM `prefix_danke` WHERE pid = ".$row['id']."");
    if ($thxcount['thxcount'] >= 1) {
    $row['danke'] .= '<hr /><strong>F&uuml;r diesen Post bedankten sich '.$thxcount.' User :</strong><br />';
    
    $thx_qry = db_query("SELECT bedankername,bedankerid FROM `prefix_danke` WHERE pid = ".$row['id']."");
    while ($thx_row = db_fetch_assoc($thx_qry)) {
    
    $row['danke'] .= '<a href="index.php?user-details-'.$thx_row['bedankerid'].'">'.$thx_row['bedankername'].'</a> ';
    
    }
    } 
            $tpl->set_ar_out($row,1);
      
      $i++;
    }
    
    $tpl->set_ar_out( array ( 'SITELINK' => $MPL, 'ANTWORTEN' => $antworten ) , 2 );
     // anfang qpost
    if (loggedin()) {
    
    $dppk_time = time();
    $time = time();
    if (!isset($_SESSION['klicktime'])) { $_SESSION['klicktime'] = 0; }
    
    $topic = '';
    $txt   = '';
    $xnn   = '';
    
    if (isset($_POST['txt_qp'])) {
      $txt = trim(escape($_POST['txt_qp'], 'textarea'));
    }
    
    
    $tpl = new tpl ('forum/qpost');
       $ar = array (
         'txt_qp'    => escape_for_fields(unescape($txt)),
         'tid'    => $tid,
    
       );
    
       $tpl->set_ar_out($ar,1);
    
    if (($_SESSION['klicktime'] + 150) > $dppk_time OR empty($txt) OR !empty($_POST['priview']) OR (empty($_POST['Gname']) AND !loggedin())) {
    
    
    
    }
    else
    {
    # save qpost
      $_SESSION['klicktime'] = $dppk_time;
    
      $design = new design ( $title , $hmenu, 1);
      $design->header();
    
      if (loggedin()) {
        $uid = $_SESSION['authid'];
                    $erst = escape($_SESSION['authname'],'string');
              db_query("UPDATE `prefix_user` set posts = posts+1 WHERE id = ".$uid);
      } else  {
              $erst = $xnn;
                    $uid = 0;
      }
      db_query ("INSERT INTO `prefix_posts` (tid,fid,erst,erstid,time,txt) VALUES ( ".$tid.", ".$fid.", '".$erst."', ".$uid.", ".$time.", '".$txt."')");
      $pid = db_last_id();
    
            db_query("UPDATE `prefix_topics` SET last_post_id = ".$pid.", rep = rep + 1 WHERE id = ".$tid);
            db_query("UPDATE `prefix_forums` SET posts = posts + 1, last_post_id = ".$pid." WHERE id = ".$fid );
            $page = ceil ( ($aktTopicRow['rep']+1)  / $allgAr['Fpanz'] );
              # topic als gelesen markieren
      $_SESSION['forumSEE'][$fid][$tid] = time();
    
            wd ( array (
              $lang['backtotopic'] => 'index.php?forum-showposts-'.$tid.'-p'.$page.'#'.$pid,
                    $lang['backtotopicoverview'] => 'index.php?forum-showtopics-'.$fid
            ) , $lang['createpostsuccessful'] , 3 );
    }
    }
    
    $tpl = new tpl ( 'forum/showpost' );
    // end qpost
    if (loggedin()) {
      if ($menu->get(3) == 'topicalert') {
        if (1 == db_result(db_query("SELECT COUNT(*) FROM prefix_topic_alerts WHERE uid = ".$_SESSION['authid']." AND tid = ".$tid),0)) {
          db_query("DELETE FROM prefix_topic_alerts WHERE uid = ".$_SESSION['authid']." AND tid = ".$tid);
        } else {
          db_query("INSERT INTO prefix_topic_alerts (tid,uid) VALUES (".$tid.", ".$_SESSION['authid'].")");
        }
      }
      
      echo 'Optionen:';
      if (1 == db_result(db_query("SELECT COUNT(*) FROM prefix_topic_alerts WHERE uid = ".$_SESSION['authid']." AND tid = ".$tid),0)) {
        echo '<br />- <a href="index.php?forum-showposts-'.$tid.'-topicalert">'.$lang['nomailonreply'].'</a><br />';
      } else {
        echo '<br />- <a href="index.php?forum-showposts-'.$tid.'-topicalert">'.$lang['mailonreply'].'</a><br />';
      }
    }
    
    if ( $forum_rights['mods'] == TRUE ) {
      $tpl->set ( 'status', ($aktTopicRow['stat'] == 1 ? $lang['close'] : $lang['open'] ) );
            $tpl->set ( 'festnorm', ($aktTopicRow['art'] == 0 ? $lang['fixedtopic'] : $lang['normaltopic'] ) );
            $tpl->set('tid',$tid);
            $tpl->out(3);
    }
    $design->footer();
    ?>
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    DarkBrain Mitglied
    Registriert seit
    06.05.2012
    Beiträge
    29
    Beitragswertungen
    2 Beitragspunkte
    Ok habs hinbekommen danke Mairu. Ist echt ganz einfach wenn man weiß nach was man suchen muss.

    {EXPLODE}
    <div align="center">
    <form action="index.php?forum-newpost-{tid}" method="POST" name="form" onSubmit="return form_check()">
    <table width="60%" border="0" cellspacing="1" class="border" cellpadding="5">
      <TR>
              <td colspan="2" height="8" class="Chead">
                      <b>Schnellantwort</b>
                    </td>
    <tr>
        <td colspan="2" width="100%" class="Cnorm" align="center" valign="middle">
          <textarea style="width: 98%" name="txt" rows="8" cols="50" tabindex="2">{txt_qp}</textarea>
        </td>
      </tr>{antispam}<tr class="Cmite">    
        <td colspan="2">&nbsp;
        <input type="submit" name="submit" value="{_lang_formsub}" accesskey='s' />
        </td>
            </tr>
    </table></form></div>
    <br />
    {EXPLODE}


    <?php 
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    # check ob ein fehler aufgetreten ist.
    check_forum_failure($forum_failure);
    
    # toipc als gelesen markieren
    $_SESSION['forumSEE'][$fid][$tid] = time();
    
    $title = $allgAr['title'].' :: Forum :: '.$aktTopicRow['name'].' :: Beitr&auml;ge zeigen';
    $hmenu  = $extented_forum_menu.'<a class="smalfont" href="index.php?forum">Forum</a><b> &raquo; </b>'.aktForumCats($aktForumRow['kat']).'<b> &raquo; </b><a class="smalfont" href="index.php?forum-showtopics-'.$fid.'">'.$aktForumRow['name'].'</a><b> &raquo; </b>';
    $hmenu .= $aktTopicRow['name'].$extented_forum_menu_sufix;
    $design = new design ( $title , $hmenu, 1);
    $design->header();
    
    
    # Topic Hits werden eins hochgesetzt.
    db_query('UPDATE `prefix_topics` SET hit = hit + 1 WHERE id = "'.$tid.'"');
    
    $erg = db_query("SELECT fid FROM `prefix_posts` WHERE tid = ".$tid);
    $row = db_fetch_assoc($erg);
    $newth = '<a href="index.php?forum-newtopic-'.$row['fid'].'"><img src="include/images/forum/newth.png" border="0"></a>';
    
    # mehrere seiten fals gefordert         
    $limit = $allgAr['Fpanz'];  // Limit 
    $page = ($menu->getA(3) == 'p' ? $menu->getE(3) : 1 );
    $MPL = db_make_sites ($page , "WHERE tid = ".$tid , $limit , 'index.php?forum-showposts-'.$tid , 'posts' );
    $anfang = ($page - 1) * $limit;
    
    $antworten = '';
    if (($aktTopicRow['stat'] == 1 AND $forum_rights['reply'] == TRUE) OR ($_SESSION['authright'] <= '-7' OR $forum_rights['mods'] == TRUE)) {
      $antworten = '<a href="index.php?forum-newpost-'.$tid.'"><img src="include/images/forum/antw.png" border="0"></a>';
    }
    
    
    $class = 'Cmite';
    
    $tpl = new tpl ( 'forum/showpost' );
    $ar = array (
      'SITELINK' => $MPL,
      'tid' => $tid,
            'ANTWORTEN' => $antworten,
            'TOPICNAME' => $aktTopicRow['name'],
                    'HMENU' => $hmenu,
                    'NEWTH' => $newth
    );
    $tpl->set_ar_out($ar,0);
    $i = $anfang +1;
    $ges_ar = array ('wurstegal', 'maennlich', 'weiblich');
    
                    ##################################
                    #Forenmod by matthias-schlich.de - Vorlage von Benjamin Rau
                    #Posts
    
    $erg = db_query("SELECT geschlecht, prefix_posts.id,txt,time,erstid,erst,sig,icq,avatar,posts FROM `prefix_posts` LEFT JOIN prefix_user ON prefix_posts.erstid = prefix_user.id WHERE tid = ".$tid." ORDER BY time LIMIT ".$anfang.",".$limit);
    while($row = db_fetch_assoc($erg)) {
      
            $class = ( $class == 'Cnorm' ? 'Cmite' : 'Cnorm' );
            
    
         $icq1   = str_replace("-","",$row['icq']);
         $icq2   = str_replace(" ","",$icq1);
    // icq abfrage
    //  0 - keine ICQ abfrage 
    //  1 - ICQ standartbilder bei &design= kann man zwischen den 26 verschiedenen icq bildern wechseln  
    //  2 - für eigne ICQ Statsubilder 
    $own_pics = "1";
    $icqdesign = "25";
    if ($own_pics == "1") {
          if (is_numeric($icq2) ){
        $row['icq'] = '<a href="http://www.icq.com/whitepages/cmd.php?uin='.$icq2.'&action=add"><img src="http://web.icq.com/whitepages/online?web='.$icq2.'&img='.$icqdesign.'" border="0"></a>';
        } else {$row['icq'] = '';}
    }
    elseif ($own_pics == "0"){
    $row['icq'] = '';}
    else{
        if (is_numeric($icq2) ){
       // Eigene ICQ-Bilder
        $status = (icq_status($icq2));
        if ($status == "1"){
        $row['icq'] = '<a href="http://www.icq.com/whitepages/cmd.php?uin='.$icq2.'&action=add"><img src="include/images/forum/icqonline.png" border="0"></a>';
        }elseif ($status == "0"){
        $row['icq'] = '<a href="http://www.icq.com/whitepages/cmd.php?uin='.$icq2.'&action=add"><img src="include/images/forum/icqoffline.png" border="0"></a>';
        }elseif ($status == "2"){
        $row['icq'] = '<a href="http://www.icq.com/whitepages/cmd.php?uin='.$icq2.'&action=add"><img src="include/images/forum/icqinactive.png" border="0"></a>';
        }else {$row['icq'] = '';}
    
        }else {$row['icq'] = '';}
    
        }
           
            
            # define some vars.
    		$row['danke'] = '';
    		$row['THX'] = '';
            $row['sig'] = ( empty($row['sig']) ? '' : '<br /><hr style="width: 50%;" align="left">'.bbcode($row['sig']) );
            $row['TID'] = $tid;
            $row['class'] = $class;
            $row['date'] = date ('d.m.Y - H:i:s', $row['time'] );
            $row['delete'] = '';
            $row['change'] = '';
            if (file_exists($row['avatar'])) { $row['avatar'] = '<br /><br /><img src="'.$row['avatar'].'" alt="User Pic" border="0" /><br />'; }
                  elseif ($allgAr['forum_default_avatar']) { $row['avatar'] = '<br /><br /><img src="include/images/avatars/'.$ges_ar[$row['geschlecht']].'.jpg" alt="User Pic" border="0" /><br />'; }
                   else { $row['avatar'] = ''; }
            $row['rang2']   = userrang ($row['posts'],$row['erstid']);
            $rank_name = $row['rang2'];
            $row['txt']    = (isset($_GET['such']) ? markword(bbcode ($row['txt']),$_GET['such']) : bbcode ($row['txt']) );
            $row['i']      = $i;
    
                      if ( $row['erstid'] != '' ) {
                      $user_row = db_fetch_assoc(db_query("SELECT posts,regist FROM prefix_user WHERE id = ".$row['erstid']));
    
                    $posts = $row['posts'];
                    $row['posts']  = 'Beiträge: '.$row['posts'].'<br />';
    
                    if ( $posts == '' ) { $row['posts'] = '<br>Nicht registriert';}
    
                     #Ranking Balken
                    #Grafiken definieren
                    $rank_01 = '<img src="include/images/forum/rank/rank01.png" alt="" border="0"><br>';
                    $rank_02 = '<img src="include/images/forum/rank/rank02.png" alt="" border="0"><br>';
                    $rank_03 = '<img src="include/images/forum/rank/rank03.png" alt="" border="0"><br>';
                    $rank_04 = '<img src="include/images/forum/rank/rank04.png" alt="" border="0"><br>';
                    $rank_05 = '<img src="include/images/forum/rank/rank05.png" alt="" border="0"><br>';
    
    
                    #Bezugnehmen auf das Ranking des users
                    if ( $row['posts'] != '' ) {
                    $row['rang'] = $rank_name.'<br>';
                    if ($posts <= '200') { $row['rang'] .= $rank_01; }
                    elseif ($posts <= '500') { $row['rang'] .= $rank_02;}
                    elseif ($posts <= '800') { $row['rang'] .= $rank_03; }
                    elseif ($posts < '1000') { $row['rang'] .= $rank_04; }
                    elseif ($posts >= '1000') { $row['rang'] .= $rank_05; }
                    }
    
                    else {$row['rang'] .= ""; }
    
                    }
    
                    #User Details
                    if ( $posts != '' ) {
                    $abf1 = 'SELECT * FROM prefix_user where id = '.$row["erstid"];
                    $erg1 = db_query($abf1);
                    $user = db_fetch_object($erg1);
    
                    $zeit = date('d. M Y',$user->regist);
                    $llogin = date('d. M Y',$user->llogin);
                    $ort = $user->wohnort;
                    $www = $user->homepage;
                    $email = $user->opt_mail;
                    $pm = $user->opt_pm;
                    $land = $user->staat;
                    #Flagge
                     if ($land != '')
                     {$row['land'] = '<img src="include/images/flags/'.$land.'" >';}
                     else{$row['land'] = '';}
                    #Dabei seit
                    $row['details'] = "<br><br>Dabei seit: ".$zeit."<br>";
                    #Wohnort
                    if ($ort != ''){$row['details'] .= "Wohnort: ".$ort."<br>";}
                    #Homepage
                    if ($www != ''){$row['www'] = '<a href="'.$www.'" target="_blank"><img src="include/images/forum/www.png" border="0" alt="Website des Users besuchen"></a>';}
                    else{$row['www'] = '';}
                    #Letzter Login
                    $row['details'] .= "Letzter Login: ".$llogin."<br>";
                    #PM
                    if ($pm == '1'){
                    $row['pm'] = "<a href='?forum-privmsg-new=0&empfid=".$row['erstid']."'><img src='include/images/forum/pm.png' border='0' alt='Private Nachricht an den User senden'></a>";
                    }else{$row['pm'] = '';}
                    #email
                    if ($email == '1'){
                    $row['email'] = "<a href='?user-mail-".$row['erstid']."'><img src='include/images/forum/email.png' border='0' alt='E-Mail an den User senden'></a>";
                    }else{$row['email'] = '';}
                    }
                    else {
                    $row['details'] = "";
                    $row['land'] = '';
                    $row['pm'] = '';
                    $row['email'] = '';
                    $row['www'] = '';                
                    }
                    
                    if ( $posts != '' ) {
    
    
                    #User Online o Offline
                    
                    $abf1 = "SELECT * FROM prefix_online where uid = ".$row['erstid'];
                    $erg1 = db_query($abf1);
                    $status = db_fetch_object($erg1);
                    if ($status->uid == $row['erstid']) {
                    $row['online'] = '&nbsp;<img src="include/images/forum/uonline.png" border="0">'; }
                    else {
                    $row['online'] = '&nbsp;<img src="include/images/forum/uoffline.png" border="0">'; }
                      }
                      else {$row['online'] = '';}
    
    
                    #
                    #Edit Ende
                    ##################################
      $row['page']   = $page;
      
                   if ( $row['posts'] != 0 ) {
                    $row['erst'] = '<a href="index.php?user-details-'.$row['erstid'].'"><b>'.$row['erst'].'</b></a>';
            } 
            elseif ( $row['erstid'] == 0 ) {
            $row['rang'] = 'gel&ouml;schter User';
            }
      
            if ($forum_rights['mods'] == TRUE AND $i>1) {
              $row['delete'] = '<a href="index.php?forum-delpost-'.$tid.'-'.$row['id'].'"><img src="http://www.gods-of-nation.eu/images/loeschen.jpg"></a>';
            }
            if ( $forum_rights['reply'] == TRUE AND loggedin() ) {
              $row['change'] = '&nbsp;<a href="index.php?forum-editpost-'.$tid.'-'.$row['id'].'"><img src="http://www.gods-of-nation.eu/images/aendern.jpg"></a>';
            }
        //Forumex - begin
        $row['txt'] = FE_Vote2HTML($row['id'],$row['txt']);
        //Forumex - end
            $row['posts']  = ($row['posts']?'<br />'.$row['posts']:'').'<br />';
    		// Danke-Link anzeigen oder ausblenden falls user == ersteller oder Gast
    if ($row['erstid'] == $_SESSION['authid'] or $_SESSION['authid'] == 0) {
    $row['THX'] = '';
    } else {
    # Zufallszahl generieren um Missbrauch vorzubeugen
    if (!isset($_SESSION['thx_rand']) OR empty($_SESSION['thx_rand'][$row['id']])) {
    $_SESSION['thx_rand'][$row['id']] = rand(000,999);
    }
    $row['THX'] = '<a href="index.php?danke-'.$row['id'].'-'.$_SESSION['thx_rand'][$row['id']].'-'.$tid.'-'.$row['erstid'].'-'.$_SESSION['authid'].'-'.$_SESSION['authname'].'"><img src="http://www.gods-of-nation.eu/images/bedanken.jpg"></a>';
    
    }
    // Ausgeben der Danke-Liste im Post
    $thxcount = db_count_query("SELECT COUNT(id) FROM `prefix_danke` WHERE pid = ".$row['id']."");
    if ($thxcount['thxcount'] >= 1) {
    $row['danke'] .= '<hr /><strong>F&uuml;r diesen Post bedankten sich '.$thxcount.' User :</strong><br />';
    
    $thx_qry = db_query("SELECT bedankername,bedankerid FROM `prefix_danke` WHERE pid = ".$row['id']."");
    while ($thx_row = db_fetch_assoc($thx_qry)) {
    
    $row['danke'] .= '<a href="index.php?user-details-'.$thx_row['bedankerid'].'">'.$thx_row['bedankername'].'</a> ';
    
    }
    } 
            $tpl->set_ar_out($row,1);
      
      $i++;
    }
    
    $tpl->set_ar_out( array ( 'SITELINK' => $MPL, 'ANTWORTEN' => $antworten ) , 2 );
     // anfang qpost
    if (loggedin()) {
    
    $dppk_time = time();
    $time = time();
    if (!isset($_SESSION['klicktime'])) { $_SESSION['klicktime'] = 0; }
    
    $topic = '';
    $txt   = '';
    $xnn   = '';
    
    if (isset($_POST['txt_qp'])) {
      $txt = trim(escape($_POST['txt_qp'], 'textarea'));
    }
    
    
    $tpl = new tpl ('forum/qpost');
       $ar = array (
         'txt_qp'    => escape_for_fields(unescape($txt)),
         'tid'    => $tid,
         'antispam'=> get_antispam('qpost',1)
    
       );
    
       $tpl->set_ar_out($ar,1);
    
    if (($_SESSION['klicktime'] + 150) > $dppk_time OR empty($txt) OR !empty($_POST['priview']) OR (empty($_POST['Gname']) AND !loggedin())) {
    
    
    
    }
    else
    {
    # save qpost
      $_SESSION['klicktime'] = $dppk_time;
    
      $design = new design ( $title , $hmenu, 1);
      $design->header();
    
      if (loggedin()) {
        $uid = $_SESSION['authid'];
                    $erst = escape($_SESSION['authname'],'string');
              db_query("UPDATE `prefix_user` set posts = posts+1 WHERE id = ".$uid);
      } else  {
              $erst = $xnn;
                    $uid = 0;
      }
      db_query ("INSERT INTO `prefix_posts` (tid,fid,erst,erstid,time,txt) VALUES ( ".$tid.", ".$fid.", '".$erst."', ".$uid.", ".$time.", '".$txt."')");
      $pid = db_last_id();
    
            db_query("UPDATE `prefix_topics` SET last_post_id = ".$pid.", rep = rep + 1 WHERE id = ".$tid);
            db_query("UPDATE `prefix_forums` SET posts = posts + 1, last_post_id = ".$pid." WHERE id = ".$fid );
            $page = ceil ( ($aktTopicRow['rep']+1)  / $allgAr['Fpanz'] );
              # topic als gelesen markieren
      $_SESSION['forumSEE'][$fid][$tid] = time();
    
            wd ( array (
              $lang['backtotopic'] => 'index.php?forum-showposts-'.$tid.'-p'.$page.'#'.$pid,
                    $lang['backtotopicoverview'] => 'index.php?forum-showtopics-'.$fid
            ) , $lang['createpostsuccessful'] , 3 );
    }
    }
    
    $tpl = new tpl ( 'forum/showpost' );
    // end qpost
    if (loggedin()) {
      if ($menu->get(3) == 'topicalert') {
        if (1 == db_result(db_query("SELECT COUNT(*) FROM prefix_topic_alerts WHERE uid = ".$_SESSION['authid']." AND tid = ".$tid),0)) {
          db_query("DELETE FROM prefix_topic_alerts WHERE uid = ".$_SESSION['authid']." AND tid = ".$tid);
        } else {
          db_query("INSERT INTO prefix_topic_alerts (tid,uid) VALUES (".$tid.", ".$_SESSION['authid'].")");
        }
      }
      
      echo 'Optionen:';
      if (1 == db_result(db_query("SELECT COUNT(*) FROM prefix_topic_alerts WHERE uid = ".$_SESSION['authid']." AND tid = ".$tid),0)) {
        echo '<br />- <a href="index.php?forum-showposts-'.$tid.'-topicalert">'.$lang['nomailonreply'].'</a><br />';
      } else {
        echo '<br />- <a href="index.php?forum-showposts-'.$tid.'-topicalert">'.$lang['mailonreply'].'</a><br />';
      }
    }
    
    if ( $forum_rights['mods'] == TRUE ) {
      $tpl->set ( 'status', ($aktTopicRow['stat'] == 1 ? $lang['close'] : $lang['open'] ) );
            $tpl->set ( 'festnorm', ($aktTopicRow['art'] == 0 ? $lang['fixedtopic'] : $lang['normaltopic'] ) );
            $tpl->set('tid',$tid);
            $tpl->out(3);
    }
    $design->footer();
    ?>
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Installation und Upgrades

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten