Seite 1 von 2

Style wechseln

Verfasst: 09.04.2010 09:36
von GeneralOneill
Hallo Forum,
ich habe seit kurzem ein Mobilportal eingebaut. Jedesmal wenn man jetzt mit dem Handy online geht kommt man bei einem mobilfreundlichen Style heraus. Ist soweit auch gut. Ich habe auch für alle angemeldeten Benutzer einen link eingebaut der auf folgende URL weiterleitet:
http://stargatewissen.lordcruncher.de/index.php?style=6
Style 1 ist prosilver
Style 2, 3, 4, 5 sind nicht belegt.
Style 6 ist das "normale" Style.
Style 8 ist das Mobilestyle.

Wenn man jetzt angemeldet ist und auf den Link klickt, sollte man beim normalen Style rauskommen.
Das klappt aber nur bei Administratoren. Was muss ich ändern um das auch für normale Benutzer zu aktivieren?
Hinweis: Benutzerstyle überschreiben ist auf nein gestellt.

Re: Style wechseln

Verfasst: 09.04.2010 10:42
von Frank1604
Hallo,

öffne: includes/session.php
finde:

Code: Alles auswählen

        if (!empty($_GET['style']) && $auth->acl_get('a_styles') && !defined('ADMIN_START')) 
ersetze mit:

Code: Alles auswählen

        if (!empty($_GET['style']) && !defined('ADMIN_START')) 
Das sollte helfen.

Re: Style wechseln

Verfasst: 09.04.2010 11:19
von GeneralOneill
Den code habe ich gefunden und ersetzt.
Und es funktioniert. Danke für den Rat
Für alle anderen die das selbe Problem haben. Meine phpbb Version ist phpbb 3.0.7 PL-1

Re: Style wechseln

Verfasst: 09.04.2010 12:42
von eumelchen
Hallo GeneralOneill,

wie hast Du das denn gelöst das User mit Handy bzw. iPhone usw. auf Deinen "abgemagerten" Style umgeleitet werden?
Würde mich auch interessieren.

LG eumelchen

Re: Style wechseln

Verfasst: 09.04.2010 19:58
von GeneralOneill
Das ist ganz einfach.
Öffne ./include/session.php
Finde

Code: Alles auswählen

     * Setup basic user-specific items (style, language, ...)
    */
    function setup($lang_set = false, $style = false)
    {
      global $db, $template, $config, $auth, $phpEx, $phpbb_root_path, $cache;
Danach einfügen

Code: Alles auswählen

      // begin mobile browser detection mod - by sithnar
      $user_browser = strtolower($this->browser);
      $this->data['is_mobile'] = false;
              $browsers_array = array('240x320', '320x240','blackberry', 'iemobile', 'minimobile', 'mobile', 'opera mini', 'pda', 'nokia', 'phone', 'pocket', 'psp',  'sony', 'samsung', 'windows ce', 'epoc', 'nitro', 'j2me', 'midp', 'cldc', 'netfront', 'mot', 'up.browser', 'audiovox', 'ericsson', 'panasonic', 'philips', 'sanyo', 'sharp', 'android', 'portalmmm', 'blazer', 'avantgo', 'danger', 'series60', 'palmsource', 'pocketpc', 'smartphone', 'rover', 'ipaq', 'au-mic', 'alcatel', 'ericy', 'up.link', 'vodafone', 'wap1.', 'wap2.', 'symbian', 't-shark', 'wireless', 'webOS', 'Pre/', 'Android');
      foreach ($browsers_array as $ua_match)
      {
       if (strpos($user_browser, $ua_match) !== false)
       {
       $style = 3;
        $this->data['is_mobile'] = true;
        break;
       }
      }
      // end mobile browser detection mod
Die 3 bei der Variable Style ersetzt du durch das Style, welches bei dir mobilfreundlich ist. (Ist ganz einfach rauszufinden,so hab ichs auch gemacht. Du installierst das Style und gehst auf die Forenübersicht. In der Adresszeile gibst du hinter inde.php folgendes ein: ?style=1
Die 1 ist prosilver. Die Zahl ersetzt du dann einfach durch 2 und durch 3 und so weiter bis dein Style kommt.)

Öffne ./posting.php

Finde:

Code: Alles auswählen

// Parse Attachments - before checksum is calculated
    $message_parser->parse_attachments('fileupload', $mode, $forum_id, $submit, $preview, $refresh);
Danach einfügen
// begin mobile browser detection mod - by sithnar
if ($user->data['is_mobile'] && $mode != 'edit' && !$preview)
{
$message_parser->message .= "\n\n[ Post made via Mobile Device ] [ externes Bild ]";
}
// end mobile browser detection mod


So fertig. Wenn du willst, das man dein Forum auch im Mobilbrowser im normalen Style sieht, dann änderst du folgende Dateien:
Erstmal das was Frank1604 schon gesagt hat und folgendes:
Öffne: deinmobilstyleordner/template/overall_footer.html
Finde:

Code: Alles auswählen

Powered by <a class="copyright" href="http://www.phpbb.com/">phpBB</a><br />&copy; 2000, 2002, 2005, 2007 phpBB Group<br />
Suche den übergeordneten div-Container oder Tabellenende und füge ein:
Davor einfügen:

Code: Alles auswählen

<center><b><a href="http://deinedomain.de/index.php?style=6">Stargatewissen::Klassisch</a></b></center>
die 6 ersetzt du durch die Style-ID deines "normalen Styles"

Re: Style wechseln

Verfasst: 09.04.2010 20:04
von eumelchen
Vielen Dank, das werde ich jetzt mal testen. Ich habe den Style STG-Mobile gefunden, der müsste doch dafür gut sein, oder?

LG eumelchen

Re: Style wechseln

Verfasst: 11.04.2010 14:14
von GeneralOneill
Den gleichen habe ich auch. Der ist dafür perfekt. Musst halt nur den Banner oben ändern oder du lässt ihn ganz weg ;)

Re: Style wechseln

Verfasst: 12.04.2010 12:20
von eumelchen
So, ich habe es jetzt mal eingebaut und so wie es aussieht funktioniert es hervorragend.
Danke für die Hilfe.

LG eumelchen

Re: Style wechseln

Verfasst: 08.01.2011 16:43
von lancic50
ICh habe ein kleines Problem damit, wenn man die Seite mit den Safari Browser aufruft kommt die Mobileseite und nicht die Hauptseite.
hier ist der Quellecode der das bestimmt, welcher spricht den Safari an?

Code: Alles auswählen

	      // begin mobile browser detection mod - by sithnar
      $user_browser = strtolower($this->browser);
      $this->data['is_mobile'] = false;
              $browsers_array = array('android', 'avantgo', 'blackberry', 'blazer', 'compal', 'elaine', 'fennec', 'hiptop', 'ip(hone|od)', 'iris', 'kindle', 'lge', 'maemo', 'midp', 'mmp', 'mobile', 'o2', 'opera mobi', 'opera m(ob|in)i', 'mobile10', 'palm( os)?', 'p(ixi|re)\/', 'plucker', 'pocket', 'psp', 'smartphone', 'treo', 'up\.(browser|link)', 'vodafone', 'wap', 'windows ce; (iemobile|ppc)', 'apple', 'xiino/i','240x320', '320x240', 'iemobile', 'minimobile', 'mobile',  'pda', 'nokia', 'phone', 'pocket', 'psp',  'sony', 'samsung', 'epoc', 'nitro', 'j2me', 'midp', 'cldc', 'netfront', 'mot', 'up.browser', 'audiovox', 'ericsson', 'panasonic', 'philips', 'sanyo', 'sharp', 'android', 'portalmmm', 'blazer', 'avantgo', 'danger', 'series60', 'iphone', 'opera mini', 'palmsource', 'pocketpc', 'smartphone', 'rover', 'ipaq', 'au-mic', 'alcatel', 'ericy', 'up.link', 'wap1.', 'wap2.', 'symbian', 't-shark', 'wireless', 'webOS', 'Pre/', 'Android');
      foreach ($browsers_array as $ua_match)
      {
       if (strpos($user_browser, $ua_match) !== false)
       {
        $style = 6;
        $this->data['is_mobile'] = true;
        break;
       }
      }
      // end mobile browser detection mod

Re: Style wechseln

Verfasst: 08.01.2011 17:30
von Elsensee
Das müsste der "apple" sein, allerdings wird es dann auch für iPhone und iPod der normale Style angezeigt, wenn du den rausnimmst.
Siehe hier.

Aber ich sehe da ja gerade noch "ip(hone|od)". Von daher müsstest du ohne Probleme den Apple rausnehmen können...

PS: Mit Google Chrome würde ebenfalls diese Mobil-Version angezeigt werden, da die Engine auf dem Webkit von Apple basiert. (Trotzdem ist Chrome schneller...)