GRAV Git-Sync плагин обновления аварийного веб-сайта, кто-нибудь сталкивался / решил? - PullRequest
0 голосов
/ 23 февраля 2019

Я использую GRAV в качестве CMS для небольшого экспериментального участка.Недавно я обновил плагин git-sync и неожиданно застрял на веб-сайте, который выдает только ошибки, без возможности войти в интерфейс администратора (весь веб-доступ к сайту падает с такими же ошибками), чтобы понизить модуль git-sync,или, в этом отношении, обновить плагин git-sync, если есть исправление.

Я - разработчик, который не особо задумывался о веб-разработке в течение десятилетий (мое, как это изменилось), поэтому есть несколько вещей, которые я должен признать заранее.Я ничего не знаю о php, и мне все равно, если мне не нужно.

Сообщение, которое я получаю (ниже), указывает на то, что это ошибка php.Если это простое исправление синтаксиса, пожалуйста, дайте мне знать.

Если у вас есть какие-либо советы о том, как "cli" использовать плагин git-sync для обновления или понижения версии, отменить git-sync или любые другие советы, посоветуйтесь.Я найду дополнительную документацию и посмотрю, смогу ли я ответить на свой вопрос.

/[pathToUserHome]/grav/user/plugins/git-sync/classes/GitSync.php

        */

        $paths = ['.'];

        if (version_compare($version, '2.0', '<')) {
            $add .= ' --all';
        }

        return $this->execute($add . ' ' . implode(' ', $paths));
    }

    public function commit($message = '(Grav GitSync) Automatic Commit')
    {
        $authorType = $this->getGitConfig('author', 'gituser');
        if (defined('GRAV_CLI') && in_array($authorType, ['gravuser', 'gravfull'])) {
            $authorType = 'gituser';
        }

        // get message from config, it any, or stick to the default one
        $message = $this->getConfig('git', null)['message'] ?? $message;

        // get Page Title and Route from Post
        $pageTitle = $_POST['data']['header']['title']??'NO TITLE FOUND';
        $pageRoute = $_POST['data']['route']??'NO ROUTE FOUND';

        ...

 Arguments
    1) "syntax error, unexpected '?'"

 Whoops\Exception\ErrorException…
     /user/plugins/git-sync/classes/GitSync.php : 223

     $message = $this->getConfig('git', null)['message'] ?? $message;

1 Ответ

0 голосов
/ 23 февраля 2019

Ваша новая версия GRAV использует функции php7.0, например, оператор ??, который Null coalescing.Попробуйте обновить версию php для поддержки новых функций или понизить GRAV.

Сделать совместимую версию также можно, но это может быть идеей, связанной с потерей времени.Однако, если ваши проблемы только в этом конкретном файле, вы можете заменить:

// $message = $this->getConfig('git', null)['message'] ?? $message;
$message = isset($this->getConfig('git', null)['message']) ? $this->getConfig('git', null)['message'] : $message;
// $pageTitle = $_POST['data']['header']['title']??'NO TITLE FOUND';
$pageTitle = isset($_POST['data']['header']['title']) ? $_POST['data']['header']['title'] : 'NO TITLE FOUND';
// $pageRoute = $_POST['data']['route']??'NO ROUTE FOUND';
$pageRoute = isset($_POST['data']['route']) ? $_POST['data']['route'] : 'NO ROUTE FOUND';
...