Add EmailLogListPage
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / lib / data / IMessageQuickReplyAction.class.php
CommitLineData
d45eaff6 1<?php
a9229942 2
d45eaff6 3namespace wcf\data;
a9229942 4
d85b1843 5use wcf\system\html\input\HtmlInputProcessor;
d45eaff6
MW
6
7/**
8 * Default interface for actions implementing quick reply.
a9229942
TD
9 *
10 * @author Alexander Ebert
11 * @copyright 2001-2019 WoltLab GmbH
12 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
13 * @package WoltLabSuite\Core\Data
d45eaff6 14 */
a9229942
TD
15interface IMessageQuickReplyAction
16{
17 /**
18 * Creates a new message object.
19 *
20 * @return DatabaseObject
21 */
22 public function create();
23
24 /**
25 * Returns the current html input processor or a new one if `$message` is not null.
26 *
27 * @param string|null $message source message
28 * @return HtmlInputProcessor
29 */
30 public function getHtmlInputProcessor($message = null);
31
32 /**
33 * Returns a message list object.
34 *
35 * @param DatabaseObject $container
36 * @param int $lastMessageTime
37 * @return DatabaseObjectList
38 */
39 public function getMessageList(DatabaseObject $container, $lastMessageTime);
40
41 /**
42 * Returns page no for given container object.
43 *
44 * @param DatabaseObject $container
45 * @return array
46 */
47 public function getPageNo(DatabaseObject $container);
48
49 /**
50 * Returns the redirect url.
51 *
52 * @param DatabaseObject $container
53 * @param DatabaseObject $message
54 * @return string
55 */
56 public function getRedirectUrl(DatabaseObject $container, DatabaseObject $message);
57
58 /**
59 * Validates the message.
60 *
61 * @param DatabaseObject $container
62 * @param HtmlInputProcessor $htmlInputProcessor
63 */
64 public function validateMessage(DatabaseObject $container, HtmlInputProcessor $htmlInputProcessor);
65
66 /**
67 * Creates a new message and returns it.
68 *
69 * @return array
70 */
71 public function quickReply();
72
73 /**
74 * Validates the container object for quick reply.
75 *
76 * @param DatabaseObject $container
77 */
78 public function validateContainer(DatabaseObject $container);
79
80 /**
81 * Validates parameters for quick reply.
82 */
83 public function validateQuickReply();
d45eaff6 84}