Code Duplication    Length = 22-32 lines in 4 locations

main/inc/lib/groupmanager.lib.php 3 locations

@@ 513-535 (lines=23) @@
510
     * @param string $courseCode
511
     * @return array
512
     */
513
    public static function getGroupByName($name, $courseCode = null)
514
    {
515
        $name = trim($name);
516
517
        if (empty($name)) {
518
            return array();
519
        }
520
521
        $course_info = api_get_course_info($courseCode);
522
        $course_id = $course_info['real_id'];
523
        $name = Database::escape_string($name);
524
        $table_group = Database::get_course_table(TABLE_GROUP);
525
        $sql = "SELECT * FROM $table_group
526
                WHERE c_id = $course_id AND name = '$name'
527
                LIMIT 1";
528
        $res = Database::query($sql);
529
        $group = array();
530
        if (Database::num_rows($res)) {
531
            $group = Database::fetch_array($res, 'ASSOC');
532
        }
533
534
        return $group;
535
    }
536
537
    /**
538
     * @param int $courseId
@@ 707-728 (lines=22) @@
704
     * @param string $course_code The course (default = current course)
705
     * @return array
706
     */
707
    public static function getCategoryByTitle($title, $course_code = null)
708
    {
709
        $title = trim($title);
710
711
        if (empty($title)) {
712
            return array();
713
        }
714
715
        $course_info = api_get_course_info($course_code);
716
        $course_id = $course_info['real_id'];
717
        $title = Database::escape_string($title);
718
        $table_group_cat = Database::get_course_table(TABLE_GROUP_CATEGORY);
719
        $sql = "SELECT * FROM $table_group_cat
720
                WHERE c_id = $course_id AND title = '$title'
721
                LIMIT 1";
722
        $res = Database::query($sql);
723
        $category = array();
724
        if (Database::num_rows($res)) {
725
            $category = Database::fetch_array($res, 'ASSOC');
726
        }
727
        return $category;
728
    }
729
730
    /**
731
     * Get the unique category of a given group
@@ 737-768 (lines=32) @@
734
     * current course)
735
     * @return array The category
736
     */
737
    public static function get_category_from_group($group_id, $course_code = '')
738
    {
739
        $table_group = Database::get_course_table(TABLE_GROUP);
740
        $table_group_cat = Database::get_course_table(TABLE_GROUP_CATEGORY);
741
742
        $group_id = intval($group_id);
743
744
        if (empty($group_id)) {
745
            return array();
746
        }
747
748
        $course_info = api_get_course_info($course_code);
749
750
        if (empty($course_info)) {
751
            return false;
752
        }
753
754
        $course_id = $course_info['real_id'];
755
        $sql = "SELECT gc.* FROM $table_group_cat gc, $table_group g
756
                WHERE
757
                    gc.c_id = $course_id AND
758
                    g.c_id = $course_id AND
759
                    gc.id = g.category_id AND 
760
                    g.iid = $group_id
761
                LIMIT 1";
762
        $res = Database::query($sql);
763
        $cat = array();
764
        if (Database::num_rows($res)) {
765
            $cat = Database::fetch_array($res);
766
        }
767
        return $cat;
768
    }
769
770
    /**
771
     * Delete a group category

main/inc/lib/api.lib.php 1 location

@@ 1766-1794 (lines=29) @@
1763
 * @param int $id Numeric ID of the course
1764
 * @return array The course info as an array formatted by api_format_course_array, including category.name
1765
 */
1766
function api_get_course_info_by_id($id = null)
1767
{
1768
    if (!empty($id)) {
1769
        $id = intval($id);
1770
        $course_table = Database::get_main_table(TABLE_MAIN_COURSE);
1771
        $course_cat_table = Database::get_main_table(TABLE_MAIN_CATEGORY);
1772
        $sql = "SELECT
1773
                    course.*,
1774
                    course_category.code faCode,
1775
                    course_category.name faName
1776
                FROM $course_table
1777
                LEFT JOIN $course_cat_table
1778
                ON course.category_code =  course_category.code
1779
                WHERE course.id = $id";
1780
        $result = Database::query($sql);
1781
        $_course = array();
1782
        if (Database::num_rows($result) > 0) {
1783
            $course_data = Database::fetch_array($result);
1784
            $_course = api_format_course_array($course_data);
1785
        }
1786
        return $_course;
1787
    }
1788
1789
    global $_course;
1790
    if ($_course == '-1') {
1791
        $_course = array();
1792
    }
1793
    return $_course;
1794
}
1795
1796
/**
1797
 * Reformat the course array (output by api_get_course_info()) in order, mostly,