示例#1
0
 public static function getInstance()
 {
     if (empty(self::$instance)) {
         self::$instance = new Database_OfflineResources();
     }
     return self::$instance;
 }
示例#2
0
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
require_once "../bootstrap/bootstrap.php";
page_access_level(Filter_Roles::MANAGER_LEVEL);
$view = new Assets_View(__FILE__);
$database_resources = Database_Resources::getInstance();
$database_offlineresources = Database_OfflineResources::getInstance();
$database_versifications = Database_Versifications::getInstance();
@($name = $_GET['name']);
$view->view->name = $name;
if (isset($_GET['download'])) {
    $versification = "English";
    $books = $database_versifications->getBooks($versification);
    foreach ($books as $book) {
        // Schedule the task with low priority so it does not get in the way of regular tasks.
        Tasks_Logic::queue(Tasks_Logic::PHP, array(__DIR__ . "/downloadcli.php", $name, $book));
    }
    Filter_Url::redirect("../journal/index.php");
    die;
}
if (isset($_GET['clear'])) {
    $database_offlineresources->delete($name);
示例#3
0
 public static function offline_resource_file_checksum($name, $file)
 {
     $database_offlineresources = Database_OfflineResources::getInstance();
     $checksum = $database_offlineresources->size($name, $file);
     return $checksum;
 }
示例#4
0
 public function testUnlink()
 {
     $database_offlineresources = Database_OfflineResources::getInstance();
     $database_offlineresources->store("phpunit", 1, 2, 3, "xyz");
     $files = $database_offlineresources->files("phpunit");
     $this->assertEquals(array("1.sqlite"), $files);
     $database_offlineresources->unlink("phpunit", "2");
     clearstatcache();
     $files = $database_offlineresources->files("phpunit");
     $this->assertEquals(array("1.sqlite"), $files);
     $database_offlineresources->unlink("phpunit", "1.sqlite");
     clearstatcache();
     $files = $database_offlineresources->files("phpunit");
     $this->assertEmpty($files);
 }
示例#5
0
 public static function getText($resource, $book, $chapter, $verse)
 {
     $database_bibles = Database_Bibles::getInstance();
     $database_resources = Database_Resources::getInstance();
     $database_usfmresources = Database_UsfmResources::getInstance();
     $database_offlineresources = Database_OfflineResources::getInstance();
     $bibles = $database_bibles->getBibles();
     $usfms = $database_usfmresources->getResources();
     $externals = $database_resources->getNames();
     $isBible = in_array($resource, $bibles);
     $isUsfm = in_array($resource, $usfms);
     if ($isBible || $isUsfm) {
         if ($isBible) {
             $chapter_usfm = $database_bibles->getChapter($resource, $book, $chapter);
         }
         if ($isUsfm) {
             $chapter_usfm = $database_usfmresources->getUsfm($resource, $book, $chapter);
         }
         $verse_usfm = Filter_Usfm::getVerseText($chapter_usfm, $verse);
         $database_config_user = Database_Config_User::getInstance();
         $stylesheet = $database_config_user->getStylesheet();
         $filter_text = new Filter_Text($resource);
         $filter_text->text_text = new Text_Text();
         $filter_text->addUsfmCode($verse_usfm);
         $filter_text->run($stylesheet);
         $text = $filter_text->text_text->get();
     } else {
         if (in_array($resource, $externals)) {
             // Use offline copy if it exists, else fetch it online.
             if ($database_offlineresources->exists($resource, $book, $chapter, $verse)) {
                 $text = $database_offlineresources->get($resource, $book, $chapter, $verse);
             } else {
                 $text = Resource_Logic::getExternal($resource, $book, $chapter, $verse, true);
             }
             $text = Filter_Html::html2text($text);
         } else {
             $text = "";
         }
     }
     return $text;
 }