Proyectos de Subversion Moodle

Rev

Rev 1 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 1441
Línea 21... Línea 21...
21
 * @subpackage course
21
 * @subpackage course
22
 * @copyright  2013 Marina Glancy
22
 * @copyright  2013 Marina Glancy
23
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
24
 */
24
 */
Línea 25... Línea 25...
25
 
25
 
Línea 26... Línea 26...
26
defined('MOODLE_INTERNAL') || die();
26
use core\exception\moodle_exception;
27
 
27
 
28
/**
28
/**
29
 * Class to store, cache, render and manage course category
29
 * Class to store, cache, render and manage course category
Línea 270... Línea 270...
270
        }
270
        }
Línea 271... Línea 271...
271
 
271
 
272
        if (!$coursecat) {
272
        if (!$coursecat) {
273
            // Course category not found.
273
            // Course category not found.
274
            if ($strictness == MUST_EXIST) {
274
            if ($strictness == MUST_EXIST) {
275
                throw new moodle_exception('unknowncategory');
275
                throw new moodle_exception('unknowncategory', a: $id);
276
            }
276
            }
277
            $coursecat = null;
277
            $coursecat = null;
278
        } else if (!$alwaysreturnhidden && !$coursecat->is_uservisible($user)) {
278
        } else if (!$alwaysreturnhidden && !$coursecat->is_uservisible($user)) {
279
            // Course category is found but user can not access it.
279
            // Course category is found but user can not access it.
Línea 1664... Línea 1664...
1664
                $where = 'ctx.id in (SELECT distinct bi.parentcontextid FROM {block_instances} bi
1664
                $where = 'ctx.id in (SELECT distinct bi.parentcontextid FROM {block_instances} bi
1665
                    WHERE bi.blockname = :blockname)';
1665
                    WHERE bi.blockname = :blockname)';
1666
                $params = array('blockname' => $blockname);
1666
                $params = array('blockname' => $blockname);
1667
            } else if (!empty($search['modulelist'])) {
1667
            } else if (!empty($search['modulelist'])) {
1668
                // Search courses that have module with specified name.
1668
                // Search courses that have module with specified name.
-
 
1669
                if (array_key_exists($search['modulelist'], core_component::get_plugin_list('mod'))) {
-
 
1670
                    // If module plugin exists, use module name as table name.
1669
                $where = "c.id IN (SELECT DISTINCT module.course ".
1671
                    $where = "c.id IN (SELECT DISTINCT module.course FROM {{$search['modulelist']}} module)";
-
 
1672
                } else {
1670
                        "FROM {".$search['modulelist']."} module)";
1673
                    // Otherwise, return empty list of courses.
-
 
1674
                    $where = '1=0';
-
 
1675
                }
1671
                $params = array();
1676
                $params = array();
1672
            } else if (!empty($search['tagid'])) {
1677
            } else if (!empty($search['tagid'])) {
1673
                // Search courses that are tagged with the specified tag.
1678
                // Search courses that are tagged with the specified tag.
1674
                $where = "c.id IN (SELECT t.itemid ".
1679
                $where = "c.id IN (SELECT t.itemid ".
1675
                        "FROM {tag_instance} t WHERE t.tagid = :tagid AND t.itemtype = :itemtype AND t.component = :component)";
1680
                        "FROM {tag_instance} t WHERE t.tagid = :tagid AND t.itemtype = :itemtype AND t.component = :component)";
Línea 2054... Línea 2059...
2054
        grade_course_category_delete($this->id, 0, $showfeedback);
2059
        grade_course_category_delete($this->id, 0, $showfeedback);
2055
        $cb = new \core_contentbank\contentbank();
2060
        $cb = new \core_contentbank\contentbank();
2056
        if (!$cb->delete_contents($this->get_context())) {
2061
        if (!$cb->delete_contents($this->get_context())) {
2057
            throw new moodle_exception('errordeletingcontentfromcategory', 'contentbank', '', $this->get_formatted_name());
2062
            throw new moodle_exception('errordeletingcontentfromcategory', 'contentbank', '', $this->get_formatted_name());
2058
        }
2063
        }
2059
        if (!question_delete_course_category($this, null)) {
-
 
2060
            throw new moodle_exception('cannotdeletecategoryquestions', '', '', $this->get_formatted_name());
-
 
2061
        }
-
 
Línea 2062... Línea 2064...
2062
 
2064
 
2063
        // Delete all events in the category.
2065
        // Delete all events in the category.
Línea 2064... Línea 2066...
2064
        $DB->delete_records('event', array('categoryid' => $this->id));
2066
        $DB->delete_records('event', array('categoryid' => $this->id));
Línea 2243... Línea 2245...
2243
                        get_string('errordeletingcontentbankfromcategory', 'contentbank', $catname),
2245
                        get_string('errordeletingcontentbankfromcategory', 'contentbank', $catname),
2244
                        'notifysuccess'
2246
                        'notifysuccess'
2245
                );
2247
                );
2246
            }
2248
            }
2247
        }
2249
        }
2248
        if (!question_delete_course_category($this, $newparentcat)) {
-
 
2249
            if ($showfeedback) {
-
 
2250
                echo $OUTPUT->notification(get_string('errordeletingquestionsfromcategory', 'question', $catname), 'notifysuccess');
-
 
2251
            }
-
 
2252
            return false;
-
 
2253
        }
-
 
Línea 2254... Línea 2250...
2254
 
2250
 
2255
        // Finally delete the category and it's context.
2251
        // Finally delete the category and it's context.
2256
        $categoryrecord = $this->get_db_record();
2252
        $categoryrecord = $this->get_db_record();
2257
        $DB->delete_records('course_categories', array('id' => $this->id));
2253
        $DB->delete_records('course_categories', array('id' => $this->id));