* @since Version 2.0 */ class sysUsersModule { public $oDb; /** * Class constructor */ public function __construct() { $this->oDb = cDb::getInstance(DB_HOST, DB_USR, DB_PWD, DB_PORT, DB_NAME); } /** * Function to load sys user config * * @author Mareks Keišs * @category sysUsers Module * @param array $userId - user id * @return array of data * @version 1.1 */ public function getUserCfg($userId){ return $this->oDb->_querySelectOne('site_users', array('user_cfg'), array('id' => $userId)); } /** * Function to update user data by id * * @category sysUsers Module * @author Mareks Keišs * @param int $id - user id * @param array $update - user data array to update * @return bool */ public function updateUserDataById($id, $update){ return $this->oDb->_queryUpdate('site_users', $update, array('id' => $id)); } /** * Function to load user permissions * * @author Mareks Keišs * @category sysUsers Module * @param int $userId - user id * @return array * @version 1.1 */ public function loadUserPermissionArray($userId){ $sSql = " SELECT DISTINCT userp.permissions_id as pId, sitep.p_name as sId FROM ( SELECT sp.permissions_id FROM site_users_permissions sp WHERE sp.user_id = '{$userId}' AND sp.groups_id = '0' UNION ALL SELECT sg.permissions_id FROM site_users_permissions sp LEFT JOIN site_users_permissions sg ON sg.groups_id = sp.groups_id AND sg.user_id = 0 LEFT JOIN site_users_groups sug ON sug.id = sp.groups_id WHERE sp.user_id = '{$userId}' AND sp.groups_id <> '0' AND sug.group_blocked = '0' ) userp LEFT JOIN site_permissions sitep ON userp.permissions_id = sitep.id WHERE sitep.p_blocked = '0' "; $this->oDb->query($sSql); return $this->oDb->getKeyValBasedArray('pId', 'sId'); } /** * Function to save user cfg * * @author Mareks Keišs * @category sysUsers Module * @param int $id - user id * @param array $data - user data * @return bool * @version 1.1 */ public function saveUserCFG($id, $data){ if($id){ if($this->oDb->_queryUpdate('site_users', $data, array('id' => $id), true)){ return true; } } return false; } }