1
0
Fork 0
mirror of synced 2024-06-26 18:20:43 +12:00

Merge branch '0.7.x' of github.com:appwrite/appwrite into feat-465-add-arm-support

This commit is contained in:
Eldad Fux 2020-10-08 15:38:49 +03:00
commit ba83d7ca87
81 changed files with 2328 additions and 997 deletions

3
.env
View file

@ -1,5 +1,8 @@
_APP_ENV=production
_APP_ENV=development
_APP_SYSTEM_EMAIL_NAME=Appwrite
_APP_SYSTEM_EMAIL_ADDRESS=team@appwrite.io
_APP_SYSTEM_SECURITY_EMAIL_ADDRESS=security@appwrite.io
_APP_OPTIONS_ABUSE=disabled
_APP_OPTIONS_FORCE_HTTPS=disabled
_APP_OPENSSL_KEY_V1=your-secret-key

View file

@ -6,10 +6,6 @@ arch:
os: linux
addons:
hosts:
- appwrite.test
notifications:
email:
- team@appwrite.io

View file

@ -8,10 +8,11 @@
- Added option to delete team from the console
- Added option to view team members from the console
- Added option to join a user to any team from the console
- Added option to delete user from the API (@TorstenDittmann)
- Added option to delete user from the API (@TorstenDittmann - #378)
- Added option to delete user from the console (@PineappleIOnic - #538)
- Added support for Brotli compression (@PedroCisnerosSantana, @Rohitub222)
- New UI micro-interactions and CSS fixes (@AnatoleLucet)
- UI performance & accessibility improvments (#406)
- UI performance & accessibility improvements (#406)
- New Doctor CLI to debug the Appwrite server ([#415](https://github.com/appwrite/appwrite/issues/415))
- All emails are now sent asynchronously for improved performance (@TorstenDittmann)
- Updated grid for OAuth2 providers list in the console
@ -36,6 +37,9 @@
- Removed user roles attribute from user object (can be fetched from /v1/teams/memberships) **
- Removed type attribute from session object response (used only internally)
- ** - might be changed before merging to master
- Upgraded Traefik image to version 2.3
- Upgraded Redis Docker image to version 6.0 (alpine)
- Upgraded Influxdb Docker image to version 1.8 (alpine)
## Breaking Changes (Read before upgrading!)
- **Deprecated** `first` and `last` query params for documents list route in the database API
@ -51,10 +55,10 @@
- Fixed a UI bug preventing float values in numeric fields
- Fixed scroll positioning when moving rules order up & down
- Fixed missing validation for database documents key length (32 chars)
- Grammer fix for pt-br email templates (@rubensdemelo)
- Grammar fix for pt-br email templates (@rubensdemelo)
- Fixed update form labels and tooltips for Flutter Android apps
- Fixed missing custom scopes param for OAuth2 session create API route
- Fixed wrong JSON validation when creating and updating database documnets
- Fixed wrong JSON validation when creating and updating database documents
- Fixed bug where max file size was limited to max of 10MB
- Fixed bug preventing the deletion of the project logo
- Fixed Bug when trying to overwrite OAuth cookie in the Flutter SDK
@ -64,6 +68,10 @@
- New OAuth adapter for PayPal sandbox
- Fixed a bug making read permission overwrite write permission in some cases
## Breaking Changes
- **Deprecated** `first` and `last` query params for documents list route in the database API
- **Deprecated** Deprecated Punjabi Translations ('pn')
## Security
- Access to Health API now requires authentication with an API Key with access to `health.read` scope allowed
@ -163,7 +171,7 @@
- Allow non-web platform to skip origin header
- Limited console dashboard to show max 5 alerts at the same time
- Added more webhooks events
- Normailized all webhooks event names
- Normalized all webhooks event names
- Added support for SameSite cookie option with fallback cookie for old clients
- Added a new Discord OAuth adapter
- Added a new Twitch OAuth adapter

View file

@ -29,7 +29,7 @@ When `TYPE` can be:
- **fix** - a bug fix
- **refactor** - code change that neither fixes a bug nor adds a feature
**All PRs must include commit message with the changes description!**
**All PRs must include a commit message with the changes description!**
For the initial start, fork the project and use git clone command to download the repository to your computer. A standard procedure for working on an issue would be to:
@ -48,13 +48,13 @@ $ git checkout -b [name_of_your_new_branch]
$ git push origin [name_of_your_new_branch]
```
6. Submit your changes for review
5. Submit your changes for review
If you go to your repository on GitHub, you'll see a `Compare & pull request` button. Click on that button.
7. Start a Pull Request
Now submit the pull request and , click on `Create pull request`.
6. Get a code review approval / reject
7. After approval, merge your PR
8. GitHub will automatically delete the branch, after the merge is done. (they can still be restored).
6. Start a Pull Request
Now submit the pull request and click on `Create pull request`.
7. Get a code review approval/reject
8. After approval, merge your PR
9. GitHub will automatically delete the branch after the merge is done. (they can still be restored).
## Setup From Source
@ -177,9 +177,9 @@ Appwrite uses [PHP's Composer](https://getcomposer.org/) for managing dependenci
Appwrite is following the [PHP-FIG standards](https://www.php-fig.org/). Currently, we are using both PSR-0 and PSR-4 for coding standards and autoloading standards. Soon we will also review the project for support with PSR-12 (Extended Coding Style).
We use prettier for our JS coding standards and for auto-formatting our code.
We use prettier for our JS coding standards and auto-formatting our code.
## Scalability, Speed and Performance
## Scalability, Speed, and Performance
Appwrite is built to scale. Please keep in mind that the Appwrite stack can run in different environments and different scales.
@ -214,7 +214,7 @@ For us to find the right balance, please open an issue explaining your ideas bef
This will allow the Appwrite community to have sufficient discussion about the new feature value and how it fits in the product roadmap and vision.
This is also important for the Appwrite lead developers to be able to give technical input and different emphasize regarding the feature design and architecture.
This is also important for the Appwrite lead developers to be able to give technical input and different emphasis regarding the feature design and architecture.
## Build
@ -263,9 +263,9 @@ docker run --rm skandyla/wrk -t3 -c100 -d30 https://[APPWRITE_HOSTNAME_OR_IP]
## Code Maintenance
We use some automation tools to help us keep a healthy code base.
We use some automation tools to help us keep a healthy codebase.
Improve PHP exeution time by using [fully-qualified function calls](https://veewee.github.io/blog/optimizing-php-performance-by-fq-function-calls/):
Improve PHP execution time by using [fully-qualified function calls](https://veewee.github.io/blog/optimizing-php-performance-by-fq-function-calls/):
```bash
php-cs-fixer fix src/ --rules=native_function_invocation --allow-risky=yes
@ -296,7 +296,7 @@ Pull requests are great, but there are many other areas where you can help Appwr
### Blogging & Speaking
Blogging, speaking about, or creating tutorials about one of Appwrites many features. Mention [@appwrite_io](https://twitter.com/appwrite_io) on Twitter and/or email team [at] appwrite [dot] io so we can give pointers and tips and help you spread the word by promoting your content on the different Appwrite communication channels. Please add your blog posts and videos of talks to our [Awesome Appwrite]() repo on GitHub.
Blogging, speaking about, or creating tutorials about one of Appwrites many features. Mention [@appwrite_io](https://twitter.com/appwrite_io) on Twitter and/or email team [at] appwrite [dot] io so we can give pointers and tips and help you spread the word by promoting your content on the different Appwrite communication channels. Please add your blog posts and videos of talks to our [Awesome Appwrite](https://github.com/appwrite/awesome-appwrite) repo on GitHub.
### Presenting at Meetups
@ -316,5 +316,5 @@ Submitting documentation updates, enhancements, designs, or bug fixes. Spelling
### Helping Someone
Searching for Appwrite on Discord, GitHub or StackOverflow and helping someone else who needs help. You can also help by reaching others how to contribute to Appwrite's repo!
Searching for Appwrite on Discord, GitHub, or StackOverflow and helping someone else who needs help. You can also help by reaching others how to contribute to Appwrite's repo!

View file

@ -14,11 +14,11 @@
[![Twitter Account](https://badgen.net/twitter/follow/appwrite_io?label=twitter)](https://twitter.com/appwrite_io)
[![Follow Appwrite on StackShare](https://badgen.net/badge/follow%20on/stackshare/blue)](https://stackshare.io/appwrite)
Appwrite is an end-to-end backend server for Web, Mobile, Native, or Backend apps packaged as a set of Docker microservices. Appwrite abstract the complexity and repetitiveness required to build a modern backend API from scratch to allow you to build secure apps faster.
Appwrite is an end-to-end backend server for Web, Mobile, Native, or Backend apps packaged as a set of Docker microservices. Appwrite abstracts the complexity and repetitiveness required to build a modern backend API from scratch and allows you to build secure apps faster.
Using Appwrite, you can easily integrate your app with user authentication & multiple sign-in methods, a database for storing and querying users and team data, storage and file management, image manipulation, schedule CRON tasks, and [more services](https://appwrite.io/docs).
[https://appwrite.io](https://appwrite.io)
Find out more at: [https://appwrite.io](https://appwrite.io)
![Appwrite](public/images/github.png)
@ -41,7 +41,7 @@ Table of Contents:
## Installation
Appwrite backend server is designed to run in a container environment. Running your server is as easy as running one command from your terminal. You can either run Appwrite on your localhost using docker-compose or on any other container orchestration tool like Kubernetes, Docker Swarm or Rancher.
Appwrite backend server is designed to run in a container environment. Running your server is as easy as running one command from your terminal. You can either run Appwrite on your localhost using docker-compose or on any other container orchestration tool like Kubernetes, Docker Swarm, or Rancher.
The easiest way to start running your Appwrite server is by running our docker-compose file. Before running the installation command make sure you have [Docker](https://www.docker.com/products/docker-desktop) installed on your machine:
@ -84,13 +84,13 @@ For advanced production and custom installation, check out our Docker [environme
## Getting Started
Getting started with Appwrite is as easy as creating a new project, choosing your platform and integrating its SDK in your code. You can easily get started with your platform of choice by reading one of our Getting Started tutorials.
Getting started with Appwrite is as easy as creating a new project, choosing your platform, and integrating its SDK in your code. You can easily get started with your platform of choice by reading one of our Getting Started tutorials.
* [Getting Started for Web](https://appwrite.io/docs/getting-started-for-web)
* [Getting Started for Flutter](https://appwrite.io/docs/getting-started-for-flutter)
* [Getting Started for Server](https://appwrite.io/docs/getting-started-for-server)
* Getting Started for Android (soon...)
* Getting Started for iOS (soon...)
* Getting Started for Android (Coming soon...)
* Getting Started for iOS (Coming soon...)
### Services

View file

@ -15,4 +15,6 @@ return [
'targeta-shopping' => __DIR__.'/credit-cards/tarjeta-shopping.png',
'union-china-pay' => __DIR__.'/credit-cards/union-china-pay.png',
'visa' => __DIR__.'/credit-cards/visa.png',
'mir' => __DIR__.'/credit-cards/mir.png',
'maestro' => __DIR__.'/credit-cards/maestro.png',
];

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 KiB

View file

@ -3,6 +3,8 @@
return [
'af', // Afrikaans
'ar', // Arabic
'ba', //Bosnian
'be', // Belarusian
'bn', // Bengali
'cat', // Catalan
'cz', // Czech
@ -13,6 +15,7 @@ return [
'fo', // Faroese
'fr', // French
'gr', // Greek
'gu', //Gujrati
'he', // Hebrew
'hi', // Hindi
'hu', // Hungarian
@ -26,9 +29,11 @@ return [
'ko', // Korean
'lt', // Lithuanian
'ml', // Malayalam
'mr', //Marathi
'ms', // Malay
'nl', // Dutch
'no', // Norwegian
'np', //Nepali
'ph', // Filipino
'pl', // Polish
'pt-br', // Portuguese - Brazil
@ -46,4 +51,4 @@ return [
'vi', // Vietnamese
'zh-cn', // Chinese - China
'zh-tw', // Chinese - Taiwan
];
];

View file

@ -0,0 +1,11 @@
<?php
return [
'AF' => 'Afrika',
'AN' => 'Antartika',
'AS' => 'Azija',
'EU' => 'Europa',
'NA' => 'Sjeverna Amerika',
'OC' => 'Okeanija',
'SA' => 'Južna Amerika',
];

View file

@ -0,0 +1,198 @@
<?php
return [
'AF' => 'Afganistan',
'AO' => 'Angola',
'AL' => 'Albanija',
'AD' => 'Andora',
'AE' => 'Ujedinjeni Arapski Emirati',
'AR' => 'Argentina',
'AM' => 'Armenija',
'AG' => 'Antigua i Barbuda',
'AU' => 'Australija',
'AT' => 'Austria',
'AZ' => 'Azerbejdžan',
'BI' => 'Burundi',
'BE' => 'Belgija',
'BJ' => 'Benin',
'BF' => 'Burkina Faso',
'BD' => 'Bangladeš',
'BG' => 'Bugarska',
'BH' => 'Bahrein',
'BS' => 'Bahami',
'BA' => 'Bosna i Hercegovina',
'BY' => 'Bjelorusija',
'BZ' => 'Belize',
'BO' => 'Bolivija',
'BR' => 'Brazil',
'BB' => 'Barbados',
'BN' => 'Brineji',
'BT' => 'Butan',
'BW' => 'Bocvanija',
'CF' => 'Centralna Afrička Republika',
'CA' => 'Kanada',
'CH' => 'Švicarska',
'CL' => 'Čile',
'CN' => 'Kina',
'CI' => 'Obala Slonovače',
'CM' => 'Kameron',
'CD' => 'DR Kongo',
'CG' => 'Republika Kongo',
'CO' => 'Kolumbija',
'KM' => 'Komori',
'CV' => 'Zelenortska Ostrva',
'CR' => 'Kostarika',
'CU' => 'Kuba',
'CY' => 'Kipar',
'CZ' => 'Češka',
'DE' => 'Njemačka',
'DJ' => 'Džibuti',
'DM' => 'Dominika',
'DK' => 'Danska',
'DO' => 'Dominikanska Republika',
'DZ' => 'Alžir',
'EC' => 'Ekvador',
'EG' => 'Egipt',
'ER' => 'Eritreja',
'ES' => 'Španija',
'EE' => 'Estonija',
'ET' => 'Etiopija',
'FI' => 'Finska',
'FJ' => 'Fidži',
'FR' => 'Francuska',
'FM' => 'Mikronezija',
'GA' => 'Gabon',
'GB' => 'Ujedinjeno Kraljevstvo',
'GE' => 'Gruzija',
'GH' => 'Gana',
'GN' => 'Gvineja',
'GM' => 'Gambia',
'GW' => 'Gvineja Bisau',
'GQ' => 'Ekvatorijalna Gvineja',
'GR' => 'Grčka',
'GD' => 'Grenada',
'GT' => 'Guatemala',
'GY' => 'Gvajana',
'HN' => 'Honduras',
'HR' => 'Hrvatska',
'HT' => 'Haiti',
'HU' => 'Mađarska',
'ID' => 'Indonezija',
'IN' => 'India',
'IE' => 'Irska',
'IR' => 'Iran',
'IQ' => 'Irak',
'IS' => 'Island',
'IL' => 'Izrael',
'IT' => 'Italija',
'JM' => 'Jamajka',
'JO' => 'Jordan',
'JP' => 'Japan',
'KZ' => 'Kazahstan',
'KE' => 'Kenija',
'KG' => 'Kirgistan',
'KH' => 'Kambodža',
'KI' => 'Kiribati',
'KN' => 'Sveti Kitts i Nevis',
'KR' => 'Južna Korea',
'KW' => 'Kuvajt',
'LA' => 'Laos',
'LB' => 'Libanon',
'LR' => 'Liberija',
'LY' => 'Libija',
'LC' => 'Sveta Lucija',
'LI' => 'Lihtenštajn',
'LK' => 'Šri Lanka',
'LS' => 'Lesoto',
'LT' => 'Litvanija',
'LU' => 'Luksemburg',
'LV' => 'Lavija',
'MA' => 'Maroko',
'MC' => 'Monako',
'MD' => 'Moldavija',
'MG' => 'Madagaskar',
'MV' => 'Maldivi',
'MX' => 'Meksiko',
'MH' => 'Marshall Islands',
'MK' => 'Makedonija',
'ML' => 'Mali',
'MT' => 'Malta',
'MM' => 'Mijanmar',
'ME' => 'Crna Gora',
'MN' => 'Mongolia',
'MZ' => 'Mozambik',
'MR' => 'Mauritanija',
'MU' => 'Mauricijus',
'MW' => 'Malavi',
'MY' => 'Malezija',
'NA' => 'Namibia',
'NE' => 'Niger',
'NG' => 'Nigeria',
'NI' => 'Nikaragva',
'NL' => 'Holandija',
'NO' => 'Norveška',
'NP' => 'Nepal',
'NR' => 'Nauru',
'NZ' => 'Novi Zeland',
'OM' => 'Oman',
'PK' => 'Pakistan',
'PA' => 'Panama',
'PE' => 'Peru',
'PH' => 'Filipini',
'PW' => 'Palau',
'PG' => 'Papua Nova Guinea',
'PL' => 'Poljska',
'KP' => 'Sjeverna Korea',
'PT' => 'Portugal',
'PY' => 'Paragvaj',
'QA' => 'Katar',
'RO' => 'Rumunija',
'RU' => 'Rusija',
'RW' => 'Ruanda',
'SA' => 'Saudijska Arabija',
'SD' => 'Sudan',
'SN' => 'Senegal',
'SG' => 'Singapur',
'SB' => 'Solomonova Ostrva',
'SL' => 'Sijera Leone',
'SV' => 'Salvador',
'SM' => 'San Marino',
'SO' => 'Somalia',
'RS' => 'Srbija',
'SS' => 'Južni Sudan',
'ST' => 'Sveti Toma i Prinsipe',
'SR' => 'Surinam',
'SK' => 'Slovačka',
'SI' => 'Slovenija',
'SE' => 'Švedska',
'SZ' => 'Svazilend',
'SC' => 'Sejšeli',
'SY' => 'Sirija',
'TD' => 'Čad',
'TG' => 'Togo',
'TH' => 'Tajland',
'TJ' => 'Tajikistan',
'TM' => 'Turkmenistan',
'TL' => 'Timor-Leste',
'TO' => 'Tonga',
'TT' => 'Trinidad i Tobago',
'TN' => 'Tunis',
'TR' => 'Turska',
'TV' => 'Tuvalu',
'TZ' => 'Tanzania',
'UG' => 'Uganda',
'UA' => 'Ukrajina',
'UY' => 'Urugvaj',
'US' => 'Sjedinjene Američke Države',
'UZ' => 'Uzbekistan',
'VA' => 'Vatikan',
'VC' => 'Sveti Vincent i Grenadini',
'VE' => 'Venecuela',
'VN' => 'Vijetnam',
'VU' => 'Vanuatu',
'WS' => 'Samoa',
'YE' => 'Jemen',
'ZA' => 'Južna Afrika',
'ZM' => 'Zambia',
'ZW' => 'Zimbabve',
];

View file

@ -0,0 +1,21 @@
<?php
return [
'settings.inspire' => '"Umjetnost mudrosti je umjetnost znanja o tome šta zanemariti."', // This is the line printed in the homepage and console 'view-source'
'settings.locale' => 'ba',
'settings.direction' => 'ltr',
// Service - Users
'account.emails.team' => '%s Tim',
'account.emails.verification.title' => 'Verifikacija računa',
'account.emails.verification.body' => 'ba.email.auth.confirm.tpl',
'account.emails.recovery.title' => 'Reset lozinke',
'account.emails.recovery.body' => 'ba.email.auth.recovery.tpl',
'account.emails.invitation.title' => 'Pozivnica za %s Team na %s',
'account.emails.invitation.body' => 'ba.email.auth.invitation.tpl',
'locale.country.unknown' => 'Nepoznat',
'countries' => include 'ba.countries.php',
'continents' => include 'ba.continents.php',
];

View file

@ -0,0 +1,11 @@
<?php
return [
'AF' => 'Афрыка',
'AN' => 'Антарктыда',
'AS' => 'Азія',
'EU' => 'Еўропа',
'NA' => 'Паўночная Амерыка',
'OC' => 'Акіянія',
'SA' => 'Паўднёвая Амерыка',
];

View file

@ -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' => 'Уругвай',
'US' => 'Злучаныя Штаты',
'UZ' => 'Узбекістан',
'VA' => 'Ватыкан',
'VC' => 'Сэнт-Вінсэнт і Грэнадыны',
'VE' => 'Венесуэла',
'VN' => 'В\'етнам',
'VU' => 'Вануату',
'WS' => 'Самоа',
'YE' => 'Емен',
'ZA' => 'Паўднёвая Афрыка',
'ZM' => 'Замбія',
'ZW' => 'Зімбабвэ',
];

View file

@ -0,0 +1,21 @@
<?php
return [
'settings.inspire' => '"Мастацтва быць мудрым - гэта мастацтва ведаць, на што нельга звярнуць увагу."', // This is the line printed in the homepage and console 'view-source'
'settings.locale' => 'be',
'settings.direction' => 'ltr',
// Service - Users
'account.emails.team' => 'Каманда %s',
'account.emails.verification.title' => 'Праверка ўліковага запісу',
'account.emails.verification.body' => 'be.email.auth.confirm.tpl',
'account.emails.recovery.title' => 'Скід пароля',
'account.emails.recovery.body' => 'be.email.auth.recovery.tpl',
'account.emails.invitation.title' => 'Запрашэнне да каманды %s y %s',
'account.emails.invitation.body' => 'be.email.auth.invitation.tpl',
'locale.country.unknown' => 'Невядомы',
'countries' => include 'be.countries.php',
'continents' => include 'be.continents.php',
];

View file

@ -8,11 +8,11 @@ return [
// Service - Users
'account.emails.team' => '%s Tiimi',
'account.emails.verification.title' => 'Tilin Vahvistus',
'account.emails.verification.body' => 'en.email.auth.confirm.tpl',
'account.emails.verification.body' => 'fi.email.auth.confirm.tpl',
'account.emails.recovery.title' => 'Salasanan Nollaus',
'account.emails.recovery.body' => 'en.email.auth.recovery.tpl',
'account.emails.recovery.body' => 'fi.email.auth.recovery.tpl',
'account.emails.invitation.title' => 'Kutsu %s Tiimiin %s',
'account.emails.invitation.body' => 'en.email.auth.invitation.tpl',
'account.emails.invitation.body' => 'fi.email.auth.invitation.tpl',
'locale.country.unknown' => 'Unknown',

View file

@ -0,0 +1,11 @@
<?php
return [
'AF' => 'આફ્રિકા',
'AN' => 'એન્ટાર્કટિકા',
'AS' => 'એશિયા',
'EU' => 'યુરોપ',
'NA' => 'ઉત્તર અમેરિકા',
'OC' => 'ઓશનિયા',
'SA' => 'દક્ષિણ અમેરિકા',
];

View file

@ -0,0 +1,200 @@
<?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' => 'અલ્જેરિયા',
'ER' => 'એરિટ્રીઆ',
'EC' => 'એક્વાડોર',
'EG' => 'ઇજિપ્ત',
'IR' => 'એરિટ્રીઆ',
'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' => 'ઉરુગ્વે',
'US' => 'યુનાઈટેડ સ્ટેટ્સ અમેરિકા',
'UZ' => 'ઉઝબેકિસ્તાન',
'VA' => 'વેટિકન સિટી',
'VC' => 'સેન્ટ વિન્સેન્ટ એન્ડ ગ્રેનેડાઇન્સ',
'VE' => 'વેનેઝુએલા',
'VN' => 'વિયેટનામ',
'VU' => 'વનુઆતુ',
'WS' => 'સમોઆ',
'YE' => 'યમન',
'ZA' => 'દક્ષિણ આફ્રિકા',
'ZM' => 'ઝામ્બિયા',
'ZW' => 'ઝિમ્બાબ્વે',
];

View file

@ -0,0 +1,21 @@
<?php
return [
'settings.inspire' => '"સ્માર્ટ બનવાની કળા એ છે કે શું અવગણવું તે જાણવાની કળા છે."', // Tmrs is the line printed in the homepage and console 'view-source'
'settings.locale' => 'gu',
'settings.direction' => 'ltr',
// Service - Users
'account.emails.team' => '%s ટીમ',
'account.emails.verification.title' => 'ખાતાની પુષ્ટિ ',
'account.emails.verification.body' => 'gu.email.auth.confirm.tpl',
'account.emails.recovery.title' => 'પાસવૉર્ડ રીસેટ ',
'account.emails.recovery.body' => 'gu.email.auth.recovery.tpl',
'account.emails.invitation.title' => 'આમંત્રણ %s ટીમ %s',
'account.emails.invitation.body' => 'gu.email.auth.invitation.tpl',
'locale.country.unknown' => 'अज्ञात',
'countries' => include 'gu.countries.php',
'continents' => include 'gu.continents.php',
];

View file

@ -17,7 +17,7 @@ return [
'BJ' => 'Benin',
'BF' => 'Burkina Faso',
'BD' => 'Banglades',
'BG' => 'Bulgaria',
'BG' => 'Bulgária',
'BH' => 'Bahrein',
'BS' => 'Bahamák',
'BA' => 'Bosznia-Hercegovina',
@ -50,7 +50,7 @@ return [
'DM' => 'Dominika',
'DK' => 'Dánia',
'DO' => 'Dominikai Köztársaság',
'DZ' => 'Algíria',
'DZ' => 'Algéria',
'EC' => 'Ecuador',
'EG' => 'Egyiptom',
'ER' => 'Eritrea',
@ -67,7 +67,7 @@ return [
'GH' => 'Ghána',
'GN' => 'Guinea',
'GM' => 'Gambia',
'GW' => 'Guinea-Bissau',
'GW' => 'Bissau-Guinea',
'GQ' => 'Egyenlítői-Guinea',
'GR' => 'Görögország',
'GD' => 'Grenada',
@ -88,24 +88,24 @@ return [
'JM' => 'Jamaika',
'JO' => 'Jordánia',
'JP' => 'Japán',
'KZ' => 'Kazakhsztán',
'KZ' => 'Kazahsztán',
'KE' => 'Kenya',
'KG' => 'Kirgizisztán',
'KH' => 'Kambodzsa',
'KI' => 'Kiribati',
'KN' => 'Saint Kitts és Nevis',
'KR' => 'Dél Korea',
'KW' => 'Kuwait',
'KR' => 'Dél-Korea',
'KW' => 'Kuvait',
'LA' => 'Laosz',
'LB' => 'Libanon',
'LR' => 'Libéria',
'LY' => 'Líbia',
'LC' => 'Saint Lucia',
'LI' => 'Liechtenstein',
'LK' => 'Sri Lanka',
'LK' => 'Srí Lanka',
'LS' => 'Lesotho',
'LT' => 'Litvánia',
'LU' => 'Luxembourg',
'LU' => 'Luxemburg',
'LV' => 'Lettország',
'MA' => 'Marokkó',
'MC' => 'Monaco',
@ -127,8 +127,8 @@ return [
'MY' => 'Malajzia',
'NA' => 'Namíbia',
'NE' => 'Niger',
'NG' => 'Nigeria',
'NI' => 'Nikaragua',
'NG' => 'Nigéria',
'NI' => 'Nicaragua',
'NL' => 'Hollandia',
'NO' => 'Norvégia',
'NP' => 'Nepál',
@ -145,10 +145,10 @@ return [
'KP' => 'Észak-Korea',
'PT' => 'Portugália',
'PY' => 'Paraguay',
'QA' => 'Qatar',
'QA' => 'Katar',
'RO' => 'Románia',
'RU' => 'Oroszország',
'RW' => 'Rwanda',
'RW' => 'Ruanda',
'SA' => 'Szaúd-Arábia',
'SD' => 'Szudán',
'SN' => 'Szenegál',
@ -161,16 +161,16 @@ return [
'RS' => 'Szerbia',
'SS' => 'Dél-Szudán',
'ST' => 'São Tomé és Príncipe',
'SR' => 'Szurinám',
'SR' => 'Suriname',
'SK' => 'Szlovákia',
'SI' => 'Szlovénia',
'SE' => 'Svédország',
'SZ' => 'Swaziland',
'SZ' => 'Szváziföld',
'SC' => 'Seychelles-szigetek',
'SY' => 'Szíria',
'TD' => 'Csád',
'TG' => 'Togo',
'TH' => 'Tájföld',
'TH' => 'Thaiföld',
'TJ' => 'Tádzsikisztán',
'TM' => 'Türkmenisztán',
'TL' => 'Timor-Leste',
@ -179,9 +179,9 @@ return [
'TN' => 'Tunézia',
'TR' => 'Törökország',
'TV' => 'Tuvalu',
'TZ' => 'Tanzania',
'TZ' => 'Tanzánia',
'UG' => 'Uganda',
'UA' => 'Ukraina',
'UA' => 'Ukrajna',
'UY' => 'Uruguay',
'US' => 'Egyesült Államok',
'UZ' => 'Üzbegisztán',
@ -191,7 +191,7 @@ return [
'VN' => 'Vietnám',
'VU' => 'Vanuatu',
'WS' => 'Szamoa',
'YE' => 'Yemen',
'YE' => 'Jemen',
'ZA' => 'Dél-Afrikai Köztársaság',
'ZM' => 'Zambia',
'ZW' => 'Zimbabwe',

View file

@ -7,11 +7,11 @@ return [
// Service - Users
'account.emails.team' => '%s Csapat',
'account.emails.verification.title' => 'Fiók megerősítés',
'account.emails.verification.title' => 'Fiók megerősítése',
'account.emails.verification.body' => 'hu.email.auth.confirm.tpl',
'account.emails.recovery.title' => 'Jelszó Visszaállítás',
'account.emails.recovery.title' => 'Jelszó-visszaállítás',
'account.emails.recovery.body' => 'hu.email.auth.recovery.tpl',
'account.emails.invitation.title' => 'Meghívás a %s Csapathoz %s',
'account.emails.invitation.title' => 'Meghívás a %s csapatba %s',
'account.emails.invitation.body' => 'hu.email.auth.invitation.tpl',
'locale.country.unknown' => 'Ismeretlen',

View file

@ -0,0 +1,11 @@
<?php
return [
'AF' => 'अफ्रीका',
'AN' => 'एन्टार्टिका',
'AS' => 'एशिया',
'EU' => 'युरोप',
'NA' => 'उत्तर अमेरिका',
'OC' => 'ओसिआनिया',
'SA' => 'दक्षिण अमेरिका',
];

View file

@ -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' => 'उरुग्वे',
'US' => 'युनाइटेड अमेरिका',
'UZ' => 'उज्बेकिस्तान',
'VA' => 'भ्याटिकन सिटी',
'VC' => 'सेन्ट भिन्सेन्ट र ग्रेनाडाइन्स',
'VE' => 'भेनेजुएला',
'VN' => 'भियतनाम',
'VU' => 'भानुआटु',
'WS' => 'सामोआ',
'YE' => 'यमन',
'ZA' => 'दक्षिण अफ्रिका',
'ZM' => 'जाम्बिया',
'ZW' => 'जिम्बावे',
];

View file

@ -0,0 +1,21 @@
<?php
return [
'settings.inspire' => '"बुद्धिमान हुनु को कला के लाई बेवास्ता गर्न जान्ने को कला हो।"', // This is the line printed in the homepage and console 'view-source'
'settings.locale' => 'np',
'settings.direction' => 'ltr',
// Service - Users
'account.emails.team' => '%s टीम',
'account.emails.verification.title' => 'खाता प्रमाणीकरण',
'account.emails.verification.body' => 'np.email.auth.confirm.tpl',
'account.emails.recovery.title' => 'पासवर्ड रिसेट',
'account.emails.recovery.body' => 'np.email.auth.recovery.tpl',
'account.emails.invitation.title' => 'आमन्त्रित गर्न %s टीम मा %s',
'account.emails.invitation.body' => 'np.email.auth.invitation.tpl',
'locale.country.unknown' => 'अज्ञात',
'countries' => include 'np.countries.php',
'continents' => include 'np.continents.php',
];

View file

@ -2,20 +2,20 @@
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.locale' => 'pl',
'settings.direction' => 'ltr',
// Service - Users
'account.emails.team' => 'Zespół %s',
'account.emails.verification.title' => 'Potwierdzenie konta',
'account.emails.verification.body' => 'en.email.auth.confirm.tpl',
'account.emails.verification.body' => 'pl.email.auth.confirm.tpl',
'account.emails.recovery.title' => 'Zresetowanie hasła',
'account.emails.recovery.body' => 'en.email.auth.recovery.tpl',
'account.emails.recovery.body' => 'pl.email.auth.recovery.tpl',
'account.emails.invitation.title' => 'Zaproszenie do zespołu %s - %s',
'account.emails.invitation.body' => 'en.email.auth.invitation.tpl',
'account.emails.invitation.body' => 'pl.email.auth.invitation.tpl',
'locale.country.unknown' => 'Nieznany',
'countries' => include 'en.countries.php',
'continents' => include 'en.continents.php',
'countries' => include 'pl.countries.php',
'continents' => include 'pl.continents.php',
];

View file

@ -0,0 +1,15 @@
<p>
Zdravo {{name}},
</p>
<p>
Kliknite na ovaj link da verifikujete vašu email adresu.
</p>
{{cta}}
<p>
Ukoliko niste zatražili verifikaciju email adrese, ignorišite ovaj email.
</p>
<p>
Hvala,
<br />
{{project}} tim
</p>

View file

@ -0,0 +1,14 @@
<p>
Zdravo,
</p>
<p>
Dobili ste ovaj email jer <b>{{owner}}</b> vas poziva da postanete član <b>{{team}}</b> tima na {{project}}.
</p>
{{cta}}
<p>
Ukoliko niste zainteresovani, ignorišite ovu poruku.</p>
<p>
Hvala,
<br />
{{project}} tim
</p>

View file

@ -0,0 +1,15 @@
<p>
Zdravo {{name}},
</p>
<p>
Kliknite na ovaj link da resetujete vašu {{project}} lozinku.
</p>
{{cta}}
<p>
Ukoliko niste zatražili verifikaciju ove adrese, ignorišite ovaj email.
</p>
<p>
Hvala,
<br />
{{project}} tim
</p>

View file

@ -0,0 +1,15 @@
<p>
Прывітанне {{name}},
</p>
<p>
Перайдзіце па гэтай спасылцы, каб пацвердзіць свой адрас электроннай пошты.
</p>
{{cta}}
<p>
Калі вы не прасілі спраўдзіць гэты адрас, вы можаце праігнараваць гэтае паведамленне.
</p>
<p>
Дзякуем,
<br />
Каманда {{project}}
</p>

View file

@ -0,0 +1,15 @@
<p>
Прывітанне,
</p>
<p>
Гэта паведамленне было адпраўлена вам, таму што <b>{{owner}}</b> хацеў запрасіць вас стаць членам каманды <b>{{team}}</b> у {{project}}.
</p>
{{cta}}
<p>
Калі вам гэта не цікава, вы можаце праігнараваць гэтае паведамленне.
</p>
<p>
Дзякуем,
<br />
Каманда {{project}}
</p>

View file

@ -0,0 +1,15 @@
<p>
Прывітанне {{name}},
</p>
<p>
Перайдзіце па гэтай спасылцы, каб скінуць пароль для {{project}}.
</p>
{{cta}}
<p>
Калі вы не прасілі скінуць пароль, вы можаце праігнараваць гэта паведамленне.
</p>
<p>
Дзякуем,
<br />
Каманда {{project}}
</p>

View file

@ -0,0 +1,16 @@
<p>
નમસ્તે {{name}},
</p>
<p>
તમારા ઇમેઇલ સરનામાંને ચકાસવા માટે આ લિંક પર ક્લિક કરો.
</p>
{{cta}}
<p>
જો તમને આ ઇમેઇલને ચકાસવા માટે પૂછવામાં નહીં આવે તો તમે આ સંદેશને અવગણી શકો છો.
</p>
<p>
આભાર,
<br />
{{project}} ટીમ
</p>

View file

@ -0,0 +1,18 @@
<p>
નમસ્તે,
</p>
<p>
આ મેલ તમને મોકલ્યો હતો કારણ કે <b>{{owner}}</b> તને {{project}} આ કારણ થી <b>{{team}}</b> અહીં સભ્ય બનવા માટે આમંત્રણ આપવાની ઇચ્છા છે.
</p>
<p>
ટીમ <b>{{team}}</b> જોડાવા માટે આ લિંક પર ક્લિક કરો :
</p>
{{cta}}
<p>
જો તમને રુચિ ન હોય તો તમે આ સંદેશને અવગણી શકો છો.
</p>
<p>
આભાર,
<br />
{{project}} ટીમ
</p>

View file

@ -0,0 +1,15 @@
<p>
નમસ્તે {{name}},
</p>
<p>
{{project}} પાસવર્ડ ફરીથી સેટ કરવા માટે આ લિંક પર ક્લિક કરો.
</p>
{{cta}}
<p>
જો તમને તમારો પાસવર્ડ ફરીથી સેટ કરવાનું કહેવામાં ન આવે, તો તમે આ સંદેશને અવગણી શકો છો.
</p>
<p>
આભાર,
<br />
{{project}} ટીમ
</p>

View file

@ -1,15 +1,15 @@
<p>
Szia {{name}},
Kedves {{name}}!
</p>
<p>
Kattints erre a linkre, hogy megerősítsd az e-mail címed.
Kérjük, e-mail címe megerősítéséhez kattintson az alábbi hivatkozásra:
</p>
{{cta}}
<p>
Ha nem kérelmezted, hogy megerősítsük ezt a címet, ignoráld ezt a levelet.
Ha nem kérte az e-mail cím megerősítését, kérjük, tekintse ezt az üzenetet tárgytalannak.
</p>
<p>
Köszönettel,
Köszönettel:
<br />
{{project}} csapat
</p>

View file

@ -1,18 +1,15 @@
<p>
Szia,
Üdvözöljük!
</p>
<p>
Azért küldtük ezt az e-mailt <b>{{owner}}</b> mert meg szeretnénk hívni a <b>{{team}}</b> csapatba a következő projektre {{project}}.
</p>
<p>
Kattints erre a linkre, hogy a <b>{{team}}</b> csapat tagja legyél:
Azért küldtük ezt az e-mailt, mert <b>{{owner}}</b> szeretné meghívni Önt a <b>{{team}}</b> csapatba a {{project}} projektben.
</p>
{{cta}}
<p>
Ha nem vegy ebben érdekelt ignoráld ezt az üzenetet.
Ha nem szeretne csatlakozni, kérjük, tekintse ezt az üzenetet tárgytalannak.
</p>
<p>
Köszönettel,
Köszönettel:
<br />
{{project}} csapat
</p>

View file

@ -1,15 +1,15 @@
<p>
Szia {{name}},
Kedves {{name}}!
</p>
<p>
Kattints erre a linkre, hogy visszaállítsuk a {{project}} jelszavad.
{{project}} jelszava visszaállításához kérjük, kattintson az alábbi linkre:
</p>
{{cta}}
<p>
Ha nem kérvényezted, hogy visszaállítsuk a jelszavad ignoráld ezt a levelet.
Ha nem kérte jelszava visszaállítását, kérjük, tekintse ezt az üzenetet tárgytalannak.
</p>
<p>
Köszönettel,
Köszönettel:
<br />
{{project}} csapat
</p>

View file

@ -0,0 +1,16 @@
<p>
नमस्कार {{name}},
</p>
<p>
तपाईंको ईमेल ठेगाना प्रमाणित गर्न यो लिंक अनुसरण गर्नुहोस्।
</p>
{{cta}}
<p>
यदि तपाईंले यो ठेगाना प्रमाणित गर्न सोधेन भने, तपाईं यो सन्देशलाई वेवास्ता गर्न सक्नुहुनेछ।
</p>
<p>
धन्यवाद,
<br />
{{project}} टीम
</p>

View file

@ -0,0 +1,15 @@
<p>
नमस्कार {{name}},
</p>
<p>
यो मेल तपाईंलाई पठाइएको थियो किनभने <b>{{owner}}</b>ले तपाईंलाई <b>{{team}}</b> टीममा रहेको {{project}} प्रोजेक्टमा टीमको सदस्य बन्न आमन्त्रित गर्न चाहन्छ।
</p>
{{cta}}
<p>
यदि तपाईं इच्छुक हुनुहुन्न भने, तपाईं यो सन्देशलाई वेवास्ता गर्न सक्नुहुनेछ।
</p>
<p>
धन्यवाद,
<br />
{{project}} टीम
</p>

View file

@ -0,0 +1,15 @@
<p>
नमस्कार {{name}},
</p>
<p>
तपाईंको {{project}}को पासवर्ड रिसेट गर्नका लागि यो लिंक अनुसरण गर्नुहोस्।
</p>
{{cta}}
<p>
यदि तपाईंले यो ठेगाना प्रमाणित गर्न सोधेन भने, तपाईं यो सन्देशलाई वेवास्ता गर्न सक्नुहुनेछ।
</p>
<p>
धन्यवाद,
<br />
{{project}} टीम
</p>

View file

@ -2,7 +2,7 @@
Здравствуйте,
</p>
<p>
Это письмо отправлено вам, потому что <b>{{owner}}</b> приглашает стать членом команды <b>{{team}}</b> в проекте {{project}}.
Это письмо отправлено вам, потому что <b>{{owner}}</b> приглашает вас стать членом команды <b>{{team}}</b> в проекте {{project}}.
</p>
<p>
Перейдите по ссылке, чтобы присоединиться к команде <b>{{team}}</b> :

View file

@ -5,12 +5,12 @@ return [
'settings.locale' => 'ua',
'settings.direction' => 'ltr',
'account.emails.team' => '%s Команда',
'account.emails.team' => 'Команда %s',
'account.emails.verification.title' => 'Підтвердження Акаунту' ,
'account.emails.verification.body' => 'ua.email.auth.confirm.tpl',
'account.emails.recovery.title' => 'Скидання пароля',
'account.emails.recovery.body' => 'ua.email.auth.recovery.tpl',
'account.emails.invitation.title' => 'Запрошення до %s Команди у %s',
'account.emails.invitation.title' => 'Запрошення до Команди %s у %s',
'account.emails.invitation.body' => 'ua.email.auth.invitation.tpl',
'locale.country.unknown' => 'Невідомо',

View file

@ -3,7 +3,7 @@
/**
* Init
*
* Inializes both Appwrite API entry point, queue workers, and CLI tasks.
* Initializes both Appwrite API entry point, queue workers, and CLI tasks.
* Set configuration, framework resources, app constants
*
*/
@ -224,6 +224,8 @@ $register->set('queue-functions', function () {
Locale::$exceptions = false;
Locale::setLanguage('af', include __DIR__.'/config/locale/translations/af.php');
Locale::setLanguage('ar', include __DIR__.'/config/locale/translations/ar.php');
Locale::setLanguage('ba', include __DIR__.'/config/locale/translations/ba.php');
Locale::setLanguage('be', include __DIR__.'/config/locale/translations/be.php');
Locale::setLanguage('bn', include __DIR__.'/config/locale/translations/bn.php');
Locale::setLanguage('cat', include __DIR__.'/config/locale/translations/cat.php');
Locale::setLanguage('cz', include __DIR__.'/config/locale/translations/cz.php');
@ -234,6 +236,7 @@ Locale::setLanguage('fi', include __DIR__.'/config/locale/translations/fi.php');
Locale::setLanguage('fo', include __DIR__.'/config/locale/translations/fo.php');
Locale::setLanguage('fr', include __DIR__.'/config/locale/translations/fr.php');
Locale::setLanguage('gr', include __DIR__.'/config/locale/translations/gr.php');
Locale::setLanguage('gu', include __DIR__.'/config/locale/translations/gu.php');
Locale::setLanguage('he', include __DIR__.'/config/locale/translations/he.php');
Locale::setLanguage('hi', include __DIR__.'/config/locale/translations/hi.php');
Locale::setLanguage('hu', include __DIR__.'/config/locale/translations/hu.php');
@ -247,9 +250,11 @@ Locale::setLanguage('km', include __DIR__.'/config/locale/translations/km.php');
Locale::setLanguage('ko', include __DIR__.'/config/locale/translations/ko.php');
Locale::setLanguage('lt', include __DIR__.'/config/locale/translations/lt.php');
Locale::setLanguage('ml', include __DIR__.'/config/locale/translations/ml.php');
Locale::setLanguage('mr', include __DIR__.'/config/locale/translations/mr.php');
Locale::setLanguage('ms', include __DIR__.'/config/locale/translations/ms.php');
Locale::setLanguage('nl', include __DIR__.'/config/locale/translations/nl.php');
Locale::setLanguage('no', include __DIR__.'/config/locale/translations/no.php');
Locale::setLanguage('np', include __DIR__.'/config/locale/translations/np.php');
Locale::setLanguage('ph', include __DIR__.'/config/locale/translations/ph.php');
Locale::setLanguage('pl', include __DIR__.'/config/locale/translations/pl.php');
Locale::setLanguage('pt-br', include __DIR__.'/config/locale/translations/pt-br.php');

View file

@ -93,6 +93,36 @@
No user preferences found
</div>
</div>
<h3 class="text-danger">Danger Zone</h3>
<div class="box danger">
<p>This is the area where you can delete this user.</p>
<p>By deleting this user you will lose all data associated with this user.</p>
<p>PLEASE NOTE: User deletion is irreversible.</p>
<form class="inline"
data-analytics-event="submit"
data-analytics-category="console"
data-analytics-label="Delete User"
data-service="users.deleteUser"
data-event="submit"
data-param-user-id="{{router.params.id}}"
data-success="alert,trigger,redirect"
data-confirm="Are you sure you want to delete this user?"
data-success-param-alert-text="Deleted user successfully"
data-success-param-trigger-events="users.delete"
data-success-param-redirect-url="/console/users?project={{router.params.project}}"
data-failure="alert"
data-failure-param-alert-text="Failed to delete user"
data-failure-param-alert-classname="error">
<input type="hidden" name="projectId" data-ls-bind="{{router.params.project}}" />
<button class="danger reverse" type="submit">Delete User</button>
</form>
</div>
</div>
<div class="col span-4 sticky-top">
<label>User ID</label>

View file

@ -28,9 +28,9 @@
<label>Password</label>
<input name="password" type="password" autocomplete="off" placeholder="" required data-forms-password-meter pattern=".{6,}" title="Six or more characters">
<label>Password Again</label>
<label>Confirm Password</label>
<input name="passwordAgain" type="password" autocomplete="off" placeholder="" required data-forms-password-meter pattern=".{6,}" title="Six or more characters">
<button type="submit" class="btn btn-primary"><i class="fa fa-sign-in"></i> Apply</button>
</form>
</div>
</div>

View file

@ -7,7 +7,7 @@ $version = $this->getParam('version', '');
services:
traefik:
image: traefik:2.2
image: traefik:2.3
container_name: appwrite-traefik
command:
- --providers.file.directory=/storage/config
@ -52,6 +52,9 @@ services:
- influxdb
environment:
- _APP_ENV
- _APP_SYSTEM_EMAIL_NAME
- _APP_SYSTEM_EMAIL_ADDRESS
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
- _APP_OPTIONS_ABUSE
- _APP_OPTIONS_FORCE_HTTPS
- _APP_OPENSSL_KEY_V1
@ -119,6 +122,7 @@ services:
- mariadb
environment:
- _APP_ENV
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_DB_HOST
@ -139,6 +143,7 @@ services:
- mariadb
environment:
- _APP_ENV
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_DB_HOST
@ -185,6 +190,7 @@ services:
- appwrite-certificates:/storage/certificates:rw
environment:
- _APP_ENV
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_DB_HOST
@ -231,6 +237,8 @@ services:
- smtp
environment:
- _APP_ENV
- _APP_SYSTEM_EMAIL_NAME
- _APP_SYSTEM_EMAIL_ADDRESS
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_SMTP_HOST
@ -278,7 +286,7 @@ services:
- RELAY_NETWORKS=:192.168.0.0/24:10.0.0.0/16
redis:
image: redis:5.0
image: redis:6.0-alpine3.12
container_name: appwrite-redis
restart: unless-stopped
networks:
@ -296,7 +304,7 @@ services:
- appwrite-uploads:/storage/uploads
influxdb:
image: influxdb:1.6
image: influxdb:1.8-alpine
container_name: appwrite-influxdb
restart: unless-stopped
networks:

View file

@ -14,7 +14,7 @@ class AuditsV1
{
public $args = [];
public function setUp()
public function setUp(): void
{
}
@ -39,7 +39,7 @@ class AuditsV1
$audit->log($userId, $event, $resource, $userAgent, $ip, '', $data);
}
public function tearDown()
public function tearDown(): void
{
// ... Remove environment for this job
}

View file

@ -20,7 +20,7 @@ class CertificatesV1
{
public $args = [];
public function setUp()
public function setUp(): void
{
}
@ -115,7 +115,7 @@ class CertificatesV1
$staging = (App::isProduction()) ? '' : ' --dry-run';
$response = \shell_exec("certbot certonly --webroot --noninteractive --agree-tos{$staging} \
--email ".App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', 'security@localhost.test')." \
--email ".App::getEnv('_APP_SYSTEM_SECURITY_EMAIL_ADDRESS', 'security@localhost.test')." \
-w ".APP_STORAGE_CERTIFICATES." \
-d {$domain->get()}");
@ -199,7 +199,7 @@ class CertificatesV1
Authorization::reset();
}
public function tearDown()
public function tearDown(): void
{
// ... Remove environment for this job
}

View file

@ -17,7 +17,7 @@ class DeletesV1
{
public $args = [];
public function setUp()
public function setUp(): void
{
}
@ -39,7 +39,7 @@ class DeletesV1
}
}
public function tearDown()
public function tearDown(): void
{
// ... Remove environment for this job
}

View file

@ -99,7 +99,7 @@ class FunctionsV1
{
public $args = [];
public function setUp()
public function setUp(): void
{
}
@ -354,7 +354,7 @@ class FunctionsV1
}
}
public function tearDown()
public function tearDown(): void
{
}
}

View file

@ -15,7 +15,7 @@ class MailsV1
*/
public $args = [];
public function setUp()
public function setUp(): void
{
}
@ -63,7 +63,7 @@ class MailsV1
}
}
public function tearDown()
public function tearDown(): void
{
// ... Remove environment for this job
}

View file

@ -22,7 +22,7 @@ class TasksV1
*/
public $args = [];
public function setUp()
public function setUp(): void
{
}
@ -205,7 +205,7 @@ class TasksV1
return true;
}
public function tearDown()
public function tearDown(): void
{
// ... Remove environment for this job
}

View file

@ -16,7 +16,7 @@ class UsageV1
*/
public $args = [];
public function setUp()
public function setUp(): void
{
}
@ -59,7 +59,7 @@ class UsageV1
$statsd->count('storage.all'.$tags, $storage);
}
public function tearDown()
public function tearDown(): void
{
// ... Remove environment for this job
}

View file

@ -18,7 +18,7 @@ class WebhooksV1
{
public $args = [];
public function setUp()
public function setUp(): void
{
}
@ -106,7 +106,7 @@ class WebhooksV1
}
}
public function tearDown()
public function tearDown(): void
{
// ... Remove environment for this job
}

View file

@ -37,25 +37,25 @@
"utopia-php/abuse": "0.2.*",
"utopia-php/audit": "0.3.*",
"utopia-php/cache": "0.2.*",
"utopia-php/cli": "0.6.2",
"utopia-php/cli": "0.7.1",
"utopia-php/config": "0.2.*",
"utopia-php/locale": "0.3.*",
"utopia-php/registry": "0.2.*",
"utopia-php/domains": "0.2.*",
"utopia-php/domains": "1.1.*",
"resque/php-resque": "1.3.6",
"geoip2/geoip2": "2.9.0",
"piwik/device-detector": "3.5.1",
"dragonmantank/cron-expression": "2.2.0",
"domnikl/statsd": "2.0.*",
"geoip2/geoip2": "2.10.0",
"piwik/device-detector": "3.13.0",
"dragonmantank/cron-expression": "3.0.1",
"domnikl/statsd": "3.0.*",
"influxdb/influxdb-php": "1.15.*",
"bacon/bacon-qr-code": "2.0.0",
"phpmailer/phpmailer": "6.1.6"
"bacon/bacon-qr-code": "2.0.2",
"phpmailer/phpmailer": "6.1.7"
},
"require-dev": {
"swoole/ide-helper": "4.5.2",
"swoole/ide-helper": "4.5.4",
"appwrite/sdk-generator": "master",
"phpunit/phpunit": "^7.0"
"phpunit/phpunit": "^9.3"
},
"repositories": [
{

1784
composer.lock generated

File diff suppressed because it is too large Load diff

View file

@ -2,7 +2,7 @@ version: '3'
services:
traefik:
image: traefik:2.2
image: traefik:2.3
container_name: appwrite-traefik
command:
- --log.level=DEBUG
@ -66,6 +66,9 @@ services:
- influxdb
environment:
- _APP_ENV
- _APP_SYSTEM_EMAIL_NAME
- _APP_SYSTEM_EMAIL_ADDRESS
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
- _APP_OPTIONS_ABUSE
- _APP_OPTIONS_FORCE_HTTPS
- _APP_OPENSSL_KEY_V1
@ -136,6 +139,7 @@ services:
- mariadb
environment:
- _APP_ENV
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_DB_HOST
@ -157,6 +161,7 @@ services:
- mariadb
environment:
- _APP_ENV
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_DB_HOST
@ -205,6 +210,7 @@ services:
- appwrite-certificates:/storage/certificates:rw
environment:
- _APP_ENV
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_DB_HOST
@ -254,6 +260,8 @@ services:
# - smtp
environment:
- _APP_ENV
- _APP_SYSTEM_EMAIL_NAME
- _APP_SYSTEM_EMAIL_ADDRESS
- _APP_REDIS_HOST
- _APP_REDIS_PORT
- _APP_SMTP_HOST
@ -290,6 +298,7 @@ services:
- MYSQL_USER=user
- MYSQL_PASSWORD=password
command: 'mysqld --innodb-flush-method=fsync'
# command: mv /var/lib/mysql/ib_logfile0 /var/lib/mysql/ib_logfile0.bu && mv /var/lib/mysql/ib_logfile1 /var/lib/mysql/ib_logfile1.bu
maildev:
image: djfarrelly/maildev
@ -301,17 +310,19 @@ services:
- appwrite
# smtp:
# image: appwrite/smtp:1.0.1
# image: appwrite/smtp:1.2.0
# container_name: appwrite-smtp
# restart: unless-stopped
# networks:
# - appwrite
# environment:
# - MAILNAME=appwrite
# - RELAY_NETWORKS=:192.168.0.0/24:10.0.0.0/16
# - LOCAL_DOMAINS=@
# - RELAY_FROM_HOSTS=192.168.0.0/16 ; *.yourdomain.com
# - SMARTHOST_HOST=smtp
# - SMARTHOST_PORT=587
redis:
image: redis:5.0
image: redis:6.0-alpine
container_name: appwrite-redis
restart: unless-stopped
networks:
@ -327,9 +338,9 @@ services:
- appwrite
volumes:
- appwrite-uploads:/storage/uploads
influxdb:
image: influxdb:1.6
image: influxdb:1.8-alpine
container_name: appwrite-influxdb
restart: unless-stopped
networks:

View file

@ -1,6 +1,6 @@
# Adding a New OAuth2 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](https://github.com/appwrite/appwrite/blob/master/CODE_OF_CONDUCT.md) and the [Contributing Guide](https://github.com/appwrite/appwrite/blob/master/CONTRIBUTING.md).
## Getting Started

View file

@ -22,7 +22,7 @@ This is your server private secret key that is used to encrypt all sensitive dat
### _APP_STORAGE_LIMIT
Maximun file size allowed for file upload. The deafult value is 100MB limitation. You should pass your size limit value in bytes.
Maximum file size allowed for file upload. The default value is 100MB limitation. You should pass your size limit value in bytes.
### _APP_STORAGE_ANTIVIRUS

6
package-lock.json generated
View file

@ -8484,9 +8484,9 @@
}
},
"yargs-parser": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.0.0.tgz",
"integrity": "sha512-8eblPHTL7ZWRkyjIZJjnGf+TijiKJSwA24svzLRVvtgoi/RZiKa9fFQTrlx0OKLnyHSdt/enrdadji6WFfESVA==",
"version": "20.2.0",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.0.tgz",
"integrity": "sha512-2agPoRFPoIcFzOIp6656gcvsg2ohtscpw2OINr/q46+Sq41xz2OYLqx5HRHabmFU1OARIPAYH5uteICE7mn/5A==",
"dev": true
}
}

View file

@ -4,7 +4,7 @@
"license": "BSD-3-Clause",
"repository": "public",
"devDependencies": {
"yargs-parser": ">=13.1.2",
"yargs-parser": ">=20.2.0",
"gulp": "^4.0.2",
"gulp-clean-css": "^4.3.0",
"gulp-concat": "^2.6.1",

View file

@ -8,11 +8,11 @@ use PHPUnit\Framework\TestCase;
class AuthTest extends TestCase
{
public function setUp()
public function setUp(): void
{
}
public function tearDown()
public function tearDown(): void
{
}
@ -118,4 +118,4 @@ class AuthTest extends TestCase
$this->assertEquals(Auth::tokenVerify($tokens3, Auth::TOKEN_TYPE_LOGIN, $secret), false);
$this->assertEquals(Auth::tokenVerify($tokens3, Auth::TOKEN_TYPE_LOGIN, 'false-secret'), false);
}
}
}

View file

@ -12,12 +12,12 @@ class PasswordTestTest extends TestCase
*/
protected $object = null;
public function setUp()
public function setUp(): void
{
$this->object = new Password();
}
public function tearDown()
public function tearDown(): void
{
}
@ -36,4 +36,4 @@ class PasswordTestTest extends TestCase
$this->assertEquals($this->object->isValid('WUnOZcn0piQMN8Mh31xw4KQPF0gcNGVA'), true);
$this->assertEquals($this->object->isValid('WUnOZcn0piQMN8Mh31xw4KQPF0gcNGVAx'), false);
}
}
}

View file

@ -12,12 +12,12 @@ class KeyTest extends TestCase
*/
protected $object = null;
public function setUp()
public function setUp(): void
{
$this->object = new Key();
}
public function tearDown()
public function tearDown(): void
{
}
@ -33,4 +33,4 @@ class KeyTest extends TestCase
$this->assertEquals($this->object->isValid('socialAccountForYoutubeSubscribe'), true);
$this->assertEquals($this->object->isValid('socialAccountForYoutubeSubscrib'), true);
}
}
}

View file

@ -12,12 +12,12 @@ class UIDTest extends TestCase
*/
protected $object = null;
public function setUp()
public function setUp(): void
{
$this->object = new UID();
}
public function tearDown()
public function tearDown(): void
{
}
@ -27,4 +27,4 @@ class UIDTest extends TestCase
$this->assertEquals($this->object->isValid('5f058a89258075f058a89258075f058t'), true);
$this->assertEquals($this->object->isValid('5f058a89258075f058a89258075f058tx'), false);
}
}
}

View file

@ -14,7 +14,7 @@ class ComposeTest extends TestCase
protected $object = null;
public function setUp()
public function setUp(): void
{
$data = @file_get_contents(__DIR__.'/../../resources/docker/docker-compose.yml');
@ -25,7 +25,7 @@ class ComposeTest extends TestCase
$this->object = new Compose($data);
}
public function tearDown()
public function tearDown(): void
{
}
@ -56,4 +56,4 @@ class ComposeTest extends TestCase
$this->assertEquals('appwrite-redis', $this->object->getVolumes()[1]);
$this->assertEquals('appwrite-cache', $this->object->getVolumes()[2]);
}
}
}

View file

@ -14,7 +14,7 @@ class EnvTest extends TestCase
protected $object = null;
public function setUp()
public function setUp(): void
{
$data = @file_get_contents(__DIR__.'/../../resources/docker/.env');
@ -25,7 +25,7 @@ class EnvTest extends TestCase
$this->object = new Env($data);
}
public function tearDown()
public function tearDown(): void
{
}
@ -46,4 +46,4 @@ _APP_Y=value2
_APP_Z=value3
", $this->object->export());
}
}
}

View file

@ -18,7 +18,7 @@ class EventTest extends TestCase
*/
protected $queue = '';
public function setUp()
public function setUp(): void
{
$redisHost = App::getEnv('_APP_REDIS_HOST', '');
$redisPort = App::getEnv('_APP_REDIS_PORT', '');
@ -28,7 +28,7 @@ class EventTest extends TestCase
$this->object = new Event($this->queue, 'TestsV1');
}
public function tearDown()
public function tearDown(): void
{
}
@ -63,4 +63,4 @@ class EventTest extends TestCase
$this->assertEquals(null, $this->object->getParam('key2'));
$this->assertEquals(null, $this->object->getParam('key3'));
}
}
}

View file

@ -12,12 +12,12 @@ class CNAMETest extends TestCase
*/
protected $object = null;
public function setUp()
public function setUp(): void
{
$this->object = new CNAME('appwrite.io');
}
public function tearDown()
public function tearDown(): void
{
}
@ -31,4 +31,4 @@ class CNAMETest extends TestCase
$this->assertEquals($this->object->isValid('test1.appwrite.org'), false);
$this->assertEquals($this->object->isValid('test1.appwrite.org'), false);
}
}
}

