Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Permission/Access/Entity/UserEntity.php
Строк: 80
<?php
namespace ConcreteCorePermissionAccessEntity;

use 
Config;
use 
Loader;
use 
PermissionAccess;
use 
URL;
use 
UserInfo;

class 
UserEntity extends Entity
{

    protected 
$user;

    public static function 
getAccessEntitiesForUser($user)
    {
        
$entities = array();
        
$db Loader::db();
        if (
$user->isRegistered()) {
            
// we find the peID for the current user, if one exists. This means that the user has special permissions set just for them.
            
$peID $db->GetOne(
                
'SELECT peID FROM PermissionAccessEntityUsers WHERE uID = ?',
                array(
$user->getUserID()));
            if (
$peID 0) {
                
$entity ConcreteCorePermissionAccessEntityEntity::getByID($peID);
                if (
is_object($entity)) {
                    
$entities[] = $entity;
                }
            }
        }
        return 
$entities;
    }

    public static function 
getOrCreate(UserInfo $ui)
    {
        
$db Loader::db();
        
$petID $db->GetOne('SELECT petID FROM PermissionAccessEntityTypes WHERE petHandle = 'user'');
        
$peID $db->GetOne(
            
'SELECT pae.peID FROM PermissionAccessEntities pae INNER JOIN PermissionAccessEntityUsers paeg ON pae.peID = paeg.peID WHERE petID = ? AND paeg.uID = ?',
            array(
$petID$ui->getUserID()));
        if (!
$peID) {
            
$db->Execute("INSERT INTO PermissionAccessEntities (petID) VALUES(?)", array($petID));
            
$peID $db->Insert_ID();
            
Config::save('concrete.misc.access_entity_updated'time());
            
$db->Execute(
                
'INSERT INTO PermissionAccessEntityUsers (peID, uID) VALUES (?, ?)',
                array(
$peID$ui->getUserID()));
        }
        return 
ConcreteCorePermissionAccessEntityEntity::getByID($peID);
    }

    public function 
getAccessEntityUsers(PermissionAccess $pa)
    {
        return array(
$this->getUserObject());
    }

    public function 
getUserObject()
    {
        return 
$this->user;
    }

    public function 
getAccessEntityTypeLinkHTML()
    {
        
$html '<a href="' URL::to(
                
'/ccm/system/dialogs/user/search') . '" dialog-modal="false" dialog-width="90%" dialog-title="' t(
                
'Add User') . '" class="dialog-launch" dialog-height="70%"">' tc(
                
'PermissionAccessEntityTypeName',
                
'User') . '</a>';
        return 
$html;
    }

    public function 
load()
    {
        
$db Loader::db();
        
$uID $db->GetOne('SELECT uID FROM PermissionAccessEntityUsers WHERE peID = ?', array($this->peID));
        if (
$uID) {
            
$ui UserInfo::getByID($uID);
            if (
is_object($ui)) {
                
$this->user $ui;
                
$this->label $ui->getUserName();
            } else {
                
$this->label t('(Deleted User)');
            }
        }
    }

}
Онлайн: 1
Реклама