Code Duplication    Length = 42-42 lines in 3 locations

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

@@ 3879-3920 (lines=42) @@
3876
    $set_type = '';
3877
3878
    switch ($lastEditTypeNoFilter) {
3879
        case 'delete':
3880
            // delete = make item only visible for the platform admin.
3881
            $visibility = '2';
3882
            if (!empty($session_id)) {
3883
                // Check whether session id already exist into item_properties for updating visibility or add it.
3884
                $sql = "SELECT session_id FROM $tableItemProperty
3885
                        WHERE
3886
                            c_id = $course_id AND
3887
                            tool = '$tool' AND
3888
                            ref = $item_id AND
3889
                            session_id = $session_id";
3890
                $rs = Database::query($sql);
3891
                if (Database::num_rows($rs) > 0) {
3892
                    $sql = "UPDATE $tableItemProperty
3893
                            SET lastedit_type       = '".str_replace('_', '', ucwords($tool))."Deleted',
3894
                                lastedit_date       = '$time',
3895
                                lastedit_user_id    = $user_id,
3896
                                visibility          = $visibility,
3897
                                session_id          = $session_id $set_type
3898
                            WHERE $filter";
3899
                    $result = Database::query($sql);
3900
                } else {
3901
                    $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)
3902
                            VALUES ($course_id, '$tool',$item_id, '$time', $user_id, '$time', '$last_edit_type',$user_id, $toValueCondition, $visibility, $startVisible, $endVisible, $session_id)";
3903
                    $result = Database::query($sql);
3904
                    $id = Database::insert_id();
3905
                    if ($id) {
3906
                        $sql = "UPDATE $tableItemProperty SET id = iid WHERE iid = $id";
3907
                        Database::query($sql);
3908
                    }
3909
                }
3910
            } else {
3911
                $sql = "UPDATE $tableItemProperty
3912
                        SET
3913
                            lastedit_type='".str_replace('_', '', ucwords($tool))."Deleted',
3914
                            lastedit_date='$time',
3915
                            lastedit_user_id = $user_id,
3916
                            visibility = $visibility $set_type
3917
                        WHERE $filter";
3918
                $result = Database::query($sql);
3919
            }
3920
            break;
3921
        case 'visible' : // Change item to visible.
3922
            $visibility = '1';
3923
            if (!empty($session_id)) {
@@ 3921-3962 (lines=42) @@
3918
                $result = Database::query($sql);
3919
            }
3920
            break;
3921
        case 'visible' : // Change item to visible.
3922
            $visibility = '1';
3923
            if (!empty($session_id)) {
3924
                // Check whether session id already exist into item_properties for updating visibility or add it.
3925
                $sql = "SELECT session_id FROM $tableItemProperty
3926
                        WHERE
3927
                            c_id = $course_id AND
3928
                            tool = '$tool' AND
3929
                            ref = $item_id AND
3930
                            session_id = $session_id";
3931
                $rs = Database::query($sql);
3932
                if (Database::num_rows($rs) > 0) {
3933
                    $sql = "UPDATE $tableItemProperty
3934
                            SET
3935
                                lastedit_type='".str_replace('_', '', ucwords($tool))."Visible',
3936
                                lastedit_date='$time',
3937
                                lastedit_user_id = $user_id,
3938
                                visibility = $visibility,
3939
                                session_id = $session_id $set_type
3940
                            WHERE $filter";
3941
                    $result = Database::query($sql);
3942
                } else {
3943
                    $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)
3944
                            VALUES ($course_id, '$tool', $item_id, '$time', $user_id, '$time', '$last_edit_type', $user_id, $toValueCondition, $visibility, $startVisible, $endVisible, $session_id)";
3945
                    $result = Database::query($sql);
3946
                    $id = Database::insert_id();
3947
                    if ($id) {
3948
                        $sql = "UPDATE $tableItemProperty SET id = iid WHERE iid = $id";
3949
                        Database::query($sql);
3950
                    }
3951
                }
3952
            } else {
3953
                $sql = "UPDATE $tableItemProperty
3954
                        SET
3955
                            lastedit_type='".str_replace('_', '', ucwords($tool))."Visible',
3956
                            lastedit_date='$time',
3957
                            lastedit_user_id = $user_id,
3958
                            visibility = $visibility $set_type
3959
                        WHERE $filter";
3960
                $result = Database::query($sql);
3961
            }
3962
            break;
3963
        case 'invisible' : // Change item to invisible.
3964
            $visibility = '0';
3965
            if (!empty($session_id)) {
@@ 3963-4004 (lines=42) @@
3960
                $result = Database::query($sql);
3961
            }
3962
            break;
3963
        case 'invisible' : // Change item to invisible.
3964
            $visibility = '0';
3965
            if (!empty($session_id)) {
3966
                // Check whether session id already exist into item_properties for updating visibility or add it
3967
                $sql = "SELECT session_id FROM $tableItemProperty
3968
                        WHERE
3969
                            c_id = $course_id AND
3970
                            tool = '$tool' AND
3971
                            ref = $item_id AND
3972
                            session_id = $session_id";
3973
                $rs = Database::query($sql);
3974
                if (Database::num_rows($rs) > 0) {
3975
                    $sql = "UPDATE $tableItemProperty
3976
                            SET
3977
                                lastedit_type = '".str_replace('_', '', ucwords($tool))."Invisible',
3978
                                lastedit_date = '$time',
3979
                                lastedit_user_id = $user_id,
3980
                                visibility = $visibility,
3981
                                session_id = $session_id $set_type
3982
                            WHERE $filter";
3983
                    $result = Database::query($sql);
3984
                } else {
3985
                    $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)
3986
                            VALUES ($course_id, '$tool', $item_id, '$time', $user_id, '$time', '$last_edit_type', $user_id, $toValueCondition, $visibility, $startVisible, $endVisible, $session_id)";
3987
                    $result = Database::query($sql);
3988
                    $id = Database::insert_id();
3989
                    if ($id) {
3990
                        $sql = "UPDATE $tableItemProperty SET id = iid WHERE iid = $id";
3991
                        Database::query($sql);
3992
                    }
3993
                }
3994
            } else {
3995
                $sql = "UPDATE $tableItemProperty
3996
                        SET
3997
                            lastedit_type = '".str_replace('_', '', ucwords($tool))."Invisible',
3998
                            lastedit_date = '$time',
3999
                            lastedit_user_id = $user_id,
4000
                            visibility = $visibility $set_type
4001
                        WHERE $filter";
4002
                $result = Database::query($sql);
4003
            }
4004
            break;
4005
        default : // The item will be added or updated.
4006
            $set_type = ", lastedit_type = '$last_edit_type' ";
4007
            $visibility = '1';