90 lines
2.6 KiB
PHP
90 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace App\Utils;
|
|
|
|
use Symfony\Component\Mailer\Exception\TransportExceptionInterface;
|
|
use Symfony\Component\Mailer\MailerInterface;
|
|
use Symfony\Component\Mime\Address;
|
|
use Symfony\Component\Mime\Email;
|
|
|
|
class Utils
|
|
{
|
|
public function sendEmail(MailerInterface $mailer, Address $from, Address $to, string $subject, string $content)
|
|
{
|
|
//$dsn = "smtp://{$_ENV['MAIL_USER']}:{$_ENV['MAIL_PWD']}@{$_ENV['MAIL_SERVER']}:{$_ENV['MAIL_PORT']}";
|
|
//dump($_ENV['MAILER_DSN']);
|
|
//$_ENV['MAILER_DSN'] = $dsn;
|
|
//dump($_ENV['MAILER_DSN']);
|
|
//die;
|
|
|
|
$mail = (new Email())
|
|
->from($from)
|
|
->to($to)
|
|
->subject($subject)
|
|
->replyTo($from)
|
|
->html($content);
|
|
|
|
try {
|
|
$mailer->send($mail);
|
|
} catch (TransportExceptionInterface $e) {
|
|
die($e->getMessage());
|
|
// some error prevented the email sending; display an
|
|
// error message or try to resend the message
|
|
}
|
|
}
|
|
|
|
public static function filePerms($file): string
|
|
{
|
|
$perms = fileperms($file);
|
|
|
|
switch ($perms & 0xF000) {
|
|
case 0xC000: // socket
|
|
$info = 's';
|
|
break;
|
|
case 0xA000: // symbolic link
|
|
$info = 'l';
|
|
break;
|
|
case 0x8000: // regular
|
|
$info = 'r';
|
|
break;
|
|
case 0x6000: // block special
|
|
$info = 'b';
|
|
break;
|
|
case 0x4000: // directory
|
|
$info = 'd';
|
|
break;
|
|
case 0x2000: // character special
|
|
$info = 'c';
|
|
break;
|
|
case 0x1000: // FIFO pipe
|
|
$info = 'p';
|
|
break;
|
|
default: // unknown
|
|
$info = 'u';
|
|
}
|
|
|
|
// Owner
|
|
$info .= (($perms & 0x0100) ? 'r' : '-');
|
|
$info .= (($perms & 0x0080) ? 'w' : '-');
|
|
$info .= (($perms & 0x0040) ?
|
|
(($perms & 0x0800) ? 's' : 'x' ) :
|
|
(($perms & 0x0800) ? 'S' : '-'));
|
|
|
|
// Group
|
|
$info .= (($perms & 0x0020) ? 'r' : '-');
|
|
$info .= (($perms & 0x0010) ? 'w' : '-');
|
|
$info .= (($perms & 0x0008) ?
|
|
(($perms & 0x0400) ? 's' : 'x' ) :
|
|
(($perms & 0x0400) ? 'S' : '-'));
|
|
|
|
// World
|
|
$info .= (($perms & 0x0004) ? 'r' : '-');
|
|
$info .= (($perms & 0x0002) ? 'w' : '-');
|
|
$info .= (($perms & 0x0001) ?
|
|
(($perms & 0x0200) ? 't' : 'x' ) :
|
|
(($perms & 0x0200) ? 'T' : '-'));
|
|
|
|
return $info;
|
|
}
|
|
}
|