Code Duplication    Length = 42-42 lines in 3 locations

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

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