Revision 379 (by ahitrov, 2013/08/21 12:49:37) |
Emails control for credentials
|
<% $json %>
<%once>
use JSON::XS;
</%once>
<%args>
$id => undef
$email => undef
</%args>
<%init>
my %result;
if ( $email ) {
if ( $keeper->{users}->_email_format( $email ) ) {
my $email_r = $keeper->{users}->_email_reduction( $email );
if ( $id && $id =~ /^\d+$/) {
my $object = $keeper->{users}->get_profile( id => $id );
if ( ref $object ) {
my ($cred) = $keeper->get_documents(
name => $email_r,
class => 'users::Email',
limit => 1,
);
if ( ref $cred && $cred->uid != $object->id ) {
$result{error} = 'E-mail already registered for another user';
}
} else {
$result{error} = 'User not found';
}
} else {
$result{error} = 'User ID is not valid or not defined';
}
} else {
$result{error} = 'E-mail is not valid';
}
} else {
$result{nothing} = 1;
}
$result{ok} = 1 unless exists $result{error} || exists $result{nothing};
my $json = encode_json \%result;
</%init>
Небольшая справка по веткам
cnddist – контейнер, в котором хранятся все дистрибутивы всех библиотек и программных пакетов, которые использовались при построении различных версий Contenido. Если какой-то библиотеки в данном хранилище нет, инсталлятор сделает попытку "подтянуть" ее с веба (например, с CPAN). Если библиотека слишком старая, есть очень большая вероятность, что ее там уже нет. Поэтому мы храним весь хлам от всех сборок. Если какой-то дистрибутив вдруг отсутствует в cnddist - напишите нам, мы положим его туда.
koi8 – отмирающая ветка, чей код, выдача и все внутренние библиотеки заточены на кодировку KOI8-R. Вносятся только те дополнения, которые касаются внешнего вида и функционала админки, баги ядра, обязательные обновления портов и мелочи, которые легко скопипастить. В дальнейшем планируется полная остановка поддержки по данной ветке.
utf8 – актуальная ветка, заточенная под UTF-8.
Внутри каждой ветки: core – исходники ядра; install – скрипт установки инсталляции; plugins – плагины; samples – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.