diff --git a/Doxyfile b/Doxyfile index 74106514455aebf3fe546c216312ed2b59a39d67..91f426347d80a2d65410a13913d0f68bf67821fa 100644 --- a/Doxyfile +++ b/Doxyfile @@ -780,6 +780,7 @@ RECURSIVE = YES # run. EXCLUDE = vendor \ + composer \ public/plugins_packages \ db \ locale \ diff --git a/lib/classes/StudipAutoloader.php b/lib/classes/StudipAutoloader.php index d7904d16693f7ffab01bff9b7161af9db738e59c..985fbd0fcc179a970dd6181939d063b26ea20003 100644 --- a/lib/classes/StudipAutoloader.php +++ b/lib/classes/StudipAutoloader.php @@ -309,7 +309,7 @@ class StudipAutoloader */ private static function sanitizePath($path) { - if (mb_strpos($path, $GLOBALS['STUDIP_BASE_PATH']) === 0) { + if (isset($GLOBALS['STUDIP_BASE_PATH']) && strpos($path, $GLOBALS['STUDIP_BASE_PATH']) === 0) { return ltrim(str_replace($GLOBALS['STUDIP_BASE_PATH'], '', $path), DIRECTORY_SEPARATOR); } return $path; diff --git a/lib/classes/StudipCacheFactory.class.php b/lib/classes/StudipCacheFactory.class.php index ce79383f58addcc4b8420c59ec0008b08340e8dd..805aa9d8be8ae3c41bda9849f89766ad2050fbb0 100644 --- a/lib/classes/StudipCacheFactory.class.php +++ b/lib/classes/StudipCacheFactory.class.php @@ -182,7 +182,7 @@ class StudipCacheFactory */ public static function loadCacheClass() { - $cacheConfig = Config::get()->SYSTEMCACHE; + $cacheConfig = self::getConfig()->SYSTEMCACHE; $cache_class = $cacheConfig['type'] ?: null; @@ -222,7 +222,7 @@ class StudipCacheFactory */ public static function retrieveConstructorArguments() { - $cacheConfig = Config::get()->SYSTEMCACHE; + $cacheConfig = self::getConfig()->SYSTEMCACHE; return $cacheConfig ?: []; } diff --git a/tests/_data/simpleormap/cronjobs_tasks.php b/tests/_data/simpleormap/cronjobs_tasks.php new file mode 100644 index 0000000000000000000000000000000000000000..43614b63162adc51039351afb0093e01fbd26b49 --- /dev/null +++ b/tests/_data/simpleormap/cronjobs_tasks.php @@ -0,0 +1,75 @@ +<?php +$result = [ + 0 => + [ + 'name' => 'task_id', + 'type' => 'char(32)', + 'null' => 'NO', + 'key' => 'PRI', + 'default' => '', + 'extra' => '', + ], + 1 => + [ + 'name' => 'filename', + 'type' => 'varchar(255)', + 'null' => 'NO', + 'key' => '', + 'default' => '', + 'extra' => '', + ], + 2 => + [ + 'name' => 'class', + 'type' => 'varchar(255)', + 'null' => 'NO', + 'key' => '', + 'default' => '', + 'extra' => '', + ], + 3 => + [ + 'name' => 'active', + 'type' => 'tinyint(1) unsigned', + 'null' => 'NO', + 'key' => '', + 'default' => 0, + 'extra' => '', + ], + 4 => + [ + 'name' => 'execution_count', + 'type' => 'bigint(20) unsigned', + 'null' => 'NO', + 'key' => '', + 'default' => 0, + 'extra' => '', + ], + 5 => + [ + 'name' => 'assigned_count', + 'type' => 'int(11) unsigned', + 'null' => 'NO', + 'key' => '', + 'default' => 0, + 'extra' => '', + ], + 6 => + [ + 'name' => 'mkdate', + 'type' => 'int(11) unsigned', + 'null' => 'YES', + 'key' => '', + 'default' => NULL, + 'extra' => '', + ], + 7 => + [ + 'name' => 'chdate', + 'type' => 'int(11) unsigned', + 'null' => 'YES', + 'key' => '', + 'default' => NULL, + 'extra' => '', + ], +]; diff --git a/tests/unit/_bootstrap.php b/tests/unit/_bootstrap.php index 1acb4d42e80c55d567dbe9a6de25255e8f8135cc..cfa78f6c70bbc629eac9deeb7a5755e1e46a0f27 100644 --- a/tests/unit/_bootstrap.php +++ b/tests/unit/_bootstrap.php @@ -109,7 +109,7 @@ if (!class_exists('StudipTestHelper')) { static function set_up_tables($tables) { // first step, set fake cache - $testconfig = new Config(['cache_class' => 'StudipArrayCache']); + $testconfig = new Config(['SYSTEMCACHE' => ['type' => 'StudipArrayCache']]); Config::set($testconfig); StudipCacheFactory::setConfig($testconfig); diff --git a/tests/unit/lib/VisualTest.php b/tests/unit/lib/VisualTest.php index 264000b7a341cdb212abe488d0d92a566074539b..3d2f03a77dc713c4e7b91ce680044ab0816f7b4b 100644 --- a/tests/unit/lib/VisualTest.php +++ b/tests/unit/lib/VisualTest.php @@ -9,7 +9,6 @@ * the License, or (at your option) any later version. */ -require_once 'config.inc.php'; //$SMILE_SHORT and $SYMBOL_SHORT needed by formatReady require_once 'lib/models/SimpleORMap.class.php'; require_once 'lib/models/OpenGraphURL.class.php'; require_once 'lib/visual.inc.php'; @@ -28,6 +27,7 @@ class VisualFunctionsTest extends \Codeception\Test\Unit Config::set(new Config($config)); $GLOBALS['SMILEY_NO_DB'] = true; + $GLOBALS['SYMBOL_SHORT'] = []; } public function tearDown() diff --git a/tests/unit/lib/classes/CronjobScheduleTest.php b/tests/unit/lib/classes/CronjobScheduleTest.php index 5e05663f9de33510efe38405b7118d1fa51cf6da..e218b7ed980f856e107b1c0da687a8eee1677245 100644 --- a/tests/unit/lib/classes/CronjobScheduleTest.php +++ b/tests/unit/lib/classes/CronjobScheduleTest.php @@ -18,7 +18,7 @@ class CronjobScheduleTest extends \Codeception\Test\Unit { date_default_timezone_set('Europe/Berlin'); - StudipTestHelper::set_up_tables(['cronjobs_schedules']); + StudipTestHelper::set_up_tables(['cronjobs_schedules', 'cronjobs_tasks']); } function tearDown() diff --git a/tests/unit/lib/classes/CsrfProtectionTest.php b/tests/unit/lib/classes/CsrfProtectionTest.php index 17306fd548790af8fe3ed7d3e428a4ef31f07aa0..ce556b8966358630fa3ab31e64f809ecc04544a7 100644 --- a/tests/unit/lib/classes/CsrfProtectionTest.php +++ b/tests/unit/lib/classes/CsrfProtectionTest.php @@ -117,8 +117,8 @@ class CSRFRequestTest extends \Codeception\Test\Unit $_SERVER['REQUEST_METHOD'] = 'POST'; $_SERVER['HTTP_X_REQUESTED_WITH'] = 'XmlHttpRequest'; unset($_POST['security_token']); + $this->expectException(InvalidSecurityTokenException::class); CSRFProtection::verifyUnsafeRequest(); - $this->assertTrue(true); } function testUnsafeXHRWithToken()