This repository has been archived on 2025-08-22. You can view files and clone it, but cannot push or open issues or pull requests.
Files
dumbo/app/models/User.php
2015-11-11 02:49:59 +01:00

94 lines
1.9 KiB
PHP

<?php
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;
class User extends Eloquent implements UserInterface, RemindableInterface {
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'users';
protected $softDelete = true;
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = array('password');
/**
* Get the unique identifier for the user.
*
* @return mixed
*/
public function getAuthIdentifier()
{
return $this->getKey();
}
/**
* Get the password for the user.
*
* @return string
*/
public function getAuthPassword()
{
return $this->password;
}
/**
* Get the e-mail address where password reminders are sent.
*
* @return string
*/
public function getReminderEmail()
{
return $this->email;
}
public function getAvatar() {
if($avatar = $this->getSetting('avatar')) {
return asset('img/avatars/'.$avatar);
} else {
return asset('img/no-avatar.jpg');
}
}
public function getSetting($key, $false = false) {
$settings = json_decode($this->settings);
if(!is_null($settings) && property_exists($settings, $key))
return $settings->$key;
else
return $false;
}
public function setSetting($key, $value) {
$settings = json_decode($this->settings);
if(!is_null($settings)) {
$settings = array();
}
$settings[$key] = $value;
$this->settings = json_encode($settings);
}
public function films() {
return $this->hasMany('Film', 'user');
}
public function comments() {
return $this->hasMany('Comment', 'user');
}
public function votes() {
return $this->hasMany('Vote', 'user');
}
public function news() {
return $this->hasMany('News', 'author');
}
}