コード例 #1
0
ファイル: student-model.php プロジェクト: Bnei-Baruch/Namaste
 static function lesson_status($student_id, $lesson_id, $status)
 {
     global $wpdb, $user_ID;
     // security check
     $multiuser_access = 'all';
     $multiuser_access = NamasteLMSMultiUser::check_access('students_access');
     if ((!current_user_can('namaste_manage') or $multiuser_access == 'view') and $user_ID != $student_id) {
         wp_die(__("You cannot change someone else's status", 'namaste'));
     }
     // if status == -1 we have to remove the existing record if any
     if ($status == -1) {
         $wpdb->query($wpdb->prepare("DELETE FROM " . NAMASTE_STUDENT_LESSONS . " \n\t\t\t \tWHERE student_id = %d AND lesson_id = %d", $student_id, $lesson_id));
     }
     // complete lesson - don't allow "completed" if there are unsatisfied requirements
     if ($status == 1) {
         if (!NamasteLMSLessonModel::is_ready($lesson_id, $student_id, true)) {
             return false;
         }
         NamasteLMSLessonModel::complete($lesson_id, $student_id);
     }
     // set as 'in progress'
     if ($status == 0) {
         // record exists?
         $exists = $wpdb->get_var($wpdb->prepare("SELECT id FROM " . NAMASTE_STUDENT_LESSONS . "\n\t\t\t \tWHERE student_id = %d AND lesson_id = %d", $student_id, $lesson_id));
         if ($exists) {
             $wpdb->query($wpdb->prepare("UPDATE " . NAMASTE_STUDENT_LESSONS . " \n\t\t\t \t\t\tSET status=%d, completion_date = %s, completion_time=%s WHERE id=%d", $status, date("Y-m-d", current_time('timestamp')), current_time('mysql'), $exists));
         } else {
             $wpdb->query($wpdb->prepare("INSERT INTO " . NAMASTE_STUDENT_LESSONS . " SET\n\t\t\t \t\t\tlesson_id = %d, student_id = %d, status = %d, completion_date = %s, completion_time=%s", $lesson_id, $student_id, $status, date("Y-m-d", current_time('timestamp')), current_time('mysql')));
         }
     }
     return true;
 }
コード例 #2
0
ファイル: functions.php プロジェクト: Bnei-Baruch/kabacademy
function namaste_mark()
{
    global $wpdb, $post, $user_ID;
    if (!is_user_logged_in()) {
        return "";
    }
    // ready for completion?
    if (NamasteLMSLessonModel::is_completed($post->ID, $user_ID)) {
        return __('Lesson completed!', 'namaste');
    } elseif (NamasteLMSLessonModel::is_ready($post->ID, $user_ID, false, true)) {
        // display button or mark as completed
        if (!empty($_POST['mark'])) {
            NamasteLMSLessonModel::complete($post->ID, $user_ID);
            return __('Lesson completed!', 'namaste');
        } else {
            return '<form method="post" action="">
				<p><input type="submit" class="namaste-mark" name="mark" value="' . __('Mark as completed', 'namaste') . '"></p>
				</form>';
        }
    } else {
        return '<form method="post" action="">
				<p><input type="submit" class="namaste-mark" name="mark" value="' . __('Mark as completed', 'namaste') . '" disabled="disabled"></p>
				</form>';
    }
}
コード例 #3
0
ファイル: shortcodes.php プロジェクト: Bnei-Baruch/Namaste
    static function mark()
    {
        global $wpdb, $post, $user_ID;
        if (!is_user_logged_in()) {
            return "";
        }
        // is the lesson in progress?
        $in_progress = $wpdb->get_var($wpdb->prepare("SELECT id FROM " . NAMASTE_STUDENT_LESSONS . " \n\t\t\tWHERE lesson_id=%d AND student_id=%d AND status!=1", $post->ID, $user_ID));
        if (!$in_progress) {
            return '';
        }
        // ready for completion?
        if (NamasteLMSLessonModel::is_ready($post->ID, $user_ID, false, true)) {
            // display button or mark as completed
            if (!empty($_POST['mark'])) {
                NamasteLMSLessonModel::complete($post->ID, $user_ID);
                return __('Lesson completed!', 'namaste');
            } else {
                return '<form method="post" action="">
				<p><input type="submit" name="mark" value="' . __('Mark as completed', 'namaste') . '"></p>
				</form>';
            }
        }
    }
コード例 #4
0
ファイル: homeworks.php プロジェクト: Bnei-Baruch/Namaste
 static function change_solution_status($lesson, $student_id = NULL)
 {
     global $wpdb, $user_ID;
     if (!current_user_can('namaste_manage')) {
         wp_die(__('You are not allowed to do this', 'namaste'));
     }
     $solution = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . NAMASTE_STUDENT_HOMEWORKS . " WHERE id=%d", $_POST['solution_id']));
     if (!$student_id) {
         $student_id = $solution->student_id;
     }
     $homework = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . NAMASTE_HOMEWORKS . " WHERE id=%d", $solution->homework_id));
     $multiuser_access = 'all';
     $multiuser_access = NamasteLMSMultiUser::check_access('homework_access');
     if ($multiuser_access == 'own' and $homework->editor_id != $user_ID) {
         wp_die(__('You are not allowed to see these solutions', 'namaste'));
     }
     $wpdb->query($wpdb->prepare("UPDATE " . NAMASTE_STUDENT_HOMEWORKS . " SET\n\t\t\tstatus=%s WHERE id=%d", $_POST['status'], $_POST['solution_id']));
     do_action('namaste_change_solution_status', $student_id, $_POST['solution_id'], $_POST['status']);
     // insert in history
     $wpdb->query($wpdb->prepare("INSERT INTO " . NAMASTE_HISTORY . " SET\n\t\t\tuser_id=%d, date=CURDATE(), datetime=NOW(), action='solution_processed', value=%s, num_value=%d", $student_id, sprintf(__('Solution to assignment %s was %s', 'namaste'), $homework->title, $_POST['status']), $_POST['solution_id']));
     // award points?
     if ($_POST['status'] == 'approved' and get_option('namaste_use_points_system')) {
         if ($homework->award_points) {
             NamastePoint::award($student_id, $homework->award_points, sprintf(__('Received %d points for completing assignment "%s".', 'namaste'), $homework->award_points, $homework->title, 'homework', $homework->id));
         }
     }
     // maybe complete the lesson if the status is approved
     if ($_POST['status'] == 'approved' and NamasteLMSLessonModel::is_ready($lesson->ID, $student_id)) {
         NamasteLMSLessonModel::complete($lesson->ID, $student_id);
     }
 }