1. Go to this page and download the library: Download yii2tech/activemail library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
namespace app\mail\active;
use yii2tech\activemail\ActiveMessage;
use Yii;
class ContactUs extends ActiveMessage
{
public $name;
public $email;
public $message;
public $subject;
public function rules()
{
return [
[$this->attributes, 'ject()
{
return 'Contact: {subject}';
}
public function defaultBodyHtml()
{
return <<<BODY
Email: <a href="mailto:{email}">{email}</a><br>
Name: {name}<br>
<hr>
{subject}
<hr>
{message}
BODY;
}
}
use app\mail\active\ContactUs;
// ...
public function actionContact()
{
$model = new ContactUs();
if ($model->load(Yii::$app->request->post()) && $model->send()) {
Yii::$app->session->setFlash('contactFormSubmitted');
return $this->refresh();
}
return $this->render('contact', [
'model' => $model,
]);
}
class ContactUs extends ActiveMessage
{
// ...
public function templateName()
{
return Yii::$app->language . DIRECTORY_SEPARATOR . 'ContactUs';
}
}
use yii\base\Model;
use yii\data\ArrayDataProvider;
use yii2tech\activemail\TemplateModelFinder;
use app\models\MailTemplate;
class MailTemplateSearch extends Model
{
public $name;
public $subject;
public function search()
{
// get raw data
$finder = new TemplateModelFinder([
'activeRecordClass' => MailTemplate::className();
]);
$models = $finder->findAllTemplateModels();
// filter list :
$filterModel = $this;
$models = array_filter($models, function ($model) use ($filterModel) {
/* @var $model MailTemplate */
if (!empty($filterModel->name)) {
if ($filterModel->name != $model->name) {
return false;
}
}
if (!empty($filterModel->subject)) {
if (strpos($model->subject, $filterModel->subject) === false) {
return false;
}
}
return true;
});
// compose data provider
return new ArrayDataProvider([
'allModels' => $models,
'sort' => [
'attributes' => ['name', 'subject'],
],
]);
}
}
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use Yii;
use app\models\MailTemplate;
use app\models\MailTemplateSearch;
class MailTemplateController extends Controller
{
public function actionIndex()
{
$searchModel = new MailTemplateSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
public function actionUpdate($name)
{
$finder = new TemplateModelFinder([
'activeRecordClass' => MailTemplate::className();
]);
$model = $finder->findTemplateModel($name);
if ($model === null) {
throw new NotFoundHttpException('The requested page does not exist.');
}
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['index']);
}
return $this->render('update', [
'model' => $model,
]);
}
}
php composer.phar
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.