Code Duplication    Length = 42-42 lines in 3 locations

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

@@ 3716-3757 (lines=42) @@
3713
    $set_type = '';
3714
3715
    switch ($lastEditTypeNoFilter) {
3716
        case 'delete':
3717
            // delete = make item only visible for the platform admin.
3718
            $visibility = '2';
3719
            if (!empty($session_id)) {
3720
                // Check whether session id already exist into item_properties for updating visibility or add it.
3721
                $sql = "SELECT session_id FROM $tableItemProperty
3722
                        WHERE
3723
                            c_id = $course_id AND
3724
                            tool = '$tool' AND
3725
                            ref = $item_id AND
3726
                            session_id = $session_id";
3727
                $rs = Database::query($sql);
3728
                if (Database::num_rows($rs) > 0) {
3729
                    $sql = "UPDATE $tableItemProperty
3730
                            SET lastedit_type       = '".str_replace('_', '', ucwords($tool))."Deleted',
3731
                                lastedit_date       = '$time',
3732
                                lastedit_user_id    = $user_id,
3733
                                visibility          = $visibility,
3734
                                session_id          = $session_id $set_type
3735
                            WHERE $filter";
3736
                    $result = Database::query($sql);
3737
                } else {
3738
                    $sql = "INSERT INTO $tableItemProperty (c_id, tool, ref, insert_date, insert_user_id, lastedit_date, lastedit_type, lastedit_user_id, $to_field, visibility, start_visible, end_visible, session_id)
3739
                            VALUES ($course_id, '$tool',$item_id, '$time', $user_id, '$time', '$last_edit_type',$user_id, $toValueCondition, $visibility, $startVisible, $endVisible, $session_id)";
3740
                    $result = Database::query($sql);
3741
                    $id = Database::insert_id();
3742
                    if ($id) {
3743
                        $sql = "UPDATE $tableItemProperty SET id = iid WHERE iid = $id";
3744
                        Database::query($sql);
3745
                    }
3746
                }
3747
            } else {
3748
                $sql = "UPDATE $tableItemProperty
3749
                        SET
3750
                            lastedit_type='".str_replace('_', '', ucwords($tool))."Deleted',
3751
                            lastedit_date='$time',
3752
                            lastedit_user_id = $user_id,
3753
                            visibility = $visibility $set_type
3754
                        WHERE $filter";
3755
                $result = Database::query($sql);
3756
            }
3757
            break;
3758
        case 'visible': // Change item to visible.
3759
            $visibility = '1';
3760
            if (!empty($session_id)) {
@@ 3758-3799 (lines=42) @@
3755
                $result = Database::query($sql);
3756
            }
3757
            break;
3758
        case 'visible': // Change item to visible.
3759
            $visibility = '1';
3760
            if (!empty($session_id)) {
3761
                // Check whether session id already exist into item_properties for updating visibility or add it.
3762
                $sql = "SELECT session_id FROM $tableItemProperty
3763
                        WHERE
3764
                            c_id = $course_id AND
3765
                            tool = '$tool' AND
3766
                            ref = $item_id AND
3767
                            session_id = $session_id";
3768
                $rs = Database::query($sql);
3769
                if (Database::num_rows($rs) > 0) {
3770
                    $sql = "UPDATE $tableItemProperty
3771
                            SET
3772
                                lastedit_type='".str_replace('_', '', ucwords($tool))."Visible',
3773
                                lastedit_date='$time',
3774
                                lastedit_user_id = $user_id,
3775
                                visibility = $visibility,
3776
                                session_id = $session_id $set_type
3777
                            WHERE $filter";
3778
                    $result = Database::query($sql);
3779
                } else {
3780
                    $sql = "INSERT INTO $tableItemProperty (c_id, tool, ref, insert_date, insert_user_id, lastedit_date, lastedit_type, lastedit_user_id, $to_field, visibility, start_visible, end_visible, session_id)
3781
                            VALUES ($course_id, '$tool', $item_id, '$time', $user_id, '$time', '$last_edit_type', $user_id, $toValueCondition, $visibility, $startVisible, $endVisible, $session_id)";
3782
                    $result = Database::query($sql);
3783
                    $id = Database::insert_id();
3784
                    if ($id) {
3785
                        $sql = "UPDATE $tableItemProperty SET id = iid WHERE iid = $id";
3786
                        Database::query($sql);
3787
                    }
3788
                }
3789
            } else {
3790
                $sql = "UPDATE $tableItemProperty
3791
                        SET
3792
                            lastedit_type='".str_replace('_', '', ucwords($tool))."Visible',
3793
                            lastedit_date='$time',
3794
                            lastedit_user_id = $user_id,
3795
                            visibility = $visibility $set_type
3796
                        WHERE $filter";
3797
                $result = Database::query($sql);
3798
            }
3799
            break;
3800
        case 'invisible': // Change item to invisible.
3801
            $visibility = '0';
3802
            if (!empty($session_id)) {
@@ 3800-3841 (lines=42) @@
3797
                $result = Database::query($sql);
3798
            }
3799
            break;
3800
        case 'invisible': // Change item to invisible.
3801
            $visibility = '0';
3802
            if (!empty($session_id)) {
3803
                // Check whether session id already exist into item_properties for updating visibility or add it
3804
                $sql = "SELECT session_id FROM $tableItemProperty
3805
                        WHERE
3806
                            c_id = $course_id AND
3807
                            tool = '$tool' AND
3808
                            ref = $item_id AND
3809
                            session_id = $session_id";
3810
                $rs = Database::query($sql);
3811
                if (Database::num_rows($rs) > 0) {
3812
                    $sql = "UPDATE $tableItemProperty
3813
                            SET
3814
                                lastedit_type = '".str_replace('_', '', ucwords($tool))."Invisible',
3815
                                lastedit_date = '$time',
3816
                                lastedit_user_id = $user_id,
3817
                                visibility = $visibility,
3818
                                session_id = $session_id $set_type
3819
                            WHERE $filter";
3820
                    $result = Database::query($sql);
3821
                } else {
3822
                    $sql = "INSERT INTO $tableItemProperty (c_id, tool, ref, insert_date, insert_user_id, lastedit_date, lastedit_type, lastedit_user_id,$to_field, visibility, start_visible, end_visible, session_id)
3823
                            VALUES ($course_id, '$tool', $item_id, '$time', $user_id, '$time', '$last_edit_type', $user_id, $toValueCondition, $visibility, $startVisible, $endVisible, $session_id)";
3824
                    $result = Database::query($sql);
3825
                    $id = Database::insert_id();
3826
                    if ($id) {
3827
                        $sql = "UPDATE $tableItemProperty SET id = iid WHERE iid = $id";
3828
                        Database::query($sql);
3829
                    }
3830
                }
3831
            } else {
3832
                $sql = "UPDATE $tableItemProperty
3833
                        SET
3834
                            lastedit_type = '".str_replace('_', '', ucwords($tool))."Invisible',
3835
                            lastedit_date = '$time',
3836
                            lastedit_user_id = $user_id,
3837
                            visibility = $visibility $set_type
3838
                        WHERE $filter";
3839
                $result = Database::query($sql);
3840
            }
3841
            break;
3842
        default: // The item will be added or updated.
3843
            $set_type = ", lastedit_type = '$last_edit_type' ";
3844
            $visibility = '1';