Phoogle

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
marc1706
phpBB.com
Beiträge: 323
Registriert: 20.08.2008 11:11
Wohnort: München
Kontaktdaten:

Re: Phoogle

Beitrag 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.
Zuletzt geändert von marc1706 am 09.08.2009 21:18, insgesamt 1-mal geändert.
phpBB Lead Developer
Benutzeravatar
jw1hal
Mitglied
Beiträge: 256
Registriert: 08.07.2007 18:50

Re: Phoogle

Beitrag 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.
Wer lesen kann ist klar im Vorteil!
Gast234254
Gesperrt
Beiträge: 1999
Registriert: 08.02.2009 22:58

Re: Phoogle

Beitrag 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
Benutzeravatar
marc1706
phpBB.com
Beiträge: 323
Registriert: 20.08.2008 11:11
Wohnort: München
Kontaktdaten:

Re: Phoogle

Beitrag 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.
Zuletzt geändert von marc1706 am 09.08.2009 21:24, insgesamt 1-mal geändert.
phpBB Lead Developer
Gast234254
Gesperrt
Beiträge: 1999
Registriert: 08.02.2009 22:58

Re: Phoogle

Beitrag 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
Benutzeravatar
marc1706
phpBB.com
Beiträge: 323
Registriert: 20.08.2008 11:11
Wohnort: München
Kontaktdaten:

Re: Phoogle

Beitrag 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
} 
phpBB Lead Developer
Gast234254
Gesperrt
Beiträge: 1999
Registriert: 08.02.2009 22:58

Re: Phoogle

Beitrag von Gast234254 »

prima 0.4.1 drüber gebügelt und marc1706 änderungen getätigt, jetzt funktionierts. DANKE an alle Beteiligten :)

gruß
stephan
Benutzeravatar
ups
Mitglied
Beiträge: 990
Registriert: 06.12.2006 14:57
Wohnort: Basel/Freiburg Land

Re: Phoogle

Beitrag 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 ! :-)
[FINAL] Impressum Dinseprinz 0.1.8 http://www.phpbb.de/community/viewtopic ... 52&start=0
[Final] Linkverzeichnis Mod Phpbb Annuaire v0.2.1 http://www.phpbb.de/community/viewtopic ... 17&start=0
Gast234254
Gesperrt
Beiträge: 1999
Registriert: 08.02.2009 22:58

Re: Phoogle

Beitrag 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
Passat
Mitglied
Beiträge: 636
Registriert: 26.03.2008 17:50

Re: Phoogle

Beitrag 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.
Antworten

Zurück zu „[3.0.x] Mod Support“