Revision 309

Date:
2013/04/24 11:11:41
Author:
ahitrov
Revision Log:
Facebook credentials
oauth/*.html Content-Type
Files:

Legend:

 
Added
 
Removed
 
Modified
  • utf8/plugins/session/comps/www/oauth/autohandler

     
    1 <%init>
    2
    3 $r->content_type('text/html');
    4 $m->call_next;
    5
    6 </%init>
  • utf8/plugins/session/lib/session/AUTH/FaceBook.pm

     
    147 147 my $user;
    148 148 if ( $state->{users}->use_credentials ) {
    149 149 $user = $keeper->{users}->get_profile( facebook => $info->{id} );
    150 } else {
    150 }
    151 unless ( ref $user ) {
    151 152 $user = $keeper->{users}->get_profile( login => 'facebook:'.$info->{id} );
    152 153 }
    153 154 unless ( ref $user ) {
    154 155 my $user_class = $state->{users}->profile_document_class;
    155 156 $user = $user_class->new( $keeper );
    157 my %props = map { $_->{attr} => $_ } $user->structure;
    156 158 $user->login( 'facebook:'.$info->{id} );
    157 159 $user->name( $name );
    158 160 $user->status( 1 );
    159 161 $user->type( 0 );
    160 162 $user->login_method('facebook');
    161 $user->country( $info->{locale} );
    163 if ( exists $props{country} ) {
    164 $user->country( $info->{locale} );
    165 }
    162 166 $user->email( undef );
    163 167
    164 168 my ($prop_ava) = grep { $_->{attr} eq 'avatar' && $_->{type} eq 'image' } $user->structure;
     
    168 172 }
    169 173
    170 174 $user->store;
    171 if ( $state->{users}->use_credentials ) {
    172 $user->create_credential(
    173 facebook => $info->{id},
    174 avatar => 'https://graph.facebook.com/'.$info->{username}.'/picture?type=large',
    175 );
    176 }
    177 175 } else {
    178 176 my ($prop_ava) = grep { $_->{attr} eq 'avatar' && $_->{type} eq 'image' } $user->structure;
    179 177 if ( ref $prop_ava ) {
     
    185 183 }
    186 184 }
    187 185 }
    186 if ( $state->{users}->use_credentials ) {
    187 $user->create_credential(
    188 facebook => $info->{id},
    189 avatar => 'https://graph.facebook.com/'.$info->{username}.'/picture?type=large',
    190 );
    191 }
    188 192 my %data = (
    189 193 id => $user->id,
    190 194 name => $user->name,

Небольшая справка по веткам

cnddist – контейнер, в котором хранятся все дистрибутивы всех библиотек и программных пакетов, которые использовались при построении различных версий Contenido. Если какой-то библиотеки в данном хранилище нет, инсталлятор сделает попытку "подтянуть" ее с веба (например, с CPAN). Если библиотека слишком старая, есть очень большая вероятность, что ее там уже нет. Поэтому мы храним весь хлам от всех сборок. Если какой-то дистрибутив вдруг отсутствует в cnddist - напишите нам, мы положим его туда.

koi8 – отмирающая ветка, чей код, выдача и все внутренние библиотеки заточены на кодировку KOI8-R. Вносятся только те дополнения, которые касаются внешнего вида и функционала админки, баги ядра, обязательные обновления портов и мелочи, которые легко скопипастить. В дальнейшем планируется полная остановка поддержки по данной ветке.

utf8 – актуальная ветка, заточенная под UTF-8.

Внутри каждой ветки: core – исходники ядра; install – скрипт установки инсталляции; plugins – плагины; samples – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.