<?php

use xmvc\Viewer;

// @codingStandardsIgnoreStart
/**
 * 第一次运行，初始化相关目录，以及系统类库
 */
//检测并创建关键目录
if (!is_dir(DIR_FILES)) mkdirs(DIR_FILES);
if (!is_dir(DIR_CACHE)) mkdirs(DIR_CACHE);
if (!is_dir(DIR_CACHE . '/keyValue')) mkdirs(DIR_CACHE . '/keyValue'); //keyvalue 缓存
if (!is_dir(DIR_CACHE . '/files')) mkdirs(DIR_CACHE . '/files'); //文件缓存
if (!is_dir(DIR_CACHE . '/files/default')) mkdirs(DIR_CACHE . '/files/default'); //默认的文件组缓存目录
if (!is_dir(DIR_CACHE . '/tpl')) mkdirs(DIR_CACHE . '/tpl'); //模板缓存
if (!is_dir(DIR_CACHE . '/xview/tpl')) mkdirs(DIR_CACHE . '/xview/tpl'); //x模板缓存
if (!is_dir(DIR_LOG)) mkdirs(DIR_LOG);
if (!is_dir(DIR_RUNTIME)) mkdirs(DIR_RUNTIME);
if (!is_dir(DIR_LOCALE)) {
    mkdirs(DIR_LOCALE);
    mkdirs(DIR_LOCALE . '/lang');
}
if (!is_dir(DIR_BACKUP)) {
    mkdirs(DIR_BACKUP);
    mkdirs(DIR_BACKUP . '/lang');
}
//自动静态文件目录
if (!is_dir(DIR_STATIC . '/auto/js')) mkdirs(DIR_STATIC . '/auto/js');
if (!is_dir(DIR_STATIC . '/auto/css')) mkdirs(DIR_STATIC . '/auto/css');

$indexFile = ROOT . '/index.php';
$phpCode = file_get_contents($indexFile);

//index配置文件中的 $libs 数组修改成遍历 DIR_MVC/lib目录下的文件名数组
/*
$files = scandir(DIR_MVC . '/lib');
$files = array_diff($files, array('..', '.'));
$codeLibs = '';
foreach ($files as $file) {
    if ($codeLibs != '') {
        $codeLibs .= "'," . LF . "'";
    }
    $codeLibs .= filenameNotExt($file);
}
$codeLibs = "\$libs = ['" . $codeLibs . "'];";
$phpCode = preg_replace('/([ ]+)?\$libs([\s]+)?=([\s]+)?[^;]+;/s', $codeLibs, $phpCode);
*/

/*
//将index配置文件中的 FIRST_RUN 修改为 false
$phpCode = preg_replace('/define\(([\s]+)?[\'|\"]FIRST_RUN[^;]+\;/is', "define('FIRST_RUN', false);", $phpCode);
if ($phpCode) {
    file_put_contents_lock($indexFile, $phpCode);
}
*/

//生成所有视图缓存
Viewer::createAllCacheFile(SITE);
