[2.3] Aehnliche Themen [mod by Flavius]

Dieses Thema im Forum "deine hacks" wurde erstellt von CookIe, 3 März 2006.

  1. CookIe

    CookIe Neuer Benutzer

    Name:
    Aehnliche Themen

    Version:
    1.0.1

    Für wBB-Version:
    2.3.x

    Getestet mit:
    2.3.4

    Beschreibung:
    Ich habe an rellek's (http://www.rellek.org/) "aehnliche Themen" - Hack etwas rumgeschraubt
    und es etwas erweitert. Es verfuegt nun ueber ein ACP.

    Von dort aus ist es moeglich das Script an-/ auszuschalten, eingeben
    ab wie viele Zeichen der Titel eines Themas abgekuerzt werden soll,
    wie viele Themen auf einmal angezeigt werden sollen und ihr koennt
    die einzelnen Felder auch an-/ ausblenden.

    Support:
    Nur hier!

    Demo:
    Im Anhang und in der ZIP

    Copyright:
    Das (c) fuer dieses Addon liegt bei mir, Flavius Constantin Borlovan!
    Das Veraendern des Hacks ist erlaubt. Releas allerdings erst nach Absprache
    mit rellek und mir!

    Ihr duerft den Hack ruhig verbreitern, allerdings nicht
    als "eigener" ausgeben! ;)

    Disclaimer:
    Dieses Script basiert auf "aehnliche Themen von rellek (http://www.rellek.org/)!"
    Wir, rellek und ich distanzieren uns von Fehler welche durch die Installation
    des Addons verursacht werden oder Fehler nach Veraenderung fuer Eigenbedarf! Fehler sind jedoch nicht ausgeschlossen!
    Der Einbau geschieht auf eigene Gefahr!

    Bekannte Fehler:
    - der Hack ist MySQL 5 INkompatibel

    Hinweise:
    - Es muss eingegeben werden, ab wie viele Zeichen der Titel eines Themas
    gekuerzt werden soll, sonst gibt es Fehler und das Board wird verzerrt
    - Damit alles richtig funktioniert muessen erstmal die Einstellungen des
    Similars vorgenommen werden
     

    Anhänge:

  2. salnet

    salnet Neuer Benutzer

    Hallo!
    Ich hab leider ein kleines Setup-Problem bei dem Hack.
    Nachdem ich die Dateien setup_similar.php und setup_similar.wbb ins acp-Verzeichnis hochgeladen und auf Install in der Datei setup_similar.php geklickt habe, passiert gar nichts. Die Variablendateii wird nicht importiert.
    Des weiteren erhalte ich nach Einbau (genau nach Anleitung) einen SQL-Fehler, wenn ich einen Thread aufraufen will:
    Evtl. hast Du eine Idee?

    Gruß,
    salnet
     
  3. CookIe

    CookIe Neuer Benutzer

    Hier die aktuelle Version der ZIP. Hier geht auch die Setup...
     

    Anhänge:

  4. salnet

    salnet Neuer Benutzer

  5. sturdy

    sturdy Neuer Benutzer

    gibts ne Möglichkeit dem zu sagen, dass er nur die ersten XX Zeichen vergleicht ?
    Hab die Möglichkeit noch nicht gefunden
     
  6. rellek

    rellek relativ sensationell Mitarbeiter

    Der IBK_modell hat sich freundlicherweise die Mühe gemacht und den Mod von CookIe aktualisiert - sprich: Er hat eine lauffähige Anleitung geschrieben, die auch die Bugfixes enthält.

     

    Anhänge:

  7. Deacon Frost

    Deacon Frost The Bl00d-G0d La Magra<br />(Boardberater)

    Hi rellek!

    Sehe ich das richtig, dass in Deinem letzten Anhang eine gefixte Version von CookIe's Hack drin is, die die Probs mit dem SQL-Fehler und den anderen Fehlern enthält? Oda hab ich da jetzt was falsch verstanden?
     
  8. rellek

    rellek relativ sensationell Mitarbeiter

    Pff... was genau er gefixt hat, weiß ich grad gar nicht... hm
     
  9. Deacon Frost

    Deacon Frost The Bl00d-G0d La Magra<br />(Boardberater)

    Kein Thema! Habs mir ma geladen und schau mal eben. Geb dann Report...

    //EDIT

    Ha, dat gibbet nich, damit funzt es tatsächlich! :yo Dann hat sich das Thema ja erstma erledigt, und ich geh ma Werbung für rellek machen... :D
     
  10. Speddy20537

    Speddy20537 Neuer Benutzer

    Könnte mir jetz einer die richtigen daten geben da ixh dies gerne erstmal local testen möchte aber die ganzen anhänge die ihr hier habt nutz bei mir nichts ich kann zwar jetz denn thread sehen nur es kommt unter thread dieser fehler



    Database error in WoltLab Burning Board (2.3.6): Invalid SQL: SELECT t.threadid, t.boardid, x.title, x.boardid, t.prefix, t.topic, t.starttime, t.starterid, t.starter, t.lastposttime, t.lastposterid, t.lastposter, t.replycount, t.views, t.attachments, t.closed, t.important, t.pollid FROM bb1_threads t, bb1_boards x LEFT JOIN bb1_boards b ON (t.boardid=b.boardid) WHERE t.visible='1' AND t.closed <> 3 AND t.threadid <> 23037 AND b.password='' AND t.boardid=x.boardid AND t.boardid IN (0,13,68,1,6,7,153,126,60,9,116,164,185,188,190,3,5,41,76,125,4,51,40,124,118,130,59,2,144,187,192,179,180,181,182,183,129,131,45,47,72,132,133,46,48,52,31,32,39,11,12,82,157,14,15,195,134,135,136,137,138,139,140,141,142,143,97,98,62,61,63,108,109,110,111,112,193,103,104,105,106,107,10,77,93,162,163,168,169,170,184,158,67,121,89,115,172,16,17,18,19,42,90,92,20,21,22,23,85,25,24,26,43,27,28,29,148,149,150,151,154,155,156,171,173,174,176,178,194,196,165,166,167,186,189,191) AND (t.topic LIKE '%Jagged%' OR t.topic LIKE '%Alliance%' OR t.topic LIKE '%Wildfire%') ORDER BY t.boardid != 27, t.lastposttime DESC LIMIT 0, 5;
    mysql error: Unknown column 't.boardid' in 'on clause'
    mysql error number: 1054
    mysql version: 5.0.24a-community-nt
    php version: 5.1.6
    Date: 26.11.2006 @ 15:43
    Script: /xampp/Hauptseite/thread.php?postid=46997&sid=cf77419c9b16ec6923d2c8c5f91d9bdc
    Referer: http://localhost/xampp/Hauptseite/index.php?sid=cf77419c9b16ec6923d2c8c5f91d9bdc
     
  11. rellek

    rellek relativ sensationell Mitarbeiter

  12. Speddy20537

    Speddy20537 Neuer Benutzer

    Ja danke habe ich jetz schon selbst gefunden aber danke für die nachricht.
     
  13. Speddy20537

    Speddy20537 Neuer Benutzer

    @[​IMG] rellek jetz habe ich das Prob das bei mir im jeden thread doppelt thread erstellt wird also der selbe wie kommt das habe schon in denn tpl nachgesehen aber der ist nur einmal drinne???
     
  14. Röhrchen

    Röhrchen Erfahrener Benutzer

    Hallo Mädels! :yo

    Danke erstmal, dass ihr euch damit so viel Mühe gegeben habt.

    Ich habe die Änderungen von Cookie auch gemacht und es funzt auch alles soweit.
    Das einzige Prob ist, obwohl ich im ACP die Einstellung mache, dass nur 4 Themen angezeigt werden sollen, zeigt er immer 5 Themen an..........und das ist egal was ich eintrage, immer bleiben es 5 Stück.

    Könnt ihr mir helefen?

    Hatte voreher die "defekte" Version von Flavius drin. Dort hat er noch brav die Anzahl geändert, doch nachdem ich die thread.php auf den neuesten stand gebracht habe, will er nicht mehr gehorchen....

    habe mal screens gemacht.
     

    Anhänge:

  15. Röhrchen

    Röhrchen Erfahrener Benutzer

    o.k. Mädels,

    hab den Fehler gefunden.

    Die Einbauanleitung bezieht sich auf das Original von rellek und dort steht folgender schnipsel:

    PHP:
    ORDER BY t.boardid != ".$boardid."t.lastposttime DESC 
    LIMIT 0
    5;");

    dort die 5 ersetzen durch
    PHP:
    $similar_howmany
    dann funktioniert es.

    evtl. müsstet ihr die Einbauanleitung nochmal dementsprechend aktualisieren....


    Greetz
    Röhrchen :yo
     
  16. p1zz@k1ng

    p1zz@k1ng New Member

    kleine,viell dumme frage, ist es immer noch "MySQL 5 Inkompatibel"
     
  17. rellek

    rellek relativ sensationell Mitarbeiter

    da er seither nicht verändert wurde, wahrscheinlich schon ;)


    (das original, ironischerweise über die ähnlichen themen zu finden :D, ist jedoch auch mit mysql5 kompatibel)
     
  18. p1zz@k1ng

    p1zz@k1ng New Member


    ja hatte ich auch zu spaet kapiert (*die wahrheit sagen* :yes:) und gestern noch eingebaut ohne problemen, jetzt ist drinn.
    Danke dir deine Hacks sind einfach super!
     
  19. Flojo

    Flojo New Member

    AW: Aehnliche Themen [mod by Flavius]

    habe ein problem soweit hat alls geklappt im ACP habe ich das similar soweit man kann es auch einstellen... nur kriege ich die tabele nich in den thread... ich stell mal vom thread.php rein villeicht sieht ihr irgendein fehler den ich nich sehe...


    ######### thread.php #########

    ###suche (~ Zeile 914):###

    $thread['topic'] = htmlconverter(textwrap($thread['topic']));
    Code:
    if ($board['closed'] == 0) eval("\$newthread = \"".$tpl->get("board_newthread")."\";");
    if ($thread['closed'] != 0) eval("\$addreply = \"".$tpl->get("thread_closed")."\";");
    elseif ($board['closed'] == 0) eval("\$addreply = \"".$tpl->get("thread_addreply")."\";");
    /* Ähnliche Themen (c) by rellek (modified by: Flavius) */
    $threadtopic = addslashes($thread['topic']);
    /* Ähnliche Themen (c) by rellek (modified by: Flavius) Ende */
    $thread['topic'] = htmlconverter(textwrap($thread['topic']));
    
    
    ### suche (~ Zeile 922):####
    Code:
    if ($board['emailnotify'] == 1 && $board['countemails'] != 0) $db->unbuffered_query("UPDATE bb".$n."_subscribeboards SET countemails=0 WHERE userid = '".$wbbuserdata['userid']."' AND boardid = '".$boardid."'", 1);
    if ($thread['emailnotify'] == 1 && $thread['countemails'] != 0) $db->unbuffered_query("UPDATE bb".$n."_subscribethreads SET countemails=0 WHERE userid = '".$wbbuserdata['userid']."' AND threadid = '".$threadid."'", 1);
    
    $hilight = htmlconverter($hilight);
    /** Who-read-this-thread (c) Mr Hatch**/
    $readcount=$db->query_first("SELECT COUNT(*) FROM bb".$n."_threads_users WHERE threadid='$threadid' AND userid='$wbbuserdata[userid]'");
    if($readcount[0]==0){
        $db->query("INSERT INTO bb".$n."_threads_users (threadid,userid,readtime,timesread) VALUES ('$threadid','$wbbuserdata[userid]','".time()."','1')");
    }
    else{
        $db->query("UPDATE bb".$n."_threads_users SET readtime='".time()."',timesread=timesread+1 WHERE threadid='$threadid' AND userid='$wbbuserdata[userid]'");
    }
    /** Who-read-this-thread (c) Mr Hatch**/
    /* Ähnlich Themen (c) by rellek (modified by: Flavius) */
    function GetAccessableForums() {
        global $db, $n, $wbbuserdata, $boardcache;
        
        if (!isset($boardcache) || !is_array($boardcache)) $boardcache = array();
        $result = $db->query("SELECT boardid,boardorder,parentid,parentlist FROM bb".$n."_boards ORDER BY parentid ASC, boardorder ASC");
        while ($row = $db->fetch_array($result)) {
            $boardcache[$row['parentid']][$row['boardorder']][$row['boardid']] = $row;
        }
    
        $boardpermissions = getPermissions();
        $boardids = '';
        foreach ($boardcache as $key => $val) {
            foreach ($val as $key2 => $val2) {
                foreach ($val2 as $row) if ((!isset($boardpermissions[$row['boardid']]['can_view_board']) || $boardpermissions[$row['boardid']]['can_view_board'] != 0) && (!isset($boardpermissions[$row['boardid']]['can_enter_board']) || $boardpermissions[$row['boardid']]['can_enter_board'] != 0) && (!isset($boardpermissions[$row['boardid']]['can_read_thread']) || $boardpermissions[$row['boardid']]['can_read_thread'] != 0)) $boardids .= ",".$row['boardid'];
            }    
        }
        return $boardids;
    }
    
    $similar = $db->query("SELECT t.threadid, t.boardid, x.title, x.boardid, t.prefix, t.topic, t.starttime, t.starterid, t.starter, t.lastposttime, t.lastposterid, t.lastposter, t.replycount, t.views, t.attachments, t.closed, t.important, t.pollid FROM bb".$n."_threads t, bb".$n."_boards x LEFT JOIN bb".$n."_boards b ON (t.boardid=b.boardid) WHERE t.visible='1' AND t.closed <> 3 AND t.threadid <> $threadid AND b.password='' AND t.boardid=x.boardid AND t.boardid IN (0".GetAccessableForums().") AND t.topic LIKE '%$threadtopic%' ORDER BY t.lastposttime DESC LIMIT 0, $similar_howmany;");
    if($db->num_rows($similar)) {
        $i = "0";
        while ($row = $db->fetch_array($similar)) {
            $i++;
            $tdclass = getone($i, "tablea", "tableb");
            $started = formatdate($wbbuserdata['dateformat'], $row['starttime'],1);
            $started .= " <span class=\"time\">".formatdate($wbbuserdata['timeformat'], $row['starttime'])."</span>";
            $lastreply = formatdate($wbbuserdata['dateformat'], $row['lastposttime'],1);
            $lastreply .= " <span class=\"time\">".formatdate($wbbuserdata['timeformat'], $row['lastposttime'])."</span>";
            if ($row['replycount'] >= 1000) $row['replycount'] = number_format($row['replycount'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
            if ($row['views'] >= 1000) $row['views'] = number_format($row['views'], 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
            if (strlen($row['topic']) > $similar_short) $row['topic'] = substr($row['topic'], 0, $similar_short-6).' [...]';
            eval("\$similar_thread_bit .= \"".$tpl->get("thread_similarthread_bit")."\";");
        }
        eval("\$similar_thread = \"".$tpl->get("thread_similarthread")."\";");
    }
    /* Ähnliche Themen Ende (c) by rellek (modified by: Flavius) */
    eval("\$tpl->output(\"".$tpl->get("thread")."\");");
    ich bedank mich mal im voraus bei denen die sich die zeit nehmen sich für mein möglichen fehler eine lösung zu finden!!!
     

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deinem Erleben anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden