public function change_sortorder_by_one($up) {
        global $DB;
        $params = array($this->sortorder, $this->parent);
        if ($up) {
            $select = 'sortorder < ? AND parent = ?';
            $sort = 'sortorder DESC';
        } else {
            $select = 'sortorder > ? AND parent = ?';
            $sort = 'sortorder ASC';
        }
        fix_course_sortorder();
        $swapcategory = $DB->get_records_select('course_categories', $select, $params, $sort, '*', 0, 1);
        $swapcategory = reset($swapcategory);
        if ($swapcategory) {
            $DB->set_field('course_categories', 'sortorder', $swapcategory->sortorder, array('id' => $this->id));
            $DB->set_field('course_categories', 'sortorder', $this->sortorder, array('id' => $swapcategory->id));
            $this->sortorder = $swapcategory->sortorder;

            $event = \core\event\course_category_updated::create(array(
                'objectid' => $this->id,
                'context' => $this->get_context()
            ));
            $event->set_legacy_logdata(array(SITEID, 'category', 'move', 'management.php?categoryid=' . $this->id,
                $this->id));
            $event->trigger();

            // Finally reorder courses.
            fix_course_sortorder();
            cache_helper::purge_by_event('changesincoursecat');
            return true;
        }
        return false;
    }
public function change_sortorder_by_one($up) {
        global $DB;
        $params = array($this->sortorder, $this->parent);
        if ($up) {
            $select = 'sortorder < ? AND parent = ?';
            $sort = 'sortorder DESC';
        } else {
            $select = 'sortorder > ? AND parent = ?';
            $sort = 'sortorder ASC';
        }
        fix_course_sortorder();
        $swapcategory = $DB->get_records_select('course_categories', $select, $params, $sort, '*', 0, 1);
        $swapcategory = reset($swapcategory);
        if ($swapcategory) {
            $DB->set_field('course_categories', 'sortorder', $swapcategory->sortorder, array('id' => $this->id));
            $DB->set_field('course_categories', 'sortorder', $this->sortorder, array('id' => $swapcategory->id));
            $this->sortorder = $swapcategory->sortorder;

            $event = \core\event\course_category_updated::create(array(
                'objectid' => $this->id,
                'context' => $this->get_context()
            ));
            $event->set_legacy_logdata(array(SITEID, 'category', 'move', 'management.php?categoryid=' . $this->id,
                $this->id));
            $event->trigger();

            // Finally reorder courses.
            fix_course_sortorder();
            cache_helper::purge_by_event('changesincoursecat');
            return true;
        }
        return false;
    }
public function change_sortorder_by_one ( $ up ) { global $ DB ; $ params = array ( $ this -> sortorder , $ this -> parent ) ; if ( $ up ) { $ select = 'sortorder < ? AND parent = ?' ; $ sort = 'sortorder DESC' ; } else { $ select = 'sortorder > ? AND parent = ?' ; $ sort = 'sortorder ASC' ; } fix_course_sortorder ( ) ; $ swapcategory = $ DB -> get_records_select ( 'course_categories' , $ select , $ params , $ sort , '*' , 0 , 1 ) ; $ swapcategory = reset ( $ swapcategory ) ; if ( $ swapcategory ) { $ DB -> set_field ( 'course_categories' , 'sortorder' , $ swapcategory -> sortorder , array ( 'id' => $ this -> id ) ) ; $ DB -> set_field ( 'course_categories' , 'sortorder' , $ this -> sortorder , array ( 'id' => $ swapcategory -> id ) ) ; $ this -> sortorder = $ swapcategory -> sortorder ; $ event = \ core \ event \ course_category_updated :: create ( array ( 'objectid' => $ this -> id , 'context' => $ this -> get_context ( ) ) ) ; $ event -> set_legacy_logdata ( array ( SITEID , 'category' , 'move' , 'management.php?categoryid=' . $ this -> id , $ this -> id ) ) ; $ event -> trigger ( ) ; // Finally reorder courses. fix_course_sortorder ( ) ; cache_helper :: purge_by_event ( 'changesincoursecat' ) ; return true ; } return false ; }
Changes the sort order of this categories parent shifting this category up or down one.

@param bool $up If set to true the category is shifted up one spot, else its moved down.
@return bool True on success, false otherwise.
Changes the sort order of this categories parent shifting this category up or down one .