Code Duplication    Length = 42-42 lines in 3 locations

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

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