Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,21 @@
"ext-sqlite3": "*",
"ext-fileinfo": "*",
"ext-mbstring": "*",
"slim/slim": "^3.1",
"slim/php-view": "^2.0",
"slim/twig-view": "^2.3",
"slim/slim": "^4.0",
"slim/psr7": "^1.4",
"php-di/php-di": "^6.3",
"slim/twig-view": "^3.2",
"spatie/yaml-front-matter": "^2.0",
"league/commonmark": "^1.5",
"caseyamcl/toc": "^3.0",
"vlucas/phpdotenv": "^3.3",
"vlucas/phpdotenv": "^5.0",
"symfony/console": "^5.2",
"symfony/process": "^5.2",
"voku/stop-words": "^2.0"
},
"require-dev": {
"ext-intl": "*"
"ext-intl": "*",
"phpunit/phpunit": "^9.5"
},
"autoload": {
"psr-4": {
Expand Down
6 changes: 3 additions & 3 deletions src/Containers/DB.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@

class DB
{
public static function load(ContainerInterface $container)
public static function load(\DI\Container $container)
{
$container['db'] = function (ContainerInterface $container) {
$container->set('db', function (\Psr\Container\ContainerInterface $container) {
$dir = getenv('BASE_DIRECTORY') . 'db/db.sqlite';
$db = new \PDO('sqlite:' . $dir);
$db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
$db->setAttribute(\PDO::ATTR_TIMEOUT, 10000);
$db->exec('PRAGMA busy_timeout = 15000');
return $db;
};
});
}
}
9 changes: 6 additions & 3 deletions src/Containers/ErrorHandlers.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,22 @@ class ErrorHandlers
{
public static function load(Container $container)
{
$container['notFoundHandler'] = function ($container) {
$container->set('notFoundHandler', function ($container) {
return function ($request, $response) use ($container) {
$pageNotFound = new NotFound($container);

return $pageNotFound->get($request, $response);
};
};
$container['errorHandler'] = $container['phpErrorHandler'] = function ($container) {
});

$errorHandlerFn = function ($container) {
return function ($request, $response, $exception) use ($container) {
$pageNotFound = new Error($container, $exception);

return $pageNotFound->get($request, $response);
};
};
$container->set('errorHandler', $errorHandlerFn);
$container->set('phpErrorHandler', $errorHandlerFn);
}
}
2 changes: 1 addition & 1 deletion src/Containers/Logger.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class Logger
{
public static function load(Container $container)
{
$container['logger'] = function () {
$container->set('logger', function () {

$logger = new MonologLogger('modx-docs');

Expand Down
12 changes: 6 additions & 6 deletions src/Containers/Services.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,37 +15,37 @@ class Services
{
public static function load(Container $container): void
{
$container[FilePathService::class] = function () {
$container->set(FilePathService::class, function () {
return new FilePathService();
};

$container[DocumentService::class] = function (Container $container) {
$container->set(DocumentService::class, function (Container $container) {
return new DocumentService(
$container->get(FilePathService::class),
$container->get('db')
);
};

$container[VersionsService::class] = function (Container $container) {
$container->set(VersionsService::class, function (Container $container) {
return new VersionsService(
$container->get('router')
);
};

$container[TranslationService::class] = function (Container $container) {
$container->set(TranslationService::class, function (Container $container) {
return new TranslationService(
$container->get('db'),
$container->get('router')
);
};

$container[SearchService::class] = function (Container $container) {
$container->set(SearchService::class, function (Container $container) {
return new SearchService(
$container->get('db'),
$container->get(DocumentService::class)
);
};
$container[IndexService::class] = function (Container $container) {
$container->set(IndexService::class, function (Container $container) {
return new IndexService(
$container->get('db'),
$container->get(DocumentService::class)
Expand Down
6 changes: 3 additions & 3 deletions src/Containers/View.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ class View
{
const BASE_REQUEST_HANDLER = 'index.php';

public static function load(ContainerInterface $container)
public static function load(\DI\Container $container)
{
$container['view'] = function (ContainerInterface $container) {
$container->set('view', function (\Psr\Container\ContainerInterface $container) {
$request = $container->get('request');
$router = $container->get('router');

Expand All @@ -32,6 +32,6 @@ public static function load(ContainerInterface $container)
$view->addExtension(new DocExtensions($router, $request));

return $view;
};
});
}
}
4 changes: 2 additions & 2 deletions src/DocsApp.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
use MODXDocs\Views\Stats\NotFoundRequests;
use MODXDocs\Views\Stats\Searches;
use Slim\App;
use Slim\Http\Request;
use Slim\Http\Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;

use MODXDocs\Containers\View;
use MODXDocs\Containers\ErrorHandlers;
Expand Down
2 changes: 1 addition & 1 deletion src/Helpers/SettingsParser.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public function __construct()
{
$baseDir = dirname(dirname(__DIR__)) . '/';
$dotFile = static::getDotFile($baseDir);
$dotEnv = Dotenv::create($baseDir, $dotFile);
$dotEnv = Dotenv::createUnsafeImmutable($baseDir, $dotFile);
$dotEnv->load();
}

Expand Down
4 changes: 2 additions & 2 deletions src/Middlewares/RequestMiddleware.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

namespace MODXDocs\Middlewares;

use Slim\Http\Response;
use Slim\Http\Request;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;

class RequestMiddleware
{
Expand Down
2 changes: 1 addition & 1 deletion src/Model/PageRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
namespace MODXDocs\Model;

use MODXDocs\Services\VersionsService;
use Slim\Http\Request;
use Psr\Http\Message\ServerRequestInterface as Request;

class PageRequest {
private $version;
Expand Down
2 changes: 1 addition & 1 deletion src/Twig/DocExtensions.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
use MODXDocs\Views\Base;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
use Slim\Http\Request;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Interfaces\RouterInterface;

class DocExtensions extends AbstractExtension
Expand Down
4 changes: 2 additions & 2 deletions src/Views/Base.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
use MODXDocs\Model\PageRequest;
use MODXDocs\Services\CacheService;
use MODXDocs\Services\VersionsService;
use Slim\Http\Request;
use Slim\Http\Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;
use Slim\Views\Twig;
use Psr\Container\ContainerInterface;

Expand Down
4 changes: 2 additions & 2 deletions src/Views/Doc.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
use MODXDocs\Model\PageRequest;
use MODXDocs\Services\TranslationService;
use Psr\Container\ContainerInterface;
use Slim\Http\Request;
use Slim\Http\Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;

use MODXDocs\Services\DocumentService;
use MODXDocs\Services\VersionsService;
Expand Down
4 changes: 2 additions & 2 deletions src/Views/Error.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

use MODXDocs\Model\PageRequest;
use Psr\Container\ContainerInterface;
use Slim\Http\Request;
use Slim\Http\Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;

use MODXDocs\Exceptions\RedirectNotFoundException;
use MODXDocs\Helpers\Redirector;
Expand Down
4 changes: 2 additions & 2 deletions src/Views/NotFound.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
use MODXDocs\Services\VersionsService;
use PDO;
use Psr\Container\ContainerInterface;
use Slim\Http\Request;
use Slim\Http\Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;

use MODXDocs\Exceptions\RedirectNotFoundException;
use MODXDocs\Helpers\Redirector;
Expand Down
4 changes: 2 additions & 2 deletions src/Views/Search.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
use MODXDocs\Services\SearchService;
use MODXDocs\Services\VersionsService;
use Psr\Container\ContainerInterface;
use Slim\Http\Request;
use Slim\Http\Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;
use Slim\Router;

class Search extends Base
Expand Down
4 changes: 2 additions & 2 deletions src/Views/Stats/NotFoundRequests.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
use MODXDocs\Services\CacheService;
use MODXDocs\Views\Base;
use Psr\Container\ContainerInterface;
use Slim\Http\Request;
use Slim\Http\Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;
use Slim\Router;

class NotFoundRequests extends Base
Expand Down
4 changes: 2 additions & 2 deletions src/Views/Stats/Searches.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
use MODXDocs\Services\CacheService;
use MODXDocs\Views\Base;
use Psr\Container\ContainerInterface;
use Slim\Http\Request;
use Slim\Http\Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;
use Slim\Router;

class Searches extends Base
Expand Down
4 changes: 2 additions & 2 deletions tests/Functional/DocTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public function testGetGettingStarted() : void
$response = $this->runApp('GET', '/2.x/en/getting-started');

$this->assertEquals(200, $response->getStatusCode());
$this->assertContains('Welcome to MODX Revolution', (string)$response->getBody());
$this->assertNotContains('WordPress', (string)$response->getBody());
$this->assertStringContainsString('Welcome to MODX Revolution', (string)$response->getBody());
$this->assertStringNotContainsString('WordPress', (string)$response->getBody());
}
}
6 changes: 3 additions & 3 deletions tests/Functional/HomepageTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ public function testGetHomepageWithoutName() : void
$response = $this->runApp('GET', '/');

$this->assertEquals(200, $response->getStatusCode());
$this->assertContains('Creative Freedom', (string)$response->getBody());
$this->assertNotContains('Hello', (string)$response->getBody());
$this->assertStringContainsString('Creative Freedom', (string)$response->getBody());
$this->assertStringNotContainsString('Hello', (string)$response->getBody());
}

/**
Expand All @@ -27,6 +27,6 @@ public function testPostHomepageNotAllowed() : void
$response = $this->runApp('POST', '/', ['test']);

$this->assertEquals(405, $response->getStatusCode());
$this->assertContains('Method not allowed', (string)$response->getBody());
$this->assertStringContainsString('Method not allowed', (string)$response->getBody());
}
}