dba = $dba; $this->directMessage = $directMessage; } protected function rawContent(array $request = []) { $this->checkAllowedScope(self::SCOPE_READ); $uid = self::getCurrentUserID(); $request = $this->getRequest([ 'searchstring' => '', ], $request); // error if no searchstring specified if ($request['searchstring'] == '') { $answer = ['result' => 'error', 'message' => 'searchstring not specified']; $this->response->addFormattedContent('direct_message_search', ['$result' => $answer], $this->parameters['extension'] ?? null); return; } // get data for the specified searchstring $mails = $this->dba->selectToArray('mail', ['id'], ["`uid` = ? AND `body` LIKE ?", $uid, '%' . $request['searchstring'] . '%'], ['order' => ['id' => true]]); // message if nothing was found if (!DBA::isResult($mails)) { $success = ['success' => false, 'search_results' => 'nothing found']; } else { $ret = []; foreach ($mails as $mail) { $ret[] = $this->directMessage->createFromMailId($mail['id'], $uid, $this->getRequestValue($request, 'getText', '')); } $success = ['success' => true, 'search_results' => $ret]; } $this->response->addFormattedContent('direct_message_search', ['$result' => $success], $this->parameters['extension'] ?? null); } }