Code Duplication    Length = 42-42 lines in 3 locations

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

@@ 3643-3684 (lines=42) @@
3640
    $set_type = '';
3641
3642
    switch ($lastEditTypeNoFilter) {
3643
        case 'delete':
3644
            // delete = make item only visible for the platform admin.
3645
            $visibility = '2';
3646
            if (!empty($session_id)) {
3647
                // Check whether session id already exist into item_properties for updating visibility or add it.
3648
                $sql = "SELECT session_id FROM $tableItemProperty
3649
                        WHERE
3650
                            c_id = $course_id AND
3651
                            tool = '$tool' AND
3652
                            ref = $item_id AND
3653
                            session_id = $session_id";
3654
                $rs = Database::query($sql);
3655
                if (Database::num_rows($rs) > 0) {
3656
                    $sql = "UPDATE $tableItemProperty
3657
                            SET lastedit_type       = '".str_replace('_', '', ucwords($tool))."Deleted',
3658
                                lastedit_date       = '$time',
3659
                                lastedit_user_id    = $user_id,
3660
                                visibility          = $visibility,
3661
                                session_id          = $session_id $set_type
3662
                            WHERE $filter";
3663
                    $result = Database::query($sql);
3664
                } else {
3665
                    $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)
3666
                            VALUES ($course_id, '$tool',$item_id, '$time', $user_id, '$time', '$last_edit_type',$user_id, $toValueCondition, $visibility, $startVisible, $endVisible, $session_id)";
3667
                    $result = Database::query($sql);
3668
                    $id = Database::insert_id();
3669
                    if ($id) {
3670
                        $sql = "UPDATE $tableItemProperty SET id = iid WHERE iid = $id";
3671
                        Database::query($sql);
3672
                    }
3673
                }
3674
            } else {
3675
                $sql = "UPDATE $tableItemProperty
3676
                        SET
3677
                            lastedit_type='".str_replace('_', '', ucwords($tool))."Deleted',
3678
                            lastedit_date='$time',
3679
                            lastedit_user_id = $user_id,
3680
                            visibility = $visibility $set_type
3681
                        WHERE $filter";
3682
                $result = Database::query($sql);
3683
            }
3684
            break;
3685
        case 'visible' : // Change item to visible.
3686
            $visibility = '1';
3687
            if (!empty($session_id)) {
@@ 3685-3726 (lines=42) @@
3682
                $result = Database::query($sql);
3683
            }
3684
            break;
3685
        case 'visible' : // Change item to visible.
3686
            $visibility = '1';
3687
            if (!empty($session_id)) {
3688
                // Check whether session id already exist into item_properties for updating visibility or add it.
3689
                $sql = "SELECT session_id FROM $tableItemProperty
3690
                        WHERE
3691
                            c_id = $course_id AND
3692
                            tool = '$tool' AND
3693
                            ref = $item_id AND
3694
                            session_id = $session_id";
3695
                $rs = Database::query($sql);
3696
                if (Database::num_rows($rs) > 0) {
3697
                    $sql = "UPDATE $tableItemProperty
3698
                            SET
3699
                                lastedit_type='".str_replace('_', '', ucwords($tool))."Visible',
3700
                                lastedit_date='$time',
3701
                                lastedit_user_id = $user_id,
3702
                                visibility = $visibility,
3703
                                session_id = $session_id $set_type
3704
                            WHERE $filter";
3705
                    $result = Database::query($sql);
3706
                } else {
3707
                    $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)
3708
                            VALUES ($course_id, '$tool', $item_id, '$time', $user_id, '$time', '$last_edit_type', $user_id, $toValueCondition, $visibility, $startVisible, $endVisible, $session_id)";
3709
                    $result = Database::query($sql);
3710
                    $id = Database::insert_id();
3711
                    if ($id) {
3712
                        $sql = "UPDATE $tableItemProperty SET id = iid WHERE iid = $id";
3713
                        Database::query($sql);
3714
                    }
3715
                }
3716
            } else {
3717
                $sql = "UPDATE $tableItemProperty
3718
                        SET
3719
                            lastedit_type='".str_replace('_', '', ucwords($tool))."Visible',
3720
                            lastedit_date='$time',
3721
                            lastedit_user_id = $user_id,
3722
                            visibility = $visibility $set_type
3723
                        WHERE $filter";
3724
                $result = Database::query($sql);
3725
            }
3726
            break;
3727
        case 'invisible' : // Change item to invisible.
3728
            $visibility = '0';
3729
            if (!empty($session_id)) {
@@ 3727-3768 (lines=42) @@
3724
                $result = Database::query($sql);
3725
            }
3726
            break;
3727
        case 'invisible' : // Change item to invisible.
3728
            $visibility = '0';
3729
            if (!empty($session_id)) {
3730
                // Check whether session id already exist into item_properties for updating visibility or add it
3731
                $sql = "SELECT session_id FROM $tableItemProperty
3732
                        WHERE
3733
                            c_id = $course_id AND
3734
                            tool = '$tool' AND
3735
                            ref = $item_id AND
3736
                            session_id = $session_id";
3737
                $rs = Database::query($sql);
3738
                if (Database::num_rows($rs) > 0) {
3739
                    $sql = "UPDATE $tableItemProperty
3740
                            SET
3741
                                lastedit_type = '".str_replace('_', '', ucwords($tool))."Invisible',
3742
                                lastedit_date = '$time',
3743
                                lastedit_user_id = $user_id,
3744
                                visibility = $visibility,
3745
                                session_id = $session_id $set_type
3746
                            WHERE $filter";
3747
                    $result = Database::query($sql);
3748
                } else {
3749
                    $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)
3750
                            VALUES ($course_id, '$tool', $item_id, '$time', $user_id, '$time', '$last_edit_type', $user_id, $toValueCondition, $visibility, $startVisible, $endVisible, $session_id)";
3751
                    $result = Database::query($sql);
3752
                    $id = Database::insert_id();
3753
                    if ($id) {
3754
                        $sql = "UPDATE $tableItemProperty SET id = iid WHERE iid = $id";
3755
                        Database::query($sql);
3756
                    }
3757
                }
3758
            } else {
3759
                $sql = "UPDATE $tableItemProperty
3760
                        SET
3761
                            lastedit_type = '".str_replace('_', '', ucwords($tool))."Invisible',
3762
                            lastedit_date = '$time',
3763
                            lastedit_user_id = $user_id,
3764
                            visibility = $visibility $set_type
3765
                        WHERE $filter";
3766
                $result = Database::query($sql);
3767
            }
3768
            break;
3769
        default: // The item will be added or updated.
3770
            $set_type = ", lastedit_type = '$last_edit_type' ";
3771
            $visibility = '1';