<?php

namespace App;

use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;

class UserEmails extends Model
{
    protected $table = 'user_emails';

    public static function validates($data){
        return true;
        if ($emails = static::getEmails(array_unique(array_values(array_filter($data['emails']))))) {
            foreach ($emails as $email) {
                $user_email = static::where('email', $email)->first(['id']);
                if (!isset($user_email->id)) {
                    $validation_response = (new EmailCheck())->checkEmail($email);//(new BankValidation(new Request(['validateEmail' => true, 'email' => $email])))->validateEmail();
                    static::insert(
                        [
                            'email' => $email,
                            'status' => $validation_response['status'],
                            'email_karza_response' => $validation_response['response'],
                            'type' => $data['type'],
                            '_id' => $data['id'],
                            'created_at' => Carbon::now()->toDateTimeString()
                        ]
                    );
                }
            }
        }
    }

    public static function isValid($email, $isHtml = 0){
        $user_email = Customers::where('email', $email)->first(['is_verified']);
        if(!isset($user_email->is_verified) || (isset($user_email->is_verified) && $user_email->is_verified == 0)) {
            $user_email = static::where('email', $email)->first(['status as is_verified']);
        }
        if(isset($user_email->is_verified) && $user_email->is_verified == 1){
            $message = '<span style="position: absolute;right: -5px;top: 7px;color: #33a93e;"><i class="fa fa-check-circle"></i></span>';
        }else{
            $message = '<span style="position: absolute;right: -5px;top: 7px;color: red;"><i class="fa fa-close"></i></span>';
        }

        if ($isHtml)
            return $message;

        return true;//isset($user_email->status) ? $user_email->status : 0;
    }

    public static function isValidates($emails){
        return $emails;
        foreach ($emails as $id => $email){
            if (!static::isValid($email)){
                unset($emails[$id]);
            }
        }
        return $emails;
    }

    private static function getEmails($emails){
        $data = [];
        if ($emails) {
            foreach ($emails as $email) {
                $data = array_merge($data, explode(',',$email));
            }
        }

        return array_unique(array_values(array_filter($data)));
    }
}
