Example #1
0
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();