mirror of
https://github.com/alextselegidis/easyappointments.git
synced 2024-12-22 14:42:23 +03:00
Corrected translation key
This commit is contained in:
parent
11ab8487cc
commit
ae462c1efb
30 changed files with 449 additions and 120 deletions
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = 'Страницата не е намерена.';
|
|||
$lang['page_not_found_message'] = 'За съжаление търсената от Вас страница не съществува. Моля проверете интернет адреса или посетете друг сегмент като използвате бутоните по-долу.';
|
||||
$lang['error'] = 'Грешка';
|
||||
$lang['no_privileges'] = 'Без привилегии';
|
||||
$lang['no_provileges_message'] = 'Не притежавате нужните привилегии за да достъпите тази страница. Моля посетете друг сегмент.';
|
||||
$lang['no_privileges_message'] = 'Не притежавате нужните привилегии за да достъпите тази страница. Моля посетете друг сегмент.';
|
||||
$lang['backend_calendar'] = 'Административен календар';
|
||||
$lang['start_date_time'] = 'Начало Дата / Час';
|
||||
$lang['end_date_time'] = 'Край Дата / Час';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = '页面没有找到';
|
|||
$lang['page_not_found_message'] = '您所请求的页面不存在,请检查您的浏览器地址或返回.';
|
||||
$lang['error'] = '错误';
|
||||
$lang['no_privileges'] = '没有权限';
|
||||
$lang['no_provileges_message'] = '您没有所需的权限去查看这个页面,请尝试其他页面.';
|
||||
$lang['no_privileges_message'] = '您没有所需的权限去查看这个页面,请尝试其他页面.';
|
||||
$lang['backend_calendar'] = '后台日历';
|
||||
$lang['start_date_time'] = '开始日期/时间';
|
||||
$lang['end_date_time'] = '结束日期/时间';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = 'Siden ikke fundet';
|
|||
$lang['page_not_found_message'] = 'Desværre, den side du søger eksistere ikke. Tjek din browser URL eller gå til en andet sted ved at bruge knappen nedenunder. ';
|
||||
$lang['error'] = 'Error';
|
||||
$lang['no_privileges'] = 'Ingen privilegium';
|
||||
$lang['no_provileges_message'] = 'Du har ikke kravende til at bruge denne side. Vælg en anden gruppe.';
|
||||
$lang['no_privileges_message'] = 'Du har ikke kravende til at bruge denne side. Vælg en anden gruppe.';
|
||||
$lang['backend_calendar'] = 'Backend Kalender';
|
||||
$lang['start_date_time'] = 'Start dato / Tid';
|
||||
$lang['end_date_time'] = 'Slet dato / Tid';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] ='Pagina niet gevonden';
|
|||
$lang['page_not_found_message'] ='Helaas bestaat de door u opgevraagde pagina niet. Controleer aub de locatie in uw browser of ga naar een andere locatie met behulp van de onderstaande knoppen.';
|
||||
$lang['error'] ='Fout';
|
||||
$lang['no_privileges'] ='Geen rechten';
|
||||
$lang['no_provileges_message'] ='Je hebt niet de benodigde rechten om deze pagina te bekijken. Navigeer naar een andere sectie.';
|
||||
$lang['no_privileges_message'] ='Je hebt niet de benodigde rechten om deze pagina te bekijken. Navigeer naar een andere sectie.';
|
||||
$lang['backend_calendar'] ='Backend Kalender';
|
||||
$lang['start_date_time'] ='Start datum/tijd';
|
||||
$lang['end_date_time'] ='Eind datum/tijd';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = 'Page Not Found';
|
|||
$lang['page_not_found_message'] = 'Unfortunately the page you requested does not exist. Please check your browser URL or head to another location using the buttons below.';
|
||||
$lang['error'] = 'Error';
|
||||
$lang['no_privileges'] = 'No Privileges';
|
||||
$lang['no_provileges_message'] = 'You do not have the required privileges to view this page. Please navigate to a different section.';
|
||||
$lang['no_privileges_message'] = 'You do not have the required privileges to view this page. Please navigate to a different section.';
|
||||
$lang['backend_calendar'] = 'Backend Calendar';
|
||||
$lang['start_date_time'] = 'Start Date / Time';
|
||||
$lang['end_date_time'] = 'End Date / Time';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = 'Sivua ei löytynyt';
|
|||
$lang['page_not_found_message'] = 'Valitettavasti sivua ei löytynyt. Tarkista selaimen osoiterivi tai siirry toiseen sijaintiin alla olevilla painikkeilla.';
|
||||
$lang['error'] = 'Virhe';
|
||||
$lang['no_privileges'] = 'Ei oikeuksia';
|
||||
$lang['no_provileges_message'] = 'Sinulla ei ole oikeuksia katsella tätä sivua. Siirry toiseen osioon.';
|
||||
$lang['no_privileges_message'] = 'Sinulla ei ole oikeuksia katsella tätä sivua. Siirry toiseen osioon.';
|
||||
$lang['backend_calendar'] = 'Taustakalenteri';
|
||||
$lang['start_date_time'] = 'Aloituspäivämäärä ja kellonaika';
|
||||
$lang['end_date_time'] = 'Lopetus päivä ja kellonaika';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = 'Seite Nicht Gefunden';
|
|||
$lang['page_not_found_message'] = 'Leider ist die von Ihnen angeforderte Seite existiert nicht. Bitte überprüfen Sie Ihre Browser-URL oder navigieren Sie zu einem anderen Ort mit den Tasten unten.';
|
||||
$lang['error'] = 'Fehler';
|
||||
$lang['no_privileges'] = 'Unzureichende Berechtigungen';
|
||||
$lang['no_provileges_message'] = 'Sie haben nicht die Berechtigung, diese Seite zu sehen. Bitte wechseln Sie zu einem anderen Abschnitt.';
|
||||
$lang['no_privileges_message'] = 'Sie haben nicht die Berechtigung, diese Seite zu sehen. Bitte wechseln Sie zu einem anderen Abschnitt.';
|
||||
$lang['backend_calendar'] = 'Backend Kalender';
|
||||
$lang['start_date_time'] = 'Start Datum / Zeit';
|
||||
$lang['end_date_time'] = 'Ende Datum / Zeit';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = 'Η Σελίδα Δεν Βρέθηκε';
|
|||
$lang['page_not_found_message'] = 'Δυστυχώς η σελίδα που ζητήσατε δεν υπάρχει. Παρακαλώ ελέγξτε την διεύθυνση του περιηγητή σας ή πηγαίνετε σε κάποια από τις παρακάτω τοποθεσίες.';
|
||||
$lang['error'] = 'Σφάλμα';
|
||||
$lang['no_privileges'] = 'Ανεπαρκή Δικαιώματα';
|
||||
$lang['no_provileges_message'] = 'Δεν έχετε τα απαραίτητα δικαιώματα για να δείτε αυτήν την σελίδα. Παρακαλώ πλοηγηθείτε σε κάποιο άλλο τμήμα.';
|
||||
$lang['no_privileges_message'] = 'Δεν έχετε τα απαραίτητα δικαιώματα για να δείτε αυτήν την σελίδα. Παρακαλώ πλοηγηθείτε σε κάποιο άλλο τμήμα.';
|
||||
$lang['backend_calendar'] = 'Ημερολόγιο Backend';
|
||||
$lang['start_date_time'] = 'Ημ. / Ώρα Έναρξης';
|
||||
$lang['end_date_time'] = 'Ημ. / Ώρα Λήξης';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = 'पृष्ठ नहीं मिला';
|
|||
$lang['page_not_found_message'] = 'दुर्भाग्य से आप का अनुरोध पृष्ठ मौजूद नहीं है। आपके ब्राउज़र URL की जाँच करें या नीचे बटन का उपयोग कर किसी अन्य स्थान पर चलें';
|
||||
$lang['error'] = 'एरर';
|
||||
$lang['no_privileges'] = 'विशेषाधिकार नहीं है';
|
||||
$lang['no_provileges_message'] = 'आप इस पेज को देखने की आवश्यकता विशेषाधिकार नहीं है। एक अलग खंड पर नेविगेट करें';
|
||||
$lang['no_privileges_message'] = 'आप इस पेज को देखने की आवश्यकता विशेषाधिकार नहीं है। एक अलग खंड पर नेविगेट करें';
|
||||
$lang['backend_calendar'] = 'बैकएंड कैलेंडर';
|
||||
$lang['start_date_time'] = 'दिनांक और समय शुरू';
|
||||
$lang['end_date_time'] = 'अंत की तारीख और समय';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = 'Nincs ilyen oldal. ';
|
|||
$lang['page_not_found_message'] = 'Sajnos a keresett oldal nem létezik. Ellenőrizd a beírt URL-t vagy navigálj egy másik oldalra az alábbi gombok segítségével.';
|
||||
$lang['error'] = 'Hiba';
|
||||
$lang['no_privileges'] = 'Nincs jogosultságod. ';
|
||||
$lang['no_provileges_message'] = 'Az oldal megtekintéséhez nincs megfelelő jogosultságod. Navigálj egy másik oldalra.';
|
||||
$lang['no_privileges_message'] = 'Az oldal megtekintéséhez nincs megfelelő jogosultságod. Navigálj egy másik oldalra.';
|
||||
$lang['backend_calendar'] = 'Backend Naptár';
|
||||
$lang['start_date_time'] = 'Kezdés dátuma / ideje';
|
||||
$lang['end_date_time'] = 'Befejezés dátuma / ideje';
|
||||
|
|
|
@ -222,7 +222,7 @@ $lang['page_not_found'] = 'Pagina non trovata';
|
|||
$lang['page_not_found_message'] = 'Sfortunatamente la pagina richiesta non esiste. Controlla lo URL o naviga un indirizzo diverso usando i bottoni posti sotto.';
|
||||
$lang['error'] = 'Errore';
|
||||
$lang['no_privileges'] = 'Nessun privilegio';
|
||||
$lang['no_provileges_message'] = 'Non hai i privilegi richiesti per visualizzare questa pagina. Naviga una sezione differente.';
|
||||
$lang['no_privileges_message'] = 'Non hai i privilegi richiesti per visualizzare questa pagina. Naviga una sezione differente.';
|
||||
$lang['backend_calendar'] = 'Calendario backend';
|
||||
$lang['start_date_time'] = 'Inizio Data / Ora';
|
||||
$lang['end_date_time'] = 'Fine Data / Ora';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = 'ページが見つかりません';
|
|||
$lang['page_not_found_message'] = '要求されたページが見つかりませんでした。ブラウザーのURLを確認するか下のボタンで 別のページへ移動してください。';
|
||||
$lang['error'] = 'エラー';
|
||||
$lang['no_privileges'] = '権限がありません';
|
||||
$lang['no_provileges_message'] = '該当のページを見るための権限がありません。別のページへ移動してください。';
|
||||
$lang['no_privileges_message'] = '該当のページを見るための権限がありません。別のページへ移動してください。';
|
||||
$lang['backend_calendar'] = '管理カレンダー';
|
||||
$lang['start_date_time'] = '開始日/時間';
|
||||
$lang['end_date_time'] = '終了日/時間';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = 'Säit konnt net fonnt ginn';
|
|||
$lang['page_not_found_message'] = 'Leider gëtt et déi vun Iech ugefuedert Säit net. Kontrolléiert w.e.g. Är Browser-URL oder navigéiert op eng aner Plaz.';
|
||||
$lang['error'] = 'Fehler';
|
||||
$lang['no_privileges'] = 'Net déi néideg Rechter';
|
||||
$lang['no_provileges_message'] = 'Dir hutt net déi néideg Rechter fir dës Säit ze gesinn. Wisselt w.e.g. op eng aner Usicht.';
|
||||
$lang['no_privileges_message'] = 'Dir hutt net déi néideg Rechter fir dës Säit ze gesinn. Wisselt w.e.g. op eng aner Usicht.';
|
||||
$lang['backend_calendar'] = 'Backend Kalenner';
|
||||
$lang['start_date_time'] = 'Ufanksdatum / Zäit';
|
||||
$lang['end_date_time'] = 'Schlussdatum / Zäit';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = 'Strona Nie Znaleziona';
|
|||
$lang['page_not_found_message'] = 'Niestey nie znaleziono strony, sprawdź adres url...';
|
||||
$lang['error'] = 'Błąd';
|
||||
$lang['no_privileges'] = 'Brak uprawnień';
|
||||
$lang['no_provileges_message'] = 'Nie masz odpowiednich uprawnień aby zobaczyć tą stronę. Nawiguj do innej sekcji.';
|
||||
$lang['no_privileges_message'] = 'Nie masz odpowiednich uprawnień aby zobaczyć tą stronę. Nawiguj do innej sekcji.';
|
||||
$lang['backend_calendar'] = 'Kalendarz funkcjonalny';
|
||||
$lang['start_date_time'] = 'Data startu / Czas';
|
||||
$lang['end_date_time'] = 'Data końca / Czas';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = 'Página não encontrada ou página não existente';
|
|||
$lang['page_not_found_message'] = 'Infelizmente a pagina solicitada não existe. Por favor verifique a URL ou siga outro local usando os botões abaixo.';
|
||||
$lang['error'] = 'Erro';
|
||||
$lang['no_privileges'] = 'Não tem permissão';
|
||||
$lang['no_provileges_message'] = 'Não tem permissões para visualizar esta página. Por favor, selecione outra página.';
|
||||
$lang['no_privileges_message'] = 'Não tem permissões para visualizar esta página. Por favor, selecione outra página.';
|
||||
$lang['backend_calendar'] = 'Backend calendário';
|
||||
$lang['start_date_time'] = 'Data / hora inicial';
|
||||
$lang['end_date_time'] = 'Data / hora final';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = 'Página não encontrada or página não existente';
|
|||
$lang['page_not_found_message'] = 'Unfortunately the page you requested does not exist. Please check your browser URL or head to another location using the buttons below.';
|
||||
$lang['error'] = 'Fechado';
|
||||
$lang['no_privileges'] = 'Não tem permissão';
|
||||
$lang['no_provileges_message'] = 'Não tem permissões para visualizar esta pagina. Por favor, selecione outra pagina.';
|
||||
$lang['no_privileges_message'] = 'Não tem permissões para visualizar esta pagina. Por favor, selecione outra pagina.';
|
||||
$lang['backend_calendar'] = 'Backend calendário';
|
||||
$lang['start_date_time'] = 'Data / hora inicial';
|
||||
$lang['end_date_time'] = 'Data / hora final';
|
||||
|
|
|
@ -222,7 +222,7 @@ $lang['page_not_found'] = 'Pagina negasita';
|
|||
$lang['page_not_found_message'] = 'Din pacate pagina pe care ati cerut-o nu exista. Va rugam verificati adresa sau introduceti alta locatie folosind butoanele de mai jos.';
|
||||
$lang['error'] = 'Eroare';
|
||||
$lang['no_privileges'] = 'Fara drepturi';
|
||||
$lang['no_provileges_message'] = 'Nu aveti drepturile necesare pentru a vizualiza aceasta pagina. Va rugam navigati spre alta sectiune.';
|
||||
$lang['no_privileges_message'] = 'Nu aveti drepturile necesare pentru a vizualiza aceasta pagina. Va rugam navigati spre alta sectiune.';
|
||||
$lang['backend_calendar'] = 'Calendar backend';
|
||||
$lang['start_date_time'] = 'Start Data / Ora';
|
||||
$lang['end_date_time'] = 'Sfarsit Data / Ora';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = 'Страница не найдена';
|
|||
$lang['page_not_found_message'] = 'К сожалению страница, которую вы запросили, не существует. Пожалуйста проверьте запрос в строке браузера или перейдите по ссылке используя меню и кнопки сайта.';
|
||||
$lang['error'] = 'Ошибка';
|
||||
$lang['no_privileges'] = 'Отсутствуют необходимые привилегии';
|
||||
$lang['no_provileges_message'] = 'Вы не имеете необходимых разрешений на просмотр этой страницы. Пожалуйста используйте другие разделы.';
|
||||
$lang['no_privileges_message'] = 'Вы не имеете необходимых разрешений на просмотр этой страницы. Пожалуйста используйте другие разделы.';
|
||||
$lang['backend_calendar'] = 'бэкэнд Календарь';
|
||||
$lang['start_date_time'] = 'Начало дата/время';
|
||||
$lang['end_date_time'] = 'Окончание дата/время';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = 'Stránka nenájdená';
|
|||
$lang['page_not_found_message'] = 'Žiaľ Vami požadovaná stránka neexistuje. Prosím skontrolujte adresu URL prehliadača, alebo zmeňte umiestnenie pomocou tlačidiel nižšie.';
|
||||
$lang['error'] = 'Chyba';
|
||||
$lang['no_privileges'] = 'Nemáte oprávnenie';
|
||||
$lang['no_provileges_message'] = 'Nemáte požadované oprávnenie na zobrazenie tejto stránky. Prejdite do inej sekcie.';
|
||||
$lang['no_privileges_message'] = 'Nemáte požadované oprávnenie na zobrazenie tejto stránky. Prejdite do inej sekcie.';
|
||||
$lang['backend_calendar'] = 'Administrácia - kalendár';
|
||||
$lang['start_date_time'] = 'Dátum začatia / čas';
|
||||
$lang['end_date_time'] = 'Dátum konca / čas';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = 'No se encontró la página';
|
|||
$lang['page_not_found_message'] ='Lamentablemente, la página que Usted solicitó no existe. Por favor, verifique la dirección web de su navegador o utilice los botones de abajo para navegar hacia otra ubicación.';
|
||||
$lang['error'] = 'Error';
|
||||
$lang['no_privileges'] = 'Sin permisos';
|
||||
$lang['no_provileges_message'] ='Usted no posee los permisos necesarios para ver esta página. Por favor, navegue hacia otra sección.';
|
||||
$lang['no_privileges_message'] ='Usted no posee los permisos necesarios para ver esta página. Por favor, navegue hacia otra sección.';
|
||||
$lang['backend_calendar'] = 'Calendario de gestión interna';
|
||||
$lang['start_date_time'] = 'Fecha y hora de inicio';
|
||||
$lang['end_date_time'] = 'Fecha y hora final';
|
||||
|
|
|
@ -216,7 +216,7 @@ $lang['page_not_found'] = 'Sayfa Bulunamadı';
|
|||
$lang['page_not_found_message'] = 'Unfortunately the page you requested does not exist. Please check your browser URL or head to another location using the buttons below.';
|
||||
$lang['error'] = 'Hata';
|
||||
$lang['no_privileges'] = 'Yetki Yok';
|
||||
$lang['no_provileges_message'] = 'Bu sayfayı görmek için gereken yetkiye sahip değilsiniz. Lütfen başka bir bölüme geçin.';
|
||||
$lang['no_privileges_message'] = 'Bu sayfayı görmek için gereken yetkiye sahip değilsiniz. Lütfen başka bir bölüme geçin.';
|
||||
$lang['backend_calendar'] = 'Arka uç Takvim';
|
||||
$lang['start_date_time'] = 'Başlangıç Tarih / Zaman';
|
||||
$lang['end_date_time'] = 'Bitiş Tarih / Zaman ';
|
||||
|
|
2
src/vendor/autoload.php
vendored
2
src/vendor/autoload.php
vendored
|
@ -4,4 +4,4 @@
|
|||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
||||
return ComposerAutoloaderInit27b185dd281c9a16e18aefb1c9e2d420::getLoader();
|
||||
return ComposerAutoloaderInit745c9af234090db98769aa0b5014bcf4::getLoader();
|
||||
|
|
8
src/vendor/composer/autoload_real.php
vendored
8
src/vendor/composer/autoload_real.php
vendored
|
@ -2,7 +2,7 @@
|
|||
|
||||
// autoload_real.php @generated by Composer
|
||||
|
||||
class ComposerAutoloaderInit27b185dd281c9a16e18aefb1c9e2d420
|
||||
class ComposerAutoloaderInit745c9af234090db98769aa0b5014bcf4
|
||||
{
|
||||
private static $loader;
|
||||
|
||||
|
@ -19,15 +19,15 @@ class ComposerAutoloaderInit27b185dd281c9a16e18aefb1c9e2d420
|
|||
return self::$loader;
|
||||
}
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInit27b185dd281c9a16e18aefb1c9e2d420', 'loadClassLoader'), true, true);
|
||||
spl_autoload_register(array('ComposerAutoloaderInit745c9af234090db98769aa0b5014bcf4', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit27b185dd281c9a16e18aefb1c9e2d420', 'loadClassLoader'));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit745c9af234090db98769aa0b5014bcf4', 'loadClassLoader'));
|
||||
|
||||
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
||||
if ($useStaticLoader) {
|
||||
require_once __DIR__ . '/autoload_static.php';
|
||||
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInit27b185dd281c9a16e18aefb1c9e2d420::getInitializer($loader));
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInit745c9af234090db98769aa0b5014bcf4::getInitializer($loader));
|
||||
} else {
|
||||
$map = require __DIR__ . '/autoload_namespaces.php';
|
||||
foreach ($map as $namespace => $path) {
|
||||
|
|
10
src/vendor/composer/autoload_static.php
vendored
10
src/vendor/composer/autoload_static.php
vendored
|
@ -4,7 +4,7 @@
|
|||
|
||||
namespace Composer\Autoload;
|
||||
|
||||
class ComposerStaticInit9c38908245762ba05608594a95bb6a4f
|
||||
class ComposerStaticInit745c9af234090db98769aa0b5014bcf4
|
||||
{
|
||||
public static $prefixLengthsPsr4 = array (
|
||||
'p' =>
|
||||
|
@ -539,10 +539,10 @@ class ComposerStaticInit9c38908245762ba05608594a95bb6a4f
|
|||
public static function getInitializer(ClassLoader $loader)
|
||||
{
|
||||
return \Closure::bind(function () use ($loader) {
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInit9c38908245762ba05608594a95bb6a4f::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInit9c38908245762ba05608594a95bb6a4f::$prefixDirsPsr4;
|
||||
$loader->prefixesPsr0 = ComposerStaticInit9c38908245762ba05608594a95bb6a4f::$prefixesPsr0;
|
||||
$loader->classMap = ComposerStaticInit9c38908245762ba05608594a95bb6a4f::$classMap;
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInit745c9af234090db98769aa0b5014bcf4::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInit745c9af234090db98769aa0b5014bcf4::$prefixDirsPsr4;
|
||||
$loader->prefixesPsr0 = ComposerStaticInit745c9af234090db98769aa0b5014bcf4::$prefixesPsr0;
|
||||
$loader->classMap = ComposerStaticInit745c9af234090db98769aa0b5014bcf4::$classMap;
|
||||
|
||||
}, null, ClassLoader::class);
|
||||
}
|
||||
|
|
210
src/vendor/composer/installed.json
vendored
210
src/vendor/composer/installed.json
vendored
|
@ -1,4 +1,39 @@
|
|||
[
|
||||
{
|
||||
"name": "codeigniter/framework",
|
||||
"version": "3.1.5",
|
||||
"version_normalized": "3.1.5.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/bcit-ci/CodeIgniter.git",
|
||||
"reference": "6c7a4266410070d30f8f6bcdf9c9e67f3d6478e3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/bcit-ci/CodeIgniter/zipball/6c7a4266410070d30f8f6bcdf9c9e67f3d6478e3",
|
||||
"reference": "6c7a4266410070d30f8f6bcdf9c9e67f3d6478e3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.7"
|
||||
},
|
||||
"require-dev": {
|
||||
"mikey179/vfsstream": "1.1.*",
|
||||
"phpunit/phpunit": "4.* || 5.*"
|
||||
},
|
||||
"suggest": {
|
||||
"paragonie/random_compat": "Provides better randomness in PHP 5.x"
|
||||
},
|
||||
"time": "2017-06-19T08:33:58+00:00",
|
||||
"type": "project",
|
||||
"installation-source": "dist",
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"description": "The CodeIgniter framework",
|
||||
"homepage": "https://codeigniter.com"
|
||||
},
|
||||
{
|
||||
"name": "gregwar/captcha",
|
||||
"version": "v1.1.1",
|
||||
|
@ -51,30 +86,46 @@
|
|||
},
|
||||
{
|
||||
"name": "phpmailer/phpmailer",
|
||||
"version": "v5.2.16",
|
||||
"version_normalized": "5.2.16.0",
|
||||
"version": "v5.2.23",
|
||||
"version_normalized": "5.2.23.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHPMailer/PHPMailer.git",
|
||||
"reference": "1d85f9ef3ecfc42bbc4f3c70d5e37ca9a65f629a"
|
||||
"reference": "7115df4a6f76281109ebe352900c42403b728bb4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/1d85f9ef3ecfc42bbc4f3c70d5e37ca9a65f629a",
|
||||
"reference": "1d85f9ef3ecfc42bbc4f3c70d5e37ca9a65f629a",
|
||||
"url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/7115df4a6f76281109ebe352900c42403b728bb4",
|
||||
"reference": "7115df4a6f76281109ebe352900c42403b728bb4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.0.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpdocumentor/phpdocumentor": "*",
|
||||
"phpunit/phpunit": "4.7.*"
|
||||
"doctrine/annotations": "1.2.*",
|
||||
"jms/serializer": "0.16.*",
|
||||
"phpdocumentor/phpdocumentor": "2.*",
|
||||
"phpunit/phpunit": "4.8.*",
|
||||
"symfony/debug": "2.8.*",
|
||||
"symfony/filesystem": "2.8.*",
|
||||
"symfony/translation": "2.8.*",
|
||||
"symfony/yaml": "2.8.*",
|
||||
"zendframework/zend-cache": "2.5.1",
|
||||
"zendframework/zend-config": "2.5.1",
|
||||
"zendframework/zend-eventmanager": "2.5.1",
|
||||
"zendframework/zend-filter": "2.5.1",
|
||||
"zendframework/zend-i18n": "2.5.1",
|
||||
"zendframework/zend-json": "2.5.1",
|
||||
"zendframework/zend-math": "2.5.1",
|
||||
"zendframework/zend-serializer": "2.5.*",
|
||||
"zendframework/zend-servicemanager": "2.5.*",
|
||||
"zendframework/zend-stdlib": "2.5.1"
|
||||
},
|
||||
"suggest": {
|
||||
"league/oauth2-google": "Needed for Google XOAUTH2 authentication"
|
||||
},
|
||||
"time": "2016-06-06T09:09:37+00:00",
|
||||
"time": "2017-03-15T19:32:56+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
|
@ -112,38 +163,141 @@
|
|||
"description": "PHPMailer is a full-featured email creation and transfer class for PHP"
|
||||
},
|
||||
{
|
||||
"name": "codeigniter/framework",
|
||||
"version": "3.1.2",
|
||||
"version_normalized": "3.1.2.0",
|
||||
"name": "roave/security-advisories",
|
||||
"version": "dev-master",
|
||||
"version_normalized": "9999999-dev",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/bcit-ci/CodeIgniter.git",
|
||||
"reference": "2afa6b6b58a73fa26a7a93045ccb1fc8a087a141"
|
||||
"url": "https://github.com/Roave/SecurityAdvisories.git",
|
||||
"reference": "0b18b6bbeed070fb900ad78e81ffa1182a57a752"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/bcit-ci/CodeIgniter/zipball/2afa6b6b58a73fa26a7a93045ccb1fc8a087a141",
|
||||
"reference": "2afa6b6b58a73fa26a7a93045ccb1fc8a087a141",
|
||||
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/0b18b6bbeed070fb900ad78e81ffa1182a57a752",
|
||||
"reference": "0b18b6bbeed070fb900ad78e81ffa1182a57a752",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.2.4"
|
||||
"conflict": {
|
||||
"adodb/adodb-php": "<5.20.6",
|
||||
"amphp/artax": ">=2,<2.0.6|<1.0.6",
|
||||
"aws/aws-sdk-php": ">=3,<3.2.1",
|
||||
"bugsnag/bugsnag-laravel": ">=2,<2.0.2",
|
||||
"cakephp/cakephp": ">=3,<3.0.15|>=2,<2.4.99|>=2.5,<2.5.99|>=2.6,<2.6.12|>=1.3,<1.3.18|>=2.7,<2.7.6|>=3.1,<3.1.4",
|
||||
"cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4",
|
||||
"cartalyst/sentry": "<2.1",
|
||||
"codeigniter/framework": "<=3.0.6",
|
||||
"composer/composer": "<=1.0.0-alpha11",
|
||||
"contao-components/mediaelement": ">=2.14.2,<2.21.1",
|
||||
"contao/core": ">=2.11,<3.5.15",
|
||||
"doctrine/annotations": ">=1,<1.2.7",
|
||||
"doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2",
|
||||
"doctrine/common": ">=2,<2.4.3|>=2.5,<2.5.1",
|
||||
"doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2",
|
||||
"doctrine/doctrine-bundle": "<1.5.2",
|
||||
"doctrine/doctrine-module": "<=0.7.1",
|
||||
"doctrine/mongodb-odm": ">=1,<1.0.2",
|
||||
"doctrine/mongodb-odm-bundle": ">=2,<3.0.1",
|
||||
"doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1",
|
||||
"dompdf/dompdf": ">=0.6,<0.6.2",
|
||||
"drupal/core": ">=8,<8.3.4",
|
||||
"drupal/drupal": ">=8,<8.3.4",
|
||||
"firebase/php-jwt": "<2",
|
||||
"friendsofsymfony/rest-bundle": ">=1.2,<1.2.2",
|
||||
"friendsofsymfony/user-bundle": ">=1.2,<1.3.5",
|
||||
"gregwar/rst": "<1.0.3",
|
||||
"guzzlehttp/guzzle": ">=6,<6.2.1|>=4.0.0-rc2,<4.2.4|>=5,<5.3.1",
|
||||
"illuminate/auth": ">=4,<4.0.99|>=4.1,<4.1.26",
|
||||
"illuminate/database": ">=4,<4.0.99|>=4.1,<4.1.29",
|
||||
"joomla/session": "<1.3.1",
|
||||
"laravel/framework": ">=4,<4.0.99|>=4.1,<4.1.29",
|
||||
"laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10",
|
||||
"magento/magento1ce": ">=1.5.0.1,<1.9.3.2",
|
||||
"magento/magento1ee": ">=1.9,<1.14.3.2",
|
||||
"magento/magento2ce": ">=2,<2.2",
|
||||
"monolog/monolog": ">=1.8,<1.12",
|
||||
"namshi/jose": "<2.2",
|
||||
"onelogin/php-saml": "<2.10.4",
|
||||
"oro/crm": ">=1.7,<1.7.4",
|
||||
"oro/platform": ">=1.7,<1.7.4",
|
||||
"phpmailer/phpmailer": ">=5,<5.2.22",
|
||||
"pusher/pusher-php-server": "<2.2.1",
|
||||
"sabre/dav": ">=1.6,<1.6.99|>=1.7,<1.7.11|>=1.8,<1.8.9",
|
||||
"shopware/shopware": "<4.4|>=5,<5.2.16",
|
||||
"silverstripe/cms": ">=3.1,<3.1.11|>=3,<=3.0.11",
|
||||
"silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3",
|
||||
"silverstripe/framework": ">=3,<3.3",
|
||||
"silverstripe/userforms": "<3",
|
||||
"simplesamlphp/saml2": "<1.8.1|>=1.9,<1.9.1|>=1.10,<1.10.3|>=2,<2.3.3",
|
||||
"simplesamlphp/simplesamlphp": "<1.14.12",
|
||||
"simplesamlphp/simplesamlphp-module-infocard": "<1.0.1",
|
||||
"socalnick/scn-social-auth": "<1.15.2",
|
||||
"squizlabs/php_codesniffer": ">=1,<2.8.1",
|
||||
"swiftmailer/swiftmailer": ">=4,<5.4.5",
|
||||
"symfony/dependency-injection": ">=2,<2.0.17",
|
||||
"symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.7",
|
||||
"symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2",
|
||||
"symfony/http-foundation": ">=2,<2.3.27|>=2.4,<2.5.11|>=2.6,<2.6.6",
|
||||
"symfony/http-kernel": ">=2,<2.3.29|>=2.4,<2.5.12|>=2.6,<2.6.8",
|
||||
"symfony/routing": ">=2,<2.0.19",
|
||||
"symfony/security": ">=2.3,<2.3.37|>=2.4,<2.6.13|>=2.7,<2.7.9|>=2,<2.0.25|>=2.1,<2.1.13|>=2.2,<2.2.9",
|
||||
"symfony/security-core": ">=2.8,<2.8.6|>=3,<3.0.6|>=2.4,<2.6.13|>=2.7,<2.7.9",
|
||||
"symfony/security-http": ">=2.4,<2.7.13|>=2.3,<2.3.41|>=2.8,<2.8.6|>=3,<3.0.6",
|
||||
"symfony/serializer": ">=2,<2.0.11",
|
||||
"symfony/symfony": ">=2,<2.3.41|>=2.4,<2.7.13|>=2.8,<2.8.6|>=3,<3.0.6",
|
||||
"symfony/translation": ">=2,<2.0.17",
|
||||
"symfony/validator": ">=2,<2.0.24|>=2.1,<2.1.12|>=2.2,<2.2.5|>=2.3,<2.3.3",
|
||||
"symfony/web-profiler-bundle": ">=2,<2.3.19|>=2.4,<2.4.9|>=2.5,<2.5.4",
|
||||
"symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7",
|
||||
"thelia/backoffice-default-template": ">=2.1,<2.1.2",
|
||||
"thelia/thelia": ">=2.1.0-beta1,<2.1.3|>=2.1,<2.1.2",
|
||||
"twig/twig": "<1.20",
|
||||
"typo3/cms": ">=6.2,<6.2.30|>=8,<8.6.1|>=7,<7.6.16",
|
||||
"typo3/flow": ">=2.3,<2.3.16|>=3,<3.0.10|>=3.1,<3.1.7|>=3.2,<3.2.7|>=3.3,<3.3.5|>=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1",
|
||||
"typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4",
|
||||
"willdurand/js-translation-bundle": "<2.1.1",
|
||||
"yiisoft/yii": ">=1.1.14,<1.1.15",
|
||||
"yiisoft/yii2": "<2.0.5",
|
||||
"yiisoft/yii2-bootstrap": "<2.0.4",
|
||||
"yiisoft/yii2-dev": "<2.0.4",
|
||||
"yiisoft/yii2-gii": "<2.0.4",
|
||||
"yiisoft/yii2-jui": "<2.0.4",
|
||||
"zendframework/zend-cache": ">=2.4,<2.4.8|>=2.5,<2.5.3",
|
||||
"zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2",
|
||||
"zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2",
|
||||
"zendframework/zend-db": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.10|>=2.3,<2.3.5",
|
||||
"zendframework/zend-diactoros": ">=1,<1.0.4",
|
||||
"zendframework/zend-form": ">=2,<2.2.7|>=2.3,<2.3.1",
|
||||
"zendframework/zend-http": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.3,<2.3.8|>=2.4,<2.4.1",
|
||||
"zendframework/zend-json": ">=2.1,<2.1.6|>=2.2,<2.2.6",
|
||||
"zendframework/zend-ldap": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.8|>=2.3,<2.3.3",
|
||||
"zendframework/zend-mail": ">=2,<2.4.11|>=2.5,<2.7.2",
|
||||
"zendframework/zend-navigation": ">=2,<2.2.7|>=2.3,<2.3.1",
|
||||
"zendframework/zend-session": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.9|>=2.3,<2.3.4",
|
||||
"zendframework/zend-validator": ">=2.3,<2.3.6",
|
||||
"zendframework/zend-view": ">=2,<2.2.7|>=2.3,<2.3.1",
|
||||
"zendframework/zend-xmlrpc": ">=2.1,<2.1.6|>=2.2,<2.2.6",
|
||||
"zendframework/zendframework": ">=2,<2.4.11|>=2.5,<2.5.1",
|
||||
"zendframework/zendframework1": "<1.12.20",
|
||||
"zendframework/zendopenid": ">=2,<2.0.2",
|
||||
"zendframework/zendxml": ">=1,<1.0.1",
|
||||
"zf-commons/zfc-user": "<1.2.2",
|
||||
"zfcampus/zf-apigility-doctrine": ">=1,<1.0.3",
|
||||
"zfr/zfr-oauth2-server-module": "<0.1.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"mikey179/vfsstream": "1.1.*"
|
||||
},
|
||||
"suggest": {
|
||||
"paragonie/random_compat": "Provides better randomness in PHP 5.x"
|
||||
},
|
||||
"time": "2016-10-28T15:13:14+00:00",
|
||||
"type": "project",
|
||||
"installation-source": "dist",
|
||||
"time": "2017-06-22T16:43:17+00:00",
|
||||
"type": "metapackage",
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"description": "The CodeIgniter framework",
|
||||
"homepage": "https://codeigniter.com"
|
||||
"authors": [
|
||||
{
|
||||
"name": "Marco Pivetta",
|
||||
"email": "ocramius@gmail.com",
|
||||
"role": "maintainer"
|
||||
}
|
||||
],
|
||||
"description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it"
|
||||
},
|
||||
{
|
||||
"name": "webmozart/assert",
|
||||
|
|
2
src/vendor/phpmailer/phpmailer/VERSION
vendored
2
src/vendor/phpmailer/phpmailer/VERSION
vendored
|
@ -1 +1 @@
|
|||
5.2.16
|
||||
5.2.23
|
||||
|
|
187
src/vendor/phpmailer/phpmailer/class.phpmailer.php
vendored
187
src/vendor/phpmailer/phpmailer/class.phpmailer.php
vendored
|
@ -31,7 +31,7 @@ class PHPMailer
|
|||
* The PHPMailer Version number.
|
||||
* @var string
|
||||
*/
|
||||
public $Version = '5.2.16';
|
||||
public $Version = '5.2.23';
|
||||
|
||||
/**
|
||||
* Email priority.
|
||||
|
@ -201,6 +201,9 @@ class PHPMailer
|
|||
/**
|
||||
* An ID to be used in the Message-ID header.
|
||||
* If empty, a unique id will be generated.
|
||||
* You can set your own, but it must be in the format "<id@domain>",
|
||||
* as defined in RFC5322 section 3.6.4 or it will be ignored.
|
||||
* @see https://tools.ietf.org/html/rfc5322#section-3.6.4
|
||||
* @var string
|
||||
*/
|
||||
public $MessageID = '';
|
||||
|
@ -420,6 +423,13 @@ class PHPMailer
|
|||
*/
|
||||
public $DKIM_private = '';
|
||||
|
||||
/**
|
||||
* DKIM private key string.
|
||||
* If set, takes precedence over `$DKIM_private`.
|
||||
* @var string
|
||||
*/
|
||||
public $DKIM_private_string = '';
|
||||
|
||||
/**
|
||||
* Callback Action function name.
|
||||
*
|
||||
|
@ -681,16 +691,16 @@ class PHPMailer
|
|||
} else {
|
||||
$subject = $this->encodeHeader($this->secureHeader($subject));
|
||||
}
|
||||
//Can't use additional_parameters in safe_mode
|
||||
|
||||
//Can't use additional_parameters in safe_mode, calling mail() with null params breaks
|
||||
//@link http://php.net/manual/en/function.mail.php
|
||||
if (ini_get('safe_mode') or !$this->UseSendmailOptions) {
|
||||
if (ini_get('safe_mode') or !$this->UseSendmailOptions or is_null($params)) {
|
||||
$result = @mail($to, $subject, $body, $header);
|
||||
} else {
|
||||
$result = @mail($to, $subject, $body, $header, $params);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Output debugging info via user-defined method.
|
||||
* Only generates output if SMTP debug output is enabled (@see SMTP::$do_debug).
|
||||
|
@ -1284,9 +1294,11 @@ class PHPMailer
|
|||
|
||||
// Sign with DKIM if enabled
|
||||
if (!empty($this->DKIM_domain)
|
||||
&& !empty($this->DKIM_private)
|
||||
&& !empty($this->DKIM_selector)
|
||||
&& file_exists($this->DKIM_private)) {
|
||||
&& (!empty($this->DKIM_private_string)
|
||||
|| (!empty($this->DKIM_private) && file_exists($this->DKIM_private))
|
||||
)
|
||||
) {
|
||||
$header_dkim = $this->DKIM_Add(
|
||||
$this->MIMEHeader . $this->mailHeader,
|
||||
$this->encodeHeader($this->secureHeader($this->Subject)),
|
||||
|
@ -1352,19 +1364,24 @@ class PHPMailer
|
|||
*/
|
||||
protected function sendmailSend($header, $body)
|
||||
{
|
||||
if ($this->Sender != '') {
|
||||
// CVE-2016-10033, CVE-2016-10045: Don't pass -f if characters will be escaped.
|
||||
if (!empty($this->Sender) and self::isShellSafe($this->Sender)) {
|
||||
if ($this->Mailer == 'qmail') {
|
||||
$sendmail = sprintf('%s -f%s', escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender));
|
||||
$sendmailFmt = '%s -f%s';
|
||||
} else {
|
||||
$sendmail = sprintf('%s -oi -f%s -t', escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender));
|
||||
$sendmailFmt = '%s -oi -f%s -t';
|
||||
}
|
||||
} else {
|
||||
if ($this->Mailer == 'qmail') {
|
||||
$sendmail = sprintf('%s', escapeshellcmd($this->Sendmail));
|
||||
$sendmailFmt = '%s';
|
||||
} else {
|
||||
$sendmail = sprintf('%s -oi -t', escapeshellcmd($this->Sendmail));
|
||||
$sendmailFmt = '%s -oi -t';
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: If possible, this should be changed to escapeshellarg. Needs thorough testing.
|
||||
$sendmail = sprintf($sendmailFmt, escapeshellcmd($this->Sendmail), $this->Sender);
|
||||
|
||||
if ($this->SingleTo) {
|
||||
foreach ($this->SingleToArray as $toAddr) {
|
||||
if (!@$mail = popen($sendmail, 'w')) {
|
||||
|
@ -1410,6 +1427,40 @@ class PHPMailer
|
|||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fix CVE-2016-10033 and CVE-2016-10045 by disallowing potentially unsafe shell characters.
|
||||
*
|
||||
* Note that escapeshellarg and escapeshellcmd are inadequate for our purposes, especially on Windows.
|
||||
* @param string $string The string to be validated
|
||||
* @see https://github.com/PHPMailer/PHPMailer/issues/924 CVE-2016-10045 bug report
|
||||
* @access protected
|
||||
* @return boolean
|
||||
*/
|
||||
protected static function isShellSafe($string)
|
||||
{
|
||||
// Future-proof
|
||||
if (escapeshellcmd($string) !== $string
|
||||
or !in_array(escapeshellarg($string), array("'$string'", "\"$string\""))
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$length = strlen($string);
|
||||
|
||||
for ($i = 0; $i < $length; $i++) {
|
||||
$c = $string[$i];
|
||||
|
||||
// All other characters have a special meaning in at least one common shell, including = and +.
|
||||
// Full stop (.) has a special meaning in cmd.exe, but its impact should be negligible here.
|
||||
// Note that this does permit non-Latin alphanumeric characters based on the current locale.
|
||||
if (!ctype_alnum($c) && strpos('@_-.', $c) === false) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Send mail using the PHP mail() function.
|
||||
* @param string $header The message headers
|
||||
|
@ -1429,10 +1480,13 @@ class PHPMailer
|
|||
|
||||
$params = null;
|
||||
//This sets the SMTP envelope sender which gets turned into a return-path header by the receiver
|
||||
if (!empty($this->Sender)) {
|
||||
$params = sprintf('-f%s', $this->Sender);
|
||||
if (!empty($this->Sender) and $this->validateAddress($this->Sender)) {
|
||||
// CVE-2016-10033, CVE-2016-10045: Don't pass -f if characters will be escaped.
|
||||
if (self::isShellSafe($this->Sender)) {
|
||||
$params = sprintf('-f%s', $this->Sender);
|
||||
}
|
||||
}
|
||||
if ($this->Sender != '' and !ini_get('safe_mode')) {
|
||||
if (!empty($this->Sender) and !ini_get('safe_mode') and $this->validateAddress($this->Sender)) {
|
||||
$old_from = ini_get('sendmail_from');
|
||||
ini_set('sendmail_from', $this->Sender);
|
||||
}
|
||||
|
@ -1486,10 +1540,10 @@ class PHPMailer
|
|||
if (!$this->smtpConnect($this->SMTPOptions)) {
|
||||
throw new phpmailerException($this->lang('smtp_connect_failed'), self::STOP_CRITICAL);
|
||||
}
|
||||
if ('' == $this->Sender) {
|
||||
$smtp_from = $this->From;
|
||||
} else {
|
||||
if (!empty($this->Sender) and $this->validateAddress($this->Sender)) {
|
||||
$smtp_from = $this->Sender;
|
||||
} else {
|
||||
$smtp_from = $this->From;
|
||||
}
|
||||
if (!$this->smtp->mail($smtp_from)) {
|
||||
$this->setError($this->lang('from_failed') . $smtp_from . ' : ' . implode(',', $this->smtp->getError()));
|
||||
|
@ -1681,6 +1735,19 @@ class PHPMailer
|
|||
*/
|
||||
public function setLanguage($langcode = 'en', $lang_path = '')
|
||||
{
|
||||
// Backwards compatibility for renamed language codes
|
||||
$renamed_langcodes = array(
|
||||
'br' => 'pt_br',
|
||||
'cz' => 'cs',
|
||||
'dk' => 'da',
|
||||
'no' => 'nb',
|
||||
'se' => 'sv',
|
||||
);
|
||||
|
||||
if (isset($renamed_langcodes[$langcode])) {
|
||||
$langcode = $renamed_langcodes[$langcode];
|
||||
}
|
||||
|
||||
// Define full set of translatable strings in English
|
||||
$PHPMAILER_LANG = array(
|
||||
'authenticate' => 'SMTP Error: Could not authenticate.',
|
||||
|
@ -1707,6 +1774,10 @@ class PHPMailer
|
|||
// Calculate an absolute path so it can work if CWD is not here
|
||||
$lang_path = dirname(__FILE__). DIRECTORY_SEPARATOR . 'language'. DIRECTORY_SEPARATOR;
|
||||
}
|
||||
//Validate $langcode
|
||||
if (!preg_match('/^[a-z]{2}(?:_[a-zA-Z]{2})?$/', $langcode)) {
|
||||
$langcode = 'en';
|
||||
}
|
||||
$foundlang = true;
|
||||
$lang_file = $lang_path . 'phpmailer.lang-' . $langcode . '.php';
|
||||
// There is no English translation file
|
||||
|
@ -2000,6 +2071,8 @@ class PHPMailer
|
|||
$result .= $this->headerLine('Subject', $this->encodeHeader($this->secureHeader($this->Subject)));
|
||||
}
|
||||
|
||||
// Only allow a custom message ID if it conforms to RFC 5322 section 3.6.4
|
||||
// https://tools.ietf.org/html/rfc5322#section-3.6.4
|
||||
if ('' != $this->MessageID and preg_match('/^<.*@.*>$/', $this->MessageID)) {
|
||||
$this->lastMessageID = $this->MessageID;
|
||||
} else {
|
||||
|
@ -2105,6 +2178,14 @@ class PHPMailer
|
|||
return rtrim($this->MIMEHeader . $this->mailHeader, "\n\r") . self::CRLF . self::CRLF . $this->MIMEBody;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create unique ID
|
||||
* @return string
|
||||
*/
|
||||
protected function generateId() {
|
||||
return md5(uniqid(time()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Assemble the message body.
|
||||
* Returns an empty string on failure.
|
||||
|
@ -2116,7 +2197,7 @@ class PHPMailer
|
|||
{
|
||||
$body = '';
|
||||
//Create unique IDs and preset boundaries
|
||||
$this->uniqueid = md5(uniqid(time()));
|
||||
$this->uniqueid = $this->generateId();
|
||||
$this->boundary[1] = 'b1_' . $this->uniqueid;
|
||||
$this->boundary[2] = 'b2_' . $this->uniqueid;
|
||||
$this->boundary[3] = 'b3_' . $this->uniqueid;
|
||||
|
@ -2411,6 +2492,7 @@ class PHPMailer
|
|||
|
||||
/**
|
||||
* Add an attachment from a path on the filesystem.
|
||||
* Never use a user-supplied path to a file!
|
||||
* Returns false if the file could not be found or read.
|
||||
* @param string $path Path to the attachment.
|
||||
* @param string $name Overrides the attachment name.
|
||||
|
@ -2936,6 +3018,7 @@ class PHPMailer
|
|||
* displayed inline with the message, not just attached for download.
|
||||
* This is used in HTML messages that embed the images
|
||||
* the HTML refers to using the $cid value.
|
||||
* Never use a user-supplied path to a file!
|
||||
* @param string $path Path to the attachment.
|
||||
* @param string $cid Content ID of the attachment; Use this to reference
|
||||
* the content when using an embedded image in HTML.
|
||||
|
@ -3296,21 +3379,29 @@ class PHPMailer
|
|||
}
|
||||
|
||||
/**
|
||||
* Create a message from an HTML string.
|
||||
* Automatically makes modifications for inline images and backgrounds
|
||||
* and creates a plain-text version by converting the HTML.
|
||||
* Overwrites any existing values in $this->Body and $this->AltBody
|
||||
* Create a message body from an HTML string.
|
||||
* Automatically inlines images and creates a plain-text version by converting the HTML,
|
||||
* overwriting any existing values in Body and AltBody.
|
||||
* Do not source $message content from user input!
|
||||
* $basedir is prepended when handling relative URLs, e.g. <img src="/images/a.png"> and must not be empty
|
||||
* will look for an image file in $basedir/images/a.png and convert it to inline.
|
||||
* If you don't provide a $basedir, relative paths will be left untouched (and thus probably break in email)
|
||||
* If you don't want to apply these transformations to your HTML, just set Body and AltBody directly.
|
||||
* @access public
|
||||
* @param string $message HTML message string
|
||||
* @param string $basedir baseline directory for path
|
||||
* @param string $basedir Absolute path to a base directory to prepend to relative paths to images
|
||||
* @param boolean|callable $advanced Whether to use the internal HTML to text converter
|
||||
* or your own custom converter @see PHPMailer::html2text()
|
||||
* @return string $message
|
||||
* @return string $message The transformed message Body
|
||||
*/
|
||||
public function msgHTML($message, $basedir = '', $advanced = false)
|
||||
{
|
||||
preg_match_all('/(src|background)=["\'](.*)["\']/Ui', $message, $images);
|
||||
if (array_key_exists(2, $images)) {
|
||||
if (strlen($basedir) > 1 && substr($basedir, -1) != '/') {
|
||||
// Ensure $basedir has a trailing /
|
||||
$basedir .= '/';
|
||||
}
|
||||
foreach ($images[2] as $imgindex => $url) {
|
||||
// Convert data URIs into embedded images
|
||||
if (preg_match('#^data:(image[^;,]*)(;base64)?,#', $url, $match)) {
|
||||
|
@ -3328,18 +3419,24 @@ class PHPMailer
|
|||
$message
|
||||
);
|
||||
}
|
||||
} elseif (substr($url, 0, 4) !== 'cid:' && !preg_match('#^[a-z][a-z0-9+.-]*://#i', $url)) {
|
||||
// Do not change urls for absolute images (thanks to corvuscorax)
|
||||
continue;
|
||||
}
|
||||
if (
|
||||
// Only process relative URLs if a basedir is provided (i.e. no absolute local paths)
|
||||
!empty($basedir)
|
||||
// Ignore URLs containing parent dir traversal (..)
|
||||
&& (strpos($url, '..') === false)
|
||||
// Do not change urls that are already inline images
|
||||
&& substr($url, 0, 4) !== 'cid:'
|
||||
// Do not change absolute URLs, including anonymous protocol
|
||||
&& !preg_match('#^[a-z][a-z0-9+.-]*:?//#i', $url)
|
||||
) {
|
||||
$filename = basename($url);
|
||||
$directory = dirname($url);
|
||||
if ($directory == '.') {
|
||||
$directory = '';
|
||||
}
|
||||
$cid = md5($url) . '@phpmailer.0'; // RFC2392 S 2
|
||||
if (strlen($basedir) > 1 && substr($basedir, -1) != '/') {
|
||||
$basedir .= '/';
|
||||
}
|
||||
if (strlen($directory) > 1 && substr($directory, -1) != '/') {
|
||||
$directory .= '/';
|
||||
}
|
||||
|
@ -3375,7 +3472,7 @@ class PHPMailer
|
|||
* Convert an HTML string into plain text.
|
||||
* This is used by msgHTML().
|
||||
* Note - older versions of this function used a bundled advanced converter
|
||||
* which was been removed for license reasons in #232
|
||||
* which was been removed for license reasons in #232.
|
||||
* Example usage:
|
||||
* <code>
|
||||
* // Use default conversion
|
||||
|
@ -3675,7 +3772,7 @@ class PHPMailer
|
|||
* @access public
|
||||
* @param string $signHeader
|
||||
* @throws phpmailerException
|
||||
* @return string
|
||||
* @return string The DKIM signature value
|
||||
*/
|
||||
public function DKIM_Sign($signHeader)
|
||||
{
|
||||
|
@ -3685,15 +3782,33 @@ class PHPMailer
|
|||
}
|
||||
return '';
|
||||
}
|
||||
$privKeyStr = file_get_contents($this->DKIM_private);
|
||||
if ($this->DKIM_passphrase != '') {
|
||||
$privKeyStr = !empty($this->DKIM_private_string) ? $this->DKIM_private_string : file_get_contents($this->DKIM_private);
|
||||
if ('' != $this->DKIM_passphrase) {
|
||||
$privKey = openssl_pkey_get_private($privKeyStr, $this->DKIM_passphrase);
|
||||
} else {
|
||||
$privKey = openssl_pkey_get_private($privKeyStr);
|
||||
}
|
||||
if (openssl_sign($signHeader, $signature, $privKey, 'sha256WithRSAEncryption')) { //sha1WithRSAEncryption
|
||||
openssl_pkey_free($privKey);
|
||||
return base64_encode($signature);
|
||||
//Workaround for missing digest algorithms in old PHP & OpenSSL versions
|
||||
//@link http://stackoverflow.com/a/11117338/333340
|
||||
if (version_compare(PHP_VERSION, '5.3.0') >= 0 and
|
||||
in_array('sha256WithRSAEncryption', openssl_get_md_methods(true))) {
|
||||
if (openssl_sign($signHeader, $signature, $privKey, 'sha256WithRSAEncryption')) {
|
||||
openssl_pkey_free($privKey);
|
||||
return base64_encode($signature);
|
||||
}
|
||||
} else {
|
||||
$pinfo = openssl_pkey_get_details($privKey);
|
||||
$hash = hash('sha256', $signHeader);
|
||||
//'Magic' constant for SHA256 from RFC3447
|
||||
//@link https://tools.ietf.org/html/rfc3447#page-43
|
||||
$t = '3031300d060960864801650304020105000420' . $hash;
|
||||
$pslen = $pinfo['bits'] / 8 - (strlen($t) / 2 + 3);
|
||||
$eb = pack('H*', '0001' . str_repeat('FF', $pslen) . '00' . $t);
|
||||
|
||||
if (openssl_private_encrypt($eb, $signature, $privKey, OPENSSL_NO_PADDING)) {
|
||||
openssl_pkey_free($privKey);
|
||||
return base64_encode($signature);
|
||||
}
|
||||
}
|
||||
openssl_pkey_free($privKey);
|
||||
return '';
|
||||
|
|
|
@ -80,6 +80,7 @@ class PHPMailerOAuth extends PHPMailer
|
|||
* @uses SMTP
|
||||
* @access public
|
||||
* @return bool
|
||||
* @throws phpmailerException
|
||||
*/
|
||||
public function smtpConnect($options = array())
|
||||
{
|
||||
|
|
|
@ -34,7 +34,7 @@ class POP3
|
|||
* @var string
|
||||
* @access public
|
||||
*/
|
||||
public $Version = '5.2.16';
|
||||
public $Version = '5.2.23';
|
||||
|
||||
/**
|
||||
* Default POP3 port number.
|
||||
|
|
105
src/vendor/phpmailer/phpmailer/class.smtp.php
vendored
105
src/vendor/phpmailer/phpmailer/class.smtp.php
vendored
|
@ -30,7 +30,7 @@ class SMTP
|
|||
* The PHPMailer SMTP version number.
|
||||
* @var string
|
||||
*/
|
||||
const VERSION = '5.2.16';
|
||||
const VERSION = '5.2.23';
|
||||
|
||||
/**
|
||||
* SMTP line break constant.
|
||||
|
@ -81,7 +81,7 @@ class SMTP
|
|||
* @deprecated Use the `VERSION` constant instead
|
||||
* @see SMTP::VERSION
|
||||
*/
|
||||
public $Version = '5.2.16';
|
||||
public $Version = '5.2.23';
|
||||
|
||||
/**
|
||||
* SMTP server port number.
|
||||
|
@ -150,6 +150,17 @@ class SMTP
|
|||
*/
|
||||
public $Timelimit = 300;
|
||||
|
||||
/**
|
||||
* @var array patterns to extract smtp transaction id from smtp reply
|
||||
* Only first capture group will be use, use non-capturing group to deal with it
|
||||
* Extend this class to override this property to fulfil your needs.
|
||||
*/
|
||||
protected $smtp_transaction_id_patterns = array(
|
||||
'exim' => '/[0-9]{3} OK id=(.*)/',
|
||||
'sendmail' => '/[0-9]{3} 2.0.0 (.*) Message/',
|
||||
'postfix' => '/[0-9]{3} 2.0.0 Ok: queued as (.*)/'
|
||||
);
|
||||
|
||||
/**
|
||||
* The socket for the server connection.
|
||||
* @var resource
|
||||
|
@ -206,7 +217,7 @@ class SMTP
|
|||
}
|
||||
//Avoid clash with built-in function names
|
||||
if (!in_array($this->Debugoutput, array('error_log', 'html', 'echo')) and is_callable($this->Debugoutput)) {
|
||||
call_user_func($this->Debugoutput, $str, $this->do_debug);
|
||||
call_user_func($this->Debugoutput, $str, $level);
|
||||
return;
|
||||
}
|
||||
switch ($this->Debugoutput) {
|
||||
|
@ -220,8 +231,7 @@ class SMTP
|
|||
preg_replace('/[\r\n]+/', '', $str),
|
||||
ENT_QUOTES,
|
||||
'UTF-8'
|
||||
)
|
||||
. "<br>\n";
|
||||
) . "<br>\n";
|
||||
break;
|
||||
case 'echo':
|
||||
default:
|
||||
|
@ -231,7 +241,7 @@ class SMTP
|
|||
"\n",
|
||||
"\n \t ",
|
||||
trim($str)
|
||||
)."\n";
|
||||
) . "\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -265,15 +275,16 @@ class SMTP
|
|||
}
|
||||
// Connect to the SMTP server
|
||||
$this->edebug(
|
||||
"Connection: opening to $host:$port, timeout=$timeout, options=".var_export($options, true),
|
||||
"Connection: opening to $host:$port, timeout=$timeout, options=" .
|
||||
var_export($options, true),
|
||||
self::DEBUG_CONNECTION
|
||||
);
|
||||
$errno = 0;
|
||||
$errstr = '';
|
||||
if ($streamok) {
|
||||
$socket_context = stream_context_create($options);
|
||||
//Suppress errors; connection failures are handled at a higher level
|
||||
$this->smtp_conn = @stream_socket_client(
|
||||
set_error_handler(array($this, 'errorHandler'));
|
||||
$this->smtp_conn = stream_socket_client(
|
||||
$host . ":" . $port,
|
||||
$errno,
|
||||
$errstr,
|
||||
|
@ -281,12 +292,14 @@ class SMTP
|
|||
STREAM_CLIENT_CONNECT,
|
||||
$socket_context
|
||||
);
|
||||
restore_error_handler();
|
||||
} else {
|
||||
//Fall back to fsockopen which should work in more places, but is missing some features
|
||||
$this->edebug(
|
||||
"Connection: stream_socket_client not available, falling back to fsockopen",
|
||||
self::DEBUG_CONNECTION
|
||||
);
|
||||
set_error_handler(array($this, 'errorHandler'));
|
||||
$this->smtp_conn = fsockopen(
|
||||
$host,
|
||||
$port,
|
||||
|
@ -294,6 +307,7 @@ class SMTP
|
|||
$errstr,
|
||||
$timeout
|
||||
);
|
||||
restore_error_handler();
|
||||
}
|
||||
// Verify we connected properly
|
||||
if (!is_resource($this->smtp_conn)) {
|
||||
|
@ -348,14 +362,14 @@ class SMTP
|
|||
}
|
||||
|
||||
// Begin encrypted connection
|
||||
if (!stream_socket_enable_crypto(
|
||||
set_error_handler(array($this, 'errorHandler'));
|
||||
$crypto_ok = stream_socket_enable_crypto(
|
||||
$this->smtp_conn,
|
||||
true,
|
||||
$crypto_method
|
||||
)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
);
|
||||
restore_error_handler();
|
||||
return $crypto_ok;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -384,8 +398,7 @@ class SMTP
|
|||
}
|
||||
|
||||
if (array_key_exists('EHLO', $this->server_caps)) {
|
||||
// SMTP extensions are available. Let's try to find a proper authentication method
|
||||
|
||||
// SMTP extensions are available; try to find a proper authentication method
|
||||
if (!array_key_exists('AUTH', $this->server_caps)) {
|
||||
$this->setError('Authentication is not allowed at this stage');
|
||||
// 'at this stage' means that auth may be allowed after the stage changes
|
||||
|
@ -410,7 +423,7 @@ class SMTP
|
|||
$this->setError('No supported authentication methods found');
|
||||
return false;
|
||||
}
|
||||
self::edebug('Auth method selected: '.$authtype, self::DEBUG_LOWLEVEL);
|
||||
self::edebug('Auth method selected: ' . $authtype, self::DEBUG_LOWLEVEL);
|
||||
}
|
||||
|
||||
if (!in_array($authtype, $this->server_caps['AUTH'])) {
|
||||
|
@ -474,7 +487,7 @@ class SMTP
|
|||
$temp = new stdClass;
|
||||
$ntlm_client = new ntlm_sasl_client_class;
|
||||
//Check that functions are available
|
||||
if (!$ntlm_client->Initialize($temp)) {
|
||||
if (!$ntlm_client->initialize($temp)) {
|
||||
$this->setError($temp->error);
|
||||
$this->edebug(
|
||||
'You need to enable some modules in your php.ini file: '
|
||||
|
@ -484,7 +497,7 @@ class SMTP
|
|||
return false;
|
||||
}
|
||||
//msg1
|
||||
$msg1 = $ntlm_client->TypeMsg1($realm, $workstation); //msg1
|
||||
$msg1 = $ntlm_client->typeMsg1($realm, $workstation); //msg1
|
||||
|
||||
if (!$this->sendCommand(
|
||||
'AUTH NTLM',
|
||||
|
@ -503,7 +516,7 @@ class SMTP
|
|||
$password
|
||||
);
|
||||
//msg3
|
||||
$msg3 = $ntlm_client->TypeMsg3(
|
||||
$msg3 = $ntlm_client->typeMsg3(
|
||||
$ntlm_res,
|
||||
$username,
|
||||
$realm,
|
||||
|
@ -536,7 +549,7 @@ class SMTP
|
|||
* Works like hash_hmac('md5', $data, $key)
|
||||
* in case that function is not available
|
||||
* @param string $data The data to hash
|
||||
* @param string $key The key to hash with
|
||||
* @param string $key The key to hash with
|
||||
* @access protected
|
||||
* @return string
|
||||
*/
|
||||
|
@ -879,7 +892,8 @@ class SMTP
|
|||
$code_ex = (count($matches) > 2 ? $matches[2] : null);
|
||||
// Cut off error code from each response line
|
||||
$detail = preg_replace(
|
||||
"/{$code}[ -]".($code_ex ? str_replace('.', '\\.', $code_ex).' ' : '')."/m",
|
||||
"/{$code}[ -]" .
|
||||
($code_ex ? str_replace('.', '\\.', $code_ex) . ' ' : '') . "/m",
|
||||
'',
|
||||
$this->last_reply
|
||||
);
|
||||
|
@ -1091,7 +1105,7 @@ class SMTP
|
|||
// Now check if reads took too long
|
||||
if ($endtime and time() > $endtime) {
|
||||
$this->edebug(
|
||||
'SMTP -> get_lines(): timelimit reached ('.
|
||||
'SMTP -> get_lines(): timelimit reached (' .
|
||||
$this->Timelimit . ' sec)',
|
||||
self::DEBUG_LOWLEVEL
|
||||
);
|
||||
|
@ -1189,4 +1203,49 @@ class SMTP
|
|||
{
|
||||
return $this->Timeout;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reports an error number and string.
|
||||
* @param integer $errno The error number returned by PHP.
|
||||
* @param string $errmsg The error message returned by PHP.
|
||||
* @param string $errfile The file the error occurred in
|
||||
* @param integer $errline The line number the error occurred on
|
||||
*/
|
||||
protected function errorHandler($errno, $errmsg, $errfile = '', $errline = 0)
|
||||
{
|
||||
$notice = 'Connection failed.';
|
||||
$this->setError(
|
||||
$notice,
|
||||
$errno,
|
||||
$errmsg
|
||||
);
|
||||
$this->edebug(
|
||||
$notice . ' Error #' . $errno . ': ' . $errmsg . " [$errfile line $errline]",
|
||||
self::DEBUG_CONNECTION
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Will return the ID of the last smtp transaction based on a list of patterns provided
|
||||
* in SMTP::$smtp_transaction_id_patterns.
|
||||
* If no reply has been received yet, it will return null.
|
||||
* If no pattern has been matched, it will return false.
|
||||
* @return bool|null|string
|
||||
*/
|
||||
public function getLastTransactionID()
|
||||
{
|
||||
$reply = $this->getLastReply();
|
||||
|
||||
if (empty($reply)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
foreach ($this->smtp_transaction_id_patterns as $smtp_transaction_id_pattern) {
|
||||
if (preg_match($smtp_transaction_id_pattern, $reply, $matches)) {
|
||||
return $matches[1];
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue