/** * Assigns a role to a user * * @param mixed $Role * Id, Path or Title * @param integer $UserID * UserID (use 0 for guest) * * @throws RbacUserNotProvidedException * @return boolean inserted or existing */ function assign($Role, $UserID = null) { if ($UserID === null) { throw new \RbacUserNotProvidedException("\$UserID is a required argument."); } if (is_numeric($Role)) { $RoleID = $Role; } else { if (substr($Role, 0, 1) == "/") { $RoleID = Jf::$Rbac->Roles->pathId($Role); } else { $RoleID = Jf::$Rbac->Roles->titleId($Role); } } $res = Jf::sql("INSERT INTO {$this->tablePrefix()}userroles\n (UserID,RoleID,AssignmentDate)\n VALUES (?,?,?)\n ", $UserID, $RoleID, Jf::time()); return $res >= 1; }