コード例 #1
0
ファイル: functions.php プロジェクト: durichitayat/befolio-wp
function get_the_job_date($post = null)
{
    if (!$post) {
        global $post;
    }
    //    $post = get_post($post);
    if ($post->post_type == 'job_listing') {
        $dates = get_post_meta(get_the_ID(), '_datetime', true);
        if (is_array($dates) && !empty($dates)) {
            $events_date = array();
            foreach ($dates as $info) {
                $events_date[] = array('date' => $info);
            }
            usort($events_date, function ($a, $b) {
                return strtotime($b['date']) - strtotime($a['date']);
            });
            $today_event = searchForToday(date("Y-m-d"), $events_date);
            $recent_event = find_closest($events_date, date("Y-m-d"));
            if ($today_event) {
                return $today_event;
            } elseif ($recent_event) {
                return $recent_event['date'];
            } else {
                return $events_date[0]['date'];
            }
            return FALSE;
        }
    }
    if ($post->post_type == 'befolio_event') {
        return $post->post_date;
    }
}
コード例 #2
0
 public function summarise_response_withhelp(array $response)
 {
     global $CFG;
     require_once $CFG->dirroot . '/question/type/regexp/locallib.php';
     if (isset($response['answer'])) {
         $answer = $response['answer'];
         $closest = find_closest($this, $currentanswer = $answer, $correct_response = false, $hintadded = true);
         return $answer . ' => ' . $closest[0];
     } else {
         return null;
     }
 }
コード例 #3
0
 public function formulation_and_controls(question_attempt $qa, question_display_options $options)
 {
     global $CFG, $currentanswerwithhint;
     require_once $CFG->dirroot . '/question/type/regexp/locallib.php';
     $question = $qa->get_question();
     $inputname = $qa->get_qt_field_name('answer');
     $ispreview = !isset($options->attempt);
     $currentanswer = remove_blanks($qa->get_last_qt_var('answer'));
     $response = $qa->get_last_qt_data();
     $laststep = $qa->get_reverse_step_iterator();
     $hintadded = false;
     foreach ($qa->get_reverse_step_iterator() as $step) {
         $hintadded = $step->has_behaviour_var('_helps') === true;
         break;
     }
     $closest = find_closest($question, $currentanswer, $correct_response = false, $hintadded);
     $question->closest = $closest;
     $currentanswer = $closest[0];
     //js script for showing / hiding regexp generated alternative sentences (for teacher only)
     if ($ispreview) {
         $alternateanswers = get_alternateanswers($question);
         $response = $question->get_correct_response();
         $correctanswer = $response['answer'];
         $id = "showhidebutton";
         echo html_writer::start_tag('div');
         echo html_writer::empty_tag('input', array('type' => 'button', 'value' => get_string("showalternate", "qtype_regexp"), 'id' => $id, 'name' => $id));
         echo html_writer::end_tag('div');
         $this->page->requires->js_init_call('M.qtype_regexp.showhidealternate', array('#' . $id, '#alternateanswers'), false, array('name' => 'qtype_regexp', 'fullpath' => '/question/type/regexp/module.js', 'requires' => array('base', 'node', 'event'), 'strings' => array(array('showalternate', 'qtype_regexp'), array('hidealternate', 'qtype_regexp'))));
         echo html_writer::start_tag('div', array('id' => 'alternateanswers', 'style' => 'display:none;'));
         echo '<hr />';
         if ($question->usecase) {
             $case = get_string('caseyes', 'qtype_regexp');
         } else {
             $case = get_string('caseno', 'qtype_regexp');
         }
         echo get_string('casesensitive', 'qtype_regexp') . ' : <b>' . $case . '</b><hr />';
         foreach ($alternateanswers as $key => $alternateanswer) {
             echo get_string('answer') . ' ' . $key . ' (' . $alternateanswer['fraction'] . ') ', '<span class="regexp">' . $alternateanswer['regexp'] . '</span>';
             $list = '';
             foreach ($alternateanswer['answers'] as $alternate) {
                 $list .= '<li>' . $alternate . '</li>';
             }
             echo '<ul class="square">' . $list . '</ul>';
         }
         echo "<hr />";
         echo html_writer::end_tag('div');
     }
     $inputattributes = array('type' => 'text', 'name' => $inputname, 'value' => $currentanswer, 'id' => $inputname, 'size' => 80);
     if ($options->readonly) {
         $inputattributes['readonly'] = 'readonly';
     }
     $feedbackimg = '';
     if ($options->correctness) {
         $answer = $question->get_matching_answer(array('answer' => $currentanswer));
         if ($answer) {
             $fraction = $answer->fraction;
         } else {
             $fraction = 0;
         }
         $inputattributes['class'] = $this->feedback_class($fraction);
         $feedbackimg = $this->feedback_image($fraction);
     }
     $questiontext = $question->format_questiontext($qa);
     $placeholder = false;
     if (preg_match('/_____+/', $questiontext, $matches)) {
         $placeholder = $matches[0];
         $inputattributes['size'] = round(strlen($placeholder) * 1.1);
     }
     $input = html_writer::empty_tag('input', $inputattributes) . $feedbackimg;
     if ($placeholder) {
         $questiontext = substr_replace($questiontext, $input, strpos($questiontext, $placeholder), strlen($placeholder));
     }
     $result = html_writer::tag('div', $questiontext, array('class' => 'qtext'));
     if (!$placeholder) {
         $result .= html_writer::start_tag('div', array('class' => 'ablock'));
         $result .= get_string('answer', 'qtype_shortanswer', html_writer::tag('div', $input, array('class' => 'answer')));
         $result .= html_writer::end_tag('div');
     }
     if ($qa->get_state() == question_state::$invalid) {
         $result .= html_writer::nonempty_tag('div', $question->get_validation_error(array('answer' => $currentanswer)), array('class' => 'validationerror'));
     }
     return $result;
 }