1: <?php
2:
3: 4: 5: 6: 7: 8: 9: 10:
11:
12: namespace App\Modules\SettingsModule\Model;
13:
14: use Nette\Object,
15: Nette\Security\Passwords,
16: App\Lib\Table,
17: App\Model\Database,
18: App\Lib\Statics\Cons;
19:
20: 21: 22:
23: class Users extends Object {
24:
25:
26: private $database;
27:
28: public function __construct(Database $database) {
29: $this->database = $database;
30: }
31:
32: 33: 34: 35: 36:
37: public function hash($values) {
38: if (isset($values[Cons::COLUMN_PASSWORD])){
39: if($values[Cons::COLUMN_PASSWORD] == ""){
40: unset($values[Cons::COLUMN_PASSWORD]);
41: }else if(Passwords::needsRehash($values[Cons::COLUMN_PASSWORD])){
42: $values[Cons::COLUMN_PASSWORD] = Passwords::hash($values[Cons::COLUMN_PASSWORD]);
43: }
44: }
45: if (isset($values[Cons::TABLE_SOURCE.'_'.Cons::COLUMN_ID]) && $values[Cons::TABLE_SOURCE.'_'.Cons::COLUMN_ID] < 1){
46: $values[Cons::TABLE_SOURCE.'_'.Cons::COLUMN_ID] = (new Table(Cons::TABLE_SOURCE,$this->database))->data->where(Cons::COLUMN_NAME.' =?','About')->fetch()->id;
47: }
48: return $values;
49: }
50:
51: 52: 53: 54: 55:
56: public function addRole($id) {
57: $usersRoles = new Table(Cons::TABLE_USERS.'_'.Cons::TABLE_ROLES, $this->database);
58: $mainRole = (new Table(Cons::TABLE_ACL.'_'.Cons::TABLE_ROLES,$this->database))
59: ->data->where(Cons::COLUMN_NAME . ' =?', Cons::ROLE_USER)
60: ->fetch();
61:
62: $result = $usersRoles->data
63: ->where(Cons::TABLE_USERS.'_'.Cons::COLUMN_ID.' =?',$id)
64: ->where(Cons::TABLE_ACL.'_'.Cons::TABLE_ROLES.'_'.Cons::COLUMN_ID.' =?',$mainRole[Cons::COLUMN_ID]);
65: if ($result->count() === 0) {
66: $result = $usersRoles->insert(array(
67: Cons::TABLE_USERS.'_'.Cons::COLUMN_ID => $id,
68: Cons::TABLE_ACL.'_'.Cons::TABLE_ROLES.'_'.Cons::COLUMN_ID => $mainRole[Cons::COLUMN_ID]
69: ));
70: }else {
71: $result = FALSE;
72: }
73: return $result;
74: }
75:
76: }
77: