function bfox_plan_admin_init_append_content() { if (isset($_POST['content']) && !empty($_POST['bfox-plan-append']) && !(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)) { $parser = new BfoxPlanParser(); $parser->parsePassagesIntoReadings($_POST['bfox-plan-append'], $_POST['bfox-plan-chunk-size']); $readings = $parser->readingRefStrings(); if (!empty($readings)) { if (!empty($_POST['content'])) { array_unshift($readings, $_POST['content']); } $_POST['content'] = implode("\n", $readings); } } }
$showSuccess = true; function assertArrays($a1, $a2) { if (!assert($a1 == $a2)) { print_r($a1); print_r($a2); exit; } } /* Test BfoxPlanParser */ $content = "Reading 1: Gen 1-10; Exo 1-2;\nReading 2 - 1 Sam 5 (good); 2 sam 6 (great)\nHello\nReading 3 -\n\n1 sam 7\n\n"; $parser = new BfoxPlanParser(); $parser->parseContent($content, "\n"); assertArrays($parser->readingRefStrings(), array('Genesis 1-10; Exodus 1-2', '1 Samuel 5; 2 Samuel 6', '1 Samuel 7')); /* Test BfoxPlanScheduler */ date_default_timezone_set('America/New_York'); // Suppress silly php date warnings by setting time zone manually function outputSchedulerDates($scheduler, $numDates) { print_r($scheduler->dates($numDates)); echo "Latest Date Index: " . $scheduler->latestDateIndex . "\n"; } function assertLatest($scheduler, $date, $targetDate, $message) { global $showSuccess; $latest = $scheduler->latestDateIndex(strtotime($date)); $dates = $scheduler->dates();