Seite 16 von 22

Re: Phoogle

Verfasst: 09.08.2009 14:37
von marc1706
So Kinders. Ich hab mich auch mal ein bisschen an das ganze gesetzt. Nur damit das klar ist, die Bugfixes sind nur für den normalen Admin hier der das Problem loswerden will. Auf keinen Fall will ich, dass andy2295 das ganze übernimmt.

Erstmal der Bugfix für die Moderatoren- und Admin-Marker sowie für die farbliche Hervorhebung der Moderatoren und Admins:

Ö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', // Add , gt.group_colour, gt.group_type
    'FROM'        => array(GROUPS_TABLE => 'gt'),
    'WHERE'        => ($allow_coppa) ? "gt.group_name != 'GUESTS' AND gt.group_name != 'BOTS'" : "gt.group_name != 'GUESTS' AND gt.group_name != 'BOTS' AND gt.group_name != 'REGISTERED_COPPA'",
    'ORDER_BY'    => 'gt.group_id'
); 
Ersetzen mit:

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'
);  
Finde:

Code: Alles auswählen

$group[$gid]['type']            = $group_info['group_type']; 
Danach einfügen:

Code: Alles auswählen

    $group[$gid]['acl_role'][]      = $group_info['role_type'];  
Finde:

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  
Und löschen.

Finde:

Code: Alles auswählen

$group_select_box .= '</select>';  
Davor einfügen:

Code: Alles auswählen

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
}  
Finde:

Code: Alles auswählen

// Now deal with each user's selected icon and what to do if they are an admin or a moderator
    // Within each case is what to do if 'Use Special Markers' is selected or not in the ACP.
    // Added marker type for Show/Hide groups feature.
    switch($member[$i]['group_id']) 
    {
        case $group[5]['id']:
            $member[$i]['user_phoogle_icon'] = ($use_special_markers == 1) ? '1' : $member[$i]['user_phoogle_icon'];
            $member[$i]['marker_group'] = 'admin';
        break;

        case $group[4]['id']:
            $member[$i]['user_phoogle_icon'] = ($use_special_markers == 1) ? '2' : $member[$i]['user_phoogle_icon'];
            $member[$i]['marker_group'] = 'moderator';
            break;
        default:
            $member[$i]['marker_group'] = 'user';
    } 
Ersetze durch:

Code: Alles auswählen

/**    Now deal with each user's selected icon and what to do if they are an admin or a moderator
    *     Within each case is what to do if 'Use Special Markers' is selected or not in the ACP.
    *     Added marker type for Show/Hide groups feature.
    *    Bugfix by Marc Alexander (c) 2009
    */
    $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';
    } 
Finde:

Code: Alles auswählen

// Text coloring for Admin and Moderator names, based on board theme settings.
    switch($userlist_group) 
    {
        case $group['5']['id']:
            $userlist_name = '<span style="color:#' . $group['5']['colour'] . '">'. $userlist_name . '</span>';
            break;
        case $group['4']['id']:
            $userlist_name = '<span style="color:#' . $group['4']['colour'] . '">'. $userlist_name . '</span>';
            break;
        default:
            $userlist_name = '<span>'. $userlist_name . '</span>';
    } 
Ersetze durch:

Code: Alles auswählen

/**    Text coloring for Admin and Moderator names, based on board theme settings.
    *    by Marc Alexander
    */
    $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>';
    } 

Dann noch ein kleiner Bugfix falls es keine Events gibt:
Öffne phoogle.php
Finde:

Code: Alles auswählen

$num_events = sizeof($event); 
Ersetze durch:

Code: Alles auswählen

$num_events = (isset($event)) ? sizeof($event) : 0; 

edit: Hab das letzte etwas verkleinert.

Re: Phoogle

Verfasst: 09.08.2009 20:06
von jw1hal
Cool, dass noch Jemand was dazu beiträgt. Aber warum sollten die Änderungen nicht übernommen weredn, wenn sie ganz sinnvoll sind und keine Veränderung bewirken, die nur ein Einzelner für seine persönlichen Bedürfnisse benötigt? Kann doch ruhig mit übernommen werden. Aber ich denke mal da wird von dem Eigentlichen Mod-Autor nichts mehr passieren ...
Könntest du vielleicht mal überall dazuschreiben, was jede Veränderung genau bewirkt. Ich will ja nicht einfach nur so, weil es irgend jemand schreibt, irgendwas bei mir verändern. Wenn dann möchte ich schon vorher wissen, was genau diese Veränderung bewirkt, um das nach der Änderung sofort zu überprüfen.

Und wenn es sinnvolle Veränderungen sind, könnte man diese ja mit ins Paket übernehmen.

Ich frage auch noch mal an, ob man vielleicht eine Art Updateanleitung erstellen könnte, für all die Jenen, die auch bedenken haben etwas an der vorigen Version zu versauen.

Re: Phoogle

Verfasst: 09.08.2009 20:32
von Gast234254
so hab mir die 0.4.1 handwarm drüber gebügelt, aber admin und moderator sind wieder gelb makiert, woran das liegt ist ja bekannt. läßt sich im acp eine eingabemaske einfügen wo man für admin und moderatoren die gruppen id eingeben kann ?

gruß
stephan

Re: Phoogle

Verfasst: 09.08.2009 20:37
von marc1706
Ich habe nichts dagegen, wenn das ganze in euer Paket übernommen wird, ich habe nur etwas dagegen wenn Andy das Ganze übernimmt, da er mir schon einmal für einen anderen MOD Quellcode geklaut und mein Copyright entfernt hat.

So, jetzt zur Erklärung:
  • 1: Die SQL-Abfrage wurde insoweit verändert, dass auch die Berechtigungsrollen der jeweiligen Gruppen herangezogen werden. Dadurch kann man feststellen, welche Gruppe welche Berechtigungen inne hat.
  • 2: Die Rollen werden im $group-Array gespeichert.
  • 3 u. 4: Muss geändert werden, damit die Gruppenauswahlbox jede Gruppe nur einmal anzeigt.
  • 5: Anstatt nur abzufragen ob ein Benutzer in der Gruppe mit der ID 4 oder 5 ist, wird mit diesem IF ganz einfach abgefragt welche Berechtigungen die Gruppe des Benutzers hat. Hat die Benutzergruppe 'a_'-Rechte, hat der Benutzer Admin-Rechte. 'm_'-Rechte stehen für Moderatoren-Rechte. Es werden also keine festen Gruppen-IDs mehr überprüft.
  • 6: Im Endeffekt das gleiche wie Edit 3, nur dass es sich hier um die Farbe des Benutzernamens handelt.
  • 7: Wenn es keine Events gibt, wurde $event vorher noch nicht definiert, weshalb sizeof() auch nicht herausfinden kann wie groß das Array $event ist. Wenn $event vorher noch nicht definiert wurde, ist $num_events einfach 0.
Eine Update-Anleitung könnte man schon installieren, allerdings würde ich an eurer Stelle das ganze Paket noch einmal überarbeiten. Anpassungen für die Deutsche Sprache, sowie für Subsilver2 gehören z.B. in eine eigene Installationsdatei. Diese Anleitungen kommen dann in den Contrib-Ordner.

edit:
@wintstar: Probier mal meinen Bugfix aus. Danach sollte das ganze eigentlich normal laufen.

edit2: Die Installationsdatei ist auch noch auf einem ModX-Standard von vor ca. einem Jahr.

Re: Phoogle

Verfasst: 09.08.2009 20:46
von Gast234254
marc1706 hat geschrieben:Ich habe nichts dagegen, wenn das ganze in euer Paket übernommen wird, ich habe nur etwas dagegen wenn Andy das Ganze übernimmt, da er mir schon einmal für....
hab deine änderung übernommen und in der drop-down liste hat ich 5x den admin drinn, 5x den moderator und auch regestrierte mitglieder und auch den coppa user. bei den von mir erstellten gruppen hat ich jeweils doppelt drinn.

eine eingabemaske im acp wäre vielleicht doch besser, wo jeder die gruppen id der jeweiligen system gruppen eingegeben kann.
stephan

Re: Phoogle

Verfasst: 09.08.2009 21:16
von marc1706
Ach ja, darauf hab ich gar nicht geachtet.

Ist auch nicht so schlimm, kann man ja lösen:
Öffne phoogle.php
Finde:

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 
Und löschen.

Finde:

Code: Alles auswählen

$group_select_box .= '</select>'; 
Davor einfügen:

Code: Alles auswählen

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
} 

Re: Phoogle

Verfasst: 09.08.2009 21:48
von Gast234254
prima 0.4.1 drüber gebügelt und marc1706 änderungen getätigt, jetzt funktionierts. DANKE an alle Beteiligten :)

gruß
stephan

Re: Phoogle

Verfasst: 09.08.2009 22:32
von ups
marc1706 hat geschrieben:Ich habe nichts dagegen, wenn das ganze in euer Paket übernommen wird, ich habe nur etwas dagegen wenn Andy das Ganze übernimmt, da er mir schon einmal für einen anderen MOD Quellcode geklaut und mein Copyright entfernt hat.
im prinzip wär mir das so hoch wie breit.....
anscheinend ist der @andy dafür bekannt (wie so einige hier in phpbb.de) das sie mods anfangen aber nicht beenden (da hilft auch keine nick änderung *fg).
andy macht die englische version, und macht nur user den mund wässrig ohne es zu beenden, und darauf bleibt er sitzen.

wie wärs denn die version auf deutsch vorran zu treiben und soweit als rc bzw. final raus zu bringen und zu präsentieren?

ob die leute andy oder gustelhusten heißen, die müssen es vom deutschen aufs englische erst übersetzen. und ne fertige version ist ne fertige version, da kann man nicht einfach seinen servus daruntersetzen.
wers denoch macht ist ein dau, das weiß doch jeder......

liebe grüße
ups

ps: ich würds mir überlegen sich hier einzubringen, es lohnt sich auf alle fälle, und wenn du @marc1706 darauf dein copyright setzen willst ist mir das mehr als recht, hauptsache der mod wird mal fertig, er ist eh ABD mommentan und herrenlos.
also schnapp ihn dir ! :-)

Re: Phoogle

Verfasst: 09.08.2009 22:54
von Gast234254
ups hat geschrieben:
marc1706 hat geschrieben:Ich habe nichts dagegen, wenn das ganze in euer Paket übernommen wird, ich habe nur etwas dagegen wenn Andy das Ganze übernimmt, da er mir schon einmal für einen anderen MOD Quellcode geklaut und mein Copyright entfernt hat.
im prinzip wär mir das so hoch wie breit.....
anscheinend ist der @andy dafür bekannt (wie so einige hier in phpbb.de) das sie mods anfangen aber nicht beenden (da hilft auch keine nick änderung *fg).
andy macht die englische version, und macht nur user den mund wässrig ohne es zu beenden, und darauf bleibt er sitzen.

...
passat ist bereits schon dran eine erweiterung mit wetter und routenplaner auf die beine zu stellen

gruß
stephan

Re: Phoogle

Verfasst: 09.08.2009 23:03
von Passat
wintstar hat geschrieben: passat ist bereits schon dran eine erweiterung mit wetter und routenplaner auf die beine zu stellen
Das kann aber noch einige Wochen dauern, erst einmal mache ich Urlaub.