Changeset 3255 for branches/2.2/workflow/inc/class.so_adminaccess.inc.php
- Timestamp:
- 09/15/10 17:06:46 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2/workflow/inc/class.so_adminaccess.inc.php
r3167 r3255 184 184 function get_granted_organograms($user_id) 185 185 { 186 return $this->getUserPermissions('ORG', $user_id );186 return $this->getUserPermissions('ORG', $user_id, 0); 187 187 } 188 188 … … 311 311 * @param string $type type of resource 312 312 * @param integer $uid user id 313 * @param requiredLevel Level Required to Access. 313 314 * @return bool 314 315 * @access public 315 316 */ 316 function getUserPermissions($type, $uid )317 function getUserPermissions($type, $uid, $requiredLevel = null) 317 318 { 318 319 $query = " 319 320 SELECT 320 numvalue 321 numvalue, 322 nivel 321 323 FROM 322 324 egw_wf_admin_access … … 329 331 $output = array(); 330 332 if ($result) 331 while ($row = $result->fetchRow()) 332 $output[] = $row['numvalue']; 333 while ($row = $result->fetchRow()) { 334 $authorized = $this->_checkLevelNumber($row['nivel'], $requiredLevel); 335 if (isset($requiredLevel)) { 336 $authorized = $this->checkUserAccessToResource($type,$uid,$row['numvalue'],$requiredLevel); 337 if ($authorized) { 338 $output[] = $row['numvalue']; 339 } 340 } else { 341 $output[] = $row['numvalue']; 342 } 343 } 333 344 334 345 return $output; … … 342 353 * @return array 343 354 */ 344 function getUserGroupPermissions($type, $uid )355 function getUserGroupPermissions($type, $uid, $requiredLevel = null) 345 356 { 346 357 $groups = galaxia_retrieve_user_groups($uid); … … 361 372 $output = array(); 362 373 if ($result) 363 while ($row = $result->fetchRow()) 364 $output[] = $row['numvalue']; 374 while ($row = $result->fetchRow()) { 375 if (isset($requiredLevel)) { 376 //$authorized = $this->_checkLevelNumber($row['nivel'], $requiredLevel); 377 $authorized = $this->checkUserAccessToResource($type,$uid,$row['numvalue'],$requiredLevel); 378 if ($authorized) { 379 $output[] = $row['numvalue']; 380 } 381 } else { 382 $output[] = $row['numvalue']; 383 } 384 } 365 385 366 386 return $output; … … 376 396 function checkUserAccessToType($type, $uid) 377 397 { 378 return (count($this->getUserPermissions($type, $uid )) > 0);398 return (count($this->getUserPermissions($type, $uid,0)) > 0); 379 399 } 380 400 /** … … 414 434 415 435 $result = $this->db->query($query, array($type, $uid, $numvalue)); 436 416 437 $row = $result->fetchRow(); 417 438 418 if (isset($row['nivel'])) 419 return $this->_checkLevelNumber($row['nivel'], $requiredLevel); 439 if (isset($row['nivel'])) { 440 $res = $this->_checkLevelNumber($row['nivel'], $requiredLevel); 441 return $res; 442 } 420 443 else 421 444 return false; … … 491 514 } 492 515 /** 493 * Seta ao nivel de administracao516 * Seta o nivel de administracao 494 517 * 495 518 * @param string $type tipo de recurso … … 505 528 $level = $this->_permissionListToNumber($level); 506 529 507 $query = " 508 UPDATE egw_wf_admin_access 530 $query = "UPDATE egw_wf_admin_access 509 531 SET 510 532 nivel = ? … … 513 535 (tipo = ?) AND 514 536 (numvalue = ?)"; 515 $this->db->query($query, array($level, $uid, $type, $numvalue)); 537 $result = $this->db->query($query, array($level, $uid, $type, $numvalue)); 538 539 return $result; 516 540 } 517 541
Note: See TracChangeset
for help on using the changeset viewer.