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


PHP api::remove_competency_from_course方法代码示例

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


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

示例1: process_courses


//.........这里部分代码省略.........
                     // The competency was already in the course...
                     if ($this->removeoriginalwhenalreadypresent) {
                         $competenciestoremovefromcourse[$competencyid] = true;
                     } else {
                         $this->log_warning($courseid, $competencyid, null, get_string('warningdestinationcoursecompetencyalreadyexists', 'tool_lpmigrate'));
                     }
                 }
             } catch (moodle_exception $e) {
                 // There was a major problem with this competency, we will ignore it entirely for the course.
                 $skipcompetencies[$competencyid] = true;
                 $this->log_error($courseid, $competencyid, null, get_string('errorwhilemigratingcoursecompetencywithexception', 'tool_lpmigrate', $e->getMessage()));
                 try {
                     $transaction->rollback($e);
                 } catch (moodle_exception $e) {
                     // Catch the re-thrown exception.
                 }
                 continue;
             }
             $transaction->allow_commit();
         }
         // Then, convert the module competencies.
         if (!empty($this->modulecompetencies[$courseid])) {
             foreach ($this->modulecompetencies[$courseid] as $cmid => $competencyids) {
                 foreach ($competencyids as $competencyid) {
                     $this->modulecompetencyexpectedmigrations++;
                     // This mapped competency was not added to the course.
                     if (!empty($skipcompetencies[$competencyid])) {
                         continue;
                     }
                     $remove = true;
                     $mapto = isset($this->mappings[$competencyid]) ? $this->mappings[$competencyid] : false;
                     // We don't have mapping.
                     if ($mapto === false) {
                         if (!$this->removewhenmappingismissing) {
                             $remove = false;
                         }
                     } else {
                         // We have a mapping.
                         $transaction = $DB->start_delegated_transaction();
                         try {
                             // The competency was added successfully.
                             if (api::add_competency_to_course_module($cmid, $mapto)) {
                                 // Find the added module competency.
                                 $mc = course_module_competency::get_record(array('cmid' => $cmid, 'competencyid' => $mapto));
                                 // Set the competency rule.
                                 api::set_course_module_competency_ruleoutcome($mc, $this->modulecompetenciesoutcomes[$courseid][$cmid][$competencyid]);
                                 // Adapt the sortorder.
                                 api::reorder_course_module_competency($cmid, $mapto, $competencyid);
                                 $this->modulecompetencymigrations++;
                             } else {
                                 // The competency was already in the module.
                                 if (!$this->removeoriginalwhenalreadypresent) {
                                     $remove = false;
                                     $competencieswithissues[$competencyid] = true;
                                     $this->log_warning($courseid, $competencyid, $cmid, get_string('warningdestinationmodulecompetencyalreadyexists', 'tool_lpmigrate'));
                                 }
                             }
                         } catch (moodle_exception $e) {
                             // There was a major problem with this competency in this module.
                             $competencieswithissues[$competencyid] = true;
                             $message = get_string('errorwhilemigratingmodulecompetencywithexception', 'tool_lpmigrate', $e->getMessage());
                             $this->log_error($courseid, $competencyid, $cmid, $message);
                             try {
                                 $transaction->rollback($e);
                             } catch (moodle_exception $e) {
                                 // Catch the re-thrown exception.
                             }
                             continue;
                         }
                         $transaction->allow_commit();
                     }
                     try {
                         // Go away competency!
                         if ($remove && api::remove_competency_from_course_module($cmid, $competencyid)) {
                             $this->modulecompetencyremovals++;
                         }
                     } catch (moodle_exception $e) {
                         $competencieswithissues[$competencyid] = true;
                         $this->log_warning($courseid, $competencyid, $cmid, get_string('warningcouldnotremovemodulecompetency', 'tool_lpmigrate'));
                     }
                 }
             }
         }
         // Finally, we remove the course competencies, but only for the 100% successful ones.
         foreach ($competenciestoremovefromcourse as $competencyid => $unused) {
             // Skip competencies with issues.
             if (isset($competencieswithissues[$competencyid])) {
                 continue;
             }
             try {
                 // Process the course competency.
                 api::remove_competency_from_course($courseid, $competencyid);
                 $this->coursecompetencyremovals++;
             } catch (moodle_exception $e) {
                 $this->log_warning($courseid, $competencyid, null, get_string('warningcouldnotremovecoursecompetency', 'tool_lpmigrate'));
             }
         }
     }
     $this->progress->end_progress();
 }
开发者ID:evltuma,项目名称:moodle,代码行数:101,代码来源:framework_processor.php

示例2: remove_competency_from_course

 /**
  * Count the competencies (visible to this user) in this course.
  *
  * @param int $courseid The course id to check.
  * @param int $competencyid Competency id.
  * @return int
  */
 public static function remove_competency_from_course($courseid, $competencyid)
 {
     $params = self::validate_parameters(self::remove_competency_from_course_parameters(), array('courseid' => $courseid, 'competencyid' => $competencyid));
     self::validate_context(context_course::instance($params['courseid']));
     return api::remove_competency_from_course($params['courseid'], $params['competencyid']);
 }
开发者ID:evltuma,项目名称:moodle,代码行数:13,代码来源:external.php


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