Code Duplication    Length = 42-42 lines in 3 locations

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

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