/** * Get current user * @return LPR_User */ function learn_press_get_current_user() { $user_id = get_current_user_id(); $current_user = false; if ($user_id) { $current_user = learn_press_get_user($user_id); } else { $current_user = LP_User_Guest::instance(); } return $current_user; }
function trigger($course_id, $user) { if (is_numeric($user)) { $user = learn_press_get_user($user); } $this->find['site_title'] = '{site_title}'; $this->find['course_name'] = '{course_name}'; $this->replace['site_title'] = $this->get_blogname(); $this->replace['course_name'] = get_the_title($course_id); $this->object = array('course' => $course_id, 'user' => $user); if ($user) { $this->user_email = stripslashes($user->user_email); $this->recipient = $this->user_email; } if ($this->enable != 'yes' || !$this->get_recipient()) { return; } $return = $this->send($this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments()); return $return; }
function learn_press_get_user_questions($user_id = null, $args = array()) { if (!$user_id) { $user_id = get_current_user_id(); } return learn_press_get_user($user_id)->get_questions($args); }
/** * Return true if a course is required review before submit * * @param null $course_id * @param null $user_id * * @return bool */ function learn_press_course_is_required_review($course_id = null, $user_id = null) { if (!$user_id) { $user_id = get_current_user_id(); } if (!$course_id) { global $post; $course_id = $post->ID; } if (get_post_type($course_id) != 'lp_course') { return false; } $user = learn_press_get_user($user_id); if ($user->is_admin() || ($user_course = learn_press_get_user(get_post_field('post_author', $course_id))) && $user_course->is_admin()) { return false; } $required_review = LP()->settings->get('required_review') == 'yes'; $enable_edit_published = LP()->settings->get('enable_edit_published') == 'yes'; $is_publish = get_post_status($course_id) == 'publish'; return !(!$required_review || $required_review && $enable_edit_published && $is_publish); }
public function get_course_info($user_id = null) { if (!$user_id) { $user_id = get_current_user_id(); } $user = learn_press_get_user($user_id); return $user->get_course_info($this->id); }
function get_user($field = '') { $user = learn_press_get_user($this->user_id); if ($field) { return $user->{$field}; } return $user; }
function _evaluate_course_by_quiz($user_id) { global $wpdb; $final_quiz = LP_Quiz::get_quiz($this->final_quiz); $user = learn_press_get_user($user_id); $results = $user->get_quiz_results($this->final_quiz); if (!$results) { $result = 0; } else { if (!empty($results->results['quiz_mark'])) { $result = $results->results['mark'] / $results->results['quiz_mark']; } else { $result = 0; } } return apply_filters('learn_press_evaluation_course_quiz', $result, $this->id, $user_id); }
function order_details($post) { $user = learn_press_get_user(get_post_meta($post->ID, '_learn_press_customer_id', true)); $order_items = learn_press_get_order_items($post->ID); $status = strtolower(get_post_meta($post->ID, '_learn_press_transaction_status', true)); if ($status && !in_array($status, array('completed', 'pending'))) { $status = 'Pending'; } $currency_symbol = learn_press_get_currency_symbol($order_items->currency); ?> <div class="order-details"> <div class="order-data"> <div class="order-data-number"><?php echo learn_press_transaction_order_number($post->ID); ?> </div> <div class="order-data-date"><?php echo learn_press_transaction_order_date($post->post_date); ?> </div> <div class="order-data-status <?php echo sanitize_title($status); ?> "><?php echo $status; ?> </div> <div class="order-data-payment-method"><?php echo learn_press_payment_method_from_slug($post->ID); ?> </div> </div> <div class="order-user-data clearfix"> <div class="order-user-avatar"> <?php echo get_avatar($user->ID, 120); ?> </div> <div class="order-user-meta"> <h2 class="user-display-name"> <?php echo empty($user->display_name) ? __('Unknown', 'learn_press') : $user->display_name; ?> </h2> <div class="user-email"> <?php echo empty($user->user_email) ? __('Unknown', 'learn_press') : $user->user_email; ?> </div> <div class="user-ip-address"> <?php echo get_post_meta($post->ID, '_learn_press_customer_ip', true); ?> </div> </div> </div> <div class="order-products"> <table> <thead> <tr> <th colspan="2"><?php _e('Courses', 'learn_press'); ?> </th> <th class="align-right"><?php _e('Amount', 'learn_press'); ?> </th> </tr> </thead> <tbody> <?php if ($products = learn_press_get_transition_products($post->ID)) { foreach ($products as $pro) { ?> <tr> <td colspan="2"> <a href="<?php the_permalink($pro->ID); ?> "><?php echo get_the_title($pro->ID); ?> </a> </td> <td class="align-right"><?php echo $pro->amount ? learn_press_format_price($pro->amount, $currency_symbol) : __('Free!', 'learn_press'); ?> </td> </tr> <?php } } ?> </tbody> <tfoot> <tr> <td></td> <td width="300" class="align-right"><?php _e('Sub Total', 'learn_press'); ?> </td> <td width="100" class="align-right"><?php echo learn_press_format_price($order_items->sub_total, $currency_symbol); ?> </td> </tr> <tr> <td></td> <td class="align-right"><?php _e('Total', 'learn_press'); ?> </td> <td class="align-right total"><?php echo learn_press_format_price($order_items->total, $currency_symbol); ?> </td> </tr> <tr> <td></td> <td class="align-right" colspan="2"> <?php _e('Status', 'learn_press'); ?> <select name="learn_press_order_status"> <?php foreach (learn_press_get_order_statuses() as $status => $label) { ?> <option value="<?php echo $status; ?> " <?php selected($status == get_post_status($post->ID) ? 1 : 0, 1); ?> ><?php echo $label; ?> </option> <?php } ?> </select> <button id="update-order-status" class="button button-primary" type="button"><?php _e('Apply', 'learn_press'); ?> </button> </td> </tr> </tfoot> </table> </div> </div> <?php }
/** * Get current status of a quiz for user * Status: * - null => User does not start quiz * - Started => User has started quiz * - Completed => User has finished quiz * * @param $quiz_id * @param bool|false $user_id * * @return string */ function learn_press_get_user_quiz_status($quiz_id, $user_id = false) { $user = $user_id ? learn_press_get_user($user_id) : LP()->user; return $user ? $user->get_quiz_status($quiz_id) : ''; }
<?php global $post; if (!learn_press_course_is_required_review($post->ID, get_current_user_id())) { //return; } $user = learn_press_get_current_user(); $course_user = learn_press_get_user(get_post_field('post_author', $post->ID)); if ($user->is_instructor()) { ?> <div id="learn-press-review-message"> <h4><?php _e('Your message to Reviewer', 'learn_press'); ?> </h4> <textarea disabled="disabled" name="review_message" resize="none" placeholder="<?php _e('Enter some information here for reviewer', 'learn_press'); ?> "></textarea> <p> <label> <input type="checkbox" id="learn-press-notice-check" /> <?php _e('Notice to the admin for reviewing', 'learn_press'); ?> </label> </p> <p class="description submitdelete"> <?php _e('Warning! Your course will become to Pending Review for admin reviews before it can be published when you update'); ?>
function test_mail() { $user = learn_press_get_user(1); //do_action( 'learn_press_course_submit_rejected', 1673, $user ); //do_action( 'learn_press_course_submit_approved', 1673, $user ); //do_action( 'learn_press_course_submit_for_reviewer', 1673, $user ); //do_action( 'learn_press_user_enrolled_course', $user, 1673, 3 ); //do_action( 'learn_press_order_status_pending_to_processing' ); //do_action( 'learn_press_order_status_pending_to_completed' ); //do_action( 'learn_press_order_status_processing_to_completed' );*/ //do_action( 'learn_press_course_submitted', 920, $user ); //do_action( 'learn_press_course_approved', 920, $user ); }
/** * Render column data * */ function columns_content($column) { global $post; $the_order = learn_press_get_order($post->ID); //print_r($the_order->get_items());die(); switch ($column) { case 'order_student': if ($the_order->user_id) { $user = learn_press_get_user($the_order->user_id); printf('<a href="user-edit.php?user_id=%d">%s (%s)</a>', $the_order->user_id, $user->user_login, $user->display_name); printf('<br /><span>%s</span>', $user->user_email); } else { _e('Guest', 'learn_press'); } break; case 'order_status': echo learn_press_get_order_status_label($post->ID); break; case 'order_date': $t_time = get_the_time('Y/m/d g:i:s a'); $m_time = $post->post_date; $time = get_post_time('G', true, $post); $time_diff = current_time('timestamp') - $time; if ($time_diff > 0 && $time_diff < DAY_IN_SECONDS) { $h_time = sprintf(__('%s ago', 'learn_press'), human_time_diff($time)); } else { $h_time = mysql2date('Y/m/d', $m_time); } echo '<abbr title="' . esc_attr($t_time) . '">' . esc_html(apply_filters('learn_press_order_column_time', $h_time, $the_order)) . '</abbr>'; break; case 'order_items': $links = array(); foreach ($the_order->get_items() as $item) { $links[] = '<a href="' . get_the_permalink($item['course_id']) . '">' . get_the_title($item['course_id']) . '</a>'; } echo join("<br />", $links); break; case 'order_total': echo learn_press_format_price($the_order->order_total, learn_press_get_currency_symbol($the_order->order_currency)); break; case 'order_title': $order_number = sprintf("%'.010d", $the_order->ID); ?> <div class="tips"> <a href="post.php?post=<?php echo $the_order->ID; ?> &action=edit"><strong><?php echo learn_press_transaction_order_number($order_number); ?> </strong></a> </div> <?php break; } }
/** * Get current user * @return LPR_User */ function learn_press_get_current_user() { $user_id = get_current_user_id(); return learn_press_get_user($user_id); }
/** * Log the messages between admin and instructor */ function post_review_message_box() { global $post; if (get_post_type($post->ID) != 'lp_course') { return false; } //$user = learn_press_get_current_user(); $course_user = learn_press_get_user(get_post_field('post_author', $post->ID)); if ($course_user->is_admin()) { return; } $required_review = LP()->settings->get('required_review') == 'yes'; //$enable_edit_published = LP()->settings->get( 'enable_edit_published' ) == 'yes'; //$is_publish = get_post_status( $post->ID ) == 'publish'; if (!$required_review) { return; } /*if( $enable_edit_published ){ return; }*/ learn_press_admin_view('meta-boxes/course/review-log'); }