예제 #1
0
 *
 * @link <http://www.gnu.org/licenses/>.
 * @author niel
 * @copyright 2014 nZEDb
 */
require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . 'www' . DIRECTORY_SEPARATOR . 'config.php';
require_once SMARTY_DIR . 'Smarty.class.php';
use newznab\db\DbUpdate;
use newznab\utility\Utility;
if (!Utility::isCLI()) {
    exit;
}
if (isset($argc) && $argc > 1 && isset($argv[1]) && $argv[1] == true) {
    $backup = isset($argv[2]) && $argv[2] == 'safe' ? true : false;
    $updater = new DbUpdate(['backup' => $backup]);
    echo $updater->log->header("Db updater starting ...");
    $patched = $updater->processPatches(['safe' => $backup]);
    if ($patched > 0) {
        echo $updater->log->info("{$patched} patch(es) applied.");
        $smarty = new Smarty();
        $cleared = $smarty->clearCompiledTemplate();
        if ($cleared) {
            $msg = "The smarty template cache has been cleaned for you\n";
        } else {
            $msg = "You should clear your smarty template cache at: " . SMARTY_DIR . "templates_c\n";
        }
        $updater->log->info($msg);
    }
} else {
    echo "Usage: php update_db.php true";
}