app/Console/Commands/V2boardInstall.php
/**
     * Execute the console command.
     *
     * @return mixed
     */
Execute the console command.
@return mixed
Execute the console command . @return mixed
public function handle()
    {
        try {
            $this->info("__     ______  ____                      _  ");
            $this->info("\ \   / /___ \| __ )  ___   __ _ _ __ __| | ");
            $this->info(" \ \ / /  __) |  _ \ / _ \ / _` | '__/ _` | ");
            $this->info("  \ V /  / __/| |_) | (_) | (_| | | | (_| | ");
            $this->info("   \_/  |_____|____/ \___/ \__,_|_|  \__,_| ");
            $this->info("                                            ");
	        $this->info("Đây là bản Việt hóa bởi : @lisa_is_me");
            if (\File::exists(base_path() . '/.env')) {
                abort(500, 'V2board đã được cài đặt, để cài đặt lại, loại bỏ các tập tin.env trong thư mục');
            }
            if (!copy(base_path() . '/.env.example', base_path() . '/.env')) {
                abort(500, 'Sao chép tệp môi trường không thành công, hãy kiểm tra quyền thư mục');
            }
            $this->saveToEnv([
                'APP_KEY' => 'base64:' . base64_encode(Encrypter::generateKey('AES-256-CBC')),
                'DB_HOST' => $this->ask('Vui lòng nhập địa chỉ cơ sở dữ liệu (mặc định: localhost)', 'localhost'),
                'DB_DATABASE' => $this->ask('Vui lòng nhập Database'),
                'DB_USERNAME' => $this->ask('Vui lòng nhập Username'),
                'DB_PASSWORD' => $this->ask('Vui lòng nhập Password')
            ]);
            \Artisan::call('config:clear');
            \Artisan::call('config:cache');
            try {
                DB::connection()->getPdo();
            } catch (\Exception $e) {
                abort(500, 'Kết nối cơ sở dữ liệu thất bại');
            }
            $file = \File::get(base_path() . '/database/install.sql');
            if (!$file) {
                abort(500, 'Tệp cơ sở dữ liệu không tồn tại');
            }
            $sql = str_replace("\n", "", $file);
            $sql = preg_split("/;/", $sql);
            if (!is_array($sql)) {
                abort(500, 'Định dạng tệp cơ sở dữ liệu không chính xác');
            }
            $this->info('Đang nhập cơ sở dữ liệu, vui lòng chờ một chút nha...');
            foreach ($sql as $item) {
                try {
                    DB::select(DB::raw($item));
                } catch (\Exception $e) {
                }
            }
            $this->info('Nhập cơ sở dữ liệu hoàn tất');
            $email = '';
            while (!$email) {
                $email = $this->ask('Vui lòng nhập email quản trị viên của bạn?');
            }
            $password = '';
            while (!$password) {
                $password = $this->ask('Vui lòng nhập password quản trị viên của bạn?');
            }
            if (!$this->registerAdmin($email, $password)) {
                abort(500, 'Đăng ký tài khoản quản trị viên không thành công, vui lòng thử lại');
            }
            $this->info('Đăng ký hoàn tất!');
            $this->info('Truy cập http(s)://trang web của bạn/admin | để vào bảng quản trị');
        } catch (\Exception $e) {
            $this->error($e->getMessage());
        }
    }
public function handle ( ) { try { $ this -> info ( " __     ______  ____                      _   " ) ; $ this -> info ( " \ \   / /___ \| __ )  ___   __ _ _ __ __| |  " ) ; $ this -> info ( "  \ \ / /  __) |  _ \ / _ \ / _` | '__/ _` |  " ) ; $ this -> info ( "   \ V /  / __/| |_) | (_) | (_| | | | (_| |  " ) ; $ this -> info ( "    \_/  |_____|____/ \___/ \__,_|_|  \__,_|  " ) ; $ this -> info ( " " ) ; $ this -> info ( " Đây là bản Việt hóa bởi : @lisa_is_me"); if ( \ File :: exists ( base_path ( ) . '/.env' ) ) { abort ( 500 , 'V2board đã được cài đặt, để cài đặt lại, loại bỏ các tập tin.env trong thư mục'); } if ( ! copy ( base_path ( ) . '/.env.example' , base_path ( ) . '/.env' ) ) { abort ( 500 , 'Sao chép tệp môi trường không thành công, hãy kiểm tra quyền thư mục'); } $ this -> saveToEnv ( [ 'APP_KEY' => 'base64:' . base64_encode ( Encrypter :: generateKey ( 'AES-256-CBC' ) ) , 'DB_HOST' => $ this -> ask ( 'Vui lòng nhập địa chỉ cơ sở dữ liệu (mặc định: localhost)', 'localhost'), 'DB_DATABASE' => $ this -> ask ( 'Vui lòng nhập Database'), 'DB_USERNAME' => $ this -> ask ( 'Vui lòng nhập Username'), 'DB_PASSWORD' => $ this -> ask ( 'Vui lòng nhập Password') ] ) ; \ Artisan :: call ( 'config:clear' ) ; \ Artisan :: call ( 'config:cache' ) ; try { DB :: connection ( ) -> getPdo ( ) ; } catch ( \ Exception $ e ) { abort ( 500 , 'Kết nối cơ sở dữ liệu thất bại'); } $ file = \ File :: get ( base_path ( ) . '/database/install.sql' ) ; if ( ! $ file ) { abort ( 500 , 'Tệp cơ sở dữ liệu không tồn tại'); } $ sql = str_replace ( " \n " , " " , $ file ) ; $ sql = preg_split ( " /;/ " , $ sql ) ; if ( ! is_array ( $ sql ) ) { abort ( 500 , 'Định dạng tệp cơ sở dữ liệu không chính xác'); } $ this -> info ( 'Đang nhập cơ sở dữ liệu, vui lòng chờ một chút nha...'); foreach ( $ sql as $ item ) { try { DB :: select ( DB :: raw ( $ item ) ) ; } catch ( \ Exception $ e ) { } } $ this -> info ( 'Nhập cơ sở dữ liệu hoàn tất'); $ email = '' ; while ( ! $ email ) { $ email = $ this -> ask ( 'Vui lòng nhập email quản trị viên của bạn?'); } $ password = '' ; while ( ! $ password ) { $ password = $ this -> ask ( 'Vui lòng nhập password quản trị viên của bạn?'); } if ( ! $ this -> registerAdmin ( $ email , $ password ) ) { abort ( 500 , 'Đăng ký tài khoản quản trị viên không thành công, vui lòng thử lại'); } $ this -> info ( 'Đăng ký hoàn tất!'); $ this -> info ( 'Truy cập http(s)://trang web của bạn/admin | để vào bảng quản trị'); } catch ( \ Exception $ e ) { $ this -> error ( $ e -> getMessage ( ) ) ; } }
Execute the console command.
Execute the console command .