<?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);
        if (!is_dir(DIR_LOCALE . '/lang')) mkdirs(DIR_LOCALE . '/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();
