Пример #1
0
/**
 * 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);
}
Пример #5
0
 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);
 }
Пример #6
0
 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);
 }
Пример #8
0
        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 
        }
Пример #9
0
/**
 * 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) : '';
}
Пример #10
0
<?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');
    ?>
Пример #11
0
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 );
}
Пример #12
0
        /**
         * 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;
            }
        }
Пример #13
0
/**
 * 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);
}
Пример #14
0
 /**
  * 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');
 }