コード例 #1
0
 function do_course_toggle($id)
 {
     $this->build_course_list();
     if (isset($this->courses[$id])) {
         if ($this->courses[$id]->include_source == 'page_courses') {
             $course = new entity($id);
             $rels = $course->get_left_relationships_info();
             foreach ($rels['course_template_to_page'] as $rel) {
                 if ($rel['entity_b'] == $this->get_source_page_id()) {
                     delete_relationship($rel['id']);
                     return true;
                     break;
                 }
             }
         } else {
             if ($this->courses[$id]->include_source == 'categories') {
                 $course = new entity($id);
                 $rels = $course->get_left_relationships_info();
                 $cats = $this->get_page_categories();
                 foreach ($rels['course_template_to_category'] as $rel) {
                     if (isset($cats[$rel['entity_b']])) {
                         delete_relationship($rel['id']);
                         return true;
                         break;
                     }
                 }
             }
         }
     } else {
         if ($this->params['get_page_courses']) {
             return create_relationship($id, $this->get_source_page_id(), relationship_id_of('course_template_to_page'), false, false);
         } else {
             if ($this->params['get_courses_by_page_categories']) {
                 if ($cats = $this->get_page_categories()) {
                     // For now we're just attaching the first page category we find to the course;
                     // a better, future interface would allow the user to pick the category.
                     $cat_id = key($cats);
                     return create_relationship($id, $cat_id, relationship_id_of('course_template_to_category'), false, false);
                 }
             }
         }
     }
     return false;
 }