01.07.2012, 02:16
Hallo an alle,
ich möchte euch hiermit eine kleine Lösung vorstellen, wie man differenzierte Beitragslängen realisieren kann.
Es ist eine einfache Modifikation des PlugIn "minchar" (Author "bubulang") das Gruppen befähigt die Mindestbeitragslänge zu unterschreiten.
Ich wollte aber eine Möglichkeit um Beitragslängen-Begrenzungen für auswählbare Gruppen aufzuheben. Also vom Sinn her genau andersherum.
Ich stell euch mal kurz den Code von "minchar" vor und danach meine Änderungen.
Und nun "maxchar" - habe ich einfach so getauft.
Ihr sieht es ist nicht viel passiert, außer das ich alle Buchstabenfolgen "min" mit "max" getauscht habe. Danach habe ich das ganze noch ein wenig eingedeutscht und unter "maxchar" abgespeichert. Im PlugIn Ordner sind nun beide Dateien, was dann so aussieht.
[attachment=7802]
Nun habe ich eine generelle Beitragslänge von 500 Zeichen, was für Gästebuch-Einträge gedacht ist. Diese Einschränkung wird direkt von "maxchar" für die notierten Gruppen wieder aufgehoben.
Ich habe das "maxchar" auf MyBB 1.6 und 1.8 so gut ich konnte getestet und keine Probleme festgestellt.
Ich muss mal gucken wie ich das als Download auf MyBB zur Verfügung stellen kann. Es gelten wie beim Ausgangs-PlugIn "minchar" die selben Lizenzbestimmungen.
Wenn Ihr solange nicht warten möchtet, kopiert euch den Code und mach daraus eine PHP-Datei, die Ihr einfach unter PlugIn in eurem MyBB kopiert / hochlädt.
Viel Spaß.
mfG raba
Ps: wäre schön, wenn einer der Ahnung von PHP hat dieses um die Möglichkeit erweitert, noch differenzierter also mehrere Foren/Kategorien und Beitragslängen dazu zu programmieren. Ich glaube das könnten einige ganz gut gebrauchen. Ich auch.
Edit by Jockl: php-Tags eingefügt
ich möchte euch hiermit eine kleine Lösung vorstellen, wie man differenzierte Beitragslängen realisieren kann.
Es ist eine einfache Modifikation des PlugIn "minchar" (Author "bubulang") das Gruppen befähigt die Mindestbeitragslänge zu unterschreiten.
Ich wollte aber eine Möglichkeit um Beitragslängen-Begrenzungen für auswählbare Gruppen aufzuheben. Also vom Sinn her genau andersherum.
Ich stell euch mal kurz den Code von "minchar" vor und danach meine Änderungen.
PHP-Code:
<?php
if(!defined("IN_MYBB"))
{
die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}
$plugins->add_hook("global_start", "minchar");
function minchar_info()
{
return array(
"name" => "Disable Minchars in Posts for Groups.",
"description" => "It disables the minchar in posts for groups.",
"website" => "http://www.mybb.com//",
"version" => "1.0",
"author" => "bubulang",
"authorsite" => "http://community.mybb.com/user-29135.html",
"compatibility" => "16*",
'guid' => 'b6f4b6b8095312cdbb5c003685292a51'
);
}
function minchar_activate()
{
global $mybb, $db;
$query = $db->simple_select("settinggroups", "gid", "name='posting'");
$gid = $db->fetch_field($query, "gid");
$setting = array(
'name' => 'disableminchar',
'title' => 'Minimum Message Length User Groups to Ignore',
'description' => 'Usergroups, separated by a comma, to exclude from the minimum number of characters to post feature. Leave blank to disable.',
'optionscode' => 'text',
'value' => '',
'disporder' => '1',
'gid' => intval($gid)
);
$db->insert_query('settings',$setting);
rebuild_settings();
}
function minchar_deactivate()
{
global $db, $mybb;
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='disableminchar'");
rebuild_settings();
}
function minchar()
{
global $mybb, $db;
$gids = explode(',', $mybb->settings['disableminchar']);
$gids = array_map('intval', $gids);
$user_usergroups = explode(',', $mybb->user['usergroup']);
if(count(array_intersect($user_usergroups, $gids)) > 0) {
$GLOBALS['mybb']->settings['minmessagelength'] = 0;
}
}
?>
Und nun "maxchar" - habe ich einfach so getauft.
PHP-Code:
<?php
if(!defined("IN_MYBB"))
{
die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}
$plugins->add_hook("global_start", "maxchar");
function maxchar_info()
{
return array(
"name" => "Deaktivieren von Max-Zeichen in Nachrichten für Gruppen.",
"description" => "It disables the maxchar in posts for groups.",
"website" => "http://www.mybb.com//",
"version" => "1.0",
"author" => "von bubulang(minchar)/zu raba(maxchar)",
"authorsite" => "http://community.mybb.com/user-29135.html(bubulang)",
"compatibility" => "16*",
'guid' => 'b6f4b6b8095312cdbb5c003685292a51'
);
}
function maxchar_activate()
{
global $mybb, $db;
$query = $db->simple_select("settinggroups", "gid", "name='posting'");
$gid = $db->fetch_field($query, "gid");
$setting = array(
'name' => 'disablemaxchar',
'title' => 'Maximale Beitragslänge werden von folgenden Gruppen ignoriert',
'description' => 'Gruppen mit Komma trennen. Leer=unwirksam-
Registriert=2 SuperMod=3 Admin=4 Mod=6 Blogger=8 Benutzer=9',
'optionscode' => 'text',
'value' => '2,3,4,6,8,9,',
'disporder' => '1',
'gid' => intval($gid)
);
$db->insert_query('settings',$setting);
rebuild_settings();
}
function maxchar_deactivate()
{
global $db, $mybb;
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='disablemaxchar'");
rebuild_settings();
}
function maxchar()
{
global $mybb, $db;
$gids = explode(',', $mybb->settings['disablemaxchar']);
$gids = array_map('intval', $gids);
$user_usergroups = explode(',', $mybb->user['usergroup']);
if(count(array_intersect($user_usergroups, $gids)) > 0) {
$GLOBALS['mybb']->settings['maxmessagelength'] = 0;
}
}
?>
Ihr sieht es ist nicht viel passiert, außer das ich alle Buchstabenfolgen "min" mit "max" getauscht habe. Danach habe ich das ganze noch ein wenig eingedeutscht und unter "maxchar" abgespeichert. Im PlugIn Ordner sind nun beide Dateien, was dann so aussieht.
[attachment=7802]
Nun habe ich eine generelle Beitragslänge von 500 Zeichen, was für Gästebuch-Einträge gedacht ist. Diese Einschränkung wird direkt von "maxchar" für die notierten Gruppen wieder aufgehoben.
Ich habe das "maxchar" auf MyBB 1.6 und 1.8 so gut ich konnte getestet und keine Probleme festgestellt.
Ich muss mal gucken wie ich das als Download auf MyBB zur Verfügung stellen kann. Es gelten wie beim Ausgangs-PlugIn "minchar" die selben Lizenzbestimmungen.
Wenn Ihr solange nicht warten möchtet, kopiert euch den Code und mach daraus eine PHP-Datei, die Ihr einfach unter PlugIn in eurem MyBB kopiert / hochlädt.
Viel Spaß.
mfG raba
Ps: wäre schön, wenn einer der Ahnung von PHP hat dieses um die Möglichkeit erweitert, noch differenzierter also mehrere Foren/Kategorien und Beitragslängen dazu zu programmieren. Ich glaube das könnten einige ganz gut gebrauchen. Ich auch.
Edit by Jockl: php-Tags eingefügt