/** * Returns the number of ranges with no permission * @access public * @param EvaluationObject &$eval The evaluation * @param boolean $return_ids If YES return the ids * @return integer Number of ranges with no permission */ function getEvalUserRangesWithNoPermission(&$eval, $return_ids = false) { $no_permisson = 0; $rangeIDs = $eval->getRangeIDs(); if (!is_array($rangeIDs)) { $rangeIDs = array($rangeIDs); } foreach ($eval->getRangeIDs() as $rangeID) { $user_perm = EvaluationObjectDB::getRangePerm($rangeID, $user->id, YES); // every range with a lower perm than Tutor if ($user_perm < 7) { $no_permisson++; $no_permisson_ranges[] = $rangeID; } } if ($return_ids == YES) { return $no_permisson_ranges; } else { return $no_permisson > 0 ? $no_permisson : NO; } }
# ==================================================== END: check the rangeID # # EVTAU: employees of the vote-team against urlhacking ====================== # $eval = new Evaluation($evalID, NULL, EVAL_LOAD_NO_CHILDREN); // someone has voted if ($eval->hasVoted()) { $error = EvalCommon::createReportMessage(_("An dieser Evaluation hat bereits jemand teilgenommen. Sie darf nicht mehr verändert werden."), EVAL_PIC_ERROR, EVAL_CSS_ERROR); $error_msgs[] = $error->createContent(); } // only the author or user with tutor perm in all evalRangeIDs should edit an eval $authorID = $eval->getAuthorID(); $db = new EvaluationObjectDB(); if ($authorID != $user->id) { $no_permisson = 0; if (is_array($eval->getRangeIDs())) { foreach ($eval->getRangeIDs() as $rangeID) { $user_perm = $db->getRangePerm($rangeID, $user->id, YES); // every range with a lower perm than Tutor if ($user_perm < 7) { $no_permisson++; } } if ($no_permisson > 0) { if ($no_permisson == 1) { $no_permisson_msg = _("Sie haben in einem Bereich, in welchem diese Evaluation hängt, nicht aussreichene Rechte, um diese Eval zu bearbeiten."); } else { $no_permisson_msg = sprintf(_("Sie haben in %s Bereichen, in denen diese Evaluation hängt, nicht aussreichene Rechte, um diese Eval zu bearbeiten."), $no_permisson); } $error = EvalCommon::createReportMessage($no_permisson_msg, EVAL_PIC_ERROR, EVAL_CSS_ERROR); $error_msgs[] = $error->createContent(); } }