Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Close Thread at reply count
#1
Eine neue Erweiterung wurde veröffentlicht: Close Thread at Reply Count

Zitat:Allows you to have threads automatically closed upon reaching a certain amount of replies (which can be set in the settings). Please note this plugin will only close a thread when it is posted in (any thread not posted in will remain open).

The setting for this is located at the bottom of the Posting setting group (setting group 13 by default).

UPDATING
(Please see the change log for what the updates fixes)
v1.0.x -> v2.0.1: Deactivate, upload new files and reactivate.
v2.0.x -> v2.0.1: Overwrite old files, no need to deactivate.
Zitieren
#2
Hallo,

es geht um folgendes Plugin:
http://mods.mybb.com/view/close-thread-at-reply-count

Code:
PHP-Code:
<?php
/**
 * Close Thread At Reply Count
 * Copyright 2010 Starpaul20
 */

// Disallow direct access to this file for security reasons
if(!defined("IN_MYBB"))
{
    die(
"Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}

// Tell MyBB when to run the hooks
$plugins->add_hook("newreply_do_newreply_end""closethread_run");

// The information that shows up on the plugin manager
function closethread_info()
{
    return array(
        
"name"                => "Close Thread At Reply Count",
        
"description"        => "Allows you to have threads automatically closed upon reaching a certain amount of replies.",
        
"website"            => "http://galaxiesrealm.com/index.php",
        
"author"            => "Starpaul20",
        
"authorsite"        => "http://galaxiesrealm.com/index.php",
        
"version"            => "2.0.1",
        
"guid"                => "0bfbf011f50e1ce3607433bdb3b8e9a0",
        
"compatibility"        => "16*"
    
);
}

// This function runs when the plugin is activated.
function closethread_activate()
{
    global 
$db;
    
$query $db->simple_select("settinggroups""gid""name='posting'");
    
$gid intval($db->fetch_field($query"gid"));

    
$insertarray = array(
        
'name' => 'maxreplycount',
        
'title' => 'Maximum Number of Replies',
        
'description' => 'The maximum amount of replies that can be added to a thread before it is closed. 0 for unlimited.',
        
'optionscode' => 'text',
        
'value' => 1500,
        
'disporder' => 26,
        
'gid' => $gid
    
);
    
$db->insert_query("settings"$insertarray);

    
rebuild_settings();
}

// This function runs when the plugin is deactivated.
function closethread_deactivate()
{
    global 
$db;
    
$db->delete_query("settings""name IN('maxreplycount')");

    
rebuild_settings();
}

// Closes the thread if it has more replies than setting
function closethread_run()
{
    global 
$mybb$db;
    if(
$mybb->settings['maxreplycount'] > 0)
    {
        
$query $db->simple_select("posts""COUNT(*) AS max_replies""tid='".intval($mybb->input['tid'])."'");
        
$reply_count $db->fetch_field($query"max_replies");

        if(
$reply_count->= intval($mybb->settings['maxreplycount']))
        {
            
$closethread = array(
                
"closed" => 1,
            );
            
$db->update_query("threads"$closethread"tid='".intval($mybb->input['tid'])."'");
        }
    }
}

?>

So weit so gut, aber ich brauche es für bestimmte Benutzergruppen und Foren. In meinem Fall soll das Plugin nur reagieren, wenn die Benutzergruppen 11 & 12 in den Foren 6 & 7 etwas posten. Mir reicht eine PHP-Änderung. Muss also nicht unbedingt per ACP einstellbar sein. Ich wäre sehr dankbar, wenn mir dabei jemand helfen könnte.
Zitieren
#3
Ohne es ausgiebig geprüft zu haben. Ersetze mal die Funktion
PHP-Code:
// Closes the thread if it has more replies than setting
function closethread_run()
{
    global 
$mybb$db;
    if(
$mybb->settings['maxreplycount'] > 0)
    {
        
$query $db->simple_select("posts""COUNT(*) AS max_replies""tid='".intval($mybb->input['tid'])."'");
        
$reply_count $db->fetch_field($query"max_replies");

        if(
$reply_count->= intval($mybb->settings['maxreplycount']))
        {
            
$closethread = array(
                
"closed" => 1,
            );
            
$db->update_query("threads"$closethread"tid='".intval($mybb->input['tid'])."'");
        }
    }

durch
PHP-Code:
// Closes the thread if it has more replies than setting
function closethread_run()
{
    global 
$mybb$db;
    
$my_usergroup = array(11,12);
    
$my_fid = array(6,7);
    if(
$mybb->settings['maxreplycount'] > && in_array($mybb->usergroup['gid'], $my_usergroup) && in_array($fid$my_fid))
    {
        
$query $db->simple_select("posts""COUNT(*) AS max_replies""tid='".intval($mybb->input['tid'])."'");
        
$reply_count $db->fetch_field($query"max_replies");

        if(
$reply_count->= intval($mybb->settings['maxreplycount']))
        {
            
$closethread = array(
                
"closed" => 1,
            );
            
$db->update_query("threads"$closethread"tid='".intval($mybb->input['tid'])."'");
        }
    }

viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#4
Danke Jockl, aber klappt nicht. Ich muss leider auch zugestehen dass ich hier einen grossen Gedankenfehler gemacht habe, so dass selbst wenn es klappen würde, alles so nicht zu gebrauchen ist. Folgendes:

Mir geht es darum, dass wenn ein Thema aus insgesamt 5 Beiträgen (4 Antworten) besteht, dass die Benutzergruppen 6 & 7 in den Foren 11 & 12 nicht mehr antworten können. Allerdings sollte nach wie vor das bearbeiten von Beiträgen möglich sein, was ja dann bei Schliessung des Themas nicht mehr geht. Wahrscheinlich ist es einfacher anstelle dieses Plugins anderen Code zu nutzen. Doch ich kann sowas leider nicht. Gewisse PHP Grundkenntnisse oder allgemeines Verständnis habe ich, aber sowas zu coden ist bei meinem Wissenstand noch nicht möglich. Vielleicht kann man das Plugin ja doch irgendwie für meinen Zweck anpassen. Keine Ahnung was jetzt leichter wäre. Könntest Du dabei helfen? Häng hier gerade echt in den Seilen Big Grin

btw: Dachgeschoss und 30° in der Hütte, da will das Gehirn wohl nicht so arbeiten wie sonst Big Grin
Zitieren
#5
(21.08.2012, 16:37)GreenDragon schrieb: Häng hier gerade echt in den Seilen Big Grin

btw: Dachgeschoss und 30° in der Hütte, da will das Gehirn wohl nicht so arbeiten wie sonst Big Grin

Das geht mir, bei heute gemessenen 40°, leider auch nicht anders. Wink
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#6
Eine neue Version wurde veröffentlicht: Close Thread at Reply Count 2.0.1
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  OP Can Close Thread MyBB.de Bot 5 1.213 26.03.2024, 02:30
Letzter Beitrag: MyBB.de Bot
  Close Thread at Reply Count MyBB.de Bot 2 1.877 24.06.2021, 00:40
Letzter Beitrag: MyBB.de Bot
  Thread Open Close Yourself MyBB.de Bot 17 5.864 30.12.2014, 19:29
Letzter Beitrag: SvePu
  Thread Count Pro MyBB.de Bot 2 1.972 13.07.2013, 20:50
Letzter Beitrag: Jockl
  User Close/Open Thread MyBB.de Bot 0 1.438 21.01.2012, 12:55
Letzter Beitrag: MyBB.de Bot