get('on_behalf')) { return PermissionManager::currentUserCan('fst_sensitive_data') || PermissionManager::currentUserCan('fst_manage_other_tickets'); } return !!get_current_user_id(); } /** * @param \FluentSupport\Framework\Request\Request $request * @return Boolean */ public function getTicket(Request $request) { return $this->maybePublicSignedRequest($request); } public function createResponse(Request $request) { return $this->maybePublicSignedRequest($request); } public function closeTicket(Request $request) { return $this->maybePublicSignedRequest($request); } public function reOpenTicket(Request $request) { return $this->maybePublicSignedRequest($request); } public function uploadTicketFiles(Request $request) { return $this->maybePublicSignedRequest($request); } /** * @param \FluentSupport\Framework\Request\Request $request * @return Boolean */ protected function maybePublicSignedRequest($request) { if($request->get('intended_ticket_hash') && Helper::isPublicSignedTicketEnabled()) { $ticketHash = sanitize_text_field($request->get('intended_ticket_hash')); if($ticketHash != 'undefined') { $ticketId = absint($request->get('ticket_id')); return !! Ticket::where('hash', $ticketHash)->find($ticketId); } } return $this->verifyRequest($request); } }