Seite 8 von 32

Re: Phoogle-Map 0.4.1 (deutsch)

Verfasst: 10.09.2009 22:37
von marc1706
Wenn man auf den Phoogle-Icon im Profil des Benutzers klickt, wird ja nur dieser Benutzer auf der Karte angezeigt. Wenn man normalerweise eine Gruppe auswählt, wird ja neben "Phoogle Map" noch die Gruppe angezeigt. Genau das wird in Zeile 396 auch versucht, da allerdings weder eine Gruppe ausgewählt, noch die Gruppen-ID irgendwie anders bereitgestellt wurde, gibt es den oben genannten Fehler. Man könnte allerdings statt der Gruppe auch den Benutzernamen anzeigen, den genauen Code habe ich gerade aber nicht parat (muss jetzt dann ins Bettchen :roll: ).

@Fundus1: Morgen. ;)

Re: Phoogle-Map 0.4.1 (deutsch)

Verfasst: 10.09.2009 23:19
von Passat
Bei mir kommt der Fehler nicht.

Re: Phoogle-Map 0.4.1 (deutsch)

Verfasst: 11.09.2009 00:45
von Fundus1
Passat hat geschrieben:Bei mir kommt der Fehler nicht.
Wie sieht deine Moderationsstruktur aus? Bei mir sind 5 Mods mit unterschiedlichen Berechtigungen (Globale Modrechte & teilw. Adminrechte) am Werk, vielleicht liegt hier der Unterschied. Der Name des Users statt der Gruppe wäre toll :grin:

Re: Phoogle-Map 0.4.1 (deutsch)

Verfasst: 11.09.2009 09:18
von marc1706
Der Fehler kommt nur wenn du in einem Thema auf den Phoogle-Icon im Profil eines Benutzers klickst. Und natürlich auch nur wenn du Debug-Modus an hast.

Re: Phoogle-Map 0.4.1 (deutsch)

Verfasst: 11.09.2009 11:27
von franki
Passat hat geschrieben:Bei mir kommt der Fehler nicht.
Bei mir auch nicht.
marc1706 hat geschrieben:Der Fehler kommt nur wenn du in einem Thema auf den Phoogle-Icon im Profil eines Benutzers klickst. Und natürlich auch nur wenn du Debug-Modus an hast.
Also das kann ich jetzt auch nicht bestätigen.
Hab auf dem Server mal die error.log Datei durchforstet und die Phoogle-Map bringt keinen Fehler raus.
Fundus1 hat geschrieben:Wie sieht deine Moderationsstruktur aus? Bei mir sind 5 Mods mit unterschiedlichen Berechtigungen (Globale Modrechte & teilw. Adminrechte) am Werk, vielleicht liegt hier der Unterschied. Der Name des Users statt der Gruppe wäre toll :grin:
Bei mir sind es: 1 Admins, 1 Co-Admin und 3 Mods. Allen sind keine Rollen zugewiesen und haben alle unterschiedliche Berechtigungen.

Re: Phoogle-Map 0.4.1 (deutsch)

Verfasst: 11.09.2009 12:51
von marc1706
Welche PHP-Version habt ihr? Ich habe 5.2.10. Das könnte vielleicht der Grund sein, wieso der Fehler bei manchen nicht erscheint.

Re: Phoogle-Map 0.4.1 (deutsch)

Verfasst: 11.09.2009 14:03
von Fundus1
marc1706 hat geschrieben:Welche PHP-Version habt ihr?
5.2.9 :wink:

Re: Phoogle-Map 0.4.1 (deutsch)

Verfasst: 11.09.2009 16:17
von franki
Also ich habe ein mal 5.2.6-0.dotdeb.1
und 5.2.9 bei beiden keine Fehlermeldungen.

Re: Phoogle-Map 0.4.1 (deutsch)

Verfasst: 11.09.2009 18:25
von Passat
Stimmt, mit aktiviertem Debug-Modus (habe ich normalerweise aus) kommt auch bei mir der Fehler.
Sowohl mit php 4.4.9 als auch mit 5.2.10.

Re: Phoogle-Map 0.4.1 (deutsch)

Verfasst: 12.09.2009 22:33
von marc1706
jw1hal hat geschrieben:@marc1706
Kann man da irgendwas im Code ändern, dass der Fehler nicht mehr auftritt? Denn es gibt bestimmt noch Einige, die von phpBB2 konvertiert haben. Die haben ja dann alle das Problem.
Und schon kommt die Problemlösung:
Öffne phoogle.php
Finde:

Code: Alles auswählen

// Get list of user_groups
$sql_ary = array(
    'SELECT'    => 'gt.group_id, gt.group_name, gt.group_colour, gt.group_type, acr.role_type', // Add , gt.group_colour, gt.group_type
    'FROM'        => array(GROUPS_TABLE => 'gt', ACL_GROUPS_TABLE => 'agt', ACL_ROLES_TABLE => 'acr'),
    'WHERE'        => ($allow_coppa) ? "gt.group_name <> 'GUESTS' AND gt.group_name <> 'BOTS' AND agt.group_id = gt.group_id AND agt.auth_role_id = acr.role_id" : "gt.group_name <> 'GUESTS' AND gt.group_name <> 'BOTS' AND gt.group_name <> 'REGISTERED_COPPA' AND agt.group_id = gt.group_id AND agt.auth_role_id = acr.role_id",
    'ORDER_BY'    => 'gt.group_id'
); 
Ersetze durch:

