コード例 #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
ファイル: 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>';
            }
        }
    }
コード例 #3
0
ファイル: functions.php プロジェクト: Bnei-Baruch/kabacademy
function watucas_scheck()
{
    $uid = get_current_user_id();
    if (isset($_REQUEST['lesson_id']) && is_numeric($_REQUEST['lesson_id']) && $uid && NamasteLMSLessonModel::is_ready($_REQUEST['lesson_id'], $uid, true)) {
        echo '
        <script>
        jQuery(function ($) {
        jQuery(\'input[name="mark"]\').each(function(){
        jQuery(this).removeAttr("disabled");
        });
        });
        </script>';
    }
}
コード例 #4
0
             }
             break;
         }
     }
 }
 $quiz_details = $wpdb->get_row($wpdb->prepare("SELECT name,final_screen, description FROM {$wpdb->prefix}watu_master WHERE ID=%d", $exam_id));
 $quiz_details->final_screen = str_replace('%%TOTAL%%', '%%MAX-POINTS%%', $quiz_details->final_screen);
 $replace_these = array('%%SCORE%%', '%%MAX-POINTS%%', '%%PERCENTAGE%%', '%%GRADE%%', '%%RATING%%', '%%CORRECT%%', '%%WRONG_ANSWERS%%', '%%QUIZ_NAME%%', '%%DESCRIPTION%%', '%%GRADE-TITLE%%', '%%GRADE-DESCRIPTION%%', '%%POINTS%%');
 $with_these = array($achieved, $max_points, $percent, $grade, $rating, $num_correct, $num_questions - $num_correct, stripslashes($quiz_details->name), wpautop(stripslashes($quiz_details->description)), $gtitle, $gdescription, $achieved);
 // insert taking
 $uid = $user_ID ? $user_ID : 0;
 $wpdb->query($wpdb->prepare("INSERT INTO " . WATU_TAKINGS . " SET exam_id=%d, user_id=%d, ip=%s, date=CURDATE(),\r\n\t\tpoints=%d, grade_id=%d, result=%s, snapshot=''", $exam_id, $uid, $_SERVER['REMOTE_ADDR'], $achieved, $g_id, $grade));
 $taking_id = $wpdb->insert_id;
 // Show the results
 $output = str_replace($replace_these, $with_these, wpautop(stripslashes($quiz_details->final_screen)));
 if (isset($_REQUEST['lesson_id']) && is_numeric($_REQUEST['lesson_id']) && $uid && NamasteLMSLessonModel::is_ready($_REQUEST['lesson_id'], $uid, true)) {
     $output .= '<script>alert("true");</script>';
 } else {
     $output .= '<script>alert("false");</script>';
 }
 $final_output = apply_filters(WATU_CONTENT_FILTER, $output);
 echo $final_output;
 $results_output = '<hr />' . apply_filters(WATU_CONTENT_FILTER, $result);
 if ($answer_display == 1) {
     echo $results_output;
 }
 $snapshot = $final_output . $results_output;
 // update snapshot
 $wpdb->query($wpdb->prepare("UPDATE " . WATU_TAKINGS . " SET snapshot=%s WHERE ID=%d", $snapshot, $taking_id));
 // notify admin
 if (!empty($exam->notify_admin)) {
コード例 #5
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);
     }
 }