function memorization_print_new_verse_box() { global $CFG, $USER; print_box_start('add-verse-box generalbox box'); print_heading(get_string('newverse', 'memorization')); $biblebooks = biblebooks_array(); // create the book selector $biblebookoptions = ''; foreach ($biblebooks as $booknumber => $bookofbible) { if ($booknumber == 0) { continue; } $biblebookoptions .= '<option value="' . $booknumber . '">' . $bookofbible . '</option>'; } $startbookid = '<select name="startbookid">' . $biblebookoptions . '</select>'; $endbookid = '<select name="endbookid">' . $biblebookoptions . '</select>'; // create the chapter inputs $startchapter = '<input type="text" name="startchapter" size="5" />'; $endchapter = '<input type="text" name="endchapter" size="5"/>'; // create the verse inputs $startverse = '<input type="text" name="startverse" size="5"/>'; $endverse = '<input type="text" name="endverse" size="5"/>'; // create the version chooser $versions = get_records('memorization_version'); if (!empty($versions)) { $versionselect = '<select name="versionid">'; $lastversionid = get_field_sql("SELECT versionid FROM {$CFG->prefix}memorization_verse WHERE userid={$USER->id} ORDER BY id DESC"); foreach ($versions as $versionid => $version) { $selected = $versionid == $lastversionid ? ' SELECTED="selected" ' : ''; $versionselect .= '<option ' . $selected . ' value="' . $versionid . '">' . $version->value . '</option>'; } $versionselect .= '</select>'; } $currenturl = new moodle_url(qualified_me()); echo '<form method="POST" action="addverse.php?' . $currenturl->get_query_string() . '"> <input type="hidden" name="sesskey" value="' . sesskey() . '"> <table> <tr> <td>' . get_string('fromverse', 'memorization') . '</td> <td>' . $startbookid . ' ' . $startchapter . ':' . $startverse . '</td> </tr> <tr> <td>' . get_string('toverse', 'memorization') . '</td> <td>' . $endbookid . ' ' . $endchapter . ':' . $endverse . '</td> </tr> <tr> <td>' . get_string('version', 'memorization') . '</td> <td>' . $versionselect . '</td> </tr> </table> <input type="submit"> </form>'; print_box_end(); }
function lookup_bible_verse($versionid, $startbookid, $startchapter, $startverse, $endbookid, $endchapter, $endverse) { include_once 'simple_html_dom.php'; $biblebookmap = biblebooks_array(); $startbook = $biblebookmap[$startbookid]; $endbook = $biblebookmap[$endbookid]; $version = get_field('memorization_version', 'name', 'id', $versionid); $version = $version === false ? 'ESV' : $version; $html = file_get_html("http://www.biblegateway.com/passage/?search={$startbook}%20{$startchapter}:{$startverse}%20-%20{$endbook}%20{$endchapter}:{$endverse}&version={$version}"); if (empty($html)) { return false; } $html->set_callback('_callback_to_hide_unwanted_tags'); $verse = $html->find('div[class=result-text-style-normal]', -1); if (empty($verse)) { return false; } return $verse->innertext; }
function setup_elements(&$mform) { global $CFG; require_once $CFG->libdir . '/biblelib.php'; //remove these so we have ui control of where name goes later $mform->removeElement('general'); $mform->removeElement('name'); /// sermon date $mform->addElement('html', '<table id="sermondetails-table" border="0" width="100%"> <tr><td>'); $mform->addElement('static', null, null, '<span class="sermon-delivery-title">' . get_string('sermonddeliverydate', 'resource') . '</span>'); $mform->addElement('html', '<div id="datedelivered-picker"></div>' . '<script type="text/javascript"> jQuery(document).ready(function () { jQuery("#datedelivered-picker").datepicker({ dateFormat: "@", onSelect: function(dateText, inst){jQuery(".datedelivered").val(dateText)}, defaultDate: jQuery(".datedelivered").val() }); }) </script>' . print_spacer(0, 250, false, true) . ' </td><td>'); $mform->addElement('hidden', 'datedelivered', 'testing', array('class' => 'datedelivered')); /// sermon info mform_partition_start($mform); $mform->addElement('text', 'name', get_string('name'), array('size' => '48')); if (!empty($CFG->formatstringstriptags)) { $mform->setType('name', PARAM_TEXT); } else { $mform->setType('name', PARAM_CLEAN); } $mform->addRule('name', null, 'required', null, 'client'); $previousseries = get_recordset_sql("SELECT DISTINCT seriesname FROM {$CFG->prefix}resource_sermon ORDER BY seriesname DESC"); $seriesoptions = array(0 => get_string('selectpreviousseries', 'resource')); while (($series = rs_fetch_next_record($previousseries)) !== false) { $seriesoptions[$series->seriesname] = $series->seriesname; } $mform->addElement('select', 'seriesname', get_string('series', 'resource'), $seriesoptions); mform_spacer($mform, null, get_string('or', 'resource')); $newseries = array(); $newseries[] =& MoodleQuickForm::createelement('text', 'newseriesname', get_string('newseriesname', 'resource')); $newseries[] =& MoodleQuickForm::createelement('checkbox', 'newseries', get_string('newseries', 'resource')); $mform->addGroup($newseries, null, get_string('newseriesname', 'resource')); $mform->disabledIf('newseriesname', 'newseries', 'notchecked'); $mform->disabledIf('seriesname', 'newseries', 'checked'); mform_partition_end($mform); mform_partition_start($mform); /// link to sermon mp3 $mform->addElement('html', '<span class="nowrap">'); $mform->addElement('choosecoursefile', 'reference', get_string('sermonmp3', 'resource'), null, array('maxlength' => 255, 'size' => 18)); $mform->addGroupRule('reference', array('value' => array(array(get_string('maximumchars', '', 255), 'maxlength', 255, 'server')))); $mform->addRule('reference', null, 'required', null, 'client'); $mform->addElement('html', '</span>'); /// link to sermon pdf $mform->addElement('html', '<span class="nowrap">'); $mform->addElement('choosecoursefile', 'referencesermontext', get_string('sermontext', 'resource'), null, array('maxlength' => 255, 'size' => 18)); $mform->addGroupRule('referencesermontext', array('value' => array(array(get_string('maximumchars', '', 255), 'maxlength', 255, 'client')))); $mform->addElement('html', '</span>'); /// link to reference lesson $mform->addElement('html', '<span class="nowrap">'); $mform->addElement('choosecoursefile', 'referencelesson', get_string('sermonlesson', 'resource'), null, array('maxlength' => 255, 'size' => 18)); $mform->addGroupRule('referencelesson', array('value' => array(array(get_string('maximumchars', '', 255), 'maxlength', 255, 'client')))); $mform->addElement('html', '</span>'); mform_partition_end($mform); /// add the bible place fields mform_partition_start($mform); $mform->addElement('html', '<span class="nowrap">'); $biblebooks = array_merge(array('' => get_string('choosebook', 'resource')), biblebooks_array()); $bibleplace = array(); $bibleplace[] =& MoodleQuickForm::createElement('select', 'book', get_string('biblebook', 'resource'), $biblebooks); $bibleplace[] =& MoodleQuickForm::createElement('text', 'beginchapter', get_string('beginchapter', 'resource'), 'size="5"'); $mform->addGroup($bibleplace, null, get_string('biblebook', 'resource'), get_string('biblechapter', 'resource')); $mform->addElement('html', '</span>'); mform_partition_end($mform); /// speaker fields mform_partition_start($mform); //these are a list of members with the ones who have given sermons in the past at the top of the list $potentialspeakers = get_recordset_sql("SELECT DISTINCT u.* FROM {$CFG->prefix}user u \n LEFT JOIN {$CFG->prefix}resource_sermon rs ON u.id = rs.speakerid\n LEFT JOIN {$CFG->prefix}user u2 ON u2.id = rs.speakerid\n WHERE u.username != 'guest'\n ORDER BY u2.lastname ASC, u.lastname ASC"); $speakeroptions = array(0 => get_string('selectfromexistinguser', 'resource')); while (($potentialspeaker = rs_fetch_next_record($potentialspeakers)) !== false) { $speakeroptions[$potentialspeaker->id] = $potentialspeaker->lastname . ', ' . $potentialspeaker->firstname; } $mform->addElement('select', 'speakerid', get_string('speakerbyid', 'resource'), $speakeroptions); mform_spacer($mform, null, get_string('or', 'resource')); $guestspeakergroup = array(); $guestspeakergroup[] =& MoodleQuickForm::createElement('text', 'guestspeakername', get_string('guestspeakername', 'resource')); $guestspeakergroup[] =& MoodleQuickForm::createElement('checkbox', 'guestspeaker', null); $mform->addGroup($guestspeakergroup, null, get_string('guestspeakername', 'resource')); $mform->disabledIf('guestspeakername', 'guestspeaker', 'notchecked'); $mform->disabledIf('speakerid', 'guestspeaker', 'checked'); mform_partition_end($mform); /// searchable sermon text $mform->addElement('static', 'label', '<span class="searchsermontxt">' . get_string('searchablesermontext', 'resource') . '</span>'); $mform->addElement('textarea', 'searchablesermontext', null, array('rows' => 10, 'cols' => 70)); $mform->setType('searchablesermontext', PARAM_TEXT); $mform->addElement('html', '</td></tr></table>'); // no need for description $mform->removeElement('summary'); }
function _get_verse_text($verserecord) { global $CFG; include_once $CFG->libdir . '/biblelib.php'; static $books = false; if ($books === false) { $biblebooks = biblebooks_array(); } $versetxt = "{$biblebooks[$verserecord->startbookid]} <span class=\"break-scripturizer\">{$verserecord->startchapter}:{$verserecord->startverse}</span>"; if (empty($verserecord->endchapter) || empty($verserecord->endverse)) { return $versetxt; } // if verse is in same book same chapter we want it to print like Genesis 1:5-8 if ($verserecord->startbookid == $verserecord->endbookid && $verserecord->endchapter == $verserecord->startchapter) { $versetxt .= "-{$verserecord->endverse}"; } elseif ($verserecord->startbookid == $verserecord->endbookid) { // spans chapters so print like Genesis 1:5 - 2:10 $versetxt .= " - {$verserecord->endchapter}:{$verserecord->endverse}"; } else { // only other option is like Genesis 1:5 - Exodus 1:8 $versetxt .= " - {$biblebooks[$verserecord->endbookid]} <span class=\"break-scripturizer\">{$verserecord->endchapter}:{$verserecord->endverse}</span>"; } return $versetxt; }