View file

@ -12,12 +12,12 @@ class DomainTest extends TestCase
*/
protected $domain = null;
public function setUp()
public function setUp(): void
{
$this->domain = new Domain();
}
public function tearDown()
public function tearDown(): void
{
$this->domain = null;
}
@ -43,4 +43,4 @@ class DomainTest extends TestCase
$this->assertEquals(false, $this->domain->isValid(1));
$this->assertEquals(false, $this->domain->isValid(1.2));
}
}
}

View file

@ -7,11 +7,11 @@ use PHPUnit\Framework\TestCase;
class OpenSSLTest extends TestCase
{
public function setUp()
public function setUp(): void
{
}
public function tearDown()
public function tearDown(): void
{
}
@ -27,4 +27,4 @@ class OpenSSLTest extends TestCase
$this->assertEquals(OpenSSL::decrypt($data, $method, $key, 0, $iv, $tag), $secret);
}
}
}

View file

@ -7,11 +7,11 @@ use PHPUnit\Framework\TestCase;
class ResizeTest extends TestCase
{
public function setUp()
public function setUp(): void
{
}
public function tearDown()
public function tearDown(): void
{
}
@ -167,4 +167,4 @@ class ResizeTest extends TestCase
$this->assertEquals('GIF', $image->getImageFormat());
\unlink($target);
}
}
}

