Пример #1
0
 /** @return Verse */
 public function getVerse($poetIdent, $verseIdent)
 {
     $verses = $this->getVerses($poetIdent);
     if (!array_key_exists($verseIdent, $verses)) {
         return Verse::inst($poetIdent, $verseIdent);
     }
     return $verses[$verseIdent];
 }
Пример #2
0
$books_array = [];
$bible_object = BibleQuery::create()->filterByCode('kjv')->filterByName('King James (Authorized Version)')->findOneOrCreate();
if ($bible_object->isNew()) {
    $bible_object->save();
}
foreach ($books_array as $book_data) {
    $book_object = BookQuery::create()->filterByChapterCount($book_data['chapter_count'])->filterByName($book_data['name'])->findOneOrCreate();
    if ($book_object->isNew()) {
        $book_object->save();
    }
    for ($current_chapter = 1; $current_chapter <= $book_data['chapter_count']; $current_chapter++) {
        $passage = $book_data['name'] . ' ' . $current_chapter;
        $passage = str_replace(' ', '%20', $passage);
        $url = 'https://getbible.net/json?passage=' . $passage;
        $curl_object = curl_init($url);
        curl_setopt($curl_object, CURLOPT_CONNECTTIMEOUT, 0);
        curl_setopt($curl_object, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl_object, CURLOPT_TIMEOUT, 60);
        curl_setopt($curl_object, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12');
        $json_response = curl_exec($curl_object);
        $json_response = substr($json_response, 1, -2);
        $passage_data = json_decode($json_response);
        foreach ($passage_data->chapter as $verse_data) {
            $word_count = substr_count($verse_data->verse, ' ') + 1;
            $verse_translation_object = new VerseTranslation();
            $verse_translation_object->setBible($bible_object)->setText($verse_data->verse)->setWordCount($word_count);
            $verse_object = new Verse();
            $verse_object->addVerseTranslation($verse_translation_object)->setBook($book_object)->setChapterNumber($current_chapter)->setVerseNumber($verse_data->verse_nr)->save();
        }
    }
}
Пример #3
0
 public function __construct($poetIdent, FoldedInfoTpl $verseTpl)
 {
     parent::__construct($poetIdent, $verseTpl->getDirItem()->getNameNoExt());
     $this->infoTpl = $verseTpl;
 }
Пример #4
0
 public function __construct($poetIdent, $verseIdent)
 {
     parent::__construct($poetIdent, $verseIdent);
     $this->content = PsHtml::divErr("Стих [{$verseIdent}] не зарегистрирован для поэта [{$poetIdent}].");
 }
Пример #5
0
 public function registerVerse(Verse $verse)
 {
     if ($verse->isValid()) {
         $this->LOGGER->info("Verse registered: {$verse}");
         $this->addParam(self::VERSES, $verse);
     }
 }