mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
Merge branch 'master' into master
This commit is contained in:
+4
-3
@@ -2,13 +2,14 @@
|
||||
|
||||
## Planned Issues
|
||||
|
||||
* Added 7 new locales for locale service and email templates (af, cz, hu, lt, no, ru, si, sv, ta, vi, zh-cn, zh-tw)
|
||||
* New users service routes to allow updates pref, email and name update
|
||||
* Added 7 new locales for locale service and email templates (af, ar, cz, hu, lt, no, ru, si, sv, ta, vi, zh-cn, zh-tw)
|
||||
* New users service routes to allow updates pref and name update
|
||||
* 2 stage Docker build
|
||||
* New database rule validation options
|
||||
* Update docs example with auth info
|
||||
* Limit HTTP origin check only to browser integrations
|
||||
* Allow electron apps to not pass origin header
|
||||
* New OAuth adapters (Amazon, Dropbox, Microsoft, Slack, VK)
|
||||
|
||||
# Version 0.2.0 (PRE-RELEASE)
|
||||
|
||||
@@ -17,7 +18,7 @@
|
||||
* Added option to limit access to the Appwrite console
|
||||
* Added option to disable abuse check and rate limits
|
||||
* Added input field with the server API endpoint for easy access
|
||||
* Added new OAuth providers for Google and GitLab
|
||||
* Added new OAuth providers for Google, Bitbucket and GitLab
|
||||
* Added 15 new locales for locale service and email templates (cat, de, es, fi, fr, gr, hi, id, it, nl, pt-br, pt-pt, ro, tr, ua)
|
||||
* Improved test coverage for the project and synced DEV & CI environments settings
|
||||
|
||||
|
||||
+8
-8
@@ -1,6 +1,6 @@
|
||||
# Contributing
|
||||
|
||||
We would ❤️ for you to contribute to Appwrite and help make it better! As a contributor, here are the guidelines we would like you to follow:
|
||||
We would ❤️ for you to contribute to Appwrite and help make it better! As a contributor, here are the guidelines we would like you to follow:
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
@@ -8,7 +8,7 @@ Help us keep Appwrite open and inclusive. Please read and follow our [Code of Co
|
||||
|
||||
## Technology Stack
|
||||
|
||||
To start helping us to improve Appwrite server, prior knowledge of Appwrite technology stack can help you with getting started.
|
||||
To start helping us to improve Appwrite server, prior knowledge of Appwrite's technology stack can help you with getting started.
|
||||
|
||||
Appwrite stack is combined from a variety of open-source technologies and tools. Appwrite backend API is written primarily with PHP version 7 and above on top of the Utopia PHP framework. Appwrite frontend is built with tools like gulp, less and litespeed.js. We use Docker as the container technology to package the Appwrite server for easy integration on cloud, on-premise or local hosts.
|
||||
|
||||
@@ -26,9 +26,9 @@ Appwrite stack is combined from a variety of open-source technologies and tools.
|
||||
|
||||
## Package Managers
|
||||
|
||||
Appwrite is using a package manager for managing code dependencies for both backend and frontend development. We try our best to avoid creating any unnecessary and any new dependency to the project is subjected to a lead developer review and approval.
|
||||
Appwrite uses a package manager for managing code dependencies for both backend and frontend development. We try our best to avoid creating any unnecessary and any new dependency to the project is subjected to a lead developer review and approval.
|
||||
|
||||
Many of Appwrite internal modules are also used as dependencies to allow other Appwrite's projects to reuse them and as a way to contribute them back to the community.
|
||||
Many of Appwrite's internal modules are also used as dependencies to allow other Appwrite's projects to reuse them and as a way to contribute them back to the community.
|
||||
|
||||
Appwrite uses PHPs Composer for managing dependencies on the server-side and JS NPM for managing dependencies on the frontend side.
|
||||
|
||||
@@ -44,7 +44,7 @@ Appwrite is built to scale. Please keep in mind that the Appwrite stack can run
|
||||
|
||||
We wish Appwrite will be as easy to set up and in a single, localhost and easy to grow to a large environment with thousands and even hundreds of instances.
|
||||
|
||||
When contributing code please take into account the following considerations:
|
||||
When contributing code, please take into account the following considerations:
|
||||
|
||||
* Response Time
|
||||
* Throughput
|
||||
@@ -57,11 +57,11 @@ When contributing code please take into account the following considerations:
|
||||
|
||||
## Architecture
|
||||
|
||||
Appwrite current structure is a combination of both Monolithic and Microservice architectures, but our final goal, as we grow is to be using only microservices.
|
||||
Appwrite's current structure is a combination of both Monolithic and Microservice architectures, but our final goal, as we grow is to be using only microservices.
|
||||
|
||||
### The Monolithic Part
|
||||
|
||||
Appwrite main API container is designed as a monolithic app. This is a decision we made to allow us to develop the project faster while still being a very small team.
|
||||
Appwrite's main API container is designed as a monolithic app. This is a decision we made to allow us to develop the project faster while still being a very small team.
|
||||
|
||||
Although the Appwrite API is a monolithic app, it has a very clear separation of concern as each internal service or worker is separated by its container which will allow us as we grow to start breaking services for better maintenance and scalability.
|
||||
|
||||
@@ -121,6 +121,6 @@ Before running the command make sure you have proper write permissions to Appwri
|
||||
|
||||
## Tutorials
|
||||
|
||||
From time to time our team will add tutorials that will help contributors find there way in the Appwrite source code. Below is a list of currently available tutorials:
|
||||
From time to time our team will add tutorials that will help contributors find their way in the Appwrite source code. Below is a list of currently available tutorials:
|
||||
|
||||
* [Adding Support for a New OAuth Provider](./docs/AddOAuthProvider.md)
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'AF' => 'أفريقيا',
|
||||
'AN' => 'القارة القطبية الجنوبية',
|
||||
'AS' => 'آسيا',
|
||||
'EU' => 'أوروبا',
|
||||
'NA' => 'امريكا الشمالية',
|
||||
'OC' => 'أوقيانوسيا',
|
||||
'SA' => 'امريكا الجنوبية',
|
||||
];
|
||||
@@ -0,0 +1,198 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'AF' => 'أفغانستان',
|
||||
'AO' => 'أنغولا',
|
||||
'AL' => 'ألبانيا',
|
||||
'AD' => 'أندورا',
|
||||
'AE' => 'الإمارات العربية المتحدة',
|
||||
'AR' => 'الأرجنتين',
|
||||
'AM' => 'أرمينيا',
|
||||
'AG' => 'أنتيغوا وبربودا',
|
||||
'AU' => 'أستراليا',
|
||||
'AT' => 'النمسا',
|
||||
'AZ' => 'أذربيجان',
|
||||
'BI' => 'بوروندي',
|
||||
'BE' => 'بلجيكا',
|
||||
'BJ' => 'بنين',
|
||||
'BF' => 'بوركينا فاسو',
|
||||
'BD' => 'بنغلاديش',
|
||||
'BG' => 'بلغاريا',
|
||||
'BH' => 'البحرين',
|
||||
'BS' => 'جزر البهاما',
|
||||
'BA' => 'البوسنة والهرسك',
|
||||
'BY' => 'بيلاروسيا',
|
||||
'BZ' => 'بليز',
|
||||
'BO' => 'بوليفيا',
|
||||
'BR' => 'البرازيل',
|
||||
'BB' => 'بربادوس',
|
||||
'BN' => 'بروناي',
|
||||
'BT' => 'بوتان',
|
||||
'BW' => 'بوتسوانا',
|
||||
'CF' => 'جمهورية إفريقيا الوسطى',
|
||||
'CA' => 'كندا',
|
||||
'CH' => 'سويسرا',
|
||||
'CL' => 'تشيلي',
|
||||
'CN' => 'الصين',
|
||||
'CI' => 'ساحل العاج',
|
||||
'CM' => 'الكاميرون',
|
||||
'CD' => 'جمهورية الكونغو الديمقراطية',
|
||||
'CG' => 'جمهورية الكونغو',
|
||||
'CO' => 'كولومبيا',
|
||||
'KM' => 'جزر القمر',
|
||||
'CV' => 'الرأس الأخضر',
|
||||
'CR' => 'كوستاريكا',
|
||||
'CU' => 'كوبا',
|
||||
'CY' => 'قبرص',
|
||||
'CZ' => 'تشيكيا',
|
||||
'DE' => 'ألمانيا',
|
||||
'DJ' => 'جيبوتي',
|
||||
'DM' => 'دومينيكا',
|
||||
'DK' => 'الدنمارك',
|
||||
'DO' => 'جمهورية الدومينيكان',
|
||||
'DZ' => 'الجزائر',
|
||||
'EC' => 'إكوادور',
|
||||
'EG' => 'مصر',
|
||||
'ER' => 'إريتريا',
|
||||
'ES' => 'إسبانيا',
|
||||
'EE' => 'إستونيا',
|
||||
'ET' => 'إثيوبيا',
|
||||
'FI' => 'فنلندا',
|
||||
'FJ' => 'فيجي',
|
||||
'FR' => 'فرنسا',
|
||||
'FM' => 'ميكرونيزيا',
|
||||
'GA' => 'الغابون',
|
||||
'GB' => 'المملكة المتحدة',
|
||||
'GE' => 'جورجيا',
|
||||
'GH' => 'غانا',
|
||||
'GN' => 'غينيا',
|
||||
'GM' => 'غامبيا',
|
||||
'GW' => 'غينيا بيساو',
|
||||
'GQ' => 'غينيا الاستوائية',
|
||||
'GR' => 'اليونان',
|
||||
'GD' => 'غرينادا',
|
||||
'GT' => 'غواتيمالا',
|
||||
'GY' => 'غيانا',
|
||||
'HN' => 'هندوراس',
|
||||
'HR' => 'كرواتيا',
|
||||
'HT' => 'هايتي',
|
||||
'HU' => 'المجر',
|
||||
'ID' => 'إندونيسيا',
|
||||
'IN' => 'الهند',
|
||||
'IE' => 'أيرلندا',
|
||||
'IR' => 'إيران',
|
||||
'IQ' => 'العراق',
|
||||
'IS' => 'أيسلندا',
|
||||
'IL' => 'إسرائيل',
|
||||
'IT' => 'إيطاليا',
|
||||
'JM' => 'جامايكا',
|
||||
'JO' => 'الأردن',
|
||||
'JP' => 'اليابان',
|
||||
'KZ' => 'كازاخستان',
|
||||
'KE' => 'كينيا',
|
||||
'KG' => 'قيرغيزستان',
|
||||
'KH' => 'كمبوديا',
|
||||
'KI' => 'كيريباتي',
|
||||
'KN' => 'سانت كيتس ونيفيس',
|
||||
'KR' => 'كوريا الجنوبية',
|
||||
'KW' => 'الكويت',
|
||||
'LA' => 'لاوس',
|
||||
'LB' => 'لبنان',
|
||||
'LR' => 'ليبيريا',
|
||||
'LY' => 'ليبيا',
|
||||
'LC' => 'سانت لوسيا',
|
||||
'LI' => 'ليختنشتاين',
|
||||
'LK' => 'سري لانكا',
|
||||
'LS' => 'ليسوتو',
|
||||
'LT' => 'ليتوانيا',
|
||||
'LU' => 'لوكسمبورغ',
|
||||
'LV' => 'لاتفيا',
|
||||
'MA' => 'المغرب',
|
||||
'MC' => 'موناكو',
|
||||
'MD' => 'مولدوفا',
|
||||
'MG' => 'مدغشقر',
|
||||
'MV' => 'جزر المالديف',
|
||||
'MX' => 'المكسيك',
|
||||
'MH' => 'جزر مارشال',
|
||||
'MK' => 'مقدونيا',
|
||||
'ML' => 'مالي',
|
||||
'MT' => 'مالطا',
|
||||
'MM' => 'ميانمار',
|
||||
'ME' => 'الجبل الأسود',
|
||||
'MN' => 'منغوليا',
|
||||
'MZ' => 'موزمبيق',
|
||||
'MR' => 'موريتانيا',
|
||||
'MU' => 'موريشيوس',
|
||||
'MW' => 'ملاوي',
|
||||
'MY' => 'ماليزيا',
|
||||
'NA' => 'ناميبيا',
|
||||
'NE' => 'النيجر',
|
||||
'NG' => 'نيجيريا',
|
||||
'NI' => 'نيكاراغوا',
|
||||
'NL' => 'هولندا',
|
||||
'NO' => 'النرويج',
|
||||
'NP' => 'نيبال',
|
||||
'NR' => 'ناورو',
|
||||
'NZ' => 'نيوزيلندا',
|
||||
'OM' => 'عمان',
|
||||
'PK' => 'باكستان',
|
||||
'PA' => 'بنما',
|
||||
'PE' => 'بيرو',
|
||||
'PH' => 'الفلبين',
|
||||
'PW' => 'بالاو',
|
||||
'PG' => 'بابوا غينيا الجديدة',
|
||||
'PL' => 'بولندا',
|
||||
'KP' => 'كوريا الشمالية',
|
||||
'PT' => 'البرتغال',
|
||||
'PY' => 'باراجواي',
|
||||
'QA' => 'قطر',
|
||||
'RO' => 'رومانيا',
|
||||
'RU' => 'روسيا',
|
||||
'RW' => 'رواندا',
|
||||
'SA' => 'المملكة العربية السعودية',
|
||||
'SD' => 'السودان',
|
||||
'SN' => 'السنغال',
|
||||
'SG' => 'سنغافورة',
|
||||
'SB' => 'جزر سليمان',
|
||||
'SL' => 'سيراليون',
|
||||
'SV' => 'السلفادور',
|
||||
'SM' => 'سان مارينو',
|
||||
'SO' => 'الصومال',
|
||||
'RS' => 'صربيا',
|
||||
'SS' => 'جنوب السودان',
|
||||
'ST' => 'ساو تومي وبرينسيبي',
|
||||
'SR' => 'سورينام',
|
||||
'SK' => 'سلوفاكيا',
|
||||
'SI' => 'سلوفينيا',
|
||||
'SE' => 'السويد',
|
||||
'SZ' => 'سوازيلند',
|
||||
'SC' => 'سيشيل',
|
||||
'SY' => 'سوريا',
|
||||
'TD' => 'تشاد',
|
||||
'TG' => 'توغو',
|
||||
'TH' => 'تايلاند',
|
||||
'TJ' => 'طاجيكستان',
|
||||
'TM' => 'تركمانستان',
|
||||
'TL' => 'تيمور الشرقية',
|
||||
'TO' => 'تونجا',
|
||||
'TT' => 'ترينيداد وتوباغو',
|
||||
'TN' => 'تونس',
|
||||
'TR' => 'تركيا',
|
||||
'TV' => 'توفالو',
|
||||
'TZ' => 'تنزانيا',
|
||||
'UG' => 'أوغندا',
|
||||
'UA' => 'أوكرانيا',
|
||||
'UY' => 'أوروغواي',
|
||||
'UK' => 'الولايات المتحدة',
|
||||
'UZ' => 'أوزبكستان',
|
||||
'VA' => 'مدينة الفاتيكان',
|
||||
'VC' => 'سانت فنسنت وجزر غرينادين',
|
||||
'VE' => 'فنزويلا',
|
||||
'VN' => 'فيتنام',
|
||||
'VU' => 'فانواتو',
|
||||
'WS' => 'ساموا',
|
||||
'YE' => 'اليمن',
|
||||
'ZA' => 'جنوب إفريقيا',
|
||||
'ZM' => 'زامبيا',
|
||||
'ZW' => 'زيمبابوي',
|
||||
];
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'settings.inspire' => '"فن الحكمة هو فن معرفة ما يجب التغاضي عنه."', // This is the line printed in the homepage and console 'view-source'
|
||||
'settings.locale' => 'ar',
|
||||
'settings.direction' => 'rtl',
|
||||
|
||||
// Service - Users
|
||||
'auth.emails.team' => 'فريق %s',
|
||||
'auth.emails.confirm.title' => 'تأكيد الحساب',
|
||||
'auth.emails.confirm.body' => 'ar.email.auth.confirm.tpl',
|
||||
'auth.emails.recovery.title' => 'إعادة تعيين كلمة المرور',
|
||||
'auth.emails.recovery.body' => 'ar.email.auth.recovery.tpl',
|
||||
'auth.emails.invitation.title' => 'دعوة لفريق %s في %s',
|
||||
'auth.emails.invitation.body' => 'ar.email.auth.invitation.tpl',
|
||||
|
||||
'locale.country.unknown' => 'مجهول',
|
||||
|
||||
'countries' => include 'ar.countries.php',
|
||||
'continents' => include 'ar.continents.php',
|
||||
];
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'AF' => 'Afrika',
|
||||
'AN' => 'Antartika',
|
||||
'AS' => 'Asia',
|
||||
'EU' => 'Eropa',
|
||||
'NA' => 'Amérika Lor',
|
||||
'OC' => 'Oseania',
|
||||
'SA' => 'Amérika Kidul',
|
||||
];
|
||||
@@ -0,0 +1,198 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'AF' => 'Afghanistan',
|
||||
'AO' => 'Angola',
|
||||
'AL' => 'Albania',
|
||||
'AD' => 'Andorra',
|
||||
'AE' => 'Uni Emirat Arab',
|
||||
'AR' => 'Argentina',
|
||||
'AM' => 'Armenia',
|
||||
'AG' => 'Antigua lan Barbuda',
|
||||
'AU' => 'Australia',
|
||||
'AT' => 'Austria',
|
||||
'AZ' => 'Azerbaijan',
|
||||
'BI' => 'Burundi',
|
||||
'BE' => 'Belgia',
|
||||
'BJ' => 'Benin',
|
||||
'BF' => 'Burkina Faso',
|
||||
'BD' => 'Bangladesh',
|
||||
'BG' => 'Bulgaria',
|
||||
'BH' => 'Bahrain',
|
||||
'BS' => 'Bahamas',
|
||||
'BA' => 'Bosnia lan Herzegovina',
|
||||
'BY' => 'Belarus',
|
||||
'BZ' => 'Belize',
|
||||
'BO' => 'Bolivia',
|
||||
'BR' => 'Brasil',
|
||||
'BB' => 'Barbados',
|
||||
'BN' => 'Brunei',
|
||||
'BT' => 'Bhutan',
|
||||
'BW' => 'Botswana',
|
||||
'CF' => 'Republik Afrika Tengah',
|
||||
'CA' => 'Kanada',
|
||||
'CH' => 'Swiss',
|
||||
'CL' => 'Chile',
|
||||
'CN' => 'China',
|
||||
'CI' => 'Pantai Gading',
|
||||
'CM' => 'Kamerun',
|
||||
'CD' => 'DR Kongo',
|
||||
'CG' => 'Republik Kongo',
|
||||
'CO' => 'Kolombia',
|
||||
'KM' => 'Comoros',
|
||||
'CV' => 'Cape Verde',
|
||||
'CR' => 'Costa Rica',
|
||||
'CU' => 'Kuba',
|
||||
'CY' => 'Siprus',
|
||||
'CZ' => 'Czechia',
|
||||
'DE' => 'Jerman',
|
||||
'DJ' => 'Djibouti',
|
||||
'DM' => 'Dominika',
|
||||
'DK' => 'Denmark',
|
||||
'DO' => 'Republik Dominika',
|
||||
'DZ' => 'Algeria',
|
||||
'EC' => 'Ekuador',
|
||||
'EG' => 'Mesir',
|
||||
'ER' => 'Eritrea',
|
||||
'ES' => 'Spanyol',
|
||||
'EE' => 'Estonia',
|
||||
'ET' => 'Ethiopia',
|
||||
'FI' => 'Finlandia',
|
||||
'FJ' => 'Fiji',
|
||||
'FR' => 'Prancis',
|
||||
'FM' => 'Mikronesia',
|
||||
'GA' => 'Gabon',
|
||||
'GB' => 'Inggris',
|
||||
'GE' => 'Georgia',
|
||||
'GH' => 'Ghana',
|
||||
'GN' => 'Guinea',
|
||||
'GM' => 'Gambia',
|
||||
'GW' => 'Guinea-Bissau',
|
||||
'GQ' => 'Guinea Khatulistiwa',
|
||||
'GR' => 'Yunani',
|
||||
'GD' => 'Grenada',
|
||||
'GT' => 'Guatemala',
|
||||
'GY' => 'Guyana',
|
||||
'HN' => 'Honduras',
|
||||
'HR' => 'Croatia',
|
||||
'HT' => 'Haiti',
|
||||
'HU' => 'Hongaria',
|
||||
'ID' => 'Indonesia',
|
||||
'IN' => 'India',
|
||||
'IE' => 'Irlandia',
|
||||
'IR' => 'Iran',
|
||||
'IQ' => 'Irak',
|
||||
'IS' => 'Islandia',
|
||||
'IL' => 'Israel',
|
||||
'IT' => 'Italia',
|
||||
'JM' => 'Jamaika',
|
||||
'JO' => 'Yordania',
|
||||
'JP' => 'Jepang',
|
||||
'KZ' => 'Kazakhstan',
|
||||
'KE' => 'Kenya',
|
||||
'KG' => 'Kyrgyzstan',
|
||||
'KH' => 'Kamboja',
|
||||
'KI' => 'Kiribati',
|
||||
'KN' => 'Saint Kitts lan Nevis',
|
||||
'KR' => 'Korea Kidul',
|
||||
'KW' => 'Kuwait',
|
||||
'LA' => 'Laos',
|
||||
'LB' => 'Libanon',
|
||||
'LR' => 'Liberia',
|
||||
'LY' => 'Libya',
|
||||
'LC' => 'Saint Lucia',
|
||||
'LI' => 'Liechtenstein',
|
||||
'LK' => 'Sri Lanka',
|
||||
'LS' => 'Lesotho',
|
||||
'LT' => 'Lithuania',
|
||||
'LU' => 'Luksemburg',
|
||||
'LV' => 'Latvia',
|
||||
'MA' => 'Maroko',
|
||||
'MC' => 'Monaco',
|
||||
'MD' => 'Moldova',
|
||||
'MG' => 'Madagascar',
|
||||
'MV' => 'Maldives',
|
||||
'MX' => 'Meksiko',
|
||||
'MH' => 'Kepulauan Marshall',
|
||||
'MK' => 'Makedonia',
|
||||
'ML' => 'Mali',
|
||||
'MT' => 'Malta',
|
||||
'MM' => 'Myanmar',
|
||||
'ME' => 'Montenegro',
|
||||
'MN' => 'Mongolia',
|
||||
'MZ' => 'Mozambique',
|
||||
'MR' => 'Mauritania',
|
||||
'MU' => 'Mauritius',
|
||||
'MW' => 'Malawi',
|
||||
'MY' => 'Malaysia',
|
||||
'NA' => 'Namibia',
|
||||
'NE' => 'Niger',
|
||||
'NG' => 'Nigeria',
|
||||
'NI' => 'Nikaragua',
|
||||
'NL' => 'Belanda',
|
||||
'NO' => 'Norwegia',
|
||||
'NP' => 'Nepal',
|
||||
'NR' => 'Nauru',
|
||||
'NZ' => 'Selandia Anyar',
|
||||
'OM' => 'Oman',
|
||||
'PK' => 'Pakistan',
|
||||
'PA' => 'Panama',
|
||||
'PE' => 'Peru',
|
||||
'PH' => 'Filipina',
|
||||
'PW' => 'Palau',
|
||||
'PG' => 'Papua Nugini',
|
||||
'PL' => 'Polandia',
|
||||
'KP' => 'Korea Lor',
|
||||
'PT' => 'Portugal',
|
||||
'PY' => 'Paraguay',
|
||||
'QA' => 'Qatar',
|
||||
'RO' => 'Romania',
|
||||
'RU' => 'Rusia',
|
||||
'RW' => 'Rwanda',
|
||||
'SA' => 'Arab Saudi',
|
||||
'SD' => 'Sudan',
|
||||
'SN' => 'Senegal',
|
||||
'SG' => 'Singapura',
|
||||
'SB' => 'Kepulauan Solomon',
|
||||
'SL' => 'Sierra Leone',
|
||||
'SV' => 'El Salvador',
|
||||
'SM' => 'San Marino',
|
||||
'SO' => 'Somalia',
|
||||
'RS' => 'Serbia',
|
||||
'SS' => 'Sudan Kidul',
|
||||
'ST' => 'São Tomé lan Príncipe',
|
||||
'SR' => 'Suriname',
|
||||
'SK' => 'Slowakia',
|
||||
'SI' => 'Slovenia',
|
||||
'SE' => 'Swedia',
|
||||
'SZ' => 'Swaziland',
|
||||
'SC' => 'Seychelles',
|
||||
'SY' => 'Suriah',
|
||||
'TD' => 'Chad',
|
||||
'TG' => 'Togo',
|
||||
'TH' => 'Thailand',
|
||||
'TJ' => 'Tajikistan',
|
||||
'TM' => 'Turkmenistan',
|
||||
'TL' => 'Timor-Leste',
|
||||
'TO' => 'Tonga',
|
||||
'TT' => 'Trinidad lan Tobago',
|
||||
'TN' => 'Tunisia',
|
||||
'TR' => 'Turki',
|
||||
'TV' => 'Tuvalu',
|
||||
'TZ' => 'Tanzania',
|
||||
'UG' => 'Uganda',
|
||||
'UA' => 'Ukraina',
|
||||
'UY' => 'Uruguay',
|
||||
'US' => 'Amerika Serikat',
|
||||
'UZ' => 'Uzbekistan',
|
||||
'VA' => 'Kota Vatikan',
|
||||
'VC' => 'Saint Vincent lan Grenadines',
|
||||
'VE' => 'Venezuela',
|
||||
'VN' => 'Vietnam',
|
||||
'VU' => 'Vanuatu',
|
||||
'WS' => 'Samoa',
|
||||
'YE' => 'Yaman',
|
||||
'ZA' => 'Afrika Kidul',
|
||||
'ZM' => 'Zambia',
|
||||
'ZW' => 'Zimbabwe',
|
||||
];
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'settings.inspire' => '"Kesenian sing wicaksana yaiku seni sing ngerti apa sing kudu dilalekake."', // This is the line printed in the homepage and console 'view-source'
|
||||
'settings.locale' => 'jv',
|
||||
'settings.direction' => 'ltr',
|
||||
|
||||
// Service - Users
|
||||
'auth.emails.team' => 'Tim %s',
|
||||
'auth.emails.confirm.title' => 'Konfirmasi akun',
|
||||
'auth.emails.confirm.body' => 'jv.email.auth.confirm.tpl',
|
||||
'auth.emails.recovery.title' => 'Reset Sandi',
|
||||
'auth.emails.recovery.body' => 'jv.email.auth.recovery.tpl',
|
||||
'auth.emails.invitation.title' => 'Undangan menyang %s Tim ing %s',
|
||||
'auth.emails.invitation.body' => 'jv.email.auth.invitation.tpl',
|
||||
|
||||
'locale.country.unknown' => 'Ora dingerteni',
|
||||
|
||||
'countries' => include 'jv.countries.php',
|
||||
'continents' => include 'jv.continents.php',
|
||||
];
|
||||
+186
-185
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'AF' => 'Afganistanas',
|
||||
'AO' => 'Angola',
|
||||
@@ -9,189 +10,189 @@ return [
|
||||
'AM' => 'Armėnija',
|
||||
'AG' => 'Antigva ir Barbuda',
|
||||
'AU' => 'Australija',
|
||||
'AT' => 'Austrija',
|
||||
'AZ' => 'Azerbaidžanas',
|
||||
'BI' => 'Burundi',
|
||||
'BE' => 'Belgija',
|
||||
'BJ' => 'Beninas',
|
||||
'BF' => 'Burkina Faso',
|
||||
'BD' => 'Bangladešas',
|
||||
'BG' => 'Bulgarija',
|
||||
'BH' => 'Bahreinas',
|
||||
'BS' => 'Bahamai',
|
||||
'BA' => 'Bosnija ir Hercegovina',
|
||||
'BY' => 'Baltarusija',
|
||||
'BZ' => 'Baileys',
|
||||
'BO' => 'Bolivija',
|
||||
'BR' => 'Brazilija',
|
||||
'BB' => 'Barbadosas',
|
||||
'BN' => 'Brunėjus',
|
||||
'BT' => 'Butanas',
|
||||
'BW' => 'Botsvana',
|
||||
'CF' => 'Centrinės Afrikos Respublika',
|
||||
'CA' => 'Kanada',
|
||||
'CH' => 'Šveicarija',
|
||||
'CL' => 'Čilė',
|
||||
'CN' => 'Kinija',
|
||||
'CI' => 'Dramblio Kaulo Krantas',
|
||||
'CM' => 'Kamerūnas',
|
||||
'CD' => 'Kongo Demokratinė Respublika',
|
||||
'CG' => 'Kongo Respublika',
|
||||
'CO' => 'Kolumbija',
|
||||
'KM' => 'Komorai',
|
||||
'CV' => 'Žaliasis Kyšulys',
|
||||
'CR' => 'Kosta Rika',
|
||||
'CU' => 'Kuba',
|
||||
'CY' => 'Kipras',
|
||||
'CZ' => 'Čekija',
|
||||
'DE' => 'Vokietija',
|
||||
'DJ' => 'Džibutis',
|
||||
'DM' => 'Dominika',
|
||||
'DK' => 'Danija',
|
||||
'DO' => 'Dominikos Respublika',
|
||||
'DZ' => 'Alžyras',
|
||||
'EC' => 'Ekvadoras',
|
||||
'EG' => 'Egiptas',
|
||||
'ER' => 'Eritrėja',
|
||||
'ES' => 'Ispanija',
|
||||
'EE' => 'Estija',
|
||||
'ET' => 'Etiopija',
|
||||
'FI' => 'Suomija',
|
||||
'FJ' => 'Fidžis',
|
||||
'FR' => 'Prancūzija',
|
||||
'FM' => 'Mikronezija',
|
||||
'GA' => 'Gabonas',
|
||||
'GB' => 'Jungtinė Karalystė',
|
||||
'GE' => 'Gruzija',
|
||||
'GH' => 'Gana',
|
||||
'GN' => 'Gvinėja',
|
||||
'GM' => 'Gambija',
|
||||
'GW' => 'Bisau Gvinėja',
|
||||
'GQ' => 'Pusiaujo Gvinėja',
|
||||
'GR' => 'Graikija',
|
||||
'GD' => 'Grenada',
|
||||
'GT' => 'Gvatemala',
|
||||
'GY' => 'Gajana',
|
||||
'HN' => 'Hondūras',
|
||||
'HR' => 'Kroatija',
|
||||
'HT' => 'Haitis',
|
||||
'HU' => 'Vengrija',
|
||||
'ID' => 'Indonezija',
|
||||
'IN' => 'Indija',
|
||||
'IE' => 'Airija',
|
||||
'IR' => 'Iranas',
|
||||
'IQ' => 'Irakas',
|
||||
'IS' => 'Islandija',
|
||||
'IL' => 'Izraelis',
|
||||
'IT' => 'Italija',
|
||||
'JM' => 'Jamaika',
|
||||
'JO' => 'Jordanija',
|
||||
'JP' => 'Japonija',
|
||||
'KZ' => 'Kazachstanas',
|
||||
'KE' => 'Kenija',
|
||||
'KG' => 'Kirgizija',
|
||||
'KH' => 'Kambodža',
|
||||
'KI' => 'Kiribati',
|
||||
'KN' => 'Sent Kitsas ir Nevis',
|
||||
'KR' => 'Pietų Korėja',
|
||||
'KW' => 'Kuveitas',
|
||||
'LA' => 'Laosas',
|
||||
'LB' => 'Libanas',
|
||||
'LR' => 'Liberija',
|
||||
'LY' => 'Libija',
|
||||
'LC' => 'Sent Lusija',
|
||||
'LI' => 'Lichtenšteinas',
|
||||
'LK' => 'Šri Lanka',
|
||||
'LS' => 'Lesotas',
|
||||
'LT' => 'Lietuva',
|
||||
'LU' => 'Liuksemburgas',
|
||||
'LV' => 'Latvija',
|
||||
'MA' => 'Marokas',
|
||||
'MC' => 'Monaco',
|
||||
'MD' => 'Moldova',
|
||||
'MG' => 'Madagaskaras',
|
||||
'MV' => 'Maldyvai',
|
||||
'MX' => 'Meksika',
|
||||
'MH' => 'Maršalo salos',
|
||||
'MK' => 'Makedonija',
|
||||
'ML' => 'Malis',
|
||||
'MT' => 'Malta',
|
||||
'MM' => 'Mianmaras',
|
||||
'ME' => 'Juodkalnija',
|
||||
'MN' => 'Mongolija',
|
||||
'MZ' => 'Mozambikas',
|
||||
'MR' => 'Mauritanija',
|
||||
'MU' => 'Mauricijus',
|
||||
'MW' => 'Malavis',
|
||||
'MY' => 'Malaizija',
|
||||
'NA' => 'Namibija',
|
||||
'NE' => 'Nigeris',
|
||||
'NG' => 'Nigerija',
|
||||
'NI' => 'Nikaragva',
|
||||
'NL' => 'Nyderlandai',
|
||||
'NE' => 'Norvegija',
|
||||
'NP' => 'Nepalas',
|
||||
'NR' => 'Nauru',
|
||||
'NZ' => 'Naujoji Zelandija',
|
||||
'OM' => 'Omanas',
|
||||
'PK' => 'Pakistanas',
|
||||
'PA' => 'Panama',
|
||||
'PE' => 'Peru',
|
||||
'PH' => 'Filipinai',
|
||||
'PW' => 'Palau',
|
||||
'PG' => 'Papua Naujoji Gvinėja',
|
||||
'PL' => 'Lenkija',
|
||||
'KP' => 'Šiaurės Korėja',
|
||||
'PT' => 'Portugalija',
|
||||
'PY' => 'Paragvajus',
|
||||
'QA' => 'Qatar',
|
||||
'RO' => 'Rumunija',
|
||||
'RU' => 'Rusija',
|
||||
'RW' => 'Ruanda',
|
||||
'SA' => 'Saudo Arabija',
|
||||
'SD' => 'Sudanas',
|
||||
'SN' => 'Senegalas',
|
||||
'SG' => 'Singapūras',
|
||||
'SB' => 'Saliamono Salos',
|
||||
'SL' => 'Siera Leonė',
|
||||
'SV' => 'Salvadoras',
|
||||
'SM' => 'San Marino',
|
||||
'SO' => 'Somalis',
|
||||
'RS' => 'Serbija',
|
||||
'SS' => 'Pietų Sudanas',
|
||||
'ST' => 'San Tomė ir Prinsipė',
|
||||
'SR' => 'Surinamas',
|
||||
'SK' => 'Slovakija',
|
||||
'SI' => 'Slovėnija',
|
||||
'SE' => 'Švedija',
|
||||
'SZ' => 'Svazilandas',
|
||||
'SC' => 'Seišeliai',
|
||||
'SY' => 'Sirija',
|
||||
'TD' => 'Chadas',
|
||||
'TG' => 'Togo',
|
||||
'TH' => 'Tailandas',
|
||||
'TJ' => 'Tadžikistanas',
|
||||
'TM' => 'Turkmėnistanas',
|
||||
'TL' => 'Rytų Timoras',
|
||||
'TO' => 'Tonga',
|
||||
'TT' => 'Trinidadas ir Tobagas',
|
||||
'TN' => 'Tunisas',
|
||||
'TR' => 'Turkija',
|
||||
'TV' => 'Tuvalu',
|
||||
'TZ' => 'Tanzanija',
|
||||
'UG' => 'Uganda',
|
||||
'UA' => 'Ukraina',
|
||||
'UY' => 'Urugvajus',
|
||||
'US' => 'JAV',
|
||||
'UZ' => 'Uzbekistanas',
|
||||
'VA' => 'Vatikanas',
|
||||
'VC' => 'Sent Vinsentas ir Grenadinai',
|
||||
'VE' => 'Venesuela',
|
||||
'VN' => 'Vietnamas',
|
||||
'VU' => 'Vanuatu',
|
||||
'WS' => 'Samoa',
|
||||
'YE' => 'Jemenas',
|
||||
'ZA' => 'Pietų Afrika',
|
||||
'ZM' => 'Zambija',
|
||||
'ZW' => 'Zimbabvė',
|
||||
'AT' => 'Austrija',
|
||||
'AZ' => 'Azerbaidžanas',
|
||||
'BI' => 'Burundi',
|
||||
'BE' => 'Belgija',
|
||||
'BJ' => 'Beninas',
|
||||
'BF' => 'Burkina Faso',
|
||||
'BD' => 'Bangladešas',
|
||||
'BG' => 'Bulgarija',
|
||||
'BH' => 'Bahreinas',
|
||||
'BS' => 'Bahamai',
|
||||
'BA' => 'Bosnija ir Hercegovina',
|
||||
'BY' => 'Baltarusija',
|
||||
'BZ' => 'Baileys',
|
||||
'BO' => 'Bolivija',
|
||||
'BR' => 'Brazilija',
|
||||
'BB' => 'Barbadosas',
|
||||
'BN' => 'Brunėjus',
|
||||
'BT' => 'Butanas',
|
||||
'BW' => 'Botsvana',
|
||||
'CF' => 'Centrinės Afrikos Respublika',
|
||||
'CA' => 'Kanada',
|
||||
'CH' => 'Šveicarija',
|
||||
'CL' => 'Čilė',
|
||||
'CN' => 'Kinija',
|
||||
'CI' => 'Dramblio Kaulo Krantas',
|
||||
'CM' => 'Kamerūnas',
|
||||
'CD' => 'Kongo Demokratinė Respublika',
|
||||
'CG' => 'Kongo Respublika',
|
||||
'CO' => 'Kolumbija',
|
||||
'KM' => 'Komorai',
|
||||
'CV' => 'Žaliasis Kyšulys',
|
||||
'CR' => 'Kosta Rika',
|
||||
'CU' => 'Kuba',
|
||||
'CY' => 'Kipras',
|
||||
'CZ' => 'Čekija',
|
||||
'DE' => 'Vokietija',
|
||||
'DJ' => 'Džibutis',
|
||||
'DM' => 'Dominika',
|
||||
'DK' => 'Danija',
|
||||
'DO' => 'Dominikos Respublika',
|
||||
'DZ' => 'Alžyras',
|
||||
'EC' => 'Ekvadoras',
|
||||
'EG' => 'Egiptas',
|
||||
'ER' => 'Eritrėja',
|
||||
'ES' => 'Ispanija',
|
||||
'EE' => 'Estija',
|
||||
'ET' => 'Etiopija',
|
||||
'FI' => 'Suomija',
|
||||
'FJ' => 'Fidžis',
|
||||
'FR' => 'Prancūzija',
|
||||
'FM' => 'Mikronezija',
|
||||
'GA' => 'Gabonas',
|
||||
'GB' => 'Jungtinė Karalystė',
|
||||
'GE' => 'Gruzija',
|
||||
'GH' => 'Gana',
|
||||
'GN' => 'Gvinėja',
|
||||
'GM' => 'Gambija',
|
||||
'GW' => 'Bisau Gvinėja',
|
||||
'GQ' => 'Pusiaujo Gvinėja',
|
||||
'GR' => 'Graikija',
|
||||
'GD' => 'Grenada',
|
||||
'GT' => 'Gvatemala',
|
||||
'GY' => 'Gajana',
|
||||
'HN' => 'Hondūras',
|
||||
'HR' => 'Kroatija',
|
||||
'HT' => 'Haitis',
|
||||
'HU' => 'Vengrija',
|
||||
'ID' => 'Indonezija',
|
||||
'IN' => 'Indija',
|
||||
'IE' => 'Airija',
|
||||
'IR' => 'Iranas',
|
||||
'IQ' => 'Irakas',
|
||||
'IS' => 'Islandija',
|
||||
'IL' => 'Izraelis',
|
||||
'IT' => 'Italija',
|
||||
'JM' => 'Jamaika',
|
||||
'JO' => 'Jordanija',
|
||||
'JP' => 'Japonija',
|
||||
'KZ' => 'Kazachstanas',
|
||||
'KE' => 'Kenija',
|
||||
'KG' => 'Kirgizija',
|
||||
'KH' => 'Kambodža',
|
||||
'KI' => 'Kiribati',
|
||||
'KN' => 'Sent Kitsas ir Nevis',
|
||||
'KR' => 'Pietų Korėja',
|
||||
'KW' => 'Kuveitas',
|
||||
'LA' => 'Laosas',
|
||||
'LB' => 'Libanas',
|
||||
'LR' => 'Liberija',
|
||||
'LY' => 'Libija',
|
||||
'LC' => 'Sent Lusija',
|
||||
'LI' => 'Lichtenšteinas',
|
||||
'LK' => 'Šri Lanka',
|
||||
'LS' => 'Lesotas',
|
||||
'LT' => 'Lietuva',
|
||||
'LU' => 'Liuksemburgas',
|
||||
'LV' => 'Latvija',
|
||||
'MA' => 'Marokas',
|
||||
'MC' => 'Monaco',
|
||||
'MD' => 'Moldova',
|
||||
'MG' => 'Madagaskaras',
|
||||
'MV' => 'Maldyvai',
|
||||
'MX' => 'Meksika',
|
||||
'MH' => 'Maršalo salos',
|
||||
'MK' => 'Makedonija',
|
||||
'ML' => 'Malis',
|
||||
'MT' => 'Malta',
|
||||
'MM' => 'Mianmaras',
|
||||
'ME' => 'Juodkalnija',
|
||||
'MN' => 'Mongolija',
|
||||
'MZ' => 'Mozambikas',
|
||||
'MR' => 'Mauritanija',
|
||||
'MU' => 'Mauricijus',
|
||||
'MW' => 'Malavis',
|
||||
'MY' => 'Malaizija',
|
||||
'NA' => 'Namibija',
|
||||
'NE' => 'Nigeris',
|
||||
'NG' => 'Nigerija',
|
||||
'NI' => 'Nikaragva',
|
||||
'NL' => 'Nyderlandai',
|
||||
'NE' => 'Norvegija',
|
||||
'NP' => 'Nepalas',
|
||||
'NR' => 'Nauru',
|
||||
'NZ' => 'Naujoji Zelandija',
|
||||
'OM' => 'Omanas',
|
||||
'PK' => 'Pakistanas',
|
||||
'PA' => 'Panama',
|
||||
'PE' => 'Peru',
|
||||
'PH' => 'Filipinai',
|
||||
'PW' => 'Palau',
|
||||
'PG' => 'Papua Naujoji Gvinėja',
|
||||
'PL' => 'Lenkija',
|
||||
'KP' => 'Šiaurės Korėja',
|
||||
'PT' => 'Portugalija',
|
||||
'PY' => 'Paragvajus',
|
||||
'QA' => 'Qatar',
|
||||
'RO' => 'Rumunija',
|
||||
'RU' => 'Rusija',
|
||||
'RW' => 'Ruanda',
|
||||
'SA' => 'Saudo Arabija',
|
||||
'SD' => 'Sudanas',
|
||||
'SN' => 'Senegalas',
|
||||
'SG' => 'Singapūras',
|
||||
'SB' => 'Saliamono Salos',
|
||||
'SL' => 'Siera Leonė',
|
||||
'SV' => 'Salvadoras',
|
||||
'SM' => 'San Marino',
|
||||
'SO' => 'Somalis',
|
||||
'RS' => 'Serbija',
|
||||
'SS' => 'Pietų Sudanas',
|
||||
'ST' => 'San Tomė ir Prinsipė',
|
||||
'SR' => 'Surinamas',
|
||||
'SK' => 'Slovakija',
|
||||
'SI' => 'Slovėnija',
|
||||
'SE' => 'Švedija',
|
||||
'SZ' => 'Svazilandas',
|
||||
'SC' => 'Seišeliai',
|
||||
'SY' => 'Sirija',
|
||||
'TD' => 'Chadas',
|
||||
'TG' => 'Togo',
|
||||
'TH' => 'Tailandas',
|
||||
'TJ' => 'Tadžikistanas',
|
||||
'TM' => 'Turkmėnistanas',
|
||||
'TL' => 'Rytų Timoras',
|
||||
'TO' => 'Tonga',
|
||||
'TT' => 'Trinidadas ir Tobagas',
|
||||
'TN' => 'Tunisas',
|
||||
'TR' => 'Turkija',
|
||||
'TV' => 'Tuvalu',
|
||||
'TZ' => 'Tanzanija',
|
||||
'UG' => 'Uganda',
|
||||
'UA' => 'Ukraina',
|
||||
'UY' => 'Urugvajus',
|
||||
'US' => 'JAV',
|
||||
'UZ' => 'Uzbekistanas',
|
||||
'VA' => 'Vatikanas',
|
||||
'VC' => 'Sent Vinsentas ir Grenadinai',
|
||||
'VE' => 'Venesuela',
|
||||
'VN' => 'Vietnamas',
|
||||
'VU' => 'Vanuatu',
|
||||
'WS' => 'Samoa',
|
||||
'YE' => 'Jemenas',
|
||||
'ZA' => 'Pietų Afrika',
|
||||
'ZM' => 'Zambija',
|
||||
'ZW' => 'Zimbabvė',
|
||||
];
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'AF' => 'Afryka',
|
||||
'AN' => 'Antarktyda',
|
||||
'AS' => 'Azja',
|
||||
'EU' => 'Europa',
|
||||
'NA' => 'Ameryka Północna',
|
||||
'OC' => 'Oceania',
|
||||
'SA' => 'Ameryka południowa',
|
||||
];
|
||||
@@ -0,0 +1,198 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'AF' => 'Afganistan',
|
||||
'AO' => 'Angola',
|
||||
'AL' => 'Albania',
|
||||
'AD' => 'Andora',
|
||||
'AE' => 'Zjednoczone Emiraty Arabskie',
|
||||
'AR' => 'Argentyna',
|
||||
'AM' => 'Armenia',
|
||||
'AG' => 'Antigua i Barbuda',
|
||||
'AU' => 'Australia',
|
||||
'AT' => 'Austria',
|
||||
'AZ' => 'Azerbejdżan',
|
||||
'BI' => 'Burundi',
|
||||
'BE' => 'Belgia',
|
||||
'BJ' => 'Benin',
|
||||
'BF' => 'Burkina Faso',
|
||||
'BD' => 'Bangladesz',
|
||||
'BG' => 'Bułgaria',
|
||||
'BH' => 'Bahrajn',
|
||||
'BS' => 'Bahamy',
|
||||
'BA' => 'Bośnia i Hercegowina',
|
||||
'BY' => 'Białoruś',
|
||||
'BZ' => 'Belize',
|
||||
'BO' => 'Boliwia',
|
||||
'BR' => 'Brazylia',
|
||||
'BB' => 'Barbados',
|
||||
'BN' => 'Brunei',
|
||||
'BT' => 'Bhutan',
|
||||
'BW' => 'Botswana',
|
||||
'CF' => 'Republika Środkowoafrykańska',
|
||||
'CA' => 'Kanada',
|
||||
'CH' => 'Szwajcaria',
|
||||
'CL' => 'Chile',
|
||||
'CN' => 'Chiny',
|
||||
'CI' => 'Wybrzeże Kości Słoniowej',
|
||||
'CM' => 'Kamerun',
|
||||
'CD' => 'DR Congo',
|
||||
'CG' => 'Republika Konga',
|
||||
'CO' => 'Kolumbia',
|
||||
'KM' => 'Komory',
|
||||
'CV' => 'Republika Zielonego Przylądka',
|
||||
'CR' => 'Kostaryka',
|
||||
'CU' => 'Kuba',
|
||||
'CY' => 'Cypr',
|
||||
'CZ' => 'Czechy',
|
||||
'DE' => 'Niemcy',
|
||||
'DJ' => 'Dżibuti',
|
||||
'DM' => 'Dominica',
|
||||
'DK' => 'Dania',
|
||||
'DO' => 'Republika Dominikańska',
|
||||
'DZ' => 'Algieria',
|
||||
'EC' => 'Ekwador',
|
||||
'EG' => 'Egipt',
|
||||
'ER' => 'Erytrea',
|
||||
'ES' => 'Hiszpania',
|
||||
'EE' => 'Estonia',
|
||||
'ET' => 'Etiopia',
|
||||
'FI' => 'Finlandia',
|
||||
'FJ' => 'Fidżi',
|
||||
'FR' => 'Francja',
|
||||
'FM' => 'Mikronezja',
|
||||
'GA' => 'Gabon',
|
||||
'GB' => 'Wielka Brytania',
|
||||
'GE' => 'Georgia',
|
||||
'GH' => 'Ghana',
|
||||
'GN' => 'Gwinea',
|
||||
'GM' => 'Gambia',
|
||||
'GW' => 'Gwinea Bissau',
|
||||
'GQ' => 'Gwinea Równikowa',
|
||||
'GR' => 'Grecja',
|
||||
'GD' => 'Grenada',
|
||||
'GT' => 'Gwatemala',
|
||||
'GY' => 'Gujana',
|
||||
'HN' => 'Honduras',
|
||||
'HR' => 'Chorwacja',
|
||||
'HT' => 'Haiti',
|
||||
'HU' => 'Węgry',
|
||||
'ID' => 'Indonezja',
|
||||
'IN' => 'Indie',
|
||||
'IE' => 'Irlandia',
|
||||
'IR' => 'Iran',
|
||||
'IQ' => 'Irak',
|
||||
'IS' => 'Islandia',
|
||||
'IL' => 'Israel',
|
||||
'IT' => 'Włochy',
|
||||
'JM' => 'Jamajka',
|
||||
'JO' => 'Jordan',
|
||||
'JP' => 'Japonia',
|
||||
'KZ' => 'Kazachstan',
|
||||
'KE' => 'Kenia',
|
||||
'KG' => 'Kirgistan',
|
||||
'KH' => 'Kambodża',
|
||||
'KI' => 'Kiribati',
|
||||
'KN' => 'Saint Kitts i Nevis',
|
||||
'KR' => 'Korea Południowa',
|
||||
'KW' => 'Kuwejt',
|
||||
'LA' => 'Laos',
|
||||
'LB' => 'Liban',
|
||||
'LR' => 'Liberia',
|
||||
'LY' => 'Libia',
|
||||
'LC' => 'Saint Lucia',
|
||||
'LI' => 'Liechtenstein',
|
||||
'LK' => 'Sri Lanka',
|
||||
'LS' => 'Lesotho',
|
||||
'LT' => 'Litwa',
|
||||
'LU' => 'Luksemburg',
|
||||
'LV' => 'Łotwa',
|
||||
'MA' => 'Maroko',
|
||||
'MC' => 'Monaco',
|
||||
'MD' => 'Mołdawia',
|
||||
'MG' => 'Madagaskar',
|
||||
'MV' => 'Malediwy',
|
||||
'MX' => 'Meksyk',
|
||||
'MH' => 'Wyspy Marshalla',
|
||||
'MK' => 'Macedonia',
|
||||
'ML' => 'Mali',
|
||||
'MT' => 'Malta',
|
||||
'MM' => 'Birma',
|
||||
'ME' => 'Czarnogóra',
|
||||
'MN' => 'Mongolia',
|
||||
'MZ' => 'Mozambik',
|
||||
'MR' => 'Mauretania',
|
||||
'MU' => 'Mauritius',
|
||||
'MW' => 'Malawi',
|
||||
'MY' => 'Malezja',
|
||||
'NA' => 'Namibia',
|
||||
'NE' => 'Niger',
|
||||
'NG' => 'Nigeria',
|
||||
'NI' => 'Nikaragua',
|
||||
'NL' => 'Holandia',
|
||||
'NO' => 'Norwegia',
|
||||
'NP' => 'Nepal',
|
||||
'NR' => 'Nauru',
|
||||
'NZ' => 'Nowa Zelandia',
|
||||
'OM' => 'Oman',
|
||||
'PK' => 'Pakistan',
|
||||
'PA' => 'Panama',
|
||||
'PE' => 'Peru',
|
||||
'PH' => 'Filipiny',
|
||||
'PW' => 'Palau',
|
||||
'PG' => 'Papua Nowa Gwinea',
|
||||
'PL' => 'Polska',
|
||||
'KP' => 'Korea Północna',
|
||||
'PT' => 'Portugalia',
|
||||
'PY' => 'Paragwaj',
|
||||
'QA' => 'Katar',
|
||||
'RO' => 'Rumunia',
|
||||
'RU' => 'Rosja',
|
||||
'RW' => 'Rwanda',
|
||||
'SA' => 'Arabia Saudyjska',
|
||||
'SD' => 'Sudan',
|
||||
'SN' => 'Senegal',
|
||||
'SG' => 'Singapur',
|
||||
'SB' => 'Wyspy Salomona',
|
||||
'SL' => 'Sierra Leone',
|
||||
'SV' => 'Salwador',
|
||||
'SM' => 'San Marino',
|
||||
'SO' => 'Somalia',
|
||||
'RS' => 'Serbia',
|
||||
'SS' => 'Sudan Południowy',
|
||||
'ST' => 'Wyspy Świętego Tomasza i Książęca',
|
||||
'SR' => 'Surinam',
|
||||
'SK' => 'Słowacja',
|
||||
'SI' => 'Słowenia',
|
||||
'SE' => 'Szwecja',
|
||||
'SZ' => 'Suazi',
|
||||
'SC' => 'Seszele',
|
||||
'SY' => 'Syria',
|
||||
'TD' => 'Czad',
|
||||
'TG' => 'Togo',
|
||||
'TH' => 'Tajlandia',
|
||||
'TJ' => 'Tadżykistan',
|
||||
'TM' => 'Turkmenistan',
|
||||
'TL' => 'Timor Wschodni',
|
||||
'TO' => 'Tonga',
|
||||
'TT' => 'Trynidad i Tobago',
|
||||
'TN' => 'Tunezja',
|
||||
'TR' => 'Turcja',
|
||||
'TV' => 'Tuvalu',
|
||||
'TZ' => 'Tanzania',
|
||||
'UG' => 'Uganda',
|
||||
'UA' => 'Ukraina',
|
||||
'UY' => 'Urugwaj',
|
||||
'US' => 'Stany Zjednoczone',
|
||||
'UZ' => 'Uzbekistan',
|
||||
'VA' => 'Watykan',
|
||||
'VC' => 'Saint Vincent i Grenadyny',
|
||||
'VE' => 'Wenezuela',
|
||||
'VN' => 'Wietnam',
|
||||
'VU' => 'Vanuatu',
|
||||
'WS' => 'Samoa',
|
||||
'YE' => 'Jemen',
|
||||
'ZA' => 'Republika Południowej Afryki',
|
||||
'ZM' => 'Zambia',
|
||||
'ZW' => 'Zimbabwe',
|
||||
];
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'settings.inspire' => '"Sztuka bycia mądrym to sztuka wiedzieć, co przeoczyć."', // This is the line printed in the homepage and console 'view-source'
|
||||
'settings.locale' => 'en',
|
||||
'settings.direction' => 'ltr',
|
||||
|
||||
// Service - Users
|
||||
'auth.emails.team' => 'Zespół %s',
|
||||
'auth.emails.confirm.title' => 'Potwierdzenie konta',
|
||||
'auth.emails.confirm.body' => 'en.email.auth.confirm.tpl',
|
||||
'auth.emails.recovery.title' => 'Zresetowanie hasła',
|
||||
'auth.emails.recovery.body' => 'en.email.auth.recovery.tpl',
|
||||
'auth.emails.invitation.title' => 'Zaproszenie do zespołu %s - %s',
|
||||
'auth.emails.invitation.body' => 'en.email.auth.invitation.tpl',
|
||||
|
||||
'locale.country.unknown' => 'Nieznany',
|
||||
|
||||
'countries' => include 'en.countries.php',
|
||||
'continents' => include 'en.continents.php',
|
||||
];
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'AF' => 'Afrika',
|
||||
'AN' => 'Antarktika',
|
||||
'AS' => 'Azija',
|
||||
'EU' => 'Evropa',
|
||||
'NA' => 'Severna Amerika',
|
||||
'OC' => 'Oceanija',
|
||||
'SA' => 'Južna Amerika',
|
||||
];
|
||||
@@ -0,0 +1,198 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'AF' => 'Afganistan',
|
||||
'AO' => 'Angola',
|
||||
'AL' => 'Albanija',
|
||||
'AD' => 'Andora',
|
||||
'AE' => 'Združeni Arabski Emirati',
|
||||
'AR' => 'Argenitna',
|
||||
'AM' => 'Armenija',
|
||||
'AG' => 'Antigva in Barbuda',
|
||||
'AU' => 'Avstralija',
|
||||
'AT' => 'Avstrija',
|
||||
'AZ' => 'Azerbajdžan',
|
||||
'BI' => 'Burundi ',
|
||||
'BE' => 'Belgija',
|
||||
'BJ' => 'Benin',
|
||||
'BF' => 'Burkina Faso',
|
||||
'BD' => 'Bangladeš',
|
||||
'BG' => 'Bolgarija',
|
||||
'BH' => 'Bahrajn',
|
||||
'BS' => 'Bahami',
|
||||
'BA' => 'Bosna in Hercegovina',
|
||||
'BY' => 'Belorusija',
|
||||
'BZ' => 'Belize',
|
||||
'BO' => 'Bolivija',
|
||||
'BR' => 'Brazilija',
|
||||
'BB' => 'Barbados',
|
||||
'BN' => 'Brunej',
|
||||
'BT' => 'Butan',
|
||||
'BW' => 'Bocvana',
|
||||
'CF' => 'Srednjeafriška republika',
|
||||
'CA' => 'Kanada',
|
||||
'CH' => 'Švica',
|
||||
'CL' => 'Čile',
|
||||
'CN' => 'Kitajska',
|
||||
'CI' => 'Slonokoščena obala',
|
||||
'CM' => 'Kamerun',
|
||||
'CD' => 'Demokratična republika Kongo',
|
||||
'CG' => 'Kongo',
|
||||
'CO' => 'Kolumbija',
|
||||
'KM' => 'Komori',
|
||||
'CV' => 'Kapverdski otoki (Zelenortski otoki)',
|
||||
'CR' => 'Kostarika',
|
||||
'CU' => 'Kuba',
|
||||
'CY' => 'Ciper',
|
||||
'CZ' => 'Češka',
|
||||
'DE' => 'Nemčija',
|
||||
'DJ' => 'Džibuti',
|
||||
'DM' => 'Dominika',
|
||||
'DK' => 'Danska',
|
||||
'DO' => 'Dominikanska republika',
|
||||
'DZ' => 'Alžirija',
|
||||
'EC' => 'Ekvador',
|
||||
'EG' => 'Egipt',
|
||||
'ER' => 'Eritreja',
|
||||
'ES' => 'Španija',
|
||||
'EE' => 'Estonija',
|
||||
'ET' => 'Etiopija',
|
||||
'FI' => 'Finska',
|
||||
'FJ' => 'Fidži',
|
||||
'FR' => 'Francija',
|
||||
'FM' => 'Mikronezija',
|
||||
'GA' => 'Gabon',
|
||||
'GB' => 'Velika Britanija',
|
||||
'GE' => 'Gruzija',
|
||||
'GH' => 'Gana',
|
||||
'GN' => 'Gvineja',
|
||||
'GM' => 'Gambija',
|
||||
'GW' => 'Gvineja-Bissau',
|
||||
'GQ' => 'Ekvatorialna Gvineja',
|
||||
'GR' => 'Grčija',
|
||||
'GD' => 'Grenada',
|
||||
'GT' => 'Gvatemala',
|
||||
'GY' => 'Gvajana',
|
||||
'HN' => 'Honduras',
|
||||
'HR' => 'Hrvaška',
|
||||
'HT' => 'Haiti',
|
||||
'HU' => 'Madžarska',
|
||||
'ID' => 'Indonezija',
|
||||
'IN' => 'Indija',
|
||||
'IE' => 'Irska',
|
||||
'IR' => 'Iran',
|
||||
'IQ' => 'Irak',
|
||||
'IS' => 'Islandija',
|
||||
'IL' => 'Izrael',
|
||||
'IT' => 'Italija',
|
||||
'JM' => 'Jamajka',
|
||||
'JO' => 'Jordanija',
|
||||
'JP' => 'Japonska',
|
||||
'KZ' => 'Kazahstan',
|
||||
'KE' => 'Kenija',
|
||||
'KG' => 'Kirgizistan (Kirgizija)',
|
||||
'KH' => 'Kambodža',
|
||||
'KI' => 'Kiribati',
|
||||
'KN' => 'Sveti Kits in Nevis',
|
||||
'KR' => 'Južna Koreja',
|
||||
'KW' => 'Kuvajt',
|
||||
'LA' => 'Laos',
|
||||
'LB' => 'Libanon',
|
||||
'LR' => 'Liberija',
|
||||
'LY' => 'Libija',
|
||||
'LC' => 'Sveta Lucija',
|
||||
'LI' => 'Lihtenštajn',
|
||||
'LK' => 'Šri Lanka',
|
||||
'LS' => 'Lesoto',
|
||||
'LT' => 'Litva',
|
||||
'LU' => 'Luksemburg',
|
||||
'LV' => 'Latvija',
|
||||
'MA' => 'Maroko',
|
||||
'MC' => 'Monako',
|
||||
'MD' => 'Moldavija',
|
||||
'MG' => 'Madagaskar',
|
||||
'MV' => 'Maldivi',
|
||||
'MX' => 'Mehika',
|
||||
'MH' => 'Maršalovi otoki',
|
||||
'MK' => 'Makedonija',
|
||||
'ML' => 'Mali',
|
||||
'MT' => 'Malta',
|
||||
'MM' => 'Mjanmar',
|
||||
'ME' => 'Črna Gora',
|
||||
'MN' => 'Mongolija',
|
||||
'MZ' => 'Mozambik',
|
||||
'MR' => 'Mavretanija',
|
||||
'MU' => 'Mauricius (Moris)',
|
||||
'MW' => 'Malavi',
|
||||
'MY' => 'Malezija',
|
||||
'NA' => 'Namibija',
|
||||
'NE' => 'Niger ',
|
||||
'NG' => 'Nigerija',
|
||||
'NI' => 'Nikaragva',
|
||||
'NL' => 'Nizozemska',
|
||||
'NO' => 'Norveška',
|
||||
'NP' => 'Nepal',
|
||||
'NR' => 'Nauru',
|
||||
'NZ' => 'Nova Zelandija',
|
||||
'OM' => 'Oman',
|
||||
'PK' => 'Pakistan',
|
||||
'PA' => 'Panama',
|
||||
'PE' => 'Peru',
|
||||
'PH' => 'Filipini',
|
||||
'PW' => 'Palau ',
|
||||
'PG' => 'Papua Nova Gvineja',
|
||||
'PL' => 'Poljska',
|
||||
'KP' => 'Severna Koreja',
|
||||
'PT' => 'Portugalska',
|
||||
'PY' => 'Paragvaj',
|
||||
'QA' => 'Katar',
|
||||
'RO' => 'Romunija',
|
||||
'RU' => 'Ruska federacija',
|
||||
'RW' => 'Ruanda',
|
||||
'SA' => 'Savdska Arabija',
|
||||
'SD' => 'Sudan',
|
||||
'SN' => 'Senegal',
|
||||
'SG' => 'Singapur',
|
||||
'SB' => 'Solomonovi otoki',
|
||||
'SL' => 'Siera Leone',
|
||||
'SV' => 'Salvador',
|
||||
'SM' => 'San Marino',
|
||||
'SO' => 'Somalija',
|
||||
'RS' => 'Srbija',
|
||||
'SS' => 'Južni Sudan',
|
||||
'ST' => 'Sao Tome in Principe',
|
||||
'SR' => 'Surinam',
|
||||
'SK' => 'Slovaška',
|
||||
'SI' => 'Slovenija',
|
||||
'SE' => 'Švedska',
|
||||
'SZ' => 'Svazi',
|
||||
'SC' => 'Sejšeli',
|
||||
'SY' => 'Sirija',
|
||||
'TD' => 'Čad',
|
||||
'TG' => 'Togo',
|
||||
'TH' => 'Tajska',
|
||||
'TJ' => 'Tadžikistan',
|
||||
'TM' => 'Turkmenistan',
|
||||
'TL' => 'Vzhodni Timor',
|
||||
'TO' => 'Tonga',
|
||||
'TT' => 'Trinidad in Tobago',
|
||||
'TN' => 'Tunizija',
|
||||
'TR' => 'Turčija',
|
||||
'TV' => 'Tuvalu',
|
||||
'TZ' => 'Tanzanija',
|
||||
'UG' => 'Uganda',
|
||||
'UA' => 'Ukrajina',
|
||||
'UY' => 'Urugvaj',
|
||||
'US' => 'Združene države Amerike',
|
||||
'UZ' => 'Uzbekistan',
|
||||
'VA' => 'Vatikan',
|
||||
'VC' => 'Sveti Vincent in Grenadini',
|
||||
'VE' => 'Venezuela',
|
||||
'VN' => 'Vietnam',
|
||||
'VU' => 'Republika Vanuatu',
|
||||
'WS' => 'Samoa',
|
||||
'YE' => 'Jemen',
|
||||
'ZA' => 'Južna afrika',
|
||||
'ZM' => 'Zambija',
|
||||
'ZW' => 'Zimbabve',
|
||||
];
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'settings.inspire' => '"Srčika modrosti je umetnost védenja, kaj spregledati."', // This is the line printed in the homepage and console 'view-source'
|
||||
'settings.locale' => 'sl',
|
||||
'settings.direction' => 'ltr',
|
||||
|
||||
// Service - Users
|
||||
'auth.emails.team' => '%s Ekipa',
|
||||
'auth.emails.confirm.title' => 'Potrditev računa',
|
||||
'auth.emails.confirm.body' => 'sl.email.auth.confirm.tpl',
|
||||
'auth.emails.recovery.title' => 'Ponastavitev gesla',
|
||||
'auth.emails.recovery.body' => 'sl.email.auth.recovery.tpl',
|
||||
'auth.emails.invitation.title' => 'Povabilo v %s Ekipo za %s',
|
||||
'auth.emails.invitation.body' => 'sl.email.auth.invitation.tpl',
|
||||
|
||||
'locale.country.unknown' => 'Neznano',
|
||||
|
||||
'countries' => include 'sl.countries.php',
|
||||
'continents' => include 'sl.continents.php',
|
||||
];
|
||||
@@ -0,0 +1,24 @@
|
||||
<style>
|
||||
* {
|
||||
font-family: sans-serif,Arial;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-weight: lighter;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div style="direction: {{direction}}">
|
||||
مرحبا {{name}},
|
||||
<br />
|
||||
<br />
|
||||
اتبع هذا الرابط للتحقق من عنوان بريدك الإلكتروني.
|
||||
<br />
|
||||
<a href="{{redirect}}">{{redirect}}</a>
|
||||
<br />
|
||||
<br />
|
||||
إذا لم تطلب التحقق من هذا العنوان، فيمكنك تجاهل هذه الرسالة.
|
||||
<br />
|
||||
<br />
|
||||
Thanks,
|
||||
<br />
|
||||
فريق {{project}}
|
||||
</div>
|
||||
@@ -0,0 +1,27 @@
|
||||
<style>
|
||||
* {
|
||||
font-family: sans-serif,Arial;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-weight: lighter;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div style="direction: {{direction}}">
|
||||
مرحبا،
|
||||
<br />
|
||||
<br />
|
||||
تم إرسال هذه الرسالة إليك لأن <b>{{owner}}</b> أراد دعوتك لتصبح عضوًا في فريق <b>{{team}}</b> في {{project}}.
|
||||
<br />
|
||||
<br />
|
||||
اتبع هذا الرابط للانضمام إلى فريق <b>{{team}}</b>:
|
||||
<br />
|
||||
<a href="{{redirect}}">{{redirect}}</a>
|
||||
<br />
|
||||
<br />
|
||||
إذا لم تكن مهتمًا، يمكنك تجاهل هذه الرسالة.
|
||||
<br />
|
||||
<br />
|
||||
شكرا،
|
||||
<br />
|
||||
فريق {{project}}
|
||||
</div>
|
||||
@@ -0,0 +1,24 @@
|
||||
<style>
|
||||
* {
|
||||
font-family: sans-serif,Arial;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-weight: lighter;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div style="direction: {{direction}}">
|
||||
مرحبا {{name}}،
|
||||
<br />
|
||||
<br />
|
||||
اتبع هذا الرابط لإعادة تعيين كلمة مرور {{project}}.
|
||||
<br />
|
||||
<a href="{{redirect}}">{{redirect}}</a>
|
||||
<br />
|
||||
<br />
|
||||
إذا لم تطلب إعادة تعيين كلمة المرور الخاصة بك، فيمكنك تجاهل هذه الرسالة.
|
||||
<br />
|
||||
<br />
|
||||
شكرا،
|
||||
<br />
|
||||
فريق {{project}}
|
||||
</div>
|
||||
@@ -18,7 +18,7 @@
|
||||
Bitte ignoriere diese Nachricht, wenn du das Verifizieren deiner E-Mail Adresse nicht beantragt hast.
|
||||
<br />
|
||||
<br />
|
||||
Vielen dank,
|
||||
Vielen Dank,
|
||||
<br />
|
||||
{{project}} Team
|
||||
</div>
|
||||
@@ -13,7 +13,7 @@
|
||||
diese E-Mail wurde dir geschickt, weil <b>{{owner}}</b> dich eingeladen hat Teammitglied im Team <b>{{team}}</b> bei {{project}} zu werden.
|
||||
<br />
|
||||
<br />
|
||||
Folge diesem Link um dem <b>{{team}}</b> Team beizutreten:
|
||||
Folge diesem Link um dem Team <b>{{team}}</b> beizutreten:
|
||||
<br />
|
||||
<a href="{{redirect}}">{{redirect}}</a>
|
||||
<br />
|
||||
@@ -21,7 +21,7 @@
|
||||
Wenn du daran nicht interessiert bist, kannst du diese Nachricht ignorieren.
|
||||
<br />
|
||||
<br />
|
||||
Vielen dank,
|
||||
Vielen Dank,
|
||||
<br />
|
||||
{{project}} Team
|
||||
</div>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
Bitte ignoriere diese Nachricht, wenn du das Zurücksetzen deines Passworts nicht beantragt hast.
|
||||
<br />
|
||||
<br />
|
||||
Vielen dank,
|
||||
Vielen Dank,
|
||||
<br />
|
||||
{{project}} Team
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
<style>
|
||||
* {
|
||||
font-family: sans-serif,Arial;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-weight: lighter;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div style="direction: {{direction}}">
|
||||
Halo, {{name}},
|
||||
<br />
|
||||
<br />
|
||||
Tindakake tautan iki kanggo verifikasi alamat email sampeyan.
|
||||
<br />
|
||||
<a href="{{redirect}}">{{redirect}}</a>
|
||||
<br />
|
||||
<br />
|
||||
Yen sampeyan ora njaluk verifikasi alamat iki, sampeyan bisa nglalekake pesen iki.
|
||||
<br />
|
||||
<br />
|
||||
Matur suwun,
|
||||
<br />
|
||||
tim {{project}}
|
||||
</div>
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
<style>
|
||||
* {
|
||||
font-family: sans-serif,Arial;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-weight: lighter;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div style="direction: {{direction}}">
|
||||
Halo,
|
||||
<br />
|
||||
<br />
|
||||
Email iki dikirim menyang sampeyan amarga <b>{{owner}}</b> pengin ngajak sampeyan dadi anggota tim ing <b>{{team}}</b> tim ing {{project}}.
|
||||
<br />
|
||||
<br />
|
||||
Tindakake link iki kanggo gabung ing <b>{{team}}</b>:
|
||||
<br />
|
||||
<a href="{{redirect}}">{{redirect}}</a>
|
||||
<br />
|
||||
<br />
|
||||
Yen sampeyan ora kasengsem, sampeyan bisa nglirwakake pesen iki.
|
||||
<br />
|
||||
<br />
|
||||
Matur suwun,
|
||||
<br />
|
||||
tim {{project}}
|
||||
</div>
|
||||
@@ -0,0 +1,24 @@
|
||||
<style>
|
||||
* {
|
||||
font-family: sans-serif,Arial;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-weight: lighter;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div style="direction: {{direction}}">
|
||||
Halo {{name}},
|
||||
<br />
|
||||
<br />
|
||||
Tindakake link iki kanggo ngreset {{project}} sandhi.
|
||||
<br />
|
||||
<a href="{{redirect}}">{{redirect}}</a>
|
||||
<br />
|
||||
<br />
|
||||
Yen sampeyan ora njaluk ngreset sandhi, sampeyan bisa nglalekake pesen iki.
|
||||
<br />
|
||||
<br />
|
||||
Matur suwun,
|
||||
<br />
|
||||
tim {{project}}
|
||||
</div>
|
||||
@@ -0,0 +1,24 @@
|
||||
<style>
|
||||
* {
|
||||
font-family: sans-serif,Arial;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-weight: lighter;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div style="direction: {{direction}}">
|
||||
Witaj {{name}},
|
||||
<br />
|
||||
<br />
|
||||
Kliknij ten link, aby zweryfikować swój adres e-mail.
|
||||
<br />
|
||||
<a href="{{redirect}}">{{redirect}}</a>
|
||||
<br />
|
||||
<br />
|
||||
Jeśli nie prosiłeś o weryfikację tego adresu, możesz zignorować tę wiadomość.
|
||||
<br />
|
||||
<br />
|
||||
Dziękujemy,
|
||||
<br />
|
||||
zespół {{project}}
|
||||
</div>
|
||||
@@ -0,0 +1,27 @@
|
||||
<style>
|
||||
* {
|
||||
font-family: sans-serif,Arial;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-weight: lighter;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div style="direction: {{direction}}">
|
||||
Witaj,
|
||||
<br />
|
||||
<br />
|
||||
Ta wiadomość została do Ciebie wysłana, ponieważ <b>{{owner}}</b> chciałby zaprosić Cię do dołączenia do zespołu <b>{{team}}</b> w {{project}}.
|
||||
<br />
|
||||
<br />
|
||||
Kliknij ten link, aby dołączyć do zespołu <b>{{team}}</b>:
|
||||
<br />
|
||||
<a href="{{redirect}}">{{redirect}}</a>
|
||||
<br />
|
||||
<br />
|
||||
Jeśli nie jesteś zainteresowany, możesz zignorować tę wiadomość.
|
||||
<br />
|
||||
<br />
|
||||
Dziękujemy,
|
||||
<br />
|
||||
zaspół {{project}}
|
||||
</div>
|
||||
@@ -0,0 +1,24 @@
|
||||
<style>
|
||||
* {
|
||||
font-family: sans-serif,Arial;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-weight: lighter;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div style="direction: {{direction}}">
|
||||
Witaj {{name}},
|
||||
<br />
|
||||
<br />
|
||||
Kliknij ten link, aby zresetować hasło do {{project}}.
|
||||
<br />
|
||||
<a href="{{redirect}}">{{redirect}}</a>
|
||||
<br />
|
||||
<br />
|
||||
Jeśli nie prosiłeś o zresetowanie hasła, możesz zignorować tę wiadomość.
|
||||
<br />
|
||||
<br />
|
||||
Dziękujemy,
|
||||
<br />
|
||||
zaspół {{project}}
|
||||
</div>
|
||||
@@ -0,0 +1,24 @@
|
||||
<style>
|
||||
* {
|
||||
font-family: sans-serif,Arial;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-weight: lighter;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div style="direction: {{direction}}">
|
||||
Pozdravljeni {{name}},
|
||||
<br />
|
||||
<br />
|
||||
Sledite tej povezavi za potrditev vašega email naslova.
|
||||
<br />
|
||||
<a href="{{redirect}}">{{redirect}}</a>
|
||||
<br />
|
||||
<br />
|
||||
Če niste zahtevali potrditve tega naslova, lahko to sporočilo prezrete.
|
||||
<br />
|
||||
<br />
|
||||
Hvala,
|
||||
<br />
|
||||
{{project}} ekipa
|
||||
</div>
|
||||
@@ -0,0 +1,27 @@
|
||||
<style>
|
||||
* {
|
||||
font-family: sans-serif,Arial;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-weight: lighter;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div style="direction: {{direction}}">
|
||||
Pozdravljeni,
|
||||
<br />
|
||||
<br />
|
||||
To sporočilo vam je bilo posredovano, ker vas je <b>{{owner}}</b> povabil/a, da postanete član <b>{{team}}</b> ekipe za {{project}}.
|
||||
<br />
|
||||
<br />
|
||||
Sledite tej povezavi, da se pridružite <b>{{team}}</b> ekipi:
|
||||
<br />
|
||||
<a href="{{redirect}}">{{redirect}}</a>
|
||||
<br />
|
||||
<br />
|
||||
Če vas ne zanima, lahko to sporočilo prezrete.
|
||||
<br />
|
||||
<br />
|
||||
Hvala,
|
||||
<br />
|
||||
{{project}} ekipa
|
||||
</div>
|
||||
@@ -0,0 +1,24 @@
|
||||
<style>
|
||||
* {
|
||||
font-family: sans-serif,Arial;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
font-weight: lighter;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div style="direction: {{direction}}">
|
||||
Pozdravljeni {{name}},
|
||||
<br />
|
||||
<br />
|
||||
Za ponastavitev vašega {{project}} gesla sledite tej povezavi.
|
||||
<br />
|
||||
<a href="{{redirect}}">{{redirect}}</a>
|
||||
<br />
|
||||
<br />
|
||||
Če niste zahtevali ponastavitve gesla, lahko to sporočilo prezrete.
|
||||
<br />
|
||||
<br />
|
||||
Hvala,
|
||||
<br />
|
||||
{{project}} ekipa
|
||||
</div>
|
||||
@@ -57,8 +57,18 @@ return [
|
||||
'enabled' => true,
|
||||
],
|
||||
'apple' => [
|
||||
'developers' => 'https://www.dropbox.com/developers/documentation',
|
||||
'developers' => 'https://developer.apple.com/',
|
||||
'icon' => 'icon-apple',
|
||||
'enabled' => false,
|
||||
],
|
||||
'amazon' => [
|
||||
'developers' => 'https://developer.amazon.com/apps-and-games/services-and-apis',
|
||||
'icon' => 'icon-amazon',
|
||||
'enabled' => true,
|
||||
],
|
||||
'vk' => [
|
||||
'developers' => 'https://vk.com/dev',
|
||||
'icon' => 'icon-vk',
|
||||
'enabled' => true,
|
||||
],
|
||||
];
|
||||
|
||||
+20
-17
@@ -730,23 +730,8 @@ $utopia->get('/v1/auth/oauth/:provider/redirect')
|
||||
$defaultState = ['success' => $project->getAttribute('url', ''), 'failure' => ''];
|
||||
$validateURL = new URL();
|
||||
|
||||
if (!empty($state)) {
|
||||
try {
|
||||
$state = array_merge($defaultState, json_decode($state, true));
|
||||
} catch (\Exception $exception) {
|
||||
throw new Exception('Failed to parse login state params as passed from OAuth provider');
|
||||
}
|
||||
} else {
|
||||
$state = $defaultState;
|
||||
}
|
||||
|
||||
if (!$validateURL->isValid($state['success'])) {
|
||||
throw new Exception('Invalid redirect URL for success login', 400);
|
||||
}
|
||||
|
||||
if (!empty($state['failure']) && !$validateURL->isValid($state['failure'])) {
|
||||
throw new Exception('Invalid redirect URL for failure login', 400);
|
||||
}
|
||||
// Uncomment this while testing amazon oAuth
|
||||
// $state = html_entity_decode($state);
|
||||
|
||||
$appId = $project->getAttribute('usersOauth'.ucfirst($provider).'Appid', '');
|
||||
$appSecret = $project->getAttribute('usersOauth'.ucfirst($provider).'Secret', '{}');
|
||||
@@ -766,6 +751,24 @@ $utopia->get('/v1/auth/oauth/:provider/redirect')
|
||||
|
||||
$oauth = new $classname($appId, $appSecret, $callback);
|
||||
|
||||
if (!empty($state)) {
|
||||
try {
|
||||
$state = array_merge($defaultState, $oauth->parseState($state));
|
||||
} catch (\Exception $exception) {
|
||||
throw new Exception('Failed to parse login state params as passed from OAuth provider');
|
||||
}
|
||||
} else {
|
||||
$state = $defaultState;
|
||||
}
|
||||
|
||||
if (!$validateURL->isValid($state['success'])) {
|
||||
throw new Exception('Invalid redirect URL for success login', 400);
|
||||
}
|
||||
|
||||
if (!empty($state['failure']) && !$validateURL->isValid($state['failure'])) {
|
||||
throw new Exception('Invalid redirect URL for failure login', 400);
|
||||
}
|
||||
|
||||
$accessToken = $oauth->getAccessToken($code);
|
||||
|
||||
if (empty($accessToken)) {
|
||||
|
||||
+14
-3
@@ -24,7 +24,7 @@ const APP_EMAIL_TEAM = 'team@'.APP_DOMAIN;
|
||||
const APP_EMAIL_SECURITY = 'security@'.APP_DOMAIN;
|
||||
const APP_USERAGENT = APP_NAME.'-Server/%s Please report abuse at '.APP_EMAIL_SECURITY;
|
||||
const APP_MODE_ADMIN = 'admin';
|
||||
const APP_LOCALES = ['cat', 'de', 'en', 'es', 'fi', 'fr', 'gr', 'he', 'hi', 'id', 'it', 'nl', 'no', 'pt-br', 'pt-pt', 'ro', 'tr', 'ua', 'zh-cn', 'zh-tw'];
|
||||
const APP_LOCALES = ['af', 'ar', 'cat', 'cz', 'de', 'en', 'es', 'fi', 'fr', 'gr', 'he', 'hi', 'hu', 'id', 'it', 'jv', 'lt', 'nl', 'no', 'pl', 'pt-br', 'pt-pt', 'ro', 'ru', 'si', 'sl', 'sv', 'ta', 'tr', 'ua', 'vi', 'zh-cn', 'zh-tw'];
|
||||
const APP_PAGING_LIMIT = 15;
|
||||
const APP_VERSION_STABLE = '0.2.0';
|
||||
|
||||
@@ -129,7 +129,10 @@ $locale = $request->getParam('locale', $request->getHeader('X-Appwrite-Locale',
|
||||
Locale::$exceptions = false;
|
||||
|
||||
|
||||
Locale::setLanguage('af', include __DIR__.'/config/locale/af.php');
|
||||
Locale::setLanguage('ar', include __DIR__.'/config/locale/ar.php');
|
||||
Locale::setLanguage('cat', include __DIR__.'/config/locale/cat.php');
|
||||
Locale::setLanguage('cz', include __DIR__.'/config/locale/cz.php');
|
||||
Locale::setLanguage('de', include __DIR__.'/config/locale/de.php');
|
||||
Locale::setLanguage('en', include __DIR__.'/config/locale/en.php');
|
||||
Locale::setLanguage('es', include __DIR__.'/config/locale/es.php');
|
||||
@@ -138,17 +141,25 @@ Locale::setLanguage('fr', include __DIR__.'/config/locale/fr.php');
|
||||
Locale::setLanguage('gr', include __DIR__.'/config/locale/gr.php');
|
||||
Locale::setLanguage('he', include __DIR__.'/config/locale/he.php');
|
||||
Locale::setLanguage('hi', include __DIR__.'/config/locale/hi.php');
|
||||
Locale::setLanguage('hu', include __DIR__.'/config/locale/hu.php');
|
||||
Locale::setLanguage('id', include __DIR__.'/config/locale/id.php');
|
||||
Locale::setLanguage('it', include __DIR__.'/config/locale/it.php');
|
||||
Locale::setLanguage('jv', include __DIR__.'/config/locale/jv.php');
|
||||
Locale::setLanguage('lt', include __DIR__.'/config/locale/lt.php');
|
||||
Locale::setLanguage('nl', include __DIR__.'/config/locale/nl.php');
|
||||
//Locale::setLanguage('no', include __DIR__.'/config/locale/no.php');
|
||||
Locale::setLanguage('no', include __DIR__.'/config/locale/no.php');
|
||||
Locale::setLanguage('pl', include __DIR__.'/config/locale/pl.php');
|
||||
Locale::setLanguage('pt-br', include __DIR__.'/config/locale/pt-br.php');
|
||||
Locale::setLanguage('pt-pt', include __DIR__.'/config/locale/pt-pt.php');
|
||||
Locale::setLanguage('ro', include __DIR__.'/config/locale/ro.php');
|
||||
Locale::setLanguage('ru', include __DIR__ . '/config/locale/ru.php');
|
||||
Locale::setLanguage('si', include __DIR__ . '/config/locale/si.php');
|
||||
Locale::setLanguage('sl', include __DIR__ . '/config/locale/sl.php');
|
||||
Locale::setLanguage('sv', include __DIR__ . '/config/locale/sv.php');
|
||||
Locale::setLanguage('ta', include __DIR__ . '/config/locale/ta.php');
|
||||
Locale::setLanguage('tr', include __DIR__.'/config/locale/tr.php');
|
||||
Locale::setLanguage('ua', include __DIR__.'/config/locale/ua.php');
|
||||
Locale::setLanguage('si', include __DIR__ . '/config/locale/si.php');
|
||||
Locale::setLanguage('vi', include __DIR__.'/config/locale/vi.php');
|
||||
Locale::setLanguage('zh-cn', include __DIR__.'/config/locale/zh-cn.php');
|
||||
Locale::setLanguage('zh-tw', include __DIR__.'/config/locale/zh-tw.php');
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ Appwrite backend as a service cuts up to 70% of the time and costs required for
|
||||
|
||||
## Installation
|
||||
|
||||
To install via [Composer](http://getcomposer.org/):
|
||||
To install via [Composer](https://getcomposer.org/):
|
||||
|
||||
```bash
|
||||
composer require appwrite/appwrite
|
||||
@@ -21,4 +21,4 @@ composer require appwrite/appwrite
|
||||
|
||||
## License
|
||||
|
||||
Please see the [BSD-3-Clause license](https://raw.githubusercontent.com/appwrite/appwrite/master/LICENSE) file for more information.
|
||||
Please see the [BSD-3-Clause license](https://raw.githubusercontent.com/appwrite/appwrite/master/LICENSE) file for more information.
|
||||
|
||||
@@ -1,24 +1,27 @@
|
||||
# Adding a New OAuth Provider
|
||||
|
||||
This document is part of the Appwrite contributors' guide. Before you continue reading this document make sure you have read the [code of conduct](../CODE_OF_CONDUCT.md) and the [contributing guide](../CONTRIBUTING.md).
|
||||
This document is part of the Appwrite contributors' guide. Before you continue reading this document make sure you have read the [Code of Conduct](../CODE_OF_CONDUCT.md) and the [Contributing Guide](../CONTRIBUTING.md).
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Agenda
|
||||
|
||||
OAuth providers help users to log in easily to apps and websites without the need to provide passwords or any other type of credentials. Appwrite goal is to have support from as many **major** OAuth providers as possible.
|
||||
OAuth providers help users to log in easily to apps and websites without the need to provide passwords or any other type of credentials. Appwrite's goal is to have support from as many **major** OAuth providers as possible.
|
||||
|
||||
As of the writing of these lines, we do not accept any minor OAuth providers. For us to accept some smaller and potentially unlimited number of OAuth providers, some product design and software architecture changes must be applied first.
|
||||
|
||||
### List Your new Provider
|
||||
|
||||
The first step to follow in adding a new OAuth provider is to add it to the list in providers config file array, located at:
|
||||
The first step in adding a new OAuth provider is to add it to the list in providers config file array, located at:
|
||||
|
||||
```
|
||||
./app/config/providers.php
|
||||
```
|
||||
|
||||
Make sure to fill all data needed and that your provider array key name is in camelCase format and has no spaces or special characters.
|
||||
Make sure to fill all data needed and that your provider array key name:
|
||||
|
||||
- is in camelCase format
|
||||
- has no spaces or special characters.
|
||||
|
||||
### Add Provider Logo
|
||||
|
||||
@@ -36,7 +39,7 @@ Create a new class that extends the basic OAuth provider abstract class in this
|
||||
|
||||
Note that the class name should start with a capital letter as PHP FIG standards suggest.
|
||||
|
||||
Once a new class is created, you can start to implement your new provider's login flow. The best way to do this right is to have a look at another provider's implementation and try to follow the same standards.
|
||||
Once a new class is created, you can start to implement your new provider's login flow. The best way to do this corrrectly is to have a look at another provider's implementation and try to follow the same standards.
|
||||
|
||||
Please mention in your documentation what resources or API docs you used to implement the provider's OAuth protocol.
|
||||
|
||||
@@ -46,4 +49,4 @@ After you finished adding your new provider to Appwrite you should be able to se
|
||||
|
||||
Add credentials and check both a successful and a failed login (where the user rejects integration on provider page).
|
||||
|
||||
If everything goes well, just send us the pull request and be ready to respond to any feedback which can arise during our code review.
|
||||
If everything goes well, just submit a pull request and be ready to respond to any feedback which can arise during our code review.
|
||||
|
||||
@@ -6,15 +6,15 @@ Appwrite environment variables allow you to edit your server setup configuration
|
||||
|
||||
### _APP_ENV
|
||||
|
||||
Set your server running environment. By default the var is set to 'development' when deploying to production, change it to: 'production'.
|
||||
Set your server running environment. By default the var is set to 'development'. When deploying to production, change it to: 'production'.
|
||||
|
||||
### _APP_OPTIONS_ABUSE
|
||||
|
||||
Allows you to disabled abuse checks and API rate limiting. By default set to 'enabled'. To cancel the abuse checking set to 'disabled'. It is not recommended to disable this check-in production environment.
|
||||
Allows you to disable abuse checks and API rate limiting. By default set to 'enabled'. To cancel the abuse checking, set to 'disabled'. It is not recommended to disable this check in a production environment.
|
||||
|
||||
### _APP_OPENSSL_KEY_V1
|
||||
|
||||
This is your server private secret key that is used to encrypt all sensitive data on your server. Appwrite server is encrypting all secret data on your server like webhooks HTTP passwords, user sessions, and the storage files. The var is not set by default, if you wish to take advantage of Appwrite encryption capabilities you should change it and make sure to keep it a secret.
|
||||
This is your server private secret key that is used to encrypt all sensitive data on your server. Appwrite server encrypts all secret data on your server like webhooks, HTTP passwords, user sessions, and storage files. The var is not set by default, if you wish to take advantage of Appwrite encryption capabilities you should change it and make sure to keep it a secret.
|
||||
|
||||
### _APP_CONSOLE_WHITELIST_EMAILS
|
||||
|
||||
@@ -34,7 +34,7 @@ To enable/activate this option, pass a list of allowed IP addresses separated by
|
||||
|
||||
## Redis Server
|
||||
|
||||
Appwrite is using a Redis server for managing cache, queues and scheduled tasks. The Redis env vars are used to allow Appwrite server to connect to the Redis container.
|
||||
Appwrite uses a Redis server for managing cache, queues and scheduled tasks. The Redis env vars are used to allow Appwrite server to connect to the Redis container.
|
||||
|
||||
### _APP_REDIS_HOST
|
||||
|
||||
@@ -70,7 +70,7 @@ MariaDB server database schema. Default value is: 'appwrite'
|
||||
|
||||
## InfluxDB
|
||||
|
||||
Appwrite is using an InfluxDB server for managing time-series data and server stats. The InfluxDB env vars are used to allow Appwrite server to connect to the InfluxDB container.
|
||||
Appwrite uses an InfluxDB server for managing time-series data and server stats. The InfluxDB env vars are used to allow Appwrite server to connect to the InfluxDB container.
|
||||
|
||||
### _APP_INFLUXDB_HOST
|
||||
|
||||
@@ -82,7 +82,7 @@ InfluxDB server TCP port. Default value is: '8086'
|
||||
|
||||
## StatsD
|
||||
|
||||
Appwrite is using a StatsD server for aggregating and sending stats data over a fast UDP connection. The StatsD env vars are used to allow Appwrite server to connect to the StatsD container.
|
||||
Appwrite uses a StatsD server for aggregating and sending stats data over a fast UDP connection. The StatsD env vars are used to allow Appwrite server to connect to the StatsD container.
|
||||
|
||||
### _APP_INFLUXDB_HOST
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 4.9 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
@@ -78,6 +78,20 @@ abstract class OAuth
|
||||
*/
|
||||
abstract public function getUserName(string $accessToken):string;
|
||||
|
||||
// The parseState function was designed specifically for Amazon OAuth Adapter to override.
|
||||
// The response from Amazon is html encoded and hence it needs to be html_decoded before
|
||||
// json_decoding
|
||||
|
||||
/**
|
||||
* @param $state
|
||||
*
|
||||
* @return json
|
||||
*/
|
||||
public function parseState(string $state)
|
||||
{
|
||||
return json_decode($state, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $method
|
||||
* @param string $url
|
||||
|
||||
@@ -0,0 +1,138 @@
|
||||
<?php
|
||||
|
||||
namespace Auth\OAuth;
|
||||
|
||||
use Auth\OAuth;
|
||||
|
||||
// Reference Material
|
||||
// https://developer.amazon.com/docs/login-with-amazon/authorization-code-grant.html
|
||||
// https://developer.amazon.com/docs/login-with-amazon/register-web.html
|
||||
// https://developer.amazon.com/docs/login-with-amazon/obtain-customer-profile.html
|
||||
class Amazon extends OAuth
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $user = [];
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getName(): string
|
||||
{
|
||||
return 'amazon';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $state
|
||||
*
|
||||
* @return json
|
||||
*/
|
||||
public function parseState(string $state)
|
||||
{
|
||||
return json_decode(html_entity_decode($state), true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getLoginURL(): string
|
||||
{
|
||||
return 'https://www.amazon.com/ap/oa?' .
|
||||
'client_id='.urlencode($this->appID).
|
||||
'&redirect_uri='.urlencode($this->callback).
|
||||
'&response_type=code'.
|
||||
'&state='.urlencode(json_encode($this->state)).
|
||||
'&scope=profile';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $code
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getAccessToken(string $code): string
|
||||
{
|
||||
$headers[] = 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8';
|
||||
$accessToken = $this->request(
|
||||
'POST',
|
||||
'https://api.amazon.com/auth/o2/token',
|
||||
$headers,
|
||||
'code=' . urlencode($code) .
|
||||
'&client_id=' . urlencode($this->appID) .
|
||||
'&client_secret=' . urlencode($this->appSecret).
|
||||
'&redirect_uri='.urlencode($this->callback).
|
||||
'&grant_type=authorization_code'
|
||||
);
|
||||
$accessToken = json_decode($accessToken, true);
|
||||
|
||||
if (isset($accessToken['access_token'])) {
|
||||
return $accessToken['access_token'];
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $accessToken
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getUserID(string $accessToken): string
|
||||
{
|
||||
$user = $this->getUser($accessToken);
|
||||
|
||||
if (isset($user['user_id'])) {
|
||||
return $user['user_id'];
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $accessToken
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getUserEmail(string $accessToken): string
|
||||
{
|
||||
$user = $this->getUser($accessToken);
|
||||
|
||||
if (isset($user['email'])) {
|
||||
return $user['email'];
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $accessToken
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getUserName(string $accessToken): string
|
||||
{
|
||||
$user = $this->getUser($accessToken);
|
||||
|
||||
if (isset($user['name'])) {
|
||||
return $user['name'];
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $accessToken
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function getUser(string $accessToken): array
|
||||
{
|
||||
if (empty($this->user)) {
|
||||
$user = $this->request('GET', 'https://api.amazon.com/user/profile?access_token='.urlencode($accessToken));
|
||||
$this->user = json_decode($user, true);
|
||||
}
|
||||
return $this->user;
|
||||
}
|
||||
}
|
||||
@@ -124,7 +124,7 @@ class Apple extends OAuth
|
||||
{
|
||||
if (empty($this->user)) {
|
||||
$headers[] = 'Authorization: Bearer '. urlencode($accessToken);
|
||||
$user = $this->request('POST', 'https://api.dropboxapi.com/2/users/get_current_account', $headers);
|
||||
$user = $this->request('POST', '', $headers);
|
||||
$this->user = json_decode($user, true);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,150 @@
|
||||
<?php
|
||||
|
||||
namespace Auth\OAuth;
|
||||
|
||||
use Auth\OAuth;
|
||||
|
||||
// Reference Material
|
||||
// https://vk.com/dev/first_guide
|
||||
// https://vk.com/dev/auth_sites
|
||||
// https://vk.com/dev/api_requests
|
||||
// https://plugins.miniorange.com/guide-to-configure-vkontakte-as-oauth-server
|
||||
|
||||
class Vk extends OAuth
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $user = [];
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $version = '5.101';
|
||||
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getName(): string
|
||||
{
|
||||
return 'vk';
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getLoginURL(): string
|
||||
{
|
||||
return 'https://oauth.vk.com/authorize?' .
|
||||
'client_id='.urlencode($this->appID).
|
||||
'&redirect_uri='.urlencode($this->callback).
|
||||
'&response_type=code'.
|
||||
'&state='.urlencode(json_encode($this->state)).
|
||||
'&v='.urlencode($this->version).
|
||||
'&scope=openid+email';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $code
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getAccessToken(string $code): string
|
||||
{
|
||||
$headers[] = 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8';
|
||||
$accessToken = $this->request(
|
||||
'POST',
|
||||
'https://oauth.vk.com/access_token?',
|
||||
$headers,
|
||||
'code=' . urlencode($code) .
|
||||
'&client_id=' . urlencode($this->appID) .
|
||||
'&client_secret=' . urlencode($this->appSecret).
|
||||
'&redirect_uri='.urlencode($this->callback)
|
||||
);
|
||||
$accessToken = json_decode($accessToken, true);
|
||||
|
||||
if (isset($accessToken['email'])) {
|
||||
$this->user['email'] = $accessToken['email'];
|
||||
}
|
||||
|
||||
if (isset($accessToken['user_id'])) {
|
||||
$this->user['user_id'] = $accessToken['user_id'];
|
||||
}
|
||||
|
||||
if (isset($accessToken['access_token'])) {
|
||||
return $accessToken['access_token'];
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $accessToken
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getUserID(string $accessToken): string
|
||||
{
|
||||
$user = $this->getUser($accessToken);
|
||||
|
||||
if (isset($user['user_id'])) {
|
||||
return $user['user_id'];
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $accessToken
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getUserEmail(string $accessToken): string
|
||||
{
|
||||
$user = $this->getUser($accessToken);
|
||||
|
||||
if (isset($user['email'])) {
|
||||
return $user['email'];
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $accessToken
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getUserName(string $accessToken): string
|
||||
{
|
||||
$user = $this->getUser($accessToken);
|
||||
|
||||
if (isset($user['name'])) {
|
||||
return $user['name'];
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $accessToken
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function getUser(string $accessToken): array
|
||||
{
|
||||
if (empty($this->user['name'])) {
|
||||
$user = $this->request(
|
||||
'GET',
|
||||
'https://api.vk.com/method/users.get?'.
|
||||
'v='.urlencode($this->version).
|
||||
'&fields=id,name,email,first_name,last_name'.
|
||||
'&access_token='.urlencode($accessToken)
|
||||
);
|
||||
|
||||
$user = json_decode($user, true);
|
||||
$this->user['name'] = $user['response'][0]['first_name'] ." ".$user['response'][0]['last_name'];
|
||||
}
|
||||
return $this->user;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user