BBCode Berechtigung nur in viewtopic prüfen

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Benutzeravatar
canonknipser
Ehemaliges Teammitglied
Beiträge: 2053
Registriert: 10.09.2011 11:14
Kontaktdaten:

Re: BBCode Berechtigung nur in viewtopic prüfen

Beitrag von canonknipser »

Klammern richtig gesetzt? und ist stärker als oder, also ggf.

Code: Alles auswählen

    public function check_quote_permissions($event)
    {
        if ($this->user->page['page_name'] == 'posting.' .$this->php_ext && ($this->config['quote_enable'] == 0 || $this->config['noquote_lastpost_perm_phpbb']) && !$this->auth->acl_gets('u_view_quote_bbcode'))
        {
            $event['parser']->disable_bbcode('quote');
        }
    }
 
Grüße, canonknipser
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived ;) - Bilder
Kein Support via PN, nur im Board und (manchmal) im IRC
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: BBCode Berechtigung nur in viewtopic prüfen

Beitrag von BNa »

Hallo nochmal @ Kirk,
ich hatte kurz vor Deiner Antwort nochmal editiert.

Eventuell hast Du mein Post nicht in der letzten Fassung gelesen (Strg+F5)?

viewtopic.php?f=140&t=243358&p=1397260#p1397256

Dortige Ansätze mal probiert?

Also a la

Code: Alles auswählen

    public function check_quote_permissions($event)
    {
         $posting_true   = ($this->user->page['page_name'] == 'posting.' .$this->php_ext) ? true : false;
        $viewtopic_true = ($this->user->page['page_name'] == 'viewtopic.' .$this->php_ext) ? true : false;

         if ($posting_true || $viewtopic_true)
        {
            if ($this->config['quote_enable'] == 0 || $this->config['noquote_lastpost_perm_phpbb'] && !$this->auth->acl_gets('u_view_quote_bbcode'))
            {
                $event['parser']->disable_bbcode('quote');
            }
        }
    } 
bzw

Code: Alles auswählen

    public function check_quote_permissions($event)
    {
    $us_erpage = $this->user->data['session_page'];
     $us_erpage = strstr($us_erpage, '.', true);

if (($us_erpage = 'viewtopic') || ($us_erpage = 'posting'))
     {
            if ($this->config['quote_enable'] == 0 || $this->config['noquote_lastpost_perm_phpbb'] && !$this->auth->acl_gets('u_view_quote_bbcode'))
            {
                $event['parser']->disable_bbcode('quote');
            }
        }
    }
statt

Code: Alles auswählen

    public function check_quote_permissions($event)
    {
 if ($this->user->page['page_name'] == 'posting.' .$this->php_ext || $this->user->page['page_name'] == 'viewtopic.' .$this->php_ext)
        {
            if ($this->config['quote_enable'] == 0 || $this->config['noquote_lastpost_perm_phpbb'] && !$this->auth->acl_gets('u_view_quote_bbcode'))
            {
                $event['parser']->disable_bbcode('quote');
            }
        }
    } 
canonknipser hat geschrieben:Klammern richtig gesetzt? und ist stärker als oder, also ggf.
Genau, Klammersetzung ist auch wichtig (operatorenmäßig) :geek:

Hier zb so?

Code: Alles auswählen

 if (($this->config['quote_enable'] == 0 || $this->config['noquote_lastpost_perm_phpbb']) && !($this->auth->acl_gets('u_view_quote_bbcode')))
Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 7868
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: BBCode Berechtigung nur in viewtopic prüfen

Beitrag von Kirk »

canonknipser hat geschrieben:Klammern richtig gesetzt? und ist stärker als oder
Ist mir bewusst, Klamern sind richtig gesetzt.
@BNa
Ich hatte deinen Beitrag in der letzten Fassung gelesen.
So wird es in posting und bei PN´s angezeigt:

Code: Alles auswählen

    public function check_quote_permissions($event)
    {
        $user_page = $this->user->data['session_page'];
        $user_page = strstr($user_page, '.', true);

        if (($user_page = 'posting'))
        {
            if ($this->config['quote_enable'] == 0 || $this->config['noquote_lastpost_perm_phpbb'] && !$this->auth->acl_gets('u_view_quote_bbcode'))
            {
                $event['parser']->disable_bbcode('quote');
            }
        }
    }
 

So wird es korrekt nur in posting angezeigt:

Code: Alles auswählen

    public function check_quote_permissions($event)
    {
        $posting_true = ($this->user->page['page_name'] == 'posting.' .$this->php_ext);
        if ($posting_true)
        {
            if ($this->config['quote_enable'] == 0 || $this->config['noquote_lastpost_perm_phpbb'] && !$this->auth->acl_gets('u_view_quote_bbcode'))
            {
                $event['parser']->disable_bbcode('quote');
            }
        }
    }
 

Code: Alles auswählen

    public function check_quote_permissions($event)
    {
        if ($this->user->page['page_name'] == 'posting.' .$this->php_ext)
        {
            if ($this->config['quote_enable'] == 0 || $this->config['noquote_lastpost_perm_phpbb'] && !$this->auth->acl_gets('u_view_quote_bbcode'))
            {
                $event['parser']->disable_bbcode('quote');
            }
        }
    }
 
Vielleicht liegt es daran dass man im ACP Modul global die quote Funktion im Beiträgen deaktivieren oder über die Benutzerrechte/Gruppenrechte regeln kann.
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: BBCode Berechtigung nur in viewtopic prüfen

Beitrag von BNa »

Also reichen die Lösungen als Ansätze Jetzt (im Zweifelsfalle > Kaskadierung der Bedingungen?)
oder gibt es (noch) ein explizites Problem?
Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 7868
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: BBCode Berechtigung nur in viewtopic prüfen

Beitrag von Kirk »

All meine Test liefen zur vollsten Zufriedenheit, momentan keine Probleme. Es sei denn mir fällt diese oder jene Funktion noch ein. :lol:
Besten Dank für deine Hilfe! :)
Antworten

Zurück zu „Extension Bastelstube“