示例#1
0
 public function getBooks($r)
 {
     $t = new Dase_Template($r);
     $books = new Dase_DBO_Book($this->db);
     $t->assign("books", $books->findAll());
     $r->renderResponse($t->fetch('chinese_flashcards/books.tpl'));
 }
示例#2
0
 public static function search($db, $str)
 {
     $books = new Dase_DBO_Book($db);
     $book_set = array();
     foreach ($books->findAll(1) as $b) {
         $book_set[$b->id] = $b;
     }
     $result = array();
     $result['books'] = array();
     $words = new Dase_DBO_Word($db);
     $words->addWhere('search_bag', '%' . $str . '%', 'like');
     foreach ($words->findAll(1) as $word) {
         $book = $book_set[$word->book_id];
         if (!isset($result['books'][$book->id])) {
             $result['books'][$book->id] = array();
             $result['books'][$book->id]['id'] = $book->id;
             $result['books'][$book->id]['name'] = $book->name;
             $result['books'][$book->id]['lessons'] = array();
         }
         if (!isset($result['books'][$book->id]['lessons'][$word->lesson_id])) {
             $result['books'][$book->id]['lessons'][$word->lesson_id] = array();
             $result['books'][$book->id]['lessons'][$word->lesson_id]['id'] = $word->lesson_id;
             $result['books'][$book->id]['lessons'][$word->lesson_id]['words'] = array();
         }
         if (!isset($result['books'][$book->id]['lessons'][$word->lesson_id]['words'][$word->id])) {
             $result['books'][$book->id]['lessons'][$word->lesson_id]['words'][$word->id] = array();
             $result['books'][$book->id]['lessons'][$word->lesson_id]['words'][$word->id]['id'] = $word->id;
             $result['books'][$book->id]['lessons'][$word->lesson_id]['words'][$word->id]['traditional'] = $word->traditional;
             $result['books'][$book->id]['lessons'][$word->lesson_id]['words'][$word->id]['simplified'] = $word->simplified;
             $result['books'][$book->id]['lessons'][$word->lesson_id]['words'][$word->id]['pinyin'] = $word->pinyin;
         }
     }
     return $result;
 }
<?php

include 'config.php';
$data = json_decode(file_get_contents('dump.json'), 1);
$books = new Dase_DBO_Book($db);
$i = 0;
foreach ($books->findAll(1) as $book) {
    $lesson = new Dase_DBO_Lesson($db);
    $lesson->book_id = $book->id;
    foreach ($lesson->findAll(1) as $less) {
        foreach ($data['items'] as $it) {
            $filename_prefix = $it['metadata']['filename_prefix'][0];
            $lesson_ident = $it['metadata']['lesson'][0];
            $english = $it['metadata']['english'][0];
            $simplified = $it['metadata']['simplified'][0];
            $traditional = $it['metadata']['traditional'][0];
            $word_index = $it['metadata']['word_index'][0];
            $pinyin = $it['metadata']['pinyin'][0];
            $sub_lesson = '';
            if (isset($it['metadata']['sub_lesson'])) {
                $sub_lesson = $it['metadata']['sub_lesson'][0];
                print $sub_lesson . "\n";
            }
            if ($filename_prefix == $book->ident && $less->name == $lesson_ident) {
                $word = new Dase_DBO_Word($db);
                $word->lesson_id = $less->id;
                $word->book_id = $lesson->book_id;
                $word->word_index = $word_index;
                $word->english = $english;
                $word->simplified = $simplified;
                $word->traditional = $traditional;