Code Duplication    Length = 42-42 lines in 3 locations

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

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