当前位置: 首页>>代码示例>>PHP>>正文


PHP WooThemes_Sensei_Utils::user_course_status方法代码示例

本文整理汇总了PHP中WooThemes_Sensei_Utils::user_course_status方法的典型用法代码示例。如果您正苦于以下问题:PHP WooThemes_Sensei_Utils::user_course_status方法的具体用法?PHP WooThemes_Sensei_Utils::user_course_status怎么用?PHP WooThemes_Sensei_Utils::user_course_status使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WooThemes_Sensei_Utils的用法示例。


在下文中一共展示了WooThemes_Sensei_Utils::user_course_status方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testUpdateUserData

 /**
  * This tests Woothemes_Sensei_Utils::update_user_data
  */
 public function testUpdateUserData()
 {
     //setup data needed for this test
     $test_user_id = wp_create_user('testUpdateUserData', 'testUpdateUserData', 'testUpdateUserData@test.com');
     // does this function add_user_data exist?
     $this->assertTrue(method_exists('WooThemes_Sensei_Utils', 'update_user_data'), 'The utils class function `update_user_data` does not exist ');
     // does it return false for invalid data
     $invalid_data_message = 'This function does not check false data correctly';
     $this->assertFalse(WooThemes_Sensei_Utils::update_user_data('', '', '', ''), $invalid_data_message . ": '','','','' ");
     $this->assertFalse(WooThemes_Sensei_Utils::update_user_data(' ', ' ', ' ', ' '), $invalid_data_message . ": ' ', ' ', ' ', ' ' ");
     $this->assertFalse(WooThemes_Sensei_Utils::update_user_data(-1, -2, -3, -1), $invalid_data_message . ": -1,-2, -3, -1 ");
     $this->assertFalse(WooThemes_Sensei_Utils::update_user_data('key', 500, 'val', 5000), $invalid_data_message . ": 'key', 500, 'val', 5000 ");
     //does this function return false when attempting to add user data on non sensei post types
     $test_post = $this->factory->post->create();
     $this->assertFalse(WooThemes_Sensei_Utils::update_user_data('key', $test_post, 'val', $test_user_id), 'This function does not reject unsupported post types');
     //does this function return false when attempting to add user data on non sensei post types
     $test_array = array(1, 2, 3, 4);
     $test_course_id = $this->factory->post->create(array('post_type' => "course"));
     $test_data_key = 'test_key';
     WooThemes_Sensei_Utils::update_user_data($test_data_key, $test_course_id, $test_array, $test_user_id);
     $course_status = WooThemes_Sensei_Utils::user_course_status($test_course_id, $test_user_id);
     // is the status updated on the passed in sensei post type ?
     $this->assertTrue(isset($course_status->comment_ID), 'This function did not create the status on the passed in sensei post type');
     // setup the next group of assertions
     $retrieved_array = get_comment_meta($course_status->comment_ID, $test_data_key, true);
     // is the data saved still intact
     $this->assertEquals($test_array, $retrieved_array, 'The saved and retrieved data does not match');
 }
开发者ID:pra85,项目名称:sensei,代码行数:31,代码来源:test-class-utils.php

示例2: savedquest_options


//.........这里部分代码省略.........
				<th><?php 
                echo $diftime;
                ?>
</th>
				<td><?php 
                echo implode(', ', $user_info->roles);
                ?>
