Esempio n. 1
0
$database_history = Database_History::getInstance();
$database_commits = Database_Commits::getInstance();
$database_config_bible = Database_Config_Bible::getInstance();
$bibles = $database_bibles->getBibles();
foreach ($bibles as $bible) {
    $stylesheet = $database_config_bible->getExportStylesheet($bible);
    // The git directory for the Bible.
    $directory = Filter_Git::git_directory($bible);
    if (!is_dir($directory)) {
        continue;
    }
    $database_logs->log("{$history} Processing directory" . " " . $directory, Filter_Roles::MANAGER_LEVEL);
    $shelldirectory = escapeshellarg($directory);
    // Retrieve all commits from the git repository.
    // Remove the commits already dealt with.
    $commits = Filter_Git::commits($directory);
    $commits = array_diff($commits, $database_commits->get($bible));
    // Deal with all the remaining commits.
    foreach ($commits as $sha1) {
        // Get author and timestamp.
        $author = Filter_Git::committer($directory, $sha1);
        $timestamp = Filter_Git::timestamp($directory, $sha1);
        $datetime = date('j F Y g:i:s a', $timestamp);
        $database_logs->log("{$history} {$author} {$datetime} {$bible} {$sha1}", Filter_Roles::MANAGER_LEVEL);
        $files = Filter_Git::files($directory, $sha1);
        foreach ($files as $path) {
            $database_logs->log("{$history} {$path}", Filter_Roles::MANAGER_LEVEL);
            $data = Filter_Git::explodePath($path);
            if ($data) {
                $book = $data['book'];
                $chapter = $data['chapter'];