Code Duplication    Length = 42-42 lines in 3 locations

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

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