</td>
		
			</tr>
			<?php 
            }
            ?>

			<?php 
        }
        ?>

		</table><br /><br />


	<?php 
    } elseif ($tab == "timequizecompleted") {
        global $woothemes_sensei, $post, $current_user, $wp_query, $learner_user;
        echo "<table class='wp-list-table widefat fixed striped pages'>";
        $allUsers = get_users();
        echo "<tr>\r\r\n\t\t\t\t<th>User</th>\r\r\n\t\t\t\t<th>Courses</th>\r\r\n\t\t\t\t<th>Percentage Incomplete</th>\r\r\n\t\t\t\t<th>Percentage Complete</th>\r\r\n\t\t\t\t<th>Percentage Competent</th>\r\r\n\t\t\t\t<th>Percentage Attempted</th>\r\r\n\t\t\t\t<th>Length of time Course Completed</th>\r\r\n\t\t\t  </tr>";
        foreach ($allUsers as $user) {
            $args = array('post_type' => 'course');
            $courses = get_posts($args);
            $i = 1;
            foreach ($courses as $course) {
                $course_user_grade = WooThemes_Sensei_Utils::sensei_course_user_grade($course->ID, $user->ID);
                $course_status = WooThemes_Sensei_Utils::user_course_status($course->ID, $user->ID);
                $course_status_update = get_comment_meta($course_status->comment_ID);
                if (!empty($course_status)) {
                    $displayed_lessons = array();
                    $modules = Sensei()->modules->get_course_modules(intval($course->ID));
                    foreach ($modules as $module) {
                        $args = array('post_type' => 'lesson', 'post_status' => 'publish', 'posts_per_page' => -1, 'meta_query' => array(array('key' => '_lesson_course', 'value' => intval($course->ID), 'compare' => '=')), 'tax_query' => array(array('taxonomy' => Sensei()->modules->taxonomy, 'field' => 'id', 'terms' => intval($module->term_id))), 'meta_key' => '_order_module_' . $module->term_id, 'orderby' => 'meta_value_num date', 'order' => 'ASC', 'suppress_filters' => 0);
                        $lessons = get_posts($args);
                        if (count($lessons) > 0) {
                            $html .= '<h3>' . $module->name . '</h3>' . "\n";
                            $count = 0;
                            foreach ($lessons as $lesson_item) {
                                $lesson_grade = ' n/a';
                                $has_questions = get_post_meta($lesson_item->ID, '_quiz_has_questions', true);
                                if ($has_questions) {
                                    $lesson_status = WooThemes_Sensei_Utils::user_lesson_status($lesson_item->ID, $user->ID);
                                    // Get user quiz grade
                                    $lesson_grade = get_comment_meta($lesson_status->comment_ID, 'grade', true);
                                    if ($lesson_grade) {
                                        $lesson_grade .= '%';
                                    }
                                    $modulequizdata = get_comment_meta($lesson_status->comment_ID);
                                    //echo "<a href='".get_post_permalink($lesson_item->ID)."'>".$lesson_item->post_title."</a><br />";
                                    $modulequestion_asked = count(explode(",", $modulequizdata['questions_asked'][0]));
                                    $moduleanswered_quiz = count(unserialize($modulequizdata['quiz_answers'][0]));
                                    //echo "number of questions:".$modulequestion_asked."<br />";
                                    //echo "number of Answered:".$moduleanswered_quiz."<br />";
                                    if ($course_status->comment_approved == "complete") {
                                        $attempted = "(100%)";
                                    } else {
                                        if ($modulequizdata['grade'][0] == "") {
                                            if ($lesson_status->comment_approved == "passed") {
                                                $attempted = 'P/Q';
开发者ID:Ezyva2015,项目名称:opendooronline.com.au,代码行数:67,代码来源:fp-sensei-extended-function.php

示例3: activate_purchased_single_course

 /**
  * Activate single course if already purchases
  * @return void
  */
 public function activate_purchased_single_course()
 {
     global $post, $current_user;
     if (WooThemes_Sensei_Utils::sensei_is_woocommerce_activated()) {
         if (!is_user_logged_in()) {
             return;
         }
         if (!isset($post->ID)) {
             return;
         }
         $user_id = $current_user->ID;
         $course_id = $post->ID;
         $course_product_id = (int) get_post_meta($course_id, '_course_woocommerce_product', true);
         if (!$course_product_id) {
             return;
         }
         $user_course_status = WooThemes_Sensei_Utils::user_course_status(intval($course_id), $user_id);
         // Ignore course if already completed
         if (WooThemes_Sensei_Utils::user_completed_course($user_course_status)) {
             return;
         }
         // Ignore course if already started
         if ($user_course_status) {
             return;
         }
         // Get all user's orders
         $order_args = array('post_type' => 'shop_order', 'posts_per_page' => -1, 'post_status' => array('wc-processing', 'wc-completed'), 'meta_query' => array(array('key' => '_customer_user', 'value' => $user_id)), 'fields' => 'ids');
         $orders = get_posts($order_args);
         foreach ($orders as $order_post_id) {
             // Get course product IDs from order
             $order = new WC_Order($order_post_id);
             $items = $order->get_items();
             foreach ($items as $item) {
                 $product = wc_get_product($item['product_id']);
                 // handle product bundles
                 if ($product->is_type('bundle')) {
                     $bundled_product = new WC_Product_Bundle($product->id);
                     $bundled_items = $bundled_product->get_bundled_items();
                     foreach ($bundled_items as $item) {
                         if ($item->product_id == $course_product_id) {
                             WooThemes_Sensei_Utils::user_start_course($user_id, $course_id);
                             return;
                         }
                     }
                 } else {
                     // handle regular products
                     if ($item['product_id'] == $course_product_id) {
                         WooThemes_Sensei_Utils::user_start_course($user_id, $course_id);
                         return;
                     }
                 }
             }
         }
     }
 }
开发者ID:Ezyva2015,项目名称:opendooronline.com.au,代码行数:59,代码来源:class-woothemes-sensei-frontend.php

示例4: user_completed_course

 /**
  * Check if a user has completed a course or not
  *
  * @param mixed $course course_id or sensei_course_status entry
  * @param int $user_id
  * @return boolean
  */
 public static function user_completed_course($course = 0, $user_id = 0)
 {
     if ($course) {
         if (is_object($course)) {
             $user_course_status = $course->comment_approved;
         } elseif (is_string($course)) {
             $user_course_status = $course;
         } else {
             if (!$user_id) {
                 $user_id = get_current_user_id();
             }
             $user_course_status = WooThemes_Sensei_Utils::user_course_status($course, $user_id);
             if (isset($user_course_status->comment_approved)) {
                 $user_course_status = $user_course_status->comment_approved;
             }
         }
         if ($user_course_status && 'complete' == $user_course_status) {
             return true;
         }
     }
     return false;
 }
开发者ID:grey-rsi,项目名称:sensei,代码行数:29,代码来源:class-woothemes-sensei-utils.php

示例5: savedquest_options


//.........这里部分代码省略.........
                ?>
</td>



			</tr>

			<?php 
            }
            ?>

			<?php 
        }
        ?>

		</table><br /><br />





	<?php 
    } elseif ($tab == "timequizecompleted") {
        global $woothemes_sensei, $post, $current_user, $wp_query, $learner_user;
        echo "<table class='wp-list-table widefat fixed striped pages'>";
        $allUsers = get_users();
        echo "<tr>\n\n\t\t\t\t<th>User</th>\n\n\t\t\t\t<th>Courses</th>\n\n\t\t\t\t<th>Percentage Incomplete</th>\n\n\t\t\t\t<th>Percentage Complete</th>\n\n\t\t\t\t<th>Percentage Competent</th>\n\n\t\t\t\t<th>Percentage Attempted</th>\n\n\t\t\t\t<th>Length of time Course Completed</th>\n\n\t\t\t  </tr>";
        foreach ($allUsers as $user) {
            $args = array('post_type' => 'course');
            $courses = get_posts($args);
            $i = 1;
            foreach ($courses as $course) {
                $course_user_grade = WooThemes_Sensei_Utils::sensei_course_user_grade($course->ID, $user->ID);
                $course_status = WooThemes_Sensei_Utils::user_course_status($course->ID, $user->ID);
                $course_status_update = get_comment_meta($course_status->comment_ID);
                if (!empty($course_status)) {
                    $displayed_lessons = array();
                    $modules = Sensei()->modules->get_course_modules(intval($course->ID));
                    foreach ($modules as $module) {
                        $args = array('post_type' => 'lesson', 'post_status' => 'publish', 'posts_per_page' => -1, 'meta_query' => array(array('key' => '_lesson_course', 'value' => intval($course->ID), 'compare' => '=')), 'tax_query' => array(array('taxonomy' => Sensei()->modules->taxonomy, 'field' => 'id', 'terms' => intval($module->term_id))), 'meta_key' => '_order_module_' . $module->term_id, 'orderby' => 'meta_value_num date', 'order' => 'ASC', 'suppress_filters' => 0);
                        $lessons = get_posts($args);
                        if (count($lessons) > 0) {
                            $html .= '<h3>' . $module->name . '</h3>' . "\n";
                            $count = 0;
                            foreach ($lessons as $lesson_item) {
                                $lesson_grade = ' n/a';
                                $has_questions = get_post_meta($lesson_item->ID, '_quiz_has_questions', true);
                                if ($has_questions) {
                                    $lesson_status = WooThemes_Sensei_Utils::user_lesson_status($lesson_item->ID, $user->ID);
                                    // Get user quiz grade
                                    $lesson_grade = get_comment_meta($lesson_status->comment_ID, 'grade', true);
                                    if ($lesson_grade) {
                                        $lesson_grade .= '%';
                                    }
                                    $modulequizdata = get_comment_meta($lesson_status->comment_ID);
                                    //echo "<a href='".get_post_permalink($lesson_item->ID)."'>".$lesson_item->post_title."</a><br />";
                                    $modulequestion_asked = count(explode(",", $modulequizdata['questions_asked'][0]));
                                    $moduleanswered_quiz = count(unserialize($modulequizdata['quiz_answers'][0]));
                                    //echo "number of questions:".$modulequestion_asked."<br />";
                                    //echo "number of Answered:".$moduleanswered_quiz."<br />";
                                    //echo "<pre>";
                                    //echo "<h1>".$user->user_email.$lesson_item->post_title."</h1>";
                                    //print_r($course_status );
                                    //echo $course_status->comment_approved;
                                    //echo $modulequestion_asked."------".$moduleanswered_quiz;
                                    //echo "</pre>";
开发者ID:Ezyva2015,项目名称:opendooronline.com.au,代码行数:67,代码来源:functions.php


注:本文中的WooThemes_Sensei_Utils::user_course_status方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。