Microweber\Providers\UpdateManager::composer_run PHP Метод

composer_run() публичный Метод

public composer_run ( )
    public function composer_run()
    {
        $composer_cache = mw_cache_path() . 'composer' . DS;
        $vendor_cache = normalize_path($composer_cache . 'vendor', true);
        $composer_path = normalize_path(base_path() . '/', false);
        $composer_json = normalize_path(base_path() . DS . 'composer.json', false);
        $composer_json_cache = normalize_path($composer_cache . DS . 'composer.json', false);
        if (!is_dir($vendor_cache)) {
            mkdir_recursive($vendor_cache);
        }
        if (is_file($composer_json)) {
            copy($composer_json, $composer_json_cache);
        }
        putenv('COMPOSER_VENDOR_DIR=' . $vendor_cache);
        putenv('COMPOSER_NO_INTERACTION=1');
        $this->_log_msg('Composer update...');
        $runner = new \Microweber\Utils\ComposerUpdate($composer_cache);
        $config = array('prepend-autoloader' => false, 'no-install' => true, 'no-scripts' => true, 'no-plugins' => true, 'no-progress' => true, 'preferred-install' => 'dist', 'no-dev' => true, 'no-custom-installers' => true, 'no-autoloader' => true);
        $out = $runner->run($config);
        if ($out == 2) {
            return array('error' => 'Error resolving Composer dependencies');
        } elseif ($out == 1) {
            return array('error' => 'Composer has an unknown error');
        } elseif ($out === 0) {
            return array('move_vendor' => 1, 'working' => 1, 'message' => 'Composer has completed');
        } else {
            return array('success' => 1, 'message' => $out);
        }
    }