dev-master
9999999-dev https://github.com/machour/yii2-google-gmailData providers, widgets and helpers suited for the official GMail Api v1
MIT
The Requires
by Mehdi Achour
yii2 google gmail
Wallogit.com
2017 © Pedro Peláez
Data providers, widgets and helpers suited for the official GMail Api v1
Data providers, widgets and helpers suited for the official GMail Api v1., (*1)
The preferred way to install this extension is through composer., (*2)
Either run, (*3)
php composer.phar require --prefer-dist machour/yii2-google-gmail "*"
or add, (*4)
"machour/yii2-google-gmail": "*"
to the require section of your composer.json file., (*5)
Displaying your latest threads in a grid, (*6)
Controller :, (*7)
public function actionIndex()
{
$pagination = new Pagination();
$dataProvider = new GmailThreadDataProvider([
// Service must be a Google_Service_Gmail instance
// Here, machour/yii2-google-apiclient is used to get that instance
'service' => Yii::$app->gmail->getService(),
'pagination' => $pagination,
]);
$pagination->totalCount = $dataProvider->getTotalCount();
return $this->render('index', [
'dataProvider' => $dataProvider
]);
}
View file :, (*8)
use machour\yii2\google\gmail\widgets\GmailGridView; use machour\yii2\google\gmail\helpers\GmailHelper as GH; use yii\bootstrap\Html; echo GmailGridView::widget([ 'dataProvider' => $dataProvider, 'columns' => [ [ 'attribute' => 'date', 'value' => function ($thread, $key, $index, $widget) { /** @var Google_Service_Gmail_Thread $thread */ return GH::getMessageHeader(GH::getThreadLastMessage($thread), 'Date'); } ], [ 'attribute' => 'sender', 'value' => function ($thread, $key, $index, $widget) { /** @var Google_Service_Gmail_Thread $thread */ return GH::getThreadLastParticipant($thread); } ], [ 'attribute' => 'subject', 'value' => function ($thread, $key, $index, $widget) { /** @var Google_Service_Gmail_Thread $thread */ $subject = GH::getThreadSubject($thread); if (!$subject) { $subject = '<i>' . Yii::t('app', 'No subject') . '</i>'; } return $subject; }, 'format' => 'html', ], [ 'attribute' => 'Number of messages', 'value' => function ($thread, $key, $index, $widget) { /** @var Google_Service_Gmail_Thread $thread */ return GH::getThreadMessagesCount($thread); } ], [ 'attribute' => 'Actions', 'value' => function ($thread, $key, $index, $widget) { /** @var Google_Service_Gmail_Thread $thread */ return Html::a('View thread', ['gmail/thread', 'id' => $thread->getId()]); }, 'format' => 'html', ] ], ]);
Data providers, widgets and helpers suited for the official GMail Api v1
MIT
yii2 google gmail