-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 7169d3d
Showing
17 changed files
with
506 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# Ignore all test and documentation for archive | ||
/.github export-ignore | ||
/.gitattributes export-ignore | ||
/.gitignore export-ignore | ||
/.scrutinizer.yml export-ignore | ||
/.travis.yml export-ignore | ||
/phpunit.xml.dist export-ignore | ||
/tests export-ignore | ||
/docs export-ignore |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# These are supported funding model platforms | ||
|
||
github: [klimov-paul] | ||
patreon: klimov_paul |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
### What steps will reproduce the problem? | ||
|
||
### What is the expected result? | ||
|
||
### What do you get instead? | ||
|
||
### Additional info | ||
|
||
| Q | A | ||
|-----------------------| --- | ||
| This Package Version | 1.?.? | ||
| Yii Framework Version | 1.1.? | ||
| PHP version | | ||
| Operating system | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
| Q | A | ||
| ------------- | --- | ||
| Is bugfix? | ✔️/❌ | ||
| New feature? | ✔️/❌ | ||
| Breaks BC? | ✔️/❌ | ||
| Tests pass? | ✔️/❌ | ||
| Fixed issues | comma-separated list of tickets # fixed by the PR, if any |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
name: build | ||
|
||
on: [push, pull_request] | ||
|
||
jobs: | ||
phpunit: | ||
name: PHP ${{ matrix.php }} on ${{ matrix.os }} | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-latest] | ||
php: ['7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3'] | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Install PHP | ||
uses: shivammathur/setup-php@v2 | ||
with: | ||
php-version: ${{ matrix.php }} | ||
extensions: mbstring | ||
tools: composer:v2 | ||
coverage: none | ||
|
||
- name: Install dependencies | ||
run: | | ||
composer update --prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi | ||
- name: Run unit tests | ||
run: vendor/bin/phpunit --colors=always |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# phpstorm project files | ||
.idea | ||
|
||
# netbeans project files | ||
nbproject | ||
|
||
# zend studio for eclipse project files | ||
.buildpath | ||
.project | ||
.settings | ||
|
||
# windows thumbnail cache | ||
Thumbs.db | ||
|
||
# composer vendor dir | ||
/vendor | ||
|
||
/composer.lock | ||
|
||
# composer itself is not needed | ||
composer.phar | ||
|
||
# Mac DS_Store Files | ||
.DS_Store | ||
|
||
# phpunit itself is not needed | ||
phpunit.phar | ||
# local phpunit config | ||
/phpunit.xml | ||
# phpunit cache | ||
.phpunit.result.cache | ||
|
||
# test runtime files | ||
/.phpunit.cache | ||
/tests/runtime |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
Yii1 Symfony Mailer extension | ||
============================= | ||
|
||
1.0.0 Under Development | ||
----------------------- | ||
|
||
- Initial release. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
This is free software. It is released under the terms of the | ||
following BSD License. | ||
|
||
Copyright © 2023 by Yii1Tech (https://github.com/yii1tech) | ||
All rights reserved. | ||
|
||
Redistribution and use in source and binary forms, with or without | ||
modification, are permitted provided that the following conditions | ||
are met: | ||
|
||
* Redistributions of source code must retain the above copyright | ||
notice, this list of conditions and the following disclaimer. | ||
* Redistributions in binary form must reproduce the above copyright | ||
notice, this list of conditions and the following disclaimer in | ||
the documentation and/or other materials provided with the | ||
distribution. | ||
* Neither the name of Yii1Tech nor the names of its | ||
contributors may be used to endorse or promote products derived | ||
from this software without specific prior written permission. | ||
|
||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | ||
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | ||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | ||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN | ||
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
POSSIBILITY OF SUCH DAMAGE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
<p align="center"> | ||
<a href="https://github.com/yii1tech" target="_blank"> | ||
<img src="https://avatars.githubusercontent.com/u/134691944" height="100px"> | ||
</a> | ||
<h1 align="center">Symfony Mailer Extension for Yii 1</h1> | ||
<br> | ||
</p> | ||
|
||
This extension provides integration of [Symfony Mailer](https://symfony.com/doc/current/mailer.html) in the Yii1 application. | ||
|
||
For license information check the [LICENSE](LICENSE.md)-file. | ||
|
||
[![Latest Stable Version](https://img.shields.io/packagist/v/yii1tech/mailer.svg)](https://packagist.org/packages/yii1tech/mailer) | ||
[![Total Downloads](https://img.shields.io/packagist/dt/yii1tech/mailer.svg)](https://packagist.org/packages/yii1tech/mailer) | ||
[![Build Status](https://github.com/yii1tech/mailer/workflows/build/badge.svg)](https://github.com/yii1tech/mailer/actions) | ||
|
||
|
||
Installation | ||
------------ | ||
|
||
The preferred way to install this extension is through [composer](http://getcomposer.org/download/). | ||
|
||
Either run | ||
|
||
``` | ||
php composer.phar require --prefer-dist yii1tech/mailer | ||
``` | ||
|
||
or add | ||
|
||
```json | ||
"yii1tech/mailer": "*" | ||
``` | ||
|
||
to the "require" section of your composer.json. | ||
|
||
|
||
Usage | ||
----- | ||
|
||
This extension |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
{ | ||
"name": "yii1tech/mailer", | ||
"description": "Provides integration of Symfony Mailer in the Yii1 application", | ||
"keywords": ["yii1", "mailer", "mail", "email", "template", "symfony"], | ||
"license": "BSD-3-Clause", | ||
"support": { | ||
"issues": "https://github.com/yii1tech/mailer/issues", | ||
"wiki": "https://github.com/yii1tech/mailer/wiki", | ||
"source": "https://github.com/yii1tech/mailer" | ||
}, | ||
"authors": [ | ||
{ | ||
"name": "Paul Klimov", | ||
"email": "[email protected]" | ||
} | ||
], | ||
"require": { | ||
"php": ">=7.1", | ||
"yiisoft/yii": "~1.1.0", | ||
"symfony/mailer": ">=4.3" | ||
}, | ||
"require-dev": { | ||
"phpunit/phpunit": "^6.0 || ^7.0 || ^8.0 || ^9.3 || ^10.0.7" | ||
}, | ||
"autoload": { | ||
"psr-4": { | ||
"yii1tech\\mailer\\": "src" | ||
} | ||
}, | ||
"autoload-dev": { | ||
"psr-4": { | ||
"yii1tech\\mailer\\test\\": "tests" | ||
} | ||
}, | ||
"extra": { | ||
"branch-alias": { | ||
"dev-master": "1.0.x-dev" | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<phpunit bootstrap="./tests/bootstrap.php" | ||
colors="true" | ||
backupGlobals="false" | ||
backupStaticProperties="false" | ||
processIsolation="false" | ||
cacheDirectory=".phpunit.cache" | ||
stopOnError="false" | ||
stopOnFailure="false"> | ||
<testsuites> | ||
<testsuite name="Yii1tech Test Suite"> | ||
<directory>./tests</directory> | ||
</testsuite> | ||
</testsuites> | ||
</phpunit> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
<?php | ||
|
||
namespace yii1tech\mailer; | ||
|
||
use CApplicationComponent; | ||
use Symfony\Component\Mailer\Envelope; | ||
use Symfony\Component\Mailer\Mailer as SymfonyMailer; | ||
use Symfony\Component\Mailer\Transport; | ||
use Symfony\Component\Mailer\Transport\TransportInterface; | ||
use Symfony\Component\Mime\RawMessage; | ||
|
||
/** | ||
* @see https://symfony.com/doc/current/mailer.html | ||
* | ||
* @author Paul Klimov <[email protected]> | ||
* @since 1.0 | ||
*/ | ||
class Mailer extends CApplicationComponent | ||
{ | ||
/** | ||
* @var string the DSN string for the mail transport creation. | ||
* For example: | ||
* | ||
* - 'smtp://user:[email protected]:25' | ||
* - 'sendmail://default' | ||
* | ||
* Note: this property will have no effect in case {@see $transport} property is explicitly set. | ||
*/ | ||
public $dsn; | ||
|
||
/** | ||
* @var \Symfony\Component\Mailer\Mailer Swift mailer instance. | ||
*/ | ||
private $_symfonyMailer; | ||
/** | ||
* @var \Symfony\Component\Mailer\Transport\TransportInterface|\Closure|string|null transport instance or its class name or factory PHP callback. | ||
*/ | ||
private $_transport; | ||
|
||
public function send(RawMessage $message, ?Envelope $envelope = null): void | ||
{ | ||
$this->getSymfonyMailer()->send($message, $envelope); | ||
} | ||
|
||
public function setSymfonyMailer(?SymfonyMailer $symfonyMailer): self | ||
{ | ||
$this->_symfonyMailer = $symfonyMailer; | ||
|
||
return $this; | ||
} | ||
|
||
public function getSymfonyMailer(): SymfonyMailer | ||
{ | ||
if ($this->_symfonyMailer === null) { | ||
$this->_symfonyMailer = $this->createSymfonyMailer(); | ||
} | ||
|
||
return $this->_symfonyMailer; | ||
} | ||
|
||
protected function createSymfonyMailer(): SymfonyMailer | ||
{ | ||
return new SymfonyMailer($this->getTransport()); | ||
} | ||
|
||
/** | ||
* @param \Symfony\Component\Mailer\Transport\TransportInterface|\Closure|string|null $transport transport instance or its class name or factory PHP callback. | ||
* @return static self reference. | ||
*/ | ||
public function setTransport($transport): self | ||
{ | ||
$this->_transport = $transport; | ||
|
||
return $this; | ||
} | ||
|
||
/** | ||
* @return \Symfony\Component\Mailer\Transport\TransportInterface mail transport instance. | ||
*/ | ||
public function getTransport(): TransportInterface | ||
{ | ||
if (empty($this->_transport)) { | ||
if (empty($this->dsn)) { | ||
throw new \LogicException('Either "' . get_class($this) . '::$dsn" or "' . get_class($this) . '::$transport" property should be set.'); | ||
} | ||
|
||
$this->_transport = Transport::fromDsn($this->dsn); | ||
|
||
return $this->_transport; | ||
} | ||
|
||
if (!is_object($this->_transport) || $this->_transport instanceof \Closure) { | ||
$this->_transport = $this->createTransport($this->_transport); | ||
} | ||
|
||
return $this->_transport; | ||
} | ||
|
||
protected function createTransport($config): TransportInterface | ||
{ | ||
if (is_callable($config)) { | ||
return call_user_func($config); | ||
} | ||
|
||
if (is_string($config)) { | ||
return new $config; | ||
} | ||
|
||
throw new \LogicException('Transport configuration should be either a factory callback or a string class name.'); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
<?php | ||
|
||
namespace yii1tech\mailer; | ||
|
||
use Symfony\Component\Mime\Email; | ||
|
||
/** | ||
* @author Paul Klimov <[email protected]> | ||
* @since 1.0 | ||
*/ | ||
class TemplatedEmail extends Email | ||
{ | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
<?php | ||
|
||
namespace yii1tech\mailer; | ||
|
||
/** | ||
* @author Paul Klimov <[email protected]> | ||
* @since 1.0 | ||
*/ | ||
class ViewRenderer extends \CBaseController | ||
{ | ||
/** | ||
* {@inheritDoc} | ||
*/ | ||
public function getViewFile($viewName) | ||
{ | ||
// TODO: Implement getViewFile() method. | ||
} | ||
} |
Oops, something went wrong.