/** * Refreshes username after setting a new one. * * @param WiseChatUser $user * * @return null */ private function refreshNewUserName($user) { WiseChatContainer::load('dao/criteria/WiseChatMessagesCriteria'); $this->refreshUserName($user); $this->messagesDAO->updateUserNameByCriteria($user->getName(), WiseChatMessagesCriteria::build()->setUserId($user->getId())); /** @var WiseChatRenderer $renderer */ $renderer = WiseChatContainer::get('rendering/WiseChatRenderer'); $criteria = new WiseChatMessagesCriteria(); $criteria->setUserId($user->getId()); $messages = $this->messagesDAO->getAllByCriteria($criteria); if (count($messages) > 0) { $messagesIds = array(); $renderedUserName = null; foreach ($messages as $message) { $messagesIds[] = $message->getId(); if ($renderedUserName === null) { $renderedUserName = $renderer->getRenderedUserName($message); } } $this->actions->publishAction('replaceUserNameInMessages', array('renderedUserName' => $renderedUserName, 'messagesIds' => $messagesIds)); } }
/** * Deletes all messages from specified channel. * Images connected to the messages (WordPress Media Library attachments) are also deleted. * * @param string $channelName Name of the channel * * @return null */ public function deleteByChannel($channelName) { $this->messagesDAO->deleteAllByCriteria(WiseChatMessagesCriteria::build()->setChannelName($channelName)->setIncludeAdminMessages(true)); $this->attachmentsService->deleteAttachmentsByChannel($channelName); }