MyBB.de Forum
Thread Description - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Veröffentlichungen und -Support (https://www.mybb.de/forum/forum-82.html)
+--- Thema: Thread Description (/thread-30406.html)

Seiten: Seiten: 1 2 3 4 5


RE: Thread Description - Wired - 10.01.2017

Hallo und vielen Dank für die schnelle Antwort. Ja, das habe ich versucht. Kann mir ehrlichgesagt auch wirklich nicht erklären wo das Problem liegen könnte. Die Einträge sind in den Templates auch vorhanden. Das kann ich sehen. Die hat er von der Vorgängerversion auch komplett übernommen. Die wurden mit dem Theme installiert. Habe das Plugin über das Admin CP auch zur Probe deinstalliert und erneut installiert. Funktioniert trotzdem nach wie vor nur im Default Theme.


EDIT - Ich scheine das Problem gefunden zu haben. Es musste ja irgendwie zwangsläufig mit den Templates zusammenhängen. Er hatte in den Templates für Neues Thema etc. die Variable für den Untertitel nicht eingefügt. Jetzt ist natürlich die Frage wie das sein kann, wenn er den Rest offensichtlich übernommen hat aber das hat wahrscheinlich nichts mit dem Plugin zutun. Danke!


RE: Thread Description - navis - 05.09.2017

Hallo,

ich habe das Problem, dass scheinbar die Themenbeschreibung bei mir verschwindet, wenn der 2. Beitrag (mit dem habe ich es getestet) editiert wird. Beim 1. Beitrag bleibt die Themenbeschreibung normal erhalten, aber wenn ich den 2. Beitrag editiere, wo man sie ja nicht mehr angezeigt bekommt, da wird sie rausgelöscht.


RE: Thread Description - doylecc - 05.09.2017

Hast du schon das versucht?
https://www.mybb.de/forum/thread-30406-post-208728.html#pid208728


RE: Thread Description - navis - 07.09.2017

Dankeschön, das hatte ich wohl übersehen, aber das war die Lösung Smile


RE: Thread Description - truthmayvary - 30.12.2017

Hallo zusammen!

Ich hab mich gefragt, ob es irgendwie möglich ist, einzustellen, dass in einem bestimmten Unterforum das Eintragen einer Themenbeschreibung PFLICHT ist? Oder alternativ, ob man eine Vorlage für die Themenbeschreibung einrichten könnte, also so wie eine Beitragsschablone, die schon in dem Feld steht, wenn man ein neues Thema eröffnet, nur eben für die Beschreibung.
Vielen Dank schon im Voraus, falls da jemand Tipps für mich hat!

GLG


RE: Thread Description - MrBrechreiz - 30.12.2017

Du könntest mal folgendes versuchen. Öffne die Plugin-Datei und Suchen nach

PHP-Code:
function threaddescription_newthread() 

und in bei

PHP-Code:
global $db$lang$mybb$templates$post_errors$thread$threaddescription$description

dies daraus machen

PHP-Code:
global $db$lang$mybb$templates$post_errors$thread$threaddescription$description$fid$forum

Dann aus

PHP-Code:
    if($mybb->input['previewpost'] || $post_errors)
    {
        
$description htmlspecialchars_uni($mybb->input['description']);
    }
    else
    {
        
$description htmlspecialchars_uni($thread['description']);
    } 

dies machen

PHP-Code:
    if($forum['fid']==XX)
    {
        if(
$mybb->input['previewpost'] || $post_errors)
        {
            
$description htmlspecialchars_uni($mybb->input['description']);
        }
        else
        {
            
$description htmlspecialchars_uni($thread['description']);
        }
        eval(
"\$threaddescription = \"".$templates->get("description")."\";");
    } 

XX muss an deine Foren-ID angepasst werden, in der diese Beschreibung erscheinen soll.


RE: Thread Description - doylecc - 30.12.2017

(30.12.2017, 20:30)truthmayvary schrieb: Hallo zusammen!

Ich hab mich gefragt, ob es irgendwie möglich ist, einzustellen, dass in einem bestimmten Unterforum das Eintragen einer Themenbeschreibung PFLICHT ist?

Hier mal ein Beispiel, bei dem beim Absenden des Themas und nach dem Bearbeiten des ersten Beitrags in den entsprechenden Foren eine Fehlermeldung erscheint, wenn keine Beschreibung eingegeben wurde.

1. Öffne die Datei editpost.php, suche nach Zeile 501:
PHP-Code:
$posthandler->set_data($post); 

und ersetze sie durch:
PHP-Code:
$post['description'] = $mybb->get_input('description');
$posthandler->set_data($post); 

2. Öffne die Datei newthread.php, suche nach Zeile 390:
PHP-Code:
$posthandler->set_data($new_thread); 

und ersetze sie durch:
PHP-Code:
$new_thread['description'] = $mybb->get_input('description');
$posthandler->set_data($new_thread); 

3. Öffne die Plugindatei inc/plugins/threaddescription.php und füge ganz am Ende hinzu:
PHP-Code:
$plugins->add_hook("datahandler_post_validate_post""threaddescription_forced_post");

// Beschreibung beim Bearbeiten des ersten Beitrags erzwingen
function threaddescription_forced_post(&$dh)
{
   // IDs der Foren, in denen eine Beschreibung Pflicht ist (Bsp: 3,4)
   $forum_ids = array(3,4);

   if ($dh->method == "update" && $dh->first_post) {
      $description = &$dh->data['description'];

       if (in_array($dh->data['fid'], $forum_ids)) {
           if (my_strlen($description) == 0) {
               $dh->set_error('Themenbeschreibung fehlt!');
               return false;
           }
       }
       return true;
   }
}

$plugins->add_hook("datahandler_post_validate_thread""threaddescription_forced_thread");

// Beschreibung beim Erstellen eines neuen Themas erzwingen
function threaddescription_forced_thread(&$dh)
{
   global $thread;

   // IDs der Foren, in denen eine Beschreibung Pflicht ist (Bsp: 3,4)
   $forum_ids = array(3,4);

   if($dh->method == "insert" || array_key_exists('description'$thread))
   {
       $description = &$dh->data['description'];

       if (in_array($dh->data['fid'], $forum_ids)) {
           if (my_strlen($description) == 0) {
               $dh->set_error('Themenbeschreibung fehlt!');
               return false;
           }
       }
       return true;
   }




RE: Thread Description - truthmayvary - 31.12.2017

Vielen lieben Dank euch beiden für die rasche Hilfe!

(30.12.2017, 23:10)doylecc schrieb:
(30.12.2017, 20:30)truthmayvary schrieb: Hallo zusammen!

Ich hab mich gefragt, ob es irgendwie möglich ist, einzustellen, dass in einem bestimmten Unterforum das Eintragen einer Themenbeschreibung PFLICHT ist?

Hier mal ein Beispiel, bei dem beim Absenden des Themas und nach dem Bearbeiten des ersten Beitrags in den entsprechenden Foren eine Fehlermeldung erscheint, wenn keine Beschreibung eingegeben wurde.

1. Öffne die Datei editpost.php, suche nach Zeile 501:
PHP-Code:
$posthandler->set_data($post); 

und ersetze sie durch:
PHP-Code:
$post['description'] = $mybb->get_input('description');
$posthandler->set_data($post); 

2. Öffne die Datei newthread.php, suche nach Zeile 390:
PHP-Code:
$posthandler->set_data($new_thread); 

und ersetze sie durch:
PHP-Code:
$new_thread['description'] = $mybb->get_input('description');
$posthandler->set_data($new_thread); 

3. Öffne die Plugindatei inc/plugins/threaddescription.php und füge ganz am Ende hinzu:
PHP-Code:
$plugins->add_hook("datahandler_post_validate_post""threaddescription_forced_post");

// Beschreibung beim Bearbeiten des ersten Beitrags erzwingen
function threaddescription_forced_post(&$dh)
{
   // IDs der Foren, in denen eine Beschreibung Pflicht ist (Bsp: 3,4)
   $forum_ids = array(3,4);

   if ($dh->method == "update" && $dh->first_post) {
      $description = &$dh->data['description'];

       if (in_array($dh->data['fid'], $forum_ids)) {
           if (my_strlen($description) == 0) {
               $dh->set_error('Themenbeschreibung fehlt!');
               return false;
           }
       }
       return true;
   }
}

$plugins->add_hook("datahandler_post_validate_thread""threaddescription_forced_thread");

// Beschreibung beim Erstellen eines neuen Themas erzwingen
function threaddescription_forced_thread(&$dh)
{
   global $thread;

   // IDs der Foren, in denen eine Beschreibung Pflicht ist (Bsp: 3,4)
   $forum_ids = array(3,4);

   if($dh->method == "insert" || array_key_exists('description'$thread))
   {
       $description = &$dh->data['description'];

       if (in_array($dh->data['fid'], $forum_ids)) {
           if (my_strlen($description) == 0) {
               $dh->set_error('Themenbeschreibung fehlt!');
               return false;
           }
       }
       return true;
   }


Der Vorschlag scheint zu funktionieren, allerdings habe ich nun das Problem, dass es mir auch die Fehlermeldung anzeigt, wenn ich eine Beschreibung eingegeben habe, also es lässt sich gar kein Thema mehr abschicken. Hast du eine Ahnung, woran das liegen könnte? Foren-ID habe ich soweit richtig eingegeben an beiden Stellen.

EDIT: Oh, außerdem bekomme ich jetzt im Admin-CP auch folgende Fehlermeldung dreimal oben angezeigt: 
Zitat:Warning [2] Cannot modify header information - headers already sent by (output started at /www/htdocs/[...]/inc/plugins/threaddescription.php:318) - Line: 24 - File: admin/index.php PHP 7.0.25-nmm1 (Linux)



RE: Thread Description - doylecc - 31.12.2017

(31.12.2017, 11:45)truthmayvary schrieb: Der Vorschlag scheint zu funktionieren, allerdings habe ich nun das Problem, dass es mir auch die Fehlermeldung anzeigt, wenn ich eine Beschreibung eingegeben habe, also es lässt sich gar kein Thema mehr abschicken. Hast du eine Ahnung, woran das liegen könnte? Foren-ID habe ich soweit richtig eingegeben an beiden Stellen.

Dieser Fehler tritt eigentlich nur auf, wenn sich die ersten beiden Änderungen in editpost.php und newthread.php nicht an der korrekten Stelle befinden, weil dann kein Wert für die Überprüfung vorhanden ist, selbst wenn etwas eingegeben wurde.

(31.12.2017, 11:45)truthmayvary schrieb: EDIT: Oh, außerdem bekomme ich jetzt im Admin-CP auch folgende Fehlermeldung dreimal oben angezeigt: 
Zitat:Warning [2] Cannot modify header information - headers already sent by (output started at /www/htdocs/[...]/inc/plugins/threaddescription.php:318) - Line: 24 - File: admin/index.php PHP 7.0.25-nmm1 (Linux)

Hast du die Dateien mit einem geeigneten Editor bearbeitet und entsprechend als UTF-8 ohne BOM Header abgespeichert?


RE: Thread Description - truthmayvary - 31.12.2017

Okay, mein Fehler, ich hatte die eine Stelle tatsächlich falsch eingefügt. Jetzt ist die Fehlermeldung im ACP auch weg und alles funktioniert einwandfrei. Vielen Dank!