1
0
Fork 0
mirror of synced 2024-06-28 11:10:46 +12:00

Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Christy Jacob 2019-09-29 03:10:33 +05:30
commit 40a5e53861
18 changed files with 636 additions and 12 deletions

View file

@ -100,4 +100,6 @@ Created by [Eldad Fux](https://twitter.com/eldadfux) with the amazing help of ou
* 🇺🇸Justin Dorfman ([Github](https://github.com/@jdorfman), [Twitter](https://twitter.com/jdorfman))
* 🇺🇳0xflotus ([Github](https://github.com/0xflotus))
* 🇳🇴Chaaarles ([Github](https://github.com/Chaaarles))
* 🇳🇴Chaaarles ([Github](https://github.com/Chaaarles))
* 🇧🇷Jessé Souza ([Github](https://github.com/jessescn))
* 🇪🇸Esther Álvarez Feijoo ([Github](https://github.com/EstherAF))

View file

@ -1076,7 +1076,7 @@ foreach ($providers as $key => $provider) {
$collections[Database::SYSTEM_COLLECTION_PROJECTS]['rules'][] = [
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'OAuth '.ucfirst($key).' ID',
'key' => 'oauth'.ucfirst($key),
'key' => 'usersOauth'.ucfirst($key) . 'Appid',
'type' => 'text',
'default' => '',
'required' => false,
@ -1085,8 +1085,8 @@ foreach ($providers as $key => $provider) {
$collections[Database::SYSTEM_COLLECTION_PROJECTS]['rules'][] = [
'$collection' => Database::SYSTEM_COLLECTION_RULES,
'label' => 'OAuth '.ucfirst($key).' Access Token',
'key' => 'oauth'.ucfirst($key).'AccessToken',
'label' => 'OAuth '.ucfirst($key).' Secret',
'key' => 'usersOauth'.ucfirst($key).'Secret',
'type' => 'text',
'default' => '',
'required' => false,

View file

@ -0,0 +1,11 @@
<?php
return [
'AF' => 'África',
'AN' => 'Antártica',
'AS' => 'Asia',
'EU' => 'Europa',
'NA' => 'América del Norte',
'OC' => 'Oceanía',
'SA' => 'América del Sur',
];

View file

@ -0,0 +1,197 @@
<?php
return [
'AF' => 'Afganistán',
'AO' => 'Angola',
'AL' => 'Albania',
'AD' => 'Andorra',
'AE' => 'Emiratos Árabes Unidos',
'AR' => 'Argentina',
'AM' => 'Armenia',
'AG' => 'Antigua y Barbuda',
'AU' => 'Australia',
'AT' => 'Austria',
'AZ' => 'Azerbaiyán',
'BI' => 'Burundi',
'BE' => 'Bélgica',
'BJ' => 'Benin',
'BF' => 'Burkina Faso',
'BD' => 'Bangladesh',
'BG' => 'Bulgaria',
'BH' => 'Bahrein',
'BS' => 'Bahamas',
'BA' => 'Bosnia y Herzegovina',
'BY' => 'Bielorrusia',
'BZ' => 'Belice',
'BO' => 'Bolivia',
'BR' => 'Brasil',
'BB' => 'Barbados',
'BN' => 'Brunei',
'BT' => 'Bután',
'BW' => 'Botsuana',
'CF' => 'República Centroafricana',
'CA' => 'Canadá',
'CH' => 'Suiza',
'CL' => 'Chile',
'CN' => 'China',
'CI' => 'Costa de Marfil',
'CM' => 'Camerún',
'CD' => 'República Democrática del Congo',
'CG' => 'República del congo',
'CO' => 'Colombia',
'KM' => 'Comoras',
'CV' => 'Cabo Verde',
'CR' => 'Costa Rica',
'CU' => 'Cuba',
'CY' => 'Chipre',
'CZ' => 'Chequia',
'DE' => 'Alemania',
'DJ' => 'Yibuti',
'DM' => 'Dominica',
'DK' => 'Dinamarca',
'DO' => 'República Dominicana',
'DZ' => 'Argelia',
'EC' => 'Ecuador',
'EG' => 'Egipto',
'ER' => 'Eritrea',
'ES' => 'España',
'EE' => 'Estonia',
'ET' => 'Etiopía',
'FI' => 'Finlandia',
'FJ' => 'Fiyi',
'FR' => 'Francia',
'FM' => 'Micronesia',
'GA' => 'Gabón',
'GB' => 'Reino Unido',
'GE' => 'Georgia',
'GH' => 'Ghana',
'GN' => 'Guinea',
'GM' => 'Gambia',
'GW' => 'Guinea-Bissau',
'GQ' => 'Guinea Ecuatorial',
'GR' => 'Grecia',
'GD' => 'Granada',
'GT' => 'Guatemala',
'GY' => 'Guayana',
'HN' => 'Honduras',
'HR' => 'Croacia',
'HT' => 'Haití',
'HU' => 'Hungría',
'ID' => 'Indonesia',
'IN' => 'India',
'IE' => 'Irlanda',
'IR' => 'Iran',
'IQ' => 'Irak',
'IS' => 'Islandia',
'IL' => 'Israel',
'IT' => 'Italia',
'JM' => 'Jamaica',
'JO' => 'Jordán',
'JP' => 'Japón',
'KZ' => 'Kazajstán',
'KE' => 'Kenia',
'KG' => 'Kirguistán',
'KH' => 'Camboya',
'KI' => 'Kiribati',
'KN' => 'San Cristóbal y Nieves',
'KR' => 'Corea del Sur',
'KW' => 'Kuwait',
'LA' => 'Laos',
'LB' => 'Líbano',
'LR' => 'Liberia',
'LY' => 'Libia',
'LC' => 'Santa Lucía',
'LI' => 'Liechtenstein',
'LK' => 'Sri Lanka',
'LS' => 'Lesoto',
'LT' => 'Lituania',
'LU' => 'Luxemburgo',
'LV' => 'Letonia',
'MA' => 'Marruecos',
'MC' => 'Mónaco',
'MD' => 'Moldavia',
'MG' => 'Madagascar',
'MV' => 'Maldivas',
'MX' => 'Mexico',
'MH' => 'Islas Marshall',
'MK' => 'Macedonia',
'ML' => 'Mali',
'MT' => 'Malta',
'MM' => 'Myanmar',
'ME' => 'Montenegro',
'MN' => 'Mongolia',
'MZ' => 'Mozambique',
'MR' => 'Mauritania',
'MU' => 'Mauricio',
'MW' => 'Malawi',
'MY' => 'Malasia',
'NA' => 'Namibia',
'NE' => 'Níger',
'NG' => 'Nigeria',
'NI' => 'Nicaragua',
'NL' => 'Países Bajos',
'NO' => 'Noruega',
'NP' => 'Nepal',
'NR' => 'Nauru',
'NZ' => 'Nueva Zelanda',
'OM' => 'Omán',
'PK' => 'Pakistán',
'PA' => 'Panamá',
'PE' => 'Perú',
'PH' => 'Filipinas',
'PW' => 'Palaos',
'PG' => 'Papúa Nueva Guinea',
'PL' => 'Polonia',
'KP' => 'Corea del Norte',
'PT' => 'Portugal',
'PY' => 'Paraguay',
'QA' => 'Katar',
'RO' => 'Rumania',
'RU' => 'Rusia',
'RW' => 'Ruanda',
'SA' => 'Arabia Saudita',
'SD' => 'Sudán',
'SN' => 'Senegal',
'SG' => 'Singapur',
'SB' => 'Islas Salomón',
'SL' => 'Sierra Leona',
'SV' => 'El Salvador',
'SM' => 'San Marino',
'SO' => 'Somalia',
'RS' => 'Serbia',
'SS' => 'Sudán del Sur',
'ST' => 'Santo Tomé y Príncipe',
'SR' => 'Surinam',
'SK' => 'Eslovaquia',
'SI' => 'Eslovenia',
'SE' => 'Suecia',
'SZ' => 'Suazilandia',
'SC' => 'Seychelles',
'SY' => 'Siria',
'TD' => 'Chad',
'TG' => 'Togo',
'TH' => 'Tailandia',
'TJ' => 'Tayikistán',
'TM' => 'Turkmenistán',
'TL' => 'Timor Oriental',
'TO' => 'Tonga',
'TT' => 'Trinidad y Tobago',
'TN' => 'Túnez',
'TR' => 'Turquía',
'TV' => 'Tuvalu',
'TZ' => 'Tanzania',
'UG' => 'Uganda',
'UA' => 'Ucrania',
'UY' => 'Uruguay',
'US' => 'Estados Unidos',
'UZ' => 'Uzbekistán',
'VA' => 'Ciudad del Vaticano',
'VC' => 'San Vicente y las Granadinas',
'VE' => 'Venezuela',
'VN' => 'Vietnam',
'VU' => 'Vanuatu',
'WS' => 'Samoa',
'YE' => 'Yemen',
'ZA' => 'Sudáfrica',
'ZM' => 'Zambia',
'ZW' => 'Zimbabue',
];

21
app/config/locale/es.php Normal file
View file

@ -0,0 +1,21 @@
<?php
return [
'settings.inspire' => '"El arte de ser sabio es el arte de saber qué pasar por alto"', // This is the line printed in the homepage and console 'view-source'
'settings.locale' => 'es',
'settings.direction' => 'ltr',
// Service - Users
'auth.emails.team' => '%s Equipo',
'auth.emails.confirm.title' => 'Confirmación de la cuenta',
'auth.emails.confirm.body' => 'es.email.auth.confirm.tpl',
'auth.emails.recovery.title' => 'Reestablecer contraseña',
'auth.emails.recovery.body' => 'es.email.auth.recovery.tpl',
'auth.emails.invitation.title' => 'Invitación al Equipo %s en %s',
'auth.emails.invitation.body' => 'es.email.auth.invitation.tpl',
'locale.country.unknown' => 'Desconocido',
'countries' => include 'es.countries.php',
'continents' => include 'es.continents.php',
];

View file

@ -0,0 +1,11 @@
<?php
return [
'AF' => 'África',
'AN' => 'Antártica',
'AS' => 'Ásia',
'EU' => 'Europa',
'NA' => 'América do Norte',
'OC' => 'Oceania',
'SA' => 'América do Sul',
];

View file

@ -0,0 +1,198 @@
<?php
return [
'AF' => 'Afeganistão',
'AO' => 'Angola',
'AL' => 'Albânia',
'AD' => 'Andorra',
'AE' => 'Emirados Árabes Unidos',
'AR' => 'Argentina',
'AM' => 'Armênia',
'AG' => 'Antígua e Barbuda',
'AU' => 'Austrália',
'AT' => 'Áustria',
'AZ' => 'Azerbaijão',
'BI' => 'Burúndi',
'BE' => 'Bélgica',
'BJ' => 'Benim',
'BF' => 'Burkina Faso',
'BD' => 'Bangladesh',
'BG' => 'Bulgária',
'BH' => 'Bahrein',
'BS' => 'Bahamas',
'BA' => 'Bósnia and Herzegovina',
'BY' => 'Bielorússia',
'BZ' => 'Belize',
'BO' => 'Bolívia',
'BR' => 'Brasil',
'BB' => 'Barbados',
'BN' => 'Brunei',
'BT' => 'Butão',
'BW' => 'Botsuana',
'CF' => 'República Centro-Africana',
'CA' => 'Canadá',
'CH' => 'Suíça',
'CL' => 'Chile',
'CN' => 'China',
'CI' => 'Costa do Marfim',
'CM' => 'Camarões',
'CD' => 'República Democrática do Congo',
'CG' => 'República do Congo',
'CO' => 'Colombia',
'KM' => 'Comores',
'CV' => 'Cabo Verde',
'CR' => 'Costa Rica',
'CU' => 'Cuba',
'CY' => 'Chipre',
'CZ' => 'Tchéquia',
'DE' => 'Alemanha',
'DJ' => 'Djibouti',
'DM' => 'Dominica',
'DK' => 'Dinamarca',
'DO' => 'República Dominicana',
'DZ' => 'Argélia',
'EC' => 'Equador',
'EG' => 'Egito',
'ER' => 'Eritrea',
'ES' => 'Espanha',
'EE' => 'Estônia',
'ET' => 'Etiópia',
'FI' => 'Finlândia',
'FJ' => 'Fiji',
'FR' => 'França',
'FM' => 'Micronésia',
'GA' => 'Gabão',
'GB' => 'Reino Unido',
'GE' => 'Geórgia',
'GH' => 'Gana',
'GN' => 'Guiné',
'GM' => 'Gâmbia',
'GW' => 'Guiné-Bissau',
'GQ' => 'Guiné Equatorial',
'GR' => 'Grécia',
'GD' => 'Granada',
'GT' => 'Guatemala',
'GY' => 'Guiana',
'HN' => 'Honduras',
'HR' => 'Croácia',
'HT' => 'Haiti',
'HU' => 'Hungria',
'ID' => 'Indonésia',
'IN' => 'Índia',
'IE' => 'Irlanda',
'IR' => 'Irã',
'IQ' => 'Iraque',
'IS' => 'Islândia',
'IL' => 'Israel',
'IT' => 'Itália',
'JM' => 'Jamaica',
'JO' => 'Jordânia',
'JP' => 'Japão',
'KZ' => 'Cazaquistão',
'KE' => 'Quênia',
'KG' => 'Quirguistão',
'KH' => 'Camboja',
'KI' => 'Quiribati',
'KN' => 'São Cristóvão e Névis',
'KR' => 'Coreia do Sul',
'KW' => 'Kuwait',
'LA' => 'Laos',
'LB' => 'Líbano',
'LR' => 'Libéria',
'LY' => 'Líbia',
'LC' => 'Santa Lúcia',
'LI' => 'Liechtenstein',
'LK' => 'Sri Lanka',
'LS' => 'Lesoto',
'LT' => 'Lituânia',
'LU' => 'Luxemburgo',
'LV' => 'Letônia',
'MA' => 'Marrocos',
'MC' => 'Mônaco',
'MD' => 'Moldávia',
'MG' => 'Madagascar',
'MV' => 'Maldivas',
'MX' => 'México',
'MH' => 'Ilhas Marshall',
'MK' => 'Macedônia',
'ML' => 'Mali',
'MT' => 'Malta',
'MM' => 'Myanmar',
'ME' => 'Montenegro',
'MN' => 'Mongólia',
'MZ' => 'Moçambique',
'MR' => 'Mauritânia',
'MU' => 'Ilhas Maurício',
'MW' => 'Malawi',
'MY' => 'Malásia',
'NA' => 'Namíbia',
'NE' => 'Níger',
'NG' => 'Nigéria',
'NI' => 'Nicarágua',
'NL' => 'Países Baixos',
'NO' => 'Noruega',
'NP' => 'Nepal',
'NR' => 'Nauru',
'NZ' => 'Nova Zelândia',
'OM' => 'Omã',
'PK' => 'Paquistão',
'PA' => 'Panamá',
'PE' => 'Peru',
'PH' => 'Filipinas',
'PW' => 'Palau',
'PG' => 'Papua-Nova Guiné',
'PL' => 'Polônia',
'KP' => 'Coreia do Norte',
'PT' => 'Portugal',
'PY' => 'Paraguai',
'QA' => 'Catar',
'RO' => 'Romênia',
'RU' => 'Rússia',
'RW' => 'Ruanda',
'SA' => 'Arábia Saudita',
'SD' => 'Sudão',
'SN' => 'Senegal',
'SG' => 'Singapura',
'SB' => 'Ilhas Salomão',
'SL' => 'Serra Leoa',
'SV' => 'El Salvador',
'SM' => 'San Marino',
'SO' => 'Somália',
'RS' => 'Sérvia',
'SS' => 'Sudão do Sul',
'ST' => 'São Tomé e Príncipe',
'SR' => 'Suriname',
'SK' => 'Eslováquia',
'SI' => 'Eslovênia',
'SE' => 'Suécia',
'SZ' => 'Suazilândia',
'SC' => 'Seicheles',
'SY' => 'Síria',
'TD' => 'Chade',
'TG' => 'Togo',
'TH' => 'Tailândia',
'TJ' => 'Tajisquistão',
'TM' => 'Turcomenistão',
'TL' => 'Timor-Leste',
'TO' => 'Tonga',
'TT' => 'Trindade e Tobago',
'TN' => 'Tunísia',
'TR' => 'Turquia',
'TV' => 'Tuvalu',
'TZ' => 'Tanzânia',
'UG' => 'Uganda',
'UA' => 'Ucrânia',
'UY' => 'Uruguai',
'US' => 'Estados Unidos',
'UZ' => 'Uzbequistão',
'VA' => 'Cidade do Vaticano',
'VC' => 'São Vincente e Granadinas',
'VE' => 'Venezuela',
'VN' => 'Vietnã',
'VU' => 'Vanuatu',
'WS' => 'Samoa',
'YE' => 'Iêmen',
'ZA' => 'África do Sul',
'ZM' => 'Zâmbia',
'ZW' => 'Zimbábue',
];

View file

@ -0,0 +1,21 @@
<?php
return [
'settings.inspire' => '"The art of being wise is the art of knowing what to overlook."', // This is the line printed in the homepage and console 'view-source'
'settings.locale' => 'pt-br',
'settings.direction' => 'ltr',
// Service - Users
'auth.emails.team' => 'Time %s',
'auth.emails.confirm.title' => 'Confirmação de Conta',
'auth.emails.confirm.body' => 'pt-br.email.auth.confirm.tpl',
'auth.emails.recovery.title' => 'Redefinição de Senha',
'auth.emails.recovery.body' => 'pt-br.email.auth.recovery.tpl',
'auth.emails.invitation.title' => 'Convite para a Equipe %s em %s',
'auth.emails.invitation.body' => 'pt-br.email.auth.invitation.tpl',
'locale.country.unknown' => 'Desconhecido',
'countries' => include 'pt-br.countries.php',
'continents' => include 'pt-br.continents.php',
];

View file

@ -0,0 +1,24 @@
<style>
* {
font-family: sans-serif,Arial;
-webkit-font-smoothing: antialiased;
font-weight: lighter;
}
</style>
<div style="direction: {{direction}}">
Hola {{name}},
<br />
<br />
Sigue este enlace para verificar tu dirección de correo:
<br />
<a href="{{redirect}}">{{redirect}}</a>
<br />
<br />
Si no has solicitado verificar esta dirección, puedes ignorar este mensaje.
<br />
<br />
Gracias,
<br />
Equipo {{project}}
</div>

View file

@ -0,0 +1,27 @@
<style>
* {
font-family: sans-serif,Arial;
-webkit-font-smoothing: antialiased;
font-weight: lighter;
}
</style>
<div style="direction: {{direction}}">
Hola,
<br />
<br />
Te hemos enviamos este correo porque <b>{{owner}}</b> quiere invitarte a formar parte del equipo <b>{{team}}</b> en {{project}}.
<br />
<br />
Sigue este enlace para unirte al equipo <b>{{team}}</b>:
<br />
<a href="{{redirect}}">{{redirect}}</a>
<br />
<br />
Si no estás interesado, puedes ignorar este mensaje.
<br />
<br />
Gracias,
<br />
Equipo {{project}}
</div>

View file

@ -0,0 +1,24 @@
<style>
* {
font-family: sans-serif,Arial;
-webkit-font-smoothing: antialiased;
font-weight: lighter;
}
</style>
<div style="direction: {{direction}}">
Hola {{name}},
<br />
<br />
Sigue este enlace para reestablecer tu contraseña de {{project}}.
<br />
<a href="{{redirect}}">{{redirect}}</a>
<br />
<br />
Si no has pedido reestablecer tu contraseña, puedes ignorar este mensaje.
<br />
<br />
Gracias,
<br />
Equipo {{project}}
</div>

View file

@ -0,0 +1,24 @@
<style>
* {
font-family: sans-serif,Arial;
-webkit-font-smoothing: antialiased;
font-weight: lighter;
}
</style>
<div style="direction: {{direction}}">
Olá {{name}},
<br />
<br />
Por favor, confirme o seu email acessando este link abaixo.
<br />
<a href="{{redirect}}">{{redirect}}</a>
<br />
<br />
Se a confirmação de email não foi solicitada por você, ignore esta mensagem.
<br />
<br />
Atenciosamente,
<br />
Equipe {{project}}
</div>

View file

@ -0,0 +1,27 @@
<style>
* {
font-family: sans-serif,Arial;
-webkit-font-smoothing: antialiased;
font-weight: lighter;
}
</style>
<div style="direction: {{direction}}">
Olá,
<br />
<br />
Este email foi enviado a você porque <br>{{owner}} deseja lhe convidar a se tornar membro da equipe <b>{{team}}<b> no {{project}}.
<br />
<br />
Siga este link para se juntar a equipe <b>{{team}}<b>:
<br />
<a href="{{redirect}}">{{redirect}}</a>
<br />
<br />
Se não estiver interessado, por favor ignore esta mensagem.
<br />
<br />
Atenciosamente,
<br />
Equipe {{project}}
</div>

View file

@ -0,0 +1,24 @@
<style>
* {
font-family: sans-serif,Arial;
-webkit-font-smoothing: antialiased;
font-weight: lighter;
}
</style>
<div style="direction: {{direction}}">
Olá {{name}},
<br />
<br />
Acesse este link para redefinir sua senha do {{project}}.
<br />
<a href="{{redirect}}">{{redirect}}</a>
<br />
<br />
Se você não solicitou a redefinição de senha, por favor ignore esta mensagem.
<br />
<br />
Atenciosamente,
<br />
Equipe {{project}}
</div>

View file

@ -216,7 +216,7 @@ $utopia->get('/console/users')
$page->setParam('providers', $providers);
$layout
->setParam('title', APP_NAME.' - '.Locale::getText('console.users.title'))
->setParam('title', APP_NAME.' - Users')
->setParam('body', $page);
});
@ -228,6 +228,6 @@ $utopia->get('/console/users/view')
$page = new View(__DIR__.'/../views/console/users/view.phtml');
$layout
->setParam('title', APP_NAME.' - '.Locale::getText('console.users.title'))
->setParam('title', APP_NAME.' - View User')
->setParam('body', $page);
});

View file

@ -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 = ['en', 'he'];
const APP_LOCALES = ['en', 'he', 'pt-br', 'es'];
const APP_PAGING_LIMIT = 15;
$register = new Registry();
@ -128,6 +128,8 @@ Locale::$exceptions = false;
Locale::setLanguage('en', include __DIR__ . '/config/locale/en.php');
Locale::setLanguage('he', include __DIR__ . '/config/locale/he.php');
Locale::setLanguage('pt-br', include __DIR__ . '/config/locale/pt-br.php');
Locale::setLanguage('es', include __DIR__ . '/config/locale/es.php');
if(in_array($locale, APP_LOCALES)) {
Locale::setDefault($locale);

View file

@ -307,8 +307,13 @@ $providers = $this->getParam('providers', []);
<li data-state="/console/users/providers?project={{router.params.project}}">
<h2>Providers</h2>
<div class="box margin-bottom margin-top-large">
<div class="box margin-bottom margin-top-large"
data-service="projects.getProject"
data-event="load,platform-create,platform-update,platform-delete"
data-name="console-project"
data-param-project-id="{{router.params.project}}"
data-scope="console">
<ul class="list">
<?php foreach ($providers as $provider => $data): if(isset($data['enabled']) && !$data['enabled']) { continue; } ?>
<li class="clear <?php echo (isset($data['enabled']) && !$data['enabled']) ? 'dev-feature' : ''; ?>">
@ -357,7 +362,9 @@ $providers = $this->getParam('providers', []);
<span>
<?php echo ucfirst($provider); ?>
<span data-ls-if="{{console-project.usersOauth<?php echo ucfirst($provider); ?>Appid}} === '' || {{console-project.usersOauth<?php echo ucfirst($provider); ?>Secret}} == '' || {{console-project.usersOauth<?php echo ucfirst($provider); ?>Appid}} === undefined || {{console-project.usersOauth<?php echo ucfirst($provider); ?>Secret}} === undefined">
<span data-ls-if="
!{{console-project.usersOauth<?php echo ucfirst($provider); ?>Appid}} ||
!{{console-project.usersOauth<?php echo ucfirst($provider); ?>Secret}}" data-debug="1">
&nbsp;<span class="tag red">Disabled</span>
</span>
</span>

View file

@ -187,8 +187,12 @@ class Structure extends Validator
if (empty($validator)) { // Error creating validator for property
$this->message = 'Unknown rule type "' . $ruleType . '" for property "' . htmlspecialchars($key, ENT_QUOTES, 'UTF-8') . '"';
// $this->message = 'Unknown property "'.$key.'" type'.
// '. Make sure to follow '.strtolower($collection->getAttribute('name', 'unknown')).' collection structure';
if(empty($ruleType)) {
$this->message = 'Unknown property "'.$key.'" type'.
'. Make sure to follow '.strtolower($collection->getAttribute('name', 'unknown')).' collection structure';
}
return false;
}