Changeset 1150 for trunk/common
- Timestamp:
- 07/05/11 05:31:36 (11 months ago)
- File:
-
- 1 edited
-
trunk/common/security.php (modified) (13 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/common/security.php
r1149 r1150 132 132 case 'task-tag': 133 133 case 'task-reeval': 134 case ' round-delete':134 case 'task-edit-ratings': 135 135 case 'textblock-delete': 136 136 case 'textblock-delete-revision': 137 case 'round-tag': 138 case 'round-view-progress': 137 139 case 'grader-overwrite': 138 140 case 'grader-delete': … … 145 147 case 'task-change-open': 146 148 case 'textblock-change-security': 147 case 'task-edit-owner':148 case 'task-edit-ratings':149 case 'round-tag':150 case 'round-view-progress':151 149 case 'textblock-tag': 152 150 case 'job-reeval': 151 case 'round-delete': 152 case 'task-edit-owner': 153 153 case 'simple-critical': 154 154 return 'simple-critical'; … … 375 375 $usersec = getattr($user, 'security_level', 'anonymous'); 376 376 $is_admin = $usersec == 'admin'; 377 $is_intern = $usersec == 'intern'; 377 378 $is_owner = ($task['user_id'] == $user['id'] && $usersec == 'helper'); 379 $is_boss = $is_admin || $is_intern || $is_owner; 378 380 379 381 // Log query response. … … 390 392 // Read-only access. 391 393 case 'simple-view': 392 return ($task['hidden'] == false) || $is_ owner || $is_admin;394 return ($task['hidden'] == false) || $is_boss; 393 395 394 396 // Edit access. 395 397 case 'simple-rev-edit': 396 return $is_ owner || $is_admin;398 return $is_boss; 397 399 398 400 case 'simple-edit': 399 return $is_ owner || $is_admin;401 return $is_boss; 400 402 401 403 // View tags … … 408 410 } 409 411 } 410 return $in_archive || $is_ owner || $is_admin;412 return $in_archive || $is_boss; 411 413 412 414 // Admin stuff: … … 441 443 return false; 442 444 } 443 if ($is_ owner || $is_admin) {445 if ($is_boss) { 444 446 return true; 445 447 } … … 465 467 466 468 case 'sensitive-info': 467 return ($usersec == 'admin' || $usersec == 'helper');469 return $is_boss; 468 470 469 471 default: … … 476 478 $usersec = getattr($user, 'security_level', 'anonymous'); 477 479 $is_admin = $usersec == 'admin'; 480 $is_intern = $usersec == 'intern'; 478 481 479 482 // Log query response. … … 495 498 return $usersec != 'anonymous'; 496 499 } else { 497 return $is_admin ;500 return $is_admin || $is_intern; 498 501 } 499 502 … … 504 507 } 505 508 if ($round['type'] == 'user-defined') { 506 return $user['id'] == $round['user_id'] || $is_admin ;509 return $user['id'] == $round['user_id'] || $is_admin || $is_intern; 507 510 } else { 508 return $is_admin ;511 return $is_admin || $is_intern; 509 512 } 510 513 511 514 case 'round-view-tasks': 512 return $round['state'] != 'waiting' || $is_admin ;515 return $round['state'] != 'waiting' || $is_admin || $is_intern; 513 516 case 'round-view-scores': 514 return $round['public_eval'] == true || $is_admin ;517 return $round['public_eval'] == true || $is_admin || $is_intern; 515 518 516 519 case 'simple-edit': 520 return $is_admin || $is_intern; 521 517 522 case 'simple-critical': 518 523 return $is_admin; … … 530 535 531 536 case 'sensitive-info': 532 return ($usersec == 'admin' || $usersec == 'helper');537 return in_array($usersec, array('admin', 'intern', 'helper')); 533 538 534 539 default: … … 577 582 $usersec = getattr($user, 'security_level', 'anonymous'); 578 583 $is_admin = $usersec == 'admin'; 584 $is_intern = $usersec == 'intern'; 579 585 $is_owner = ($job['user_id'] == $user['id']); 580 586 $is_task_owner = ($job['task_owner_id'] == $user['id'] && $usersec == 'helper'); 581 587 $can_view_job = ($job['task_hidden'] == false) || $is_task_owner || $is_admin; 582 $can_view_source = ($job['task_open_source'] == true) || $is_task_owner || $is_owner || $is_admin; 588 $can_view_source = ($job['task_open_source'] == true) || $is_task_owner || 589 $is_owner || $is_admin || $is_intern; 583 590 $can_view_source_size = ($job['round_type'] == "archive") || 584 591 ($job['round_type'] != "archive" && $job['round_state'] == "complete") || 585 592 $can_view_source; 586 $can_view_score = ($job['round_public_eval'] == true) || $is_task_owner || $is_admin ;587 $can_view_partial_feedback = $is_owner || $is_admin ;588 $can_view_sensitive_info = ($usersec == 'admin' || $usersec == 'helper');593 $can_view_score = ($job['round_public_eval'] == true) || $is_task_owner || $is_admin || $is_intern; 594 $can_view_partial_feedback = $is_owner || $is_admin || $is_intern; 595 $can_view_sensitive_info = in_array($usersec, array('admin', 'intern', 'helper')); 589 596 590 597 // Log query response. … … 600 607 switch ($action) { 601 608 case 'simple-critical': 602 return $is_admin ;609 return $is_admin || $is_intern; 603 610 604 611 case 'job-view':
Note: See TracChangeset
for help on using the changeset viewer.
![[infoarena] development](/chrome/site/logo.png)