Overview

Namespaces

  • App
    • Components
    • Interfaces
    • Lib
      • Files
      • Forms
        • Controls
      • Html
      • Repair
      • Statics
    • Model
    • Modules
      • BaseModule
        • Presenters
      • PartnersModule
        • Presenters
      • ProductModule
        • Presenters
      • SaleModule
        • Model
        • Presenters
      • SettingsModule
        • Model
        • Presenters
      • StoreModule
        • Model
        • Presenters
    • Presenters
    • Router
  • PHP

Classes

  • DateTime
  • SplFileInfo

Interfaces

  • ArrayAccess
  • Countable
  • Exception
  • Iterator
  • Traversable
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated
  • Download
 1: <?php
 2: 
 3: /**
 4:  * Project sberp
 5:  *
 6:  * @file Users
 7:  * @author Jaromír Polášek
 8:  * @version 0.8.1.MODULES
 9:  * Encoding UTF-8
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:  * Model modulu Settings
22:  */
23: class Users extends Object {
24:     
25:     /** @var \App\Model\Database Databáze*/
26:     private $database;
27: 
28:     public function __construct(Database $database) {
29:     $this->database = $database;
30:     }
31: 
32:     /**
33:      * Zahashuje heslo uživatele a nastaví výchozí stránku, pokud nebyla zadána
34:      * @param array $values
35:      * @return type
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:      * Přidá novému uživateli roli User
53:      * @param integer $id Id uloženého/upraveného uživatele
54:      * @return mixed
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:         //$mainRole->data->where(Cons::COLUMN_NAME . ' =?', Cons::ROLE_USER)->fetch();
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: 
sberp API API documentation generated by ApiGen