Code Duplication    Length = 42-42 lines in 3 locations

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

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