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; } }
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; } }
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; }