namespacing: \Shaarli\ApplicationUtils

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
This commit is contained in:
VirtualTam 2018-12-03 23:58:59 +01:00
parent bcf056c9d9
commit 9778a1551c
6 changed files with 67 additions and 62 deletions

View File

@ -1,4 +1,9 @@
<?php
namespace Shaarli;
use Exception;
use Shaarli\Config\ConfigManager;
/**
* Shaarli (application) utilities
*/
@ -51,7 +56,7 @@ class ApplicationUtils
return false;
}
} else {
if (! is_file($remote)) {
if (!is_file($remote)) {
return false;
}
$data = file_get_contents($remote);
@ -97,7 +102,7 @@ class ApplicationUtils
// Do not check versions for visitors
// Do not check if the user doesn't want to
// Do not check with dev version
if (! $isLoggedIn || empty($enableCheck) || $currentVersion === 'dev') {
if (!$isLoggedIn || empty($enableCheck) || $currentVersion === 'dev') {
return false;
}
@ -111,7 +116,7 @@ class ApplicationUtils
return false;
}
if (! in_array($branch, self::$GIT_BRANCHES)) {
if (!in_array($branch, self::$GIT_BRANCHES)) {
throw new Exception(
'Invalid branch selected for updates: "' . $branch . '"'
);
@ -123,7 +128,7 @@ class ApplicationUtils
self::$GIT_URL . '/' . $branch . '/' . self::$VERSION_FILE
);
if (! $latestVersion) {
if (!$latestVersion) {
// Only update the file's modification date
file_put_contents($updateFile, $currentVersion);
return false;
@ -152,9 +157,9 @@ class ApplicationUtils
if (version_compare($curVersion, $minVersion) < 0) {
$msg = t(
'Your PHP version is obsolete!'
. ' Shaarli requires at least PHP %s, and thus cannot run.'
. ' Your PHP version has known security vulnerabilities and should be'
. ' updated as soon as possible.'
. ' Shaarli requires at least PHP %s, and thus cannot run.'
. ' Your PHP version has known security vulnerabilities and should be'
. ' updated as soon as possible.'
);
throw new Exception(sprintf($msg, $minVersion));
}
@ -174,50 +179,50 @@ class ApplicationUtils
// Check script and template directories are readable
foreach (array(
'application',
'inc',
'plugins',
$rainTplDir,
$rainTplDir.'/'.$conf->get('resource.theme'),
) as $path) {
if (! is_readable(realpath($path))) {
$errors[] = '"'.$path.'" '. t('directory is not readable');
'application',
'inc',
'plugins',
$rainTplDir,
$rainTplDir . '/' . $conf->get('resource.theme'),
) as $path) {
if (!is_readable(realpath($path))) {
$errors[] = '"' . $path . '" ' . t('directory is not readable');
}
}
// Check cache and data directories are readable and writable
foreach (array(
$conf->get('resource.thumbnails_cache'),
$conf->get('resource.data_dir'),
$conf->get('resource.page_cache'),
$conf->get('resource.raintpl_tmp'),
) as $path) {
if (! is_readable(realpath($path))) {
$errors[] = '"'.$path.'" '. t('directory is not readable');
$conf->get('resource.thumbnails_cache'),
$conf->get('resource.data_dir'),
$conf->get('resource.page_cache'),
$conf->get('resource.raintpl_tmp'),
) as $path) {
if (!is_readable(realpath($path))) {
$errors[] = '"' . $path . '" ' . t('directory is not readable');
}
if (! is_writable(realpath($path))) {
$errors[] = '"'.$path.'" '. t('directory is not writable');
if (!is_writable(realpath($path))) {
$errors[] = '"' . $path . '" ' . t('directory is not writable');
}
}
// Check configuration files are readable and writable
foreach (array(
$conf->getConfigFileExt(),
$conf->get('resource.datastore'),
$conf->get('resource.ban_file'),
$conf->get('resource.log'),
$conf->get('resource.update_check'),
) as $path) {
if (! is_file(realpath($path))) {
$conf->getConfigFileExt(),
$conf->get('resource.datastore'),
$conf->get('resource.ban_file'),
$conf->get('resource.log'),
$conf->get('resource.update_check'),
) as $path) {
if (!is_file(realpath($path))) {
# the file may not exist yet
continue;
}
if (! is_readable(realpath($path))) {
$errors[] = '"'.$path.'" '. t('file is not readable');
if (!is_readable(realpath($path))) {
$errors[] = '"' . $path . '" ' . t('file is not readable');
}
if (! is_writable(realpath($path))) {
$errors[] = '"'.$path.'" '. t('file is not writable');
if (!is_writable(realpath($path))) {
$errors[] = '"' . $path . '" ' . t('file is not writable');
}
}

View File

@ -2,7 +2,7 @@
namespace Shaarli\Render;
use ApplicationUtils;
use Shaarli\ApplicationUtils;
use Exception;
use Shaarli\Bookmark\LinkDB;
use RainTPL;

View File

@ -2,7 +2,7 @@
namespace Shaarli\Updater;
use ApplicationUtils;
use Shaarli\ApplicationUtils;
use Exception;
use RainTPL;
use ReflectionClass;

View File

@ -56,7 +56,6 @@ require_once 'inc/rain.tpl.class.php';
require_once __DIR__ . '/vendor/autoload.php';
// Shaarli library
require_once 'application/ApplicationUtils.php';
require_once 'application/bookmark/LinkUtils.php';
require_once 'application/config/ConfigPlugin.php';
require_once 'application/feed/Cache.php';
@ -71,6 +70,7 @@ require_once 'application/Utils.php';
require_once 'application/PluginManager.php';
require_once 'application/Router.php';
use \Shaarli\ApplicationUtils;
use \Shaarli\Bookmark\Exception\LinkNotFoundException;
use \Shaarli\Bookmark\LinkDB;
use \Shaarli\Config\ConfigManager;
@ -83,7 +83,7 @@ use \Shaarli\Render\ThemeUtils;
use \Shaarli\Security\LoginManager;
use \Shaarli\Security\SessionManager;
use \Shaarli\Thumbnailer;
use Shaarli\Updater\Updater;
use \Shaarli\Updater\Updater;
// Ensure the PHP version is supported
try {

View File

@ -1,33 +1,14 @@
<?php
namespace Shaarli;
use Shaarli\Config\ConfigManager;
/**
* ApplicationUtils' tests
*/
require_once 'application/ApplicationUtils.php';
/**
* Fake ApplicationUtils class to avoid HTTP requests
*/
class FakeApplicationUtils extends ApplicationUtils
{
public static $VERSION_CODE = '';
/**
* Toggle HTTP requests, allow overriding the version code
*/
public static function getVersion($url, $timeout = 0)
{
return self::$VERSION_CODE;
}
}
require_once 'tests/utils/FakeApplicationUtils.php';
/**
* Unitary tests for Shaarli utilities
*/
class ApplicationUtilsTest extends PHPUnit_Framework_TestCase
class ApplicationUtilsTest extends \PHPUnit\Framework\TestCase
{
protected static $testUpdateFile = 'sandbox/update.txt';
protected static $testVersion = '0.5.0';

View File

@ -0,0 +1,19 @@
<?php
namespace Shaarli;
/**
* Fake ApplicationUtils class to avoid HTTP requests
*/
class FakeApplicationUtils extends ApplicationUtils
{
public static $VERSION_CODE = '';
/**
* Toggle HTTP requests, allow overriding the version code
*/
public static function getVersion($url, $timeout = 0)
{
return self::$VERSION_CODE;
}
}