1. GSManager
    1. Funktionen
    2. Unterstützte Spiele
    3. Neuigkeiten
    4. Statistiken
    5. Serverliste
  2. Lexikon
  3. Filebase
  4. Entwicklung
  5. Forum
    1. Dashboard
    2. Unerledigte Themen
  6. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Dateien
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. GSManager
  2. Mitglieder
  3. greu

Beiträge von greu

Das Projekt GSManager (vormals ManuAdminMod) wurde am 01.01.2020 eingestellt - diese Internetpräsenz bleibt verfügbar, die Software wird aber nicht länger gepflegt. Vielen Dank für eure Unterstützung in den mehr als zehn vergangenen Jahren!
  • How to make text in lowercase?

    • greu
    • 16. Juli 2018 um 19:24
    Zitat von Belstgut

    $message = strtolower($message);



    it works fine, but only for the Latin alphabet, tell me how to do it for the Cyrillic?

  • How to make text in lowercase?

    • greu
    • 16. Juli 2018 um 09:49



    How to make text in lowercase?

    $message = $mod->strtolower($message);

    here is the complete code

    Spoiler anzeigen

    <?php

    /*

    PLUGIN: Badwords

    ================

    Kicks player when they use bad words defined in config/plugins/badwords.lst more

    that X-Times

    Добавления от jTommy:

    1. В причине бана/кика указывается плохое слово (удобно при просмотре логов, особенно при использовании плагина logkickbans) .

    2. Теперь плагин не ищет плохие слова внутри слов. Например, выражение "4 рубля" теперь не будет считаться плохим.

    CONFIG:

    -------

    [badwords]

    enabled = 1 ;Enable plugin

    warnstokick = 3 ;Uses of badwords until kick

    mode = "kick" ;kick/ban/tempban

    kickreason = "Use of bad words (<WORD>)" ;Reason of a kick

    NAMESPACE: badwords

    Functions:

    badwords_main

    badwords_read

    badwords_playerInit

    Vars:

    $badwords_list

    */

    $mod->setDefaultCV("badwords", "enabled", 0);

    $mod->setDefaultCV("badwords", "warnstokick", 3);

    $mod->setDefaultCV("badwords", "mode", "tempban");

    $mod->setDefaultCV("badwords", "kickreason", "Use of bad words (<WORD>)");

    $mod->registerEvent("playerSay", "badwords_main");

    $mod->registerEvent("playerJoined", "badwords_playerInit");

    $mod->registerEvent("parseConfig", "badwords_read");

    badwords_read();

    //Init Players because playerJoined isn't called at startup

    array_map("badwords_playerInit", array_keys($players));

    function badwords_main($args) {

    list($guid, $message, $executed) = $args;

    global $players;

    global $mod;

    global $badwords_list;

    $delimiters = array('!', '"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`', '{', '|', '}', '~');

    if (!$mod->getCV("badwords", "enabled")) return;

    if ($executed) return;

    if (!$badwords_list) return;

    if ($players[$guid]->isProtected()) {

    return;

    }

    // Убираем информацию о цвете текста

    $message = $mod->removecolor($message);

    // Убираем из строки все знаки препинания

    foreach($delimiters as $symb) {

    $message = str_replace($symb, '', $message);

    }

    //Слова преобразуем в нижний регистр

    $message = $mod->strtolower($message);

    // В целях отладки: Показываем игроку его же сообщение (уже после обработки)

    $players[$guid]->say($message);

    // Разбиваем строку на слова

    $mess_exp = explode(' ', $message);

    $bad = false;

    foreach($mess_exp as $word) {

    foreach($badwords_list["normal"] as $value) {

    if (!strcasecmp($word, $value)) {

    $bad = true;

    $badword = $value;

    break;

    }

    }

    }

    // foreach ($badwords_list["normal"] as $value) {

    // if (stripos($message, $value) !== false) {

    // $bad = true;

    // $badword = $value;

    // break;

    // }

    // }

    /*

    if (!$bad) {

    foreach ($badwords_list["regexp"] as $value) {

    if (preg_match("ґ".str_replace("ґ", "\\xB4", $value)."ґi", $message, $subpatterns)) {

    $bad = true;

    $badword = $subpatterns[0];

    break;

    }

    }

    }

    */

    if ($bad) {

    $players[$guid]->badwords_used ++;

    $GLOBALS['logging']->write(MOD_NOTICE, "Badwords: Player '".$players[$guid]->getName()."' used the bad word '$badword', PID: ".$players[$guid]->getPID().", GUID: $guid");

    if ($players[$guid]->badwords_used >= $mod->getCV("badwords", "warnstokick")) {

    switch ($mod->getCV("badwords", "mode")) {

    case "tempban":

    //$players[$guid]->tempBan($mod->getCV("badwords", "kickreason"));

    $players[$guid]->tempBan(str_replace("<WORD>", $badword, $mod->getCV("badwords", "kickreason")));

    break;

    case "kick":

    //$players[$guid]->kick($mod->getCV("badwords", "kickreason"));

    $players[$guid]->kick(str_replace("<WORD>", $badword, $mod->getCV("badwords", "kickreason")));

    break;

    case "ban":

    //$players[$guid]->ban($mod->getCV("badwords", "kickreason"));

    $players[$guid]->ban(str_replace("<WORD>", $badword, $mod->getCV("badwords", "kickreason")));

    break;

    }

    }

    else {

    $players[$guid]->say($mod->getLngString("usedBadWord", array("<WORD>"), array($badword)));

    }

    }

    }

    function badwords_read() {

    if (!$GLOBALS['mod']->getCV("badwords", "enabled")) {

    return;

    }

    $configdir = $GLOBALS['mod']->getConfigDir();

    global $badwords_list;

    $list = file($configdir . "/plugins/badwords.lst");

    if ($list === false) {

    $GLOBALS['logging']->write(MOD_WARNING, "Badwords: File $configdir/plugins/badwords.lst could not be opened, badwords will be disabled");

    $badwords_list = false;

    return;

    }

    $normal = array();

    $regexp = array();

    foreach ($list as $value) {

    $value = trim($value);

    if (stripos($value, "regexp:") === 0) {

    $regexp[] = substr($value, 7);

    }

    else {

    $normal[] = $value;

    }

    }

    $badwords_list = array("normal" => $normal, "regexp" => $regexp);

    }

    function badwords_playerInit($guid) {

    $GLOBALS['players'][$guid]->badwords_used = 0;

    }


  1. Mitarbeiter
  2. Datenschutzerklärung
  3. Nutzungsbedingungen
  4. Impressum
  5. Kontakt
Community-Software: WoltLab Suite™