Code Duplication    Length = 42-42 lines in 3 locations

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

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