MyBB.de Forum

Normale Version: Erweiterter Accountswitcher und Abwesenheitsnotiz
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2

navis

Hallo,

ich habe den erweiterten Accountswitcher klick in meinem Forum installiert, was ja auch super klappt. Aber hat jemand eine Idee wie ich es abändern kann, dass nicht direkt alle Accounts abwesend gemeldet werden, wenn sie sich mit dem Hauptaccount abwesend melden, sondern nachgefragt wird, ob alle Accounts oder nur das jeweilige abwesend gemeldet werden soll? Ich weiß ich könnte im ACP die Einstellung: Abwesenheitsstatus des Hauptaccounts allen verbundenen Accounts zuweisen
Sollen alle verbundenen Accounts den gleichen Abwesenheitsstatus bekommen, wenn der Status des Hauptaccounts geändert wird? deaktivieren, aber es gibt eben auch Zeiten da sollen alle Accounts abwesend gemeldet werden.
Ich verstehe denn Sinn und Zweck dieses Anliegens nicht ganz. Wenn ich abwesend bin, dann doch richtig und mit allen Accounts!?
Hast Du mal versucht, den Autor des Plugins zu kontaktieren?

navis

Nein eben nicht, manchmal ist es nur so das man z.B. für das eine Account nicht die Zeit hat oder als Teammitglied "teilabwesend" ist und da würden wir ungern direkt alle Accounts abwesend melden. Das einzige was uns eingefallen ist, dass man den Masteraccount verlegen könnte, aber das Mittel der Wahl wäre das auch nicht.

Ich schaue mal ob man den Autor per mybb.com erreichen kann.
Beim Zweck stimme ich Jockl zu. Toungue
Aber wenn du wirklich möchtest, dass jeder User mit seinem Hauptaccount selbst entscheiden kann, ob seine anderen Accounts auch auf abwesend gestellt werden oder nicht, kannst du folgende Änderungen in der Plugindatei vornehmen:

1. in der Funktion accountswitcher_set_away() finde

PHP-Code:
if($mybb->user['uid'] != "0" && $mybb->settings['aj_away'] == 1)



und füge darunter ein

PHP-Code:
if(!isset($mybb->input['awayall'])) return; 

und 2. am Ende der Datei vor ?> füge diese neue Funktion ein

PHP-Code:
$plugins->add_hook('pre_output_page''accountswitcher_check_away');
function 
accountswitcher_check_away($page)
{
    global 
$mybb$cache;

    
$away_all_check '';
    if(
$mybb->usergroup['as_canswitch'] == "1")
    {
        
$accounts $cache->read('accountswitcher');
        if(
is_array($accounts))
        {
            foreach (
$accounts as $key => $account)
            {
                
$attachedOne['uid'] = (int)$account['uid'];
                
$attachedOne['as_uid'] = (int)$account['as_uid'];
                if(
$attachedOne['as_uid'] == $mybb->user['uid'])
                {
                    
$count++;
                }
            }
        }
        if(
$count 0)
        {
            if(
$mybb->user['uid'] != "0" && $mybb->settings['aj_away'] == && THIS_SCRIPT == "usercp.php" && $mybb->input['action'] == "profile")
            {
                
$away_all_check 'checked="checked"';

                
$usercp_option '</td>
                </tr>
                <tr>
            <td valign="top" width="1"><input type="checkbox" class="checkbox" style="'
.$checkbox.'" name="awayall" id="awayall" value="1" '.$away_all_check.' /></td>
            <td><span class="smalltext"><label for="awayall">Abwesenheit aller verbundenen Accounts</label></span></td>
            </tr>'
;

                
$find '<input type="text" class="textbox" size="4" maxlength="4" name="awayyear" value="" />';
                
$page str_replace($find$find.$usercp_option$page);
            }
        }
    }
    return 
$page;


Damit hast du beim Hauptaccount im Benutzer CP die Möglichkeit einen Haken zu setzen unter den anderen Abwesenheitsoptionen.

navis

(In einem Rollenspielforum wo man mehrere Charaktere hat und vielleicht nicht immer allen gerecht werden kann, wenn man Stress hat, macht es schon Sinn. In "normalen" Foren ist es natürlich logischer alle abwesend zu melden.)

Danke Smile Nur beim "zurücksetzen" wenn man z.B. eher zurückkommt und sich auf anwesend setzen möchte, dann wird nur noch das Hauptaccount zurück gemeldet Blush
In unserem Rollenspielforum muss man den Stress ertragen, entweder man ist gar nicht da oder muss mit allen Charakteren durchziehen. Big Grin


Ich fürchte, das mit dem "Zurücksetzen" musst du noch etwas genauer beschreiben. Blush

Im Moment funktioniert es so (zumindest bei meinen Tests):

Ist beim Abmelden der Haken gesetzt, werden alle verbunden Accounts ebenfallst abwesend, ist der Haken nicht gesetzt, wird nur der Hauptaccount abwesend.

Ist beim Anmelden der Haken gesetzt, werden alle verbundenen Accounts wieder anwesend, ist der Haken nicht gesetzt, wird nur der Hauptaccount wieder anwesend, alle anderen bleiben abwesend.

navis

Tja die einen mögen es so, die anderen so ^^

Also bei mir wird der Haken nicht angezeigt, wenn ich noch mit allen abgemeldet bin. Bin ich aber bereits mit dem einen zurückgemeldet, dann ist er da und ich kann ihn anklicken und die angehangenen Accounts nachträglich als anwesend anmelden. Soll ich vielleicht Screenshots machen?
Bei mir wird der Haken immer angezeigt, seltsam.
Also damit es kein Missverständnis gibt, der Haken wird prinzipiell nur im Benutzer CP das Hauptaccounts angezeigt, egal wer abwesend oder anwesend ist. Im Benutzer CP eines angehängten Benutzers hätte der Haken sowieso keine Wirkung, dafür müsste die ganze Away-Funktion neu und sehr viel umfangreicher geschrieben werden.

navis

Bei mir wird der Haken nur beim abwesend melden angezeigt, nicht beim anwesend melden. Da wird er nur angezeigt, wenn das Hauptaacount eh bereits anwesend ist.

Auf dem zweiten Bild sieht man dass der Haken erst angezeigt wird nachdem der Hauptaccount da ist. Dann kann ich die angehangenen Accounts "nachträglich" anwesend melden.
Ah Fehler gefunden. Das passiert, wenn ein Jahr eingetragen ist, dann ändert sich der zu ersetzende Code.

Um das zu beheben, musst du in der neuen Funktion accountswitcher_check_away($page) 2 Änderungen vornehmen

1. ersetze

PHP-Code:
global $mybb$cache

durch

PHP-Code:
global $mybb$cache$returndate

2. ersetze

PHP-Code:
$find '<input type="text" class="textbox" size="4" maxlength="4" name="awayyear" value="" />'

durch

PHP-Code:
$find '<input type="text" class="textbox" size="4" maxlength="4" name="awayyear" value="'.$returndate['2'].'" />'

Dann sollte der Haken auch bei eingetragenem Jahr angezeigt werden.
Seiten: 1 2