Code Duplication    Length = 42-42 lines in 3 locations

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

@@ 3799-3840 (lines=42) @@
3796
    $set_type = '';
3797
3798
    switch ($lastEditTypeNoFilter) {
3799
        case 'delete':
3800
            // delete = make item only visible for the platform admin.
3801
            $visibility = '2';
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 lastedit_type       = '".str_replace('_', '', ucwords($tool))."Deleted',
3814
                                lastedit_date       = '$time',
3815
                                lastedit_user_id    = $user_id,
3816
                                visibility          = $visibility,
3817
                                session_id          = $session_id $set_type
3818
                            WHERE $filter";
3819
                    $result = Database::query($sql);
3820
                } else {
3821
                    $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)
3822
                            VALUES ($course_id, '$tool',$item_id, '$time', $user_id, '$time', '$last_edit_type',$user_id, $toValueCondition, $visibility, $startVisible, $endVisible, $session_id)";
3823
                    $result = Database::query($sql);
3824
                    $id = Database::insert_id();
3825
                    if ($id) {
3826
                        $sql = "UPDATE $tableItemProperty SET id = iid WHERE iid = $id";
3827
                        Database::query($sql);
3828
                    }
3829
                }
3830
            } else {
3831
                $sql = "UPDATE $tableItemProperty
3832
                        SET
3833
                            lastedit_type='".str_replace('_', '', ucwords($tool))."Deleted',
3834
                            lastedit_date='$time',
3835
                            lastedit_user_id = $user_id,
3836
                            visibility = $visibility $set_type
3837
                        WHERE $filter";
3838
                $result = Database::query($sql);
3839
            }
3840
            break;
3841
        case 'visible' : // Change item to visible.
3842
            $visibility = '1';
3843
            if (!empty($session_id)) {
@@ 3841-3882 (lines=42) @@
3838
                $result = Database::query($sql);
3839
            }
3840
            break;
3841
        case 'visible' : // Change item to visible.
3842
            $visibility = '1';
3843
            if (!empty($session_id)) {
3844
                // Check whether session id already exist into item_properties for updating visibility or add it.
3845
                $sql = "SELECT session_id FROM $tableItemProperty
3846
                        WHERE
3847
                            c_id = $course_id AND
3848
                            tool = '$tool' AND
3849
                            ref = $item_id AND
3850
                            session_id = $session_id";
3851
                $rs = Database::query($sql);
3852
                if (Database::num_rows($rs) > 0) {
3853
                    $sql = "UPDATE $tableItemProperty
3854
                            SET
3855
                                lastedit_type='".str_replace('_', '', ucwords($tool))."Visible',
3856
                                lastedit_date='$time',
3857
                                lastedit_user_id = $user_id,
3858
                                visibility = $visibility,
3859
                                session_id = $session_id $set_type
3860
                            WHERE $filter";
3861
                    $result = Database::query($sql);
3862
                } else {
3863
                    $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)
3864
                            VALUES ($course_id, '$tool', $item_id, '$time', $user_id, '$time', '$last_edit_type', $user_id, $toValueCondition, $visibility, $startVisible, $endVisible, $session_id)";
3865
                    $result = Database::query($sql);
3866
                    $id = Database::insert_id();
3867
                    if ($id) {
3868
                        $sql = "UPDATE $tableItemProperty SET id = iid WHERE iid = $id";
3869
                        Database::query($sql);
3870
                    }
3871
                }
3872
            } else {
3873
                $sql = "UPDATE $tableItemProperty
3874
                        SET
3875
                            lastedit_type='".str_replace('_', '', ucwords($tool))."Visible',
3876
                            lastedit_date='$time',
3877
                            lastedit_user_id = $user_id,
3878
                            visibility = $visibility $set_type
3879
                        WHERE $filter";
3880
                $result = Database::query($sql);
3881
            }
3882
            break;
3883
        case 'invisible' : // Change item to invisible.
3884
            $visibility = '0';
3885
            if (!empty($session_id)) {
@@ 3883-3924 (lines=42) @@
3880
                $result = Database::query($sql);
3881
            }
3882
            break;
3883
        case 'invisible' : // Change item to invisible.
3884
            $visibility = '0';
3885
            if (!empty($session_id)) {
3886
                // Check whether session id already exist into item_properties for updating visibility or add it
3887
                $sql = "SELECT session_id FROM $tableItemProperty
3888
                        WHERE
3889
                            c_id = $course_id AND
3890
                            tool = '$tool' AND
3891
                            ref = $item_id AND
3892
                            session_id = $session_id";
3893
                $rs = Database::query($sql);
3894
                if (Database::num_rows($rs) > 0) {
3895
                    $sql = "UPDATE $tableItemProperty
3896
                            SET
3897
                                lastedit_type = '".str_replace('_', '', ucwords($tool))."Invisible',
3898
                                lastedit_date = '$time',
3899
                                lastedit_user_id = $user_id,
3900
                                visibility = $visibility,
3901
                                session_id = $session_id $set_type
3902
                            WHERE $filter";
3903
                    $result = Database::query($sql);
3904
                } else {
3905
                    $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)
3906
                            VALUES ($course_id, '$tool', $item_id, '$time', $user_id, '$time', '$last_edit_type', $user_id, $toValueCondition, $visibility, $startVisible, $endVisible, $session_id)";
3907
                    $result = Database::query($sql);
3908
                    $id = Database::insert_id();
3909
                    if ($id) {
3910
                        $sql = "UPDATE $tableItemProperty SET id = iid WHERE iid = $id";
3911
                        Database::query($sql);
3912
                    }
3913
                }
3914
            } else {
3915
                $sql = "UPDATE $tableItemProperty
3916
                        SET
3917
                            lastedit_type = '".str_replace('_', '', ucwords($tool))."Invisible',
3918
                            lastedit_date = '$time',
3919
                            lastedit_user_id = $user_id,
3920
                            visibility = $visibility $set_type
3921
                        WHERE $filter";
3922
                $result = Database::query($sql);
3923
            }
3924
            break;
3925
        default : // The item will be added or updated.
3926
            $set_type = ", lastedit_type = '$last_edit_type' ";
3927
            $visibility = '1';