<?PHP

class DesignAdmin extends Buyers
{
    private $modules = array('html'=>'tpl', 'css'=>'css', 'js'=>'js');

    public function fetch()
    {
        $files = array();
        $file_content = '';

        $type = $this->request->get('type', 'string');
        $module = isset($this->modules[$type]) ? $type : 'html';

        // Текущий шаблон
        $file = $this->request->get('file', 'string');
        $module_dir = 'design/'.$this->settings->theme.'/'.$module.'/';

        // Текущая директория (если есть то дописываем к основной директории)
        if($dir = $this->request->get('dir') ?? null)
        {
            $dir = str_replace(array('../', '..\\'), '', $dir).'/';
            $module_dir .= $dir;
        }

        //если такой директории нет
        if(is_dir($module_dir) === false)
        {
            $this->design->assign('message_error', 'permissions');
        }
        else
        {
            //список файлов и папок
            $list = $this->custom->scan_dir($module_dir, $this->modules[$module]);

            if(empty($file) && !empty($list->files))
                $file = reset($list->files);

            if($file)
                $file_content = file_get_contents($module_dir.$file);
        }

        $this->design->assign('file_content', $file_content);
        $this->design->assign('theme', $this->settings->theme);
        $this->design->assign('module', $module);
        $this->design->assign('list', $list);
        $this->design->assign('file', $file);

        return $this->design->fetch('design.tpl');
    }
}
