当前位置: 首页>>代码示例>>PHP>>正文


PHP grade_item::is_calculated方法代码示例

本文整理汇总了PHP中grade_item::is_calculated方法的典型用法代码示例。如果您正苦于以下问题:PHP grade_item::is_calculated方法的具体用法?PHP grade_item::is_calculated怎么用?PHP grade_item::is_calculated使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在grade_item的用法示例。


在下文中一共展示了grade_item::is_calculated方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: get_grade_min_and_max

 /**
  * Returns the minimum and maximum number of points this grade is graded with respect to.
  *
  * @since  Moodle 2.8.7, 2.9.1
  * @return array A list containing, in order, the minimum and maximum number of points.
  */
 protected function get_grade_min_and_max()
 {
     global $CFG;
     $this->load_grade_item();
     // When the following setting is turned on we use the grade_grade raw min and max values.
     $minmaxtouse = grade_get_setting($this->grade_item->courseid, 'minmaxtouse', $CFG->grade_minmaxtouse);
     // Check to see if the gradebook is frozen. This allows grades to not be altered at all until a user verifies that they
     // wish to update the grades.
     $gradebookcalculationsfreeze = get_config('core', 'gradebook_calculations_freeze_' . $this->grade_item->courseid);
     // Gradebook is frozen, run through old code.
     if ($gradebookcalculationsfreeze && (int) $gradebookcalculationsfreeze <= 20150627) {
         // Only aggregate items use separate min grades.
         if ($minmaxtouse == GRADE_MIN_MAX_FROM_GRADE_GRADE || $this->grade_item->is_aggregate_item()) {
             return array($this->rawgrademin, $this->rawgrademax);
         } else {
             return array($this->grade_item->grademin, $this->grade_item->grademax);
         }
     } else {
         // Only aggregate items use separate min grades, unless they are calculated grade items.
         if ($this->grade_item->is_aggregate_item() && !$this->grade_item->is_calculated() || $minmaxtouse == GRADE_MIN_MAX_FROM_GRADE_GRADE) {
             return array($this->rawgrademin, $this->rawgrademax);
         } else {
             return array($this->grade_item->grademin, $this->grade_item->grademax);
         }
     }
 }
开发者ID:alanaipe2015,项目名称:moodle,代码行数:32,代码来源:grade_grade.php

示例2: sub_test_grade_item_is_calculated

 protected function sub_test_grade_item_is_calculated()
 {
     $grade_item = new grade_item($this->grade_items[1], false);
     $this->assertTrue(method_exists($grade_item, 'is_calculated'));
     $this->assertTrue($grade_item->is_calculated());
     $grade_item = new grade_item($this->grade_items[0], false);
     $this->assertFalse($grade_item->is_calculated());
 }
开发者ID:covex-nn,项目名称:moodle,代码行数:8,代码来源:grade_item_test.php

示例3: auto_update_max

 /**
  * Some aggregation types may need to update their max grade.
  *
  * This must be executed after updating the weights as it relies on them.
  *
  * @return void
  */
 private function auto_update_max()
 {
     global $DB;
     if ($this->aggregation != GRADE_AGGREGATE_SUM) {
         // not needed at all
         return;
     }
     // Find grade items of immediate children (category or grade items) and force site settings.
     $this->load_grade_item();
     $depends_on = $this->grade_item->depends_on();
     // Check to see if the gradebook is frozen. This allows grades to not be altered at all until a user verifies that they
     // wish to update the grades.
     $gradebookcalculationsfreeze = get_config('core', 'gradebook_calculations_freeze_' . $this->courseid);
     // Only run if the gradebook isn't frozen.
     if ($gradebookcalculationsfreeze && (int) $gradebookcalculationsfreeze <= 20150627) {
         // Do nothing.
     } else {
         // Don't automatically update the max for calculated items.
         if ($this->grade_item->is_calculated()) {
             return;
         }
     }
     $items = false;
     if (!empty($depends_on)) {
         list($usql, $params) = $DB->get_in_or_equal($depends_on);
         $sql = "SELECT *\n                      FROM {grade_items}\n                     WHERE id {$usql}";
         $items = $DB->get_records_sql($sql, $params);
     }
     if (!$items) {
         if ($this->grade_item->grademax != 0 or $this->grade_item->gradetype != GRADE_TYPE_VALUE) {
             $this->grade_item->grademax = 0;
             $this->grade_item->grademin = 0;
             $this->grade_item->gradetype = GRADE_TYPE_VALUE;
             $this->grade_item->update('aggregation');
         }
         return;
     }
     //find max grade possible
     $maxes = array();
     foreach ($items as $item) {
         if ($item->aggregationcoef > 0) {
             // extra credit from this activity - does not affect total
             continue;
         } else {
             if ($item->aggregationcoef2 <= 0) {
                 // Items with a weight of 0 do not affect the total.
                 continue;
             }
         }
         if ($item->gradetype == GRADE_TYPE_VALUE) {
             $maxes[$item->id] = $item->grademax;
         } else {
             if ($item->gradetype == GRADE_TYPE_SCALE) {
                 $maxes[$item->id] = $item->grademax;
                 // 0 = nograde, 1 = first scale item, 2 = second scale item
             }
         }
     }
     if ($this->can_apply_limit_rules()) {
         // Apply droplow and keephigh.
         $this->apply_limit_rules($maxes, $items);
     }
     $max = array_sum($maxes);
     // update db if anything changed
     if ($this->grade_item->grademax != $max or $this->grade_item->grademin != 0 or $this->grade_item->gradetype != GRADE_TYPE_VALUE) {
         $this->grade_item->grademax = $max;
         $this->grade_item->grademin = 0;
         $this->grade_item->gradetype = GRADE_TYPE_VALUE;
         $this->grade_item->update('aggregation');
     }
 }
开发者ID:Gavinthisisit,项目名称:Moodle,代码行数:78,代码来源:grade_category.php


注:本文中的grade_item::is_calculated方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。