Event in getPostPreview

  • Hi,

    ich stehe gerade auf der Leitung. Ich will in die getPostPreview Methode eine eigene Validierung einsetzen, welche die Vorschau unter bestimmten Bedingungen verhindert (permissionDenied).

    Wenn ich mit dem EventListener in validateAction@ThreadAction und darin

    Code
    if ($eventObj->getActionName() == 'getPostPreview') {
           wcfDebug($eventObj);
    }

    ausführe, erhalte ich nur ein Undefined.

    Vielleicht kann mir da jemand einen Gedankenstoß geben :)


    ~LG Fabi


    ps. Alexander Ebert es gibt kein Label für WCF 5.1

  • Hab jetzt auch direkt nach dem if (... validateAction) ein Debug gesetzt, auch undefined.

  • Code
    <eventlistener name="fhCheckCustomerPreviewPermission">
                <environment>user</environment>
                <eventclassname>wbb\data\thread\ThreadAction</eventclassname>
                <eventname>validateAction</eventname>
                <listenerclassname>wbb\system\event\listener\FhBoardCheckPermission</listenerclassname>
                <inherit>1</inherit>
            </eventlistener>

    Nur allein wcfDebug(); in Z. 39 bringt auch nur ein undefined. Es geht mir speziell um die Vorschau in den Boxen.

  • Dann wirf doch mal einen Blick in den Network-Tab der Developer Tools, dann siehst du dort auch die ursprüngliche Antwort. Ich meine mich entsinnen zu können, dass es speziell für das PostPreview einen separaten Error Handler gibt, der die eigentlich Rückgabe unterdrückt - in der Request siehst du aber alles.

  • Kommt zwar gerade etwas spät, aber danke :)

    Code
    if ($eventObj->getActionName() == 'getPostPreview') {
                    $threadData = new Thread($eventObj->thread->threadID);
                    $boardID = $threadData->boardID;
    
                    $boardData = new Board($boardID);
                    if ($boardData->requiresCustomerLogin && !WCF::getUser()->userID && !$this->customerHasPermission($boardData->fileID)) {
                        throw new PermissionDeniedException();
                    }
                }

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!