lartie / AttachSocialAccount by lartie

Пакет для подключения аккаунтов социальный сетей к пользователю для Laravel 5.2
27
1
3
Package Data
Maintainer Username: lartie
Maintainer Contact: log.wil.log@gmail.com (Artie)
Package Create Date: 2016-04-11
Package Last Update: 2016-08-04
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-04-25 15:03:28
Package Statistics
Total Downloads: 27
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 1
Total Watchers: 3
Total Forks: 0
Total Open Issues: 0

Attach Social Account For Laravel 5.2

Latest Stable Version Total Downloads Latest Unstable Version License composer.lock

Installation

Composer

composer require lartie/attach-social-account

Service Provider

Add the package to your application service providers in config/app.php file.

'providers' => [
    
    /*
     * Application Service Providers..
     */
    App\Providers\AppServiceProvider::class,
    App\Providers\AuthServiceProvider::class,
    App\Providers\EventServiceProvider::class,
    App\Providers\RouteServiceProvider::class,
    ...
    
    /*
     * Extensions
     */
    LArtie\AttachSocialAccount\ServiceProvider::class,

],

Config File And Migrations

Publish the package config file and migrations to your application. Run these commands inside your terminal.

php artisan vendor:publish

And also run migrations.

php artisan migrate

This uses the default users table which is in Laravel. You should already have the migration file for the users table available and migrated.

HasSocialAccount Trait And Contract

Include HasSocialAccount trait and also implement HasSocialAccount contract inside your User model.

use LArtie\AttachSocialAccount\Core\Traits\HasSocialAccount;
use LArtie\AttachSocialAccount\Core\Contracts\HasSocialAccount as HasSocialAccountContract;

class User extends Authenticatable implements HasSocialAccountContract
{
    use HasSocialAccount;

And that's it!

Usage

 $user = User::first();
 
 $vkData = [
     'token' => 'token',
     'uid' => 'user_id',
     'nickname' => 'username',
     'name' => 'first name and last name',
     'email' => 'example@gmail.com',
     'avatar' => 'link_to',
 ];

Creating Social Network

$socialNetwork = SocialNetworks::create([
    'provider' => 'vkontakte', 
    'short_name' => 'vk'
]);

Attach Social Account

$user->attachSocialAccountById($socialNetwork->id, $vkData);

or

$user->attachSocialAccountByShortName('vk', $vkData);

or

$user->attachSocialAccountByProvider('vkontakte', $vkData);

Detach Social Account

$user->detachSocialAccountById($socialNetwork->id);

or

$user->detachSocialAccountByShortName('vk');

or

$user->detachSocialAccountByProvider('vkontakte');

Checking

$user->hasSocialAccountById($socialNetwork->id);

or

$user->hasSocialAccountByShortName('vk');

or

$user->hasSocialAccountByProvider('vkontakte');

Blade Extensions

@providerExists('vkontakte') {
// see detach button, etc..
}

@providerNotExists('vkontakte') {
// see attach button, etc.. 
}

For more information visit trait HasSocialAccount or contract HasSocialAccount

License

This package is free software distributed under the terms of the MIT license.