Code Duplication    Length = 42-42 lines in 3 locations

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

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