MyBB.de Forum
Enhanced Account Switcher - 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: Enhanced Account Switcher (/thread-31592.html)

Seiten: Seiten: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64


RE: Enhanced Account Switcher - doylecc - 17.06.2017

Alles klar, ich hatte nur die Schnellantwort getestet. Für newreply etc. musst du auch noch den direkt darauffolgenden Code in der Datei entfernen, das ist dieser hier:
Code:
t("input[name='submit']").val(s+a+n),



RE: Enhanced Account Switcher - Lurker - 17.06.2017

Oh mein Gott, es funktioniert. 
Hab vielen, vielen Dank für deine Hilfe und deine Zeit. Wirklich, vielen Dank!


RE: Enhanced Account Switcher - SCOTTISH. - 25.06.2017

Hallo,

gerade bastele ich für unser Forum ein neues Profilfeld über eine Spielerinformation und hatte den Gedanken, dass es richtig super wäre, wenn die Information, die bspw. durch den Hauptaccount eingegeben wurde, auch für alle angehängten Accounts automatisch drin ist. Im Grunde wie die Abwesenheitsmeldung, die übernommen wird. Ist das machbar/umsetzbar?


RE: Enhanced Account Switcher - doylecc - 25.06.2017

Wenn die Funktion für die Übernahme Abwesenheitsinformation aktiviert ist, könntest du es einfach dort mit hinzufügen.
Jetzt mal als Beispiel für das Profilfeld fid4:

Suche in der Datei inc/plugins/accountswitcher/as_usercp.php (~Zeile 528) nach:
PHP-Code:
$db->update_query('users'$updated_record"uid='".$userUid."'"); 

und füge darunter ein:
PHP-Code:
$updated_fields = array(
   "fid4" => $db->escape_string($mybb->input['profile_fields']['fid4'])
);
$db->update_query("userfields"$updated_fields"ufid='{$userUid}'"false); 

Wie gesagt, die fid4 musst du jeweils für dein verwendetes Profilfeld anpassen, wenn du ein anderes verwendest, und es funktioniert an dieser Stelle nur, wenn in den Einstellungen im ACP "Abwesenheitsstatus des Hauptaccounts allen verbundenen Accounts zuweisen" aktiviert ist.


RE: Enhanced Account Switcher - prom.night - 25.06.2017

Hallo,
ist es möglich die verbundenen Accounts auch auf der Teamseite anzeigen zu lassen bei den jeweiligen Teammitgliedern?

Grüße


RE: Enhanced Account Switcher - doylecc - 26.06.2017

(25.06.2017, 20:32)prom.night schrieb: Hallo,
ist es möglich die verbundenen Accounts auch auf der Teamseite anzeigen zu lassen bei den jeweiligen Teammitgliedern?

Grüße

Wenn man eine entsprechende Funktion hinzufügt, ist das schon möglich.

