Code Duplication    Length = 42-42 lines in 3 locations

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

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