Code: Alles auswählen

// Get list of user_groups
$sql_ary = array(
    'SELECT'    => 'gt.group_id, gt.group_name, gt.group_colour, gt.group_type', // Add , gt.group_colour, gt.group_type
    'FROM'        => array(GROUPS_TABLE => 'gt'),
    'WHERE'        => ($allow_coppa) ? "gt.group_name <> 'GUESTS' AND gt.group_name <> 'BOTS' AND gt.group_type <> " . GROUP_HIDDEN : "gt.group_name <> 'GUESTS' AND gt.group_name <> 'BOTS' AND gt.group_name <> 'REGISTERED_COPPA' AND gt.group_type <> " . GROUP_HIDDEN,
    'ORDER_BY'    => 'gt.group_id'
); 
Finde:

Code: Alles auswählen

    $group[$gid]['acl_role'][]      = $group_info['role_type'];
}

foreach($group as $current_group)
{
    // These two are for the User Groups drop-down box  (3 with the colour)
    //$gsb                             = ucwords(strtolower(str_replace("_", " ", $group_info['group_name'])));     -->  replace this with the next
    $gsb                             = ($current_group['type'] == GROUP_SPECIAL) ? $user->lang['G_' . $current_group['name']] : $current_group['name'];
    $gsb_id                         = $current_group['id'];
    $gc                                = $current_group['colour'];
    $group_url = append_sid("{$phpbb_root_path}phoogle.php", "mode=groups&group_id=$gsb_id");
    $group_select_box .= "<option value=\"$group_url\" style=\"color: #$gc;\">$gsb</option>";    // Add colour
} 
Ersetze durch:

Code: Alles auswählen

    
    // These two are for the User Groups drop-down box  (3 with the colour)
    //$gsb                             = ucwords(strtolower(str_replace("_", " ", $group_info['group_name'])));     -->  replace this with the next
    $gsb                             = ($group[$gid]['type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group[$gid]['name']] : $group[$gid]['name'];
    $gsb_id                         = $group[$gid]['id'];
    $gc                                = $group[$gid]['colour'];
    $group_url = append_sid("{$phpbb_root_path}phoogle.php", "mode=groups&group_id=$gsb_id");
    $group_select_box .= "<option value=\"$group_url\" style=\"color: #$gc;\">$gsb</option>";    // Add colour 
} 
Finde:

Code: Alles auswählen

// Now do stuff to each user's marker stuff  
Davor einfügen:

Code: Alles auswählen

/*     get the users with admin and moderator permissions before we do the loop
*    by Marc Alexander (c) 2009
*/
$admin_users = $auth->acl_raw_data(false, 'a_', false);
$moderator_users = $auth->acl_raw_data(false, 'm_', false); 
Finde:

Code: Alles auswählen

    $current_id = $member[$i]['group_id'];
    
    if(in_array('a_', $group[$current_id]['acl_role']))
    {
        $member[$i]['user_phoogle_icon'] = ($use_special_markers == 1) ? '1' : $member[$i]['user_phoogle_icon'];
        $member[$i]['marker_group'] = 'admin';
    }
    elseif(in_array('m_', $group[$current_id]['acl_role']))
    {
        $member[$i]['user_phoogle_icon'] = ($use_special_markers == 1) ? '2' : $member[$i]['user_phoogle_icon'];
        $member[$i]['marker_group'] = 'moderator';
    }
    else
    {
        $member[$i]['marker_group'] = 'user';
    } 
Ersetze durch:

Code: Alles auswählen

    $current_id = $member[$i]['user_id'];
    
    if(isset($admin_users[$current_id]))
    {
        $member[$i]['user_phoogle_icon'] = ($use_special_markers == 1) ? '1' : $member[$i]['user_phoogle_icon'];
        $member[$i]['marker_group'] = 'admin';
    }
    elseif(isset($moderator_users[$current_id]))
    {
        $member[$i]['user_phoogle_icon'] = ($use_special_markers == 1) ? '2' : $member[$i]['user_phoogle_icon'];
        $member[$i]['marker_group'] = 'moderator';
    }
    else
    {
        $member[$i]['marker_group'] = 'user';
    } 
Finde:

Code: Alles auswählen

    $current_id = $member[$i]['group_id'];
    
    if(in_array('a_', $group[$current_id]['acl_role']))
    {
        $userlist_name = '<span style="color:#' . $group[$current_id]['colour'] . '">'. $userlist_name . '</span>';
    }
    elseif(in_array('m_', $group[$current_id]['acl_role']))
    {
        $userlist_name = '<span style="color:#' . $group[$current_id]['colour'] . '">'. $userlist_name . '</span>';
    }
    else
    {
        $userlist_name = '<span>'. $userlist_name . '</span>';
    } 
Ersetze durch:

Code: Alles auswählen

    $current_id = $member[$i]['user_id'];
    
    if(isset($admin_users[$current_id]))
    {
        $userlist_name = '<span style="color:#' . $group[$member[$i]['group_id']]['colour'] . '">'. $userlist_name . '</span>';
    }
    elseif(isset($moderator_users[$current_id]))
    {
        $userlist_name = '<span style="color:#' . $group[$member[$i]['group_id']]['colour'] . '">'. $userlist_name . '</span>';
    }
    else
    {
        $userlist_name = '<span>'. $userlist_name . '</span>';
    } 
Bitte nicht wieder alles erklären lassen. :grin:

P.S: Versteckte Gruppen werden jetzt auch nicht mehr angezeigt.