Suche dazu in der Datei inc/plugins/accountswitcher/class_accountswitcher.php nach den Zeilen 358, 397, 488 und 527:
PHP-Code:
if (THIS_SCRIPT == "memberlist.php") { 

und ändere sie alle vier Male zu:
PHP-Code:
if (THIS_SCRIPT == "memberlist.php" || THIS_SCRIPT == "showteam.php" ) { 

Dann fügst du am Ende der Datei inc/plugins/accountswitcher/as_functions.php folgende Funktion hinzu:
PHP-Code:
// Hook for attached accounts on show team page
$plugins->add_hook('showteam_user''accountswitcher_showteam');
/**
* Shows the attached accounts on show team page.
*
*
*/
function accountswitcher_showteam()
{
   global $mybb$db$user$theme$lang$eas$as_user_userbit$as_user_hidden$user_sec_reason;
   global $attachedUser$userUid$masterUid$templates$attachedPostUser$numaccounts$user_profilefield;

   // Get the permission to view the list, super admins are always allowed
   if (isset($mybb->settings['aj_groupperm'])
       && $mybb->settings['aj_groupperm'] != -1
       
&& !is_super_admin($mybb->user['uid'])
   ) {
       if (!is_member($mybb->settings['aj_groupperm']) || $mybb->settings['aj_groupperm'] == '') {
           return;
       }
   }
   // Load profile field  - disabled by default... Example:
   //$user['profilefield'] = $eas->get_profilefield($user['uid']);

   $user['attached_accounts'] = $as_user_userbit $as_user_hidden $numaccounts '';
   $mybb_asset_url $mybb->asset_url;

   // Get the attached users
   if ($user['uid'] != && $mybb->settings['aj_memberlist'] == 1) {
   // Get usergroup permissions
       $permissions user_permissions((int)$user['uid']);

       // Get the number of users attached to this account
       $count $eas->get_attached($user['uid']);
       $hidden $eas->get_hidden($user['uid']);

       // Hide users with privacy setting enabled
       if ($mybb->usergroup['cancp'] != 1
           
&& $mybb->user['uid'] != $user['uid']
           && $mybb->settings['aj_privacy'] == 1
           
&& $user['as_privacy'] == 1
       
) {
           if (($mybb->user['as_uid'] != 0
                   
&& $mybb->user['as_uid'] != $user['as_uid']
                   && $mybb->user['as_uid'] != $user['uid']
               )
               || ($mybb->user['as_uid'] == 0
                   
&& $mybb->user['uid'] != $user['as_uid']
               )
           ) {
               return;
           }
       }

       // If there are users attached and the current user can use the Enhanced Account Switcher...
       if ($permissions['as_canswitch'] == && $count 0) {
           $as_user_userbit $eas->master_userlist($user['uid']);
       }

       // If there are no users attached to current account but the current account is attached to another user
       if ($count == && $user['as_uid'] != 0) {
       // Get the master
           $master get_user((int)$user['as_uid']);
           $hidden $eas->get_hidden($master['uid']);
           // Get masters permissions
           $permission user_permissions((int)$master['uid']);

           // If master has permission to use the Enhanced Account Switcher, get the userlist
           if ($permission['as_canswitch'] == 1) {
               $userUid $masterUid = (int)$master['uid'];
               $attachedPostUser htmlspecialchars_uni($master['username']);
               $userAvatar $eas->attached_avatar($master['avatar'], $master['avatardimensions']);

               // Create link to master
               if ($user['uid'] == $mybb->user['uid']) {
                   $attachedUser '<span style="font-weight: bold;" title="Master Account">'.
                                   format_name(
                                       $attachedPostUser,
                                       (int)$master['usergroup'],
                                       (int)$master['displaygroup']
                                   )
                                   .'</span>';
                   $as_user_userbit .= eval($templates->render('accountswitcher_memberlist_switch'));
               } else {
                   // Hide users with privacy setting enabled
                   if (($mybb->usergroup['cancp'] != 1
                           
&& $mybb->user['uid'] != $master['uid']
                           && $mybb->settings['aj_privacy'] == 1
                           
&& $master['as_privacy'] == 1
                       
)
                       && (($mybb->user['as_uid'] > 0
                           
&& $mybb->user['as_uid'] != $master['uid']
                       )
                       || ($mybb->user['as_uid'] == 0
                           
&& $mybb->user['uid'] != $master['as_uid']
                           )
                       )
                   ) {
                       ++$hidden;
                       $as_user_userbit .= '';
                   } else {
                       $attachedUser '<span style="font-weight: bold;" title="Master Account">'.
                                       build_profile_link(format_name(
                                           $attachedPostUser,
                                           (int)$master['usergroup'],
                                           (int)$master['displaygroup']
                                       ), $userUid)
                                       .'</span>';
                       $as_user_userbit .= eval($templates->render('accountswitcher_memberlist_link'));
                   }
               }
               // Get all users attached to master from the cache
               $as_user_userbit .= $eas->attached_userlist($user['uid']);
           }
       }

       if ($count || $count == && $user['as_uid'] != 0) {
           if (!isset($lang->aj_profile)) {
               $lang->load('accountswitcher');
           }
           // Show hidden accounts if current user is post author or attached to hidden account
           if ($user['uid'] == $mybb->user['uid']
               || $user['uid'] == $mybb->user['as_uid']
               || $user['as_uid'] == $mybb->user['uid']
           ) {
               $hidden 0;
           }
           // Accountlist link in postbit
           if ($mybb->user['uid'] != && $user['uid'] != && $mybb->settings['aj_memberlist'] == 1) {
               if ($count == 1) {
                   $numaccounts $count;
                   $lang->aj_memberlist $lang->aj_memberlist_one;
                   $numaccounts .= ' ';
               } elseif ($count 1) {
                   $numaccounts $count;
                   $numaccounts .= ' ';
                   $lang->aj_memberlist $lang->aj_memberlist_more;
               } else {
                   $lang->aj_memberlist $lang->aj_memberlist_linked;
               }
               if ($hidden 0) {
                   $as_user_hidden .= $lang->sprintf($lang->aj_hidden$hidden);
               }
               $user['attached_accounts'] .= eval($templates->render('accountswitcher_memberlist'));
           }
       }
       if ($user['as_share'] != 0) {
           $user['attached_accounts'] .= eval($templates->render('accountswitcher_memberlist_shared'));
       }
   }


Am Ende fügst du dann die Variable {$user['attached_accounts']} in das Template showteam_usergroup_user ein, wo du die Accounts angezeigt haben möchtest.


RE: Enhanced Account Switcher - Slayertime - 26.06.2017

Hallöchen,

Als aller erstes. Danke für dieses wunderbare Plugin.
Ich hoffe, dass ich nichts überlesen habe, wenn doch, dan tut es mir leid.

Leider hab ich jedoch ein Problem.
Klicke ich auf einen Zweitchara, so wechselt er nicht den Account, sondern loggt mich einfach nur aus.

Woran könnte das liegen?

Liebene Gruß und danke schoneinmal für die Hilfe


RE: Enhanced Account Switcher - doylecc - 26.06.2017

Hallo, 

und erstmal danke, Smile

Funktioniert das "normale" Einloggen ins Forum?  Kannst du dich im Forum und im ACP bewegen, ohne wieder ausgeloggt zu werden?
Sind der Cookiepfad und die Cookiedomain des Forums korrekt eingestellt?
Welche Version von MyBB verwendet ihr?
Zeigt die Datei-Überprüfung im ACP (unter Tools &Verwaltung) geänderte Dateien an?
Habt ihr schon mal die (aktuellen) Plugindateien erneut hochgeladen?

Der Accountswitcher verwendet die Standard-Loginfunktion von MyBB. Wenn alle Dateien aktuell und die Einstellungen korrekt sind, sollte es eigentlich unmöglich sein, dass man nach dem Accountwechsel ausgeloggt ist (außer es wurden vorher bei den Usern direkt in der Datenbank die loginkeys gelöscht)


RE: Enhanced Account Switcher - prom.night - 26.06.2017

(26.06.2017, 13:18)doylecc schrieb:
(25.06.2017, 20:32)prom.night schrieb: Hallo,
ist es möglich die verbundenen Accounts auch auf der Teamseite anzeigen zu lassen bei den jeweiligen Teammitgliedern?

Grüße

Wenn man eine entsprechende Funktion hinzufügt, ist das schon möglich.

Suche dazu in der Datei inc/plugins/accountswitcher/class_accountswitcher.php nach den Zeilen 358, 397, 488 und 527:
PHP-Code:
if (THIS_SCRIPT == "memberlist.php") { 

und ändere sie alle vier Male zu:
PHP-Code:
if (THIS_SCRIPT == "memberlist.php" || THIS_SCRIPT == "showteam.php" ) { 

Dann fügst du am Ende der Datei inc/plugins/accountswitcher/as_functions.php folgende Funktion hinzu:
PHP-Code:
// Hook for attached accounts on show team page
$plugins->add_hook('showteam_user''accountswitcher_showteam');
/**
* Shows the attached accounts on show team page.
*
*
*/
function accountswitcher_showteam()
{
   global $mybb$db$user$theme$lang$eas$as_user_userbit$as_user_hidden$user_sec_reason;
   global $attachedUser$userUid$masterUid$templates$attachedPostUser$numaccounts$user_profilefield;

   // Get the permission to view the list, super admins are always allowed
   if (isset($mybb->settings['aj_groupperm'])
       && $mybb->settings['aj_groupperm'] != -1
       
&& !is_super_admin($mybb->user['uid'])
   ) {
       if (!is_member($mybb->settings['aj_groupperm']) || $mybb->settings['aj_groupperm'] == '') {
           return;
       }
   }
   // Load profile field  - disabled by default... Example:
   //$user['profilefield'] = $eas->get_profilefield($user['uid']);

   $user['attached_accounts'] = $as_user_userbit $as_user_hidden $numaccounts '';
   $mybb_asset_url $mybb->asset_url;

   // Get the attached users
   if ($user['uid'] != && $mybb->settings['aj_memberlist'] == 1) {
   // Get usergroup permissions
       $permissions user_permissions((int)$user['uid']);

       // Get the number of users attached to this account
       $count $eas->get_attached($user['uid']);
       $hidden $eas->get_hidden($user['uid']);

       // Hide users with privacy setting enabled
       if ($mybb->usergroup['cancp'] != 1
           
&& $mybb->user['uid'] != $user['uid']
           && $mybb->settings['aj_privacy'] == 1
           
&& $user['as_privacy'] == 1
       
) {
           if (($mybb->user['as_uid'] != 0
                   
&& $mybb->user['as_uid'] != $user['as_uid']
                   && $mybb->user['as_uid'] != $user['uid']
               )
               || ($mybb->user['as_uid'] == 0
                   
&& $mybb->user['uid'] != $user['as_uid']
               )
           ) {
               return;
           }
       }

       // If there are users attached and the current user can use the Enhanced Account Switcher...
       if ($permissions['as_canswitch'] == && $count 0) {
           $as_user_userbit $eas->master_userlist($user['uid']);
       }

       // If there are no users attached to current account but the current account is attached to another user
       if ($count == && $user['as_uid'] != 0) {
       // Get the master
           $master get_user((int)$user['as_uid']);
           $hidden $eas->get_hidden($master['uid']);
           // Get masters permissions
           $permission user_permissions((int)$master['uid']);

           // If master has permission to use the Enhanced Account Switcher, get the userlist
           if ($permission['as_canswitch'] == 1) {
               $userUid $masterUid = (int)$master['uid'];
               $attachedPostUser htmlspecialchars_uni($master['username']);
               $userAvatar $eas->attached_avatar($master['avatar'], $master['avatardimensions']);

               // Create link to master
               if ($user['uid'] == $mybb->user['uid']) {
                   $attachedUser '<span style="font-weight: bold;" title="Master Account">'.
                                   format_name(
                                       $attachedPostUser,
                                       (int)$master['usergroup'],
                                       (int)$master['displaygroup']
                                   )
                                   .'</span>';
                   $as_user_userbit .= eval($templates->render('accountswitcher_memberlist_switch'));
               } else {
                   // Hide users with privacy setting enabled
                   if (($mybb->usergroup['cancp'] != 1
                           
&& $mybb->user['uid'] != $master['uid']
                           && $mybb->settings['aj_privacy'] == 1
                           
&& $master['as_privacy'] == 1
                       
)
                       && (($mybb->user['as_uid'] > 0
                           
&& $mybb->user['as_uid'] != $master['uid']
                       )
                       || ($mybb->user['as_uid'] == 0
                           
&& $mybb->user['uid'] != $master['as_uid']
                           )
                       )
                   ) {
                       ++$hidden;
                       $as_user_userbit .= '';
                   } else {
                       $attachedUser '<span style="font-weight: bold;" title="Master Account">'.
                                       build_profile_link(format_name(
                                           $attachedPostUser,
                                           (int)$master['usergroup'],
                                           (int)$master['displaygroup']
                                       ), $userUid)
                                       .'</span>';
                       $as_user_userbit .= eval($templates->render('accountswitcher_memberlist_link'));
                   }
               }
               // Get all users attached to master from the cache
               $as_user_userbit .= $eas->attached_userlist($user['uid']);
           }
       }

       if ($count || $count == && $user['as_uid'] != 0) {
           if (!isset($lang->aj_profile)) {
               $lang->load('accountswitcher');
           }
           // Show hidden accounts if current user is post author or attached to hidden account
           if ($user['uid'] == $mybb->user['uid']
               || $user['uid'] == $mybb->user['as_uid']
               || $user['as_uid'] == $mybb->user['uid']
           ) {
               $hidden 0;
           }
           // Accountlist link in postbit
           if ($mybb->user['uid'] != && $user['uid'] != && $mybb->settings['aj_memberlist'] == 1) {
               if ($count == 1) {
                   $numaccounts $count;
                   $lang->aj_memberlist $lang->aj_memberlist_one;
                   $numaccounts .= ' ';
               } elseif ($count 1) {
                   $numaccounts $count;
                   $numaccounts .= ' ';
                   $lang->aj_memberlist $lang->aj_memberlist_more;
               } else {
                   $lang->aj_memberlist $lang->aj_memberlist_linked;
               }
               if ($hidden 0) {
                   $as_user_hidden .= $lang->sprintf($lang->aj_hidden$hidden);
               }
               $user['attached_accounts'] .= eval($templates->render('accountswitcher_memberlist'));
           }
       }
       if ($user['as_share'] != 0) {
           $user['attached_accounts'] .= eval($templates->render('accountswitcher_memberlist_shared'));
       }
   }


Am Ende fügst du dann die Variable {$user['attached_accounts']} in das Template showteam_usergroup_user ein, wo du die Accounts angezeigt haben möchtest.

Herzlichen Dank!


RE: Enhanced Account Switcher - Slayertime - 26.06.2017

Hey^^

Also ich hab das Ganze jetzt nochmal deinstalliert und installiert und vor dem Installieren alle Datein neu eingefügt, aber das Problem bleibt bestehen. Er loggt mich immer wieder aus.

Ich benutz die Version MyBB1.8.11
Und das Einloggen und Ausloggen klappt wie gewohnt.
Ich habe gerade mir zeigen lassen, welche Datein geändert wurden.
Hier sind sie:

index.php     
install/resources/language.lang.php     
install/resources/settings.xml     
inc/class_parser.php     
inc/functions_forumlist.php     
inc/functions.php     
inc/functions_online.php

Ich habe gerade nachgeschaut und die Version am 4.11.2016 in meinem Board. Kann es daran liegen?

Sorry für den Doppelpost, aber es lag wirklich daran, dass ich eine veraltete Version drauf hatte.
Jetzt klappt alles wunderbar undnochmals VIELEN Dank für das tolle Plugin