Overview

Namespaces

  • GLFramework
    • Cache
    • Controller
    • DaMa
      • Manipulators
    • Database
    • HTTP
    • Mail
    • Middleware
    • Model
    • Module
    • Tests
    • Upload
    • Utils
  • None

Classes

  • GLFramework\Bootstrap
  • GLFramework\Cache\Cache
  • GLFramework\Cache\MemcachedCache
  • GLFramework\Cache\MemoryCache
  • GLFramework\Controller
  • GLFramework\Controller\AdminController
  • GLFramework\Controller\APIController
  • GLFramework\Controller\AuthController
  • GLFramework\Controller\ErrorController
  • GLFramework\Controller\ExceptionController
  • GLFramework\DaMa\Association
  • GLFramework\DaMa\DataManipulation
  • GLFramework\DaMa\Manipulator
  • GLFramework\DaMa\Manipulators\CSVManipulator
  • GLFramework\DaMa\Manipulators\ManipulatorCore
  • GLFramework\DaMa\Manipulators\XLSManipulator
  • GLFramework\DaMa\Manipulators\XLSXManipulator
  • GLFramework\Database\Connection
  • GLFramework\Database\MySQLConnection
  • GLFramework\DatabaseManager
  • GLFramework\DBStructure
  • GLFramework\Events
  • GLFramework\Filesystem
  • GLFramework\HTTP\API
  • GLFramework\Log
  • GLFramework\Mail
  • GLFramework\Mail\Mail
  • GLFramework\Mail\MailSystem
  • GLFramework\Mail\PHPMailer
  • GLFramework\MailView
  • GLFramework\Middleware\APIAuthorizationMiddleware
  • GLFramework\Middleware\ControllerMiddleware
  • GLFramework\Model
  • GLFramework\Model\Page
  • GLFramework\Model\User
  • GLFramework\Model\UserPage
  • GLFramework\ModelResult
  • GLFramework\Module\Module
  • GLFramework\Module\ModuleManager
  • GLFramework\Request
  • GLFramework\Response
  • GLFramework\Tests\DatabaseTestCase
  • GLFramework\Tests\TestCase
  • GLFramework\Upload\Upload
  • GLFramework\Upload\Uploads
  • GLFramework\Utils\DataTablesManager
  • GLFramework\Versions
  • GLFramework\View

Interfaces

  • GLFramework\Middleware

Functions

  • array_merge_recursive_ex
  • e
  • file_get_php_classes
  • fix_date
  • fix_date_format
  • fix_decimal
  • fix_url
  • get
  • get_php_classes
  • http_response_code
  • instance_method
  • is_module_enabled
  • now
  • post
  • print_array
  • print_brief_debug
  • print_debug
  • random_str
  • reArrayFiles
  • reArrayPost
  • today
  • Overview
  • Namespace
  • Class
 1: <?php
 2: /**
 3:  * Created by PhpStorm.
 4:  * User: manus
 5:  * Date: 18/2/16
 6:  * Time: 17:30
 7:  */
 8: 
 9: namespace GLFramework\Model;
10: 
11: 
12: use GLFramework\Controller;
13: use GLFramework\Model;
14: 
15: class UserPage extends Model
16: {
17:     var $id;
18:     var $id_user;
19:     var $id_page;
20:     var $allowed;
21: 
22:     protected $table_name = "user_page";
23:     protected $definition = array(
24:         'index' => 'id',
25:         'fields' => array(
26:             'id_user' => "int(11)",
27:             'id_page' => "int(11)",
28:             'allowed' => "int(1)",
29:         )
30:     );
31: 
32:     public function exists()
33:     {
34:         if(!parent::exists())
35:         {
36:             return count($this->db->select("SELECT id FROM {$this->table_name} WHERE id_user = {$this->id_user} AND id_page = {$this->id_page}")) > 0;
37: 
38:         }
39:         return true;
40:     }
41: 
42:     /**
43:      * @param $instance Controller
44:      * @param $user User
45:      * @return bool
46:      */
47:     public function isAllowed($instance, $user)
48:     {
49:         if($user)
50:         {
51:             if(!is_string($instance))
52:             {
53:                 if($instance->admin && $user->admin == false)
54:                 {
55:                     return false;
56:                 }
57:                 if($user->admin == 1) // El admin tiene acceso a cualquier pagina
58:                 {
59:                     return true;
60:                 }
61:             }
62:             $page = new Page();
63:             $current = $page->get_by_controller($instance);
64:             if($current && $current->count() > 0)
65:             {
66:                 $result = $this->getByPageUser($user->id, $current->getModel()->id);
67:                 if($result->count() > 0)
68:                 {
69:                     return $result->getModel()->allowed;
70: 
71:                 }
72:             }
73:             else
74:             {
75:                 return false;
76:             }
77:         }
78: 
79:         return true;
80:     }
81: 
82:     public function getByPageUser($id_user, $id_page)
83:     {
84:         return $this->get(array('id_user' => $id_user, 'id_page' => $id_page));
85:     }
86: 
87:     public function getUserAllowed($controller)
88:     {
89:         $page = new Page();
90:         $id = $page->get(array('controller' => $controller))->getModel()->id;
91:         return $this->get(array('id_page' => $id));
92:     }
93: 
94: 
95: }
API documentation generated by ApiGen