Class EmailsController
PHP controller that handles the admin/emails page operations. You can also use it to perform email operations from JavaScript by providing encoded JSON arrays with email information from other pages.
category |
System |
---|---|
package |
AdminHttpViewControllers |
__construct(\HttpContextReaderInterface $httpContextReader, \HttpResponseProcessorInterface $httpResponseProcessor, \ContentViewInterface $defaultContentView)
\HttpContextReaderInterface
\HttpResponseProcessorInterface
\ContentViewInterface
_callActionMethod(string $actionName) : \HttpControllerResponseInterface
Throws |
|
---|
string
Name of action method to call, without 'action'-Suffix.
\HttpControllerResponseInterface
Response message.
_getPostData(string $keyName) : string|null
This method is the object oriented layer for $_POST[$keyName].
string
Expected key of post parameter.
string|null
Either the expected value or null, of not found.
_getPostDataCollection() : \KeyValueCollection
_getQueryParameter(string $keyName) : mixed|null
This method is the object oriented layer for $_GET[$keyName].
string
Expected key of query parameter.
mixed|null
Either the expected value or null, of not found.
_getQueryParametersCollection() : \KeyValueCollection
_getServerData(string $keyName) : string|null
This method is the object oriented layer for $_SERVER[$keyName].
string
Expected key of server parameter.
string|null
Either the expected value or null, of not found.
_getTableOrder(array $rule) : string
Since the EmailsController handles the page main table it needs to take care of many operations such as filtering, limiting and ordering. This method will return the correct order string for each table, but needs to be updated if there is a change in the column order.
link |
---|
array
Contains the DataTables order data.
string
Returns the order by value to be used by the CI query builder.
_render(string $templateFile, array $contentArray) : string
string
Template file to render.
array
Content array which represent the variables of the template.
string
Rendered template.
_validatePageToken(string $customExceptionMessage = null)
Example: public function proceed(HttpContextInterface $httpContext) { parent::proceed($httpContext); // proceed http context from parent class if($_SERVER['REQUEST_METHOD'] === 'POST') { $this->_validatePageToken(); // CSRF Protection } }
Throws |
|
---|
string
(optional) You can specify a custom exception message.
actionDataTable() : \JsonHttpControllerResponse
The data returned by this method will be used by the main table of the page which will display the emails records. DataTables will automatically make an AJAX request and display the returned data.
link | |
---|---|
\JsonHttpControllerResponse
Array that contains the table data.
actionDefault() : \HttpControllerResponseInterface
Every controller child class requires at least the default action method, which is invoked when the ::_getQueryParameterData('do') value is not separated by a trailing slash.
Every action method have to return an instance which implements the http controller response interface.
\HttpControllerResponseInterface
actionDelete() : \JsonHttpControllerResponse
Will remove all the email records inside the $_POST['collection'] variable.
\JsonHttpControllerResponse
Returns a success response or exception information.
actionDeleteAttachment() : \JsonHttpControllerResponse
This method requires an array present in the $postDataArray that contain the paths to the server "tmp" attachments to be removed. It will not remove attachments that reside in other directories because they might be used by other email records (e.g. forward existing email with attachments -> user might remove attachment that is used by the original email record causing problems to the system).
\JsonHttpControllerResponse
Returns a success response or exception information.
actionDeleteOldAttachments() : \JsonHttpControllerResponse
This method will filter the emails and remove their attachments on the provided date and before. This is necessary because the admin user needs a way to clean the old unnecessary files from the server and free some extra space. As an extra action this method will empty the "uploads/tmp" directory.
\JsonHttpControllerResponse
Returns a success response or exception information.
actionDeleteOldEmails() : \JsonHttpControllerResponse
This method will delete emails on the provided date and before.
\JsonHttpControllerResponse
Returns a success response or exception information.
actionDownloadAttachment() : \HttpControllerResponse|\AdminPageHttpControllerResponse
This method will provide the required headers for downloading the requested attachment file.
If the requested file is was not found then an error message will be displayed.
\HttpControllerResponse|\AdminPageHttpControllerResponse
actionGet() : \JsonHttpControllerResponse
This method uses the provided $_POST['email_id'] value to fetch the data of the email and return it to the client. It is not used by the admin/emails page but might be useful in other pages.
\JsonHttpControllerResponse
Returns a success response or exception information.
actionGetAttachmentsSize() : \JsonHttpControllerResponse
actionGetEmailSettings() : \JsonHttpControllerResponse
actionQueue() : \JsonHttpControllerResponse
The queue operation will save the email with a pending status. Queue operation will be executed for all the email records inside the $_POST['collection'] variable.
\JsonHttpControllerResponse
Returns a success response or exception information.
actionSend() : \JsonHttpControllerResponse
This method expects the $_POST['collection'] array to be present, containing email records to be send. Check the "EmailParser" class to see the expected JSON format.
\JsonHttpControllerResponse
Returns a success response or exception information.
actionUploadAttachment() : \JsonHttpControllerResponse
The $_FILES array contains information about the file that was uploaded. When an email file is uploaded it is stored in the "uploads/tmp" directory until the email is created and then is is moved to its own directory. The reason for this algorithm is that we do not want email attachments to be in one place altogether.
\JsonHttpControllerResponse
Returns a success response or exception information.
actionUploadAttachmentWithFileManager() : \JsonHttpControllerResponse
getTemplateFile(string $templateFile) : \ExistingFile
Throws |
|
---|
string
The relative path and filename to search for
\ExistingFile
containing absolute file path to the given template file
proceed(\HttpContextInterface $httpContext)
The action method is determined by the http context reader instance and the current request context. Re-implement this method in child classes to enable XSS and CSRF protection on demand.
see | \HttpContextReaderInterface::getActionName \HttpResponseProcessorInterface::proceed |
---|---|
Throws |
|
validateCurrentAdminStatus()
Throws |
|
---|
emailService : \EmailServiceInterface
httpContextReader : \HttpContextReaderInterface
httpResponseProcessor : \HttpResponseProcessorInterface
queryParametersArray : array
var |
---|
array
postDataArray : array
var |
---|
array
assets : \AssetCollectionInterface
serverDataArray : array
var |
Server data. |
---|
array