View file

@ -12,12 +12,12 @@ class GZIPTest extends TestCase
*/
protected $object = null;
public function setUp()
public function setUp(): void
{
$this->object = new GZIP();
}
public function tearDown()
public function tearDown(): void
{
}
@ -77,4 +77,4 @@ class GZIPTest extends TestCase
$this->assertEquals($dataSize, 3038056);
}
}
}

View file

@ -12,12 +12,12 @@ class LocalTest extends TestCase
*/
protected $object = null;
public function setUp()
public function setUp(): void
{
$this->object = new Local(realpath(__DIR__ . '/../../../resources/disk-a'));
}
public function tearDown()
public function tearDown(): void
{
}
@ -120,4 +120,4 @@ class LocalTest extends TestCase
{
$this->assertGreaterThan(0, $this->object->getPartitionTotalSpace());
}
}
}

View file

@ -12,11 +12,11 @@ Storage::setDevice('disk-b', new Local(__DIR__ . '/../../resources/disk-b'));
class StorageTest extends TestCase
{
public function setUp()
public function setUp(): void
{
}
public function tearDown()
public function tearDown(): void
{
}
@ -39,4 +39,4 @@ class StorageTest extends TestCase
$this->assertEquals(Storage::exists('disk-b'), true);
$this->assertEquals(Storage::exists('disk-c'), false);
}
}
}

View file

@ -12,12 +12,12 @@ class FileNameTest extends TestCase
*/
protected $object = null;
public function setUp()
public function setUp(): void
{
$this->object = new FileName();
}
public function tearDown()
public function tearDown(): void
{
}
@ -30,4 +30,4 @@ class FileNameTest extends TestCase
$this->assertEquals($this->object->isValid('test.png'), true);
$this->assertEquals($this->object->isValid('test'), true);
}
}
}

View file

@ -12,12 +12,12 @@ class FileSizeTest extends TestCase
*/
protected $object = null;
public function setUp()
public function setUp(): void
{
$this->object = new FileSize(1000);
}
public function tearDown()
public function tearDown(): void
{
}
@ -27,4 +27,4 @@ class FileSizeTest extends TestCase
$this->assertEquals($this->object->isValid(1000), true);
$this->assertEquals($this->object->isValid(999), true);
}
}
}

View file

@ -12,12 +12,12 @@ class FileTypeTest extends TestCase
*/
protected $object = null;
public function setUp()
public function setUp(): void
{
$this->object = new FileType([FileType::FILE_TYPE_JPEG]);
}
public function tearDown()
public function tearDown(): void
{
}
@ -28,4 +28,4 @@ class FileTypeTest extends TestCase
$this->assertEquals($this->object->isValid(__DIR__ . '/../../../resources/disk-b/kitten-1.png'), false);
$this->assertEquals($this->object->isValid(__DIR__ . '/../../../resources/disk-b/kitten-2.png'), false);
}
}
}

View file

@ -12,12 +12,12 @@ class UploadTest extends TestCase
*/
protected $object = null;
public function setUp()
public function setUp(): void
{
$this->object = new Upload();
}
public function tearDown()
public function tearDown(): void
{
}
@ -29,4 +29,4 @@ class UploadTest extends TestCase
$this->assertEquals($this->object->isValid(__DIR__ . '/../../../resources/disk-b/kitten-2.png'), false);
$this->assertEquals($this->object->isValid(__FILE__), false);
}
}
}

View file

@ -12,12 +12,12 @@ class CronTest extends TestCase
*/
protected $object = null;
public function setUp()
public function setUp(): void
{
$this->object = new Cron();
}
public function tearDown()
public function tearDown(): void
{
}
@ -37,4 +37,4 @@ class CronTest extends TestCase
$this->assertEquals(null, false);
$this->assertEquals('', false);
}
}
}

View file

@ -12,7 +12,7 @@ class TemplateTest extends TestCase
*/
protected $object = null;
public function setUp()
public function setUp(): void
{
$this->object = new Template(__DIR__.'/../../resources/template.tpl');
$this->object
@ -20,7 +20,7 @@ class TemplateTest extends TestCase
;
}
public function tearDown()
public function tearDown(): void
{
}
@ -65,4 +65,4 @@ class TemplateTest extends TestCase
$this->assertEquals('app-write', Template::fromCamelCaseToDash('appWrite'));
$this->assertEquals('app-write', Template::fromCamelCaseToDash('App Write'));
}
}
}