Вход Регистрация
Файл: app/Models/Social.php
Строк: 85
<?php

declare(strict_types=1);

namespace 
AppModels;

use 
IlluminateSupportStr;
use 
stdClass;

/**
 * Class Social
 *
 * @property int id
 * @property int user_id
 * @property string network
 * @property string uid
 * @property int created_at
 */
class Social extends BaseModel
{
    
/**
     * Indicates if the model should be timestamped.
     */
    
public $timestamps false;

    
/**
     * The attributes that aren't mass assignable.
     */
    
protected $guarded = [];

    
/**
     * Генерирует уникальный логин
     *
     * @param StdClass $network
     */
    
public function generateLogin($networkstring $delimiter '-'): ?string
    
{
        
$firstName ucfirst(Str::slug($network->first_name$delimiter));
        
$lastName ucfirst(Str::slug($network->last_name$delimiter));
        
$firstLetter $firstName[0];

        
$variants = [];

        if (! empty(
$network->nickname)) {
            
$variants[] = Str::slug($network->nickname$delimiter);
        }

        
$variants[] = $firstName;
        
$variants[] = $firstName $lastName;
        
$variants[] = $firstName $delimiter $lastName;
        
$variants[] = $lastName $firstName;
        
$variants[] = $lastName $delimiter $firstName;
        
$variants[] = $firstLetter $lastName;
        
$variants[] = $firstLetter $delimiter $lastName;
        
$variants[] = $lastName;

        if (! empty(
$network->bdate)) {
            [,, 
$year] = explode('.'$network->bdate);
            
$shortYear substr($year, -2);

            
$variants[] = $firstName $shortYear;
            
$variants[] = $firstName $year;
            
$variants[] = $firstName $delimiter $shortYear;
            
$variants[] = $firstName $delimiter $year;

            
$variants[] = $firstName $lastName $shortYear;
            
$variants[] = $firstName $lastName $year;
            
$variants[] = $firstName $delimiter $lastName $shortYear;
            
$variants[] = $firstName $delimiter $lastName $year;
            
$variants[] = $firstName $delimiter $lastName $delimiter $shortYear;
            
$variants[] = $firstName $delimiter $lastName $delimiter $year;

            
$variants[] = $lastName $firstName $shortYear;
            
$variants[] = $lastName $firstName $year;
            
$variants[] = $lastName $delimiter $firstName $shortYear;
            
$variants[] = $lastName $delimiter $firstName $year;
            
$variants[] = $lastName $delimiter $firstName $delimiter $shortYear;
            
$variants[] = $lastName $delimiter $firstName $delimiter $year;

            
$variants[] = $firstLetter $lastName $shortYear;
            
$variants[] = $firstLetter $lastName $year;
            
$variants[] = $firstLetter $lastName $delimiter $shortYear;
            
$variants[] = $firstLetter $lastName $delimiter $year;
            
$variants[] = $firstLetter $delimiter $lastName $shortYear;
            
$variants[] = $firstLetter $delimiter $lastName $year;
            
$variants[] = $firstLetter $delimiter $lastName $delimiter $shortYear;
            
$variants[] = $firstLetter $delimiter $lastName $delimiter $year;

            
$variants[] = $lastName $shortYear;
            
$variants[] = $lastName $year;
            
$variants[] = $lastName $delimiter $shortYear;
            
$variants[] = $lastName $delimiter $year;
        }

        foreach (
$variants as $variant) {
            
$variant utfSubstr($variant020);

            if (! 
getUserByLogin($variant)) {
                return 
$variant;
            }
        }

        
$i 0;
        while (
true) {
            
$firstName utfSubstr($firstName018);
            
$login $firstName . ++$i;

            if (! 
getUserByLogin($login)) {
                return 
$login;
            }
        }

        return 
false;
    }
}
Онлайн: 0
Реклама