示例#1
0
function dt_payment_save_settings($current)
{
    if (!empty($_POST) && check_admin_referer('dt_payment_settings', '_wpnonce')) {
        $payment_settings = array();
        $payment_settings = get_option('dt_settings');
        unset($_POST['_wpnonce']);
        unset($_POST['_wp_http_referer']);
        unset($_POST['dt_save']);
        switch ($current) {
            case 'dt_set_commission':
                $payment_settings['set-commission']['commission'][$_POST['dt-setcom-teacher']] = $_POST;
                break;
            case 'dt_pay_commission':
                $teacher_info = get_userdata($_POST['dt-paycom-teacher']);
                $teacher_name = $teacher_info->display_name;
                $title = __('Commissions / ' . $teacher_name . ' / ' . date('Y-m-d'), 'dt_themes');
                $items_all = dt_decode_array($_POST['item_data_all']);
                $selected_items = isset($_POST['item']) ? $_POST['item'] : '';
                $new_items = array();
                if ($selected_items != '') {
                    $j = 0;
                    foreach ($items_all as $key => $item) {
                        if (isset($selected_items[$j]) && $selected_items[$j] == 'true') {
                            $students = array_merge(get_users(array('role' => 's2member_level1')), get_users(array('role' => 's2member_level2')), get_users(array('role' => 's2member_level3')), get_users(array('role' => 's2member_level4')));
                            foreach ($students as $student) {
                                $new_ccaps = '';
                                $student_level = get_user_field("s2member_access_role", $student->data->ID);
                                if ($student_level == 's2member_level2' || $student_level == 's2member_level3' || $student_level == 's2member_level4') {
                                    $all_ccaps = dt_get_all_paid_courses();
                                } else {
                                    $student_cap = get_user_field("s2member_access_ccaps", $student->data->ID);
                                    $all_ccaps = dt_remove_cid($student_cap);
                                }
                                if (in_array($item['course_id'], $all_ccaps)) {
                                    $prev_ccaps = get_user_meta($student->data->ID, 'commission_ccaps', true);
                                    $prev_ccaps = isset($prev_ccaps) ? $prev_ccaps : '';
                                    if ($prev_ccaps != '') {
                                        $new_ccaps = $prev_ccaps . ',' . $item['course_id'];
                                    } else {
                                        $new_ccaps = $item['course_id'];
                                    }
                                    update_user_meta($student->data->ID, 'commission_ccaps', $new_ccaps);
                                }
                            }
                            $new_items[] = $item;
                        }
                        $j++;
                    }
                    $payment_post = array('post_title' => $title, 'post_status' => 'publish', 'post_type' => 'dt_payments');
                    $payment_post_id = wp_insert_post($payment_post);
                    update_post_meta($payment_post_id, 'payment-data', $new_items);
                }
                break;
        }
        update_option('dt_settings', $payment_settings);
    }
}
示例#2
0
function dt_get_all_capabilities_id()
{
    $students_list = $students_cap = $new_ccaps = array();
    $students = array_merge(get_users(array('role' => 's2member_level1')), get_users(array('role' => 's2member_level2')), get_users(array('role' => 's2member_level3')), get_users(array('role' => 's2member_level4')));
    foreach ($students as $student) {
        $students_list[] = $student->data->ID;
        $student_level = get_user_field("s2member_access_role", $student->data->ID);
        if ($student_level == 's2member_level2' || $student_level == 's2member_level3' || $student_level == 's2member_level4') {
            $current_student_cap = dt_get_all_paid_courses();
        } else {
            $current_student_cap = get_user_field("s2member_access_ccaps", $student->data->ID);
            $current_student_cap = dt_remove_cid($current_student_cap);
        }
        $commission_paid_caps = get_user_meta($student->data->ID, 'commission_ccaps', true);
        $commission_paid_caps = array_filter(explode(',', $commission_paid_caps));
        $result_caps = array_diff($current_student_cap, $commission_paid_caps);
        $students_cap[] = $result_caps;
    }
    foreach ($students_cap as $key => $cap) {
        $new_ccaps = array_merge($new_ccaps, $cap);
    }
    return $new_ccaps;
}
function dt_get_user_completed_course_count($student_id)
{
    $student_level = get_user_field("s2member_access_role", $student_id);
    if ($student_level == 's2member_level2' || $student_level == 's2member_level3' || $student_level == 's2member_level4') {
        $student_cap = dt_get_all_paid_courses();
    } else {
        $student_cap = get_user_field("s2member_access_ccaps", $student_id);
        $student_cap = dt_remove_cid($student_cap);
    }
    $i = 0;
    foreach ($student_cap as $course_id) {
        if (dt_get_users_course_status($course_id, $student_id)) {
            $i++;
        }
    }
    return $i;
}