getExtraInfo();
        $pic = null;
        if (count($info) > 0) {
            $pic = $this->checkArray('avatar', $info);
        }
        if (!$pic) {
            $pic = asset('uploads/profilepic/'.$value);
        }
        if ($this->endsWith($pic, 'profilepic')) {
            $pic = \Gravatar::src($this->attributes['email']);
        }
        return $pic;
    }
    public function getOrganizationRelation()
    {
        $related = "App\Model\helpdesk\Agent_panel\User_org";
        $user_relation = $this->hasMany($related, 'user_id');
        $relation = $user_relation->first();
        if ($relation) {
            $org_id = $relation->org_id;
            $orgs = new \App\Model\helpdesk\Agent_panel\Organization();
            $org = $orgs->where('id', $org_id);
            return $org;
        }
    }
    public function getOrganization()
    {
        $name = '';
        if ($this->getOrganizationRelation()) {
            $org = $this->getOrganizationRelation()->first();
            if ($org) {
                $name = $org->name;
            }
        }
        return $name;
    }
    public function getOrgWithLink()
    {
        $name = '';
        $org = $this->getOrganization();
        if ($org !== '') {
            $orgs = $this->getOrganizationRelation()->first();
            if ($orgs) {
                $id = $orgs->id;
                $name = ''.ucfirst($org).'';
            }
        }
        return $name;
    }
    public function getEmailAttribute($value)
    {
        if (!$value) {
            $value = \Lang::get('lang.not-available');
        }
        return $value;
    }
    public function getExtraInfo($id = '')
    {
        if ($id === '') {
            $id = $this->attributes['id'];
        }
        $info = new UserAdditionalInfo();
        $infos = $info->where('owner', $id)->lists('value', 'key')->toArray();
        return $infos;
    }
    public function checkArray($key, $array)
    {
        $value = '';
        if (is_array($array)) {
            if (array_key_exists($key, $array)) {
                $value = $array[$key];
            }
        }
        return $value;
    }
    public function twitterLink()
    {
        $html = '';
        $info = $this->getExtraInfo();
        $username = $this->checkArray('username', $info);
        if ($username !== '') {
            $html = " Twitter";
        }
        return $html;
    }
    /**
     *@category accessor function to return full name
     *
     *@param null
     *
     *@return $string
     */
    public function getFullNameAttribute()
    {
        if ($this->first_name) {
            return ucfirst($this->first_name).' '.ucfirst($this->last_name);
        }
        return $this->user_name;
    }
    /**
     * @category function to check profile pic source srting ends with profilepic or not
     *
     * @param string $haystack, $needle
     *
     * @return bool true/false
     */
    public function endsWith($haystack, $needle)
    {
        $length = strlen($needle);
        if ($length == 0) {
            return true;
        }
        return substr($haystack, -$length) === $needle;
    }
}