Code Duplication    Length = 42-42 lines in 3 locations

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

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