summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@webtrees.net>2018-12-31 10:40:02 +0000
committerGreg Roach <fisharebest@webtrees.net>2018-12-31 10:40:17 +0000
commit32f20c14b2839ce85ae9a14fd182d48b6c1989a6 (patch)
tree7fd18e1f041d8e1cece5215841fb8ebfacc52217 /app
parentbb5117adff0f725ce1bdc6855ad32979f8676035 (diff)
downloadwebtrees-32f20c14b2839ce85ae9a14fd182d48b6c1989a6.tar.gz
webtrees-32f20c14b2839ce85ae9a14fd182d48b6c1989a6.tar.bz2
webtrees-32f20c14b2839ce85ae9a14fd182d48b6c1989a6.zip
Add tests for Auth and Site classes
Diffstat (limited to 'app')
-rw-r--r--app/Site.php7
-rw-r--r--app/Tree.php10
-rw-r--r--app/User.php2
3 files changed, 12 insertions, 7 deletions
diff --git a/app/Site.php b/app/Site.php
index 43098d54ca..45262966b9 100644
--- a/app/Site.php
+++ b/app/Site.php
@@ -30,7 +30,7 @@ class Site
*
* @var array
*/
- private static $preferences = [];
+ public static $preferences = [];
/**
* Get the site’s configuration settings
@@ -63,11 +63,14 @@ class Site
*/
public static function setPreference($setting_name, $setting_value)
{
+ // The database column is only this long.
+ $setting_value = mb_substr($setting_value, 0, 2000);
+
if (self::getPreference($setting_name) !== $setting_value) {
DB::table('site_setting')->updateOrInsert([
'setting_name' => $setting_name,
], [
- 'setting_value' => mb_substr($setting_value, 0, 2000),
+ 'setting_value' => $setting_value,
]);
self::$preferences[$setting_name] = $setting_value;
diff --git a/app/Tree.php b/app/Tree.php
index b0847cf311..a9a60d23a0 100644
--- a/app/Tree.php
+++ b/app/Tree.php
@@ -51,7 +51,7 @@ class Tree
private $individual_fact_privacy;
/** @var Tree[] All trees that we have permission to see. */
- private static $trees = [];
+ public static $trees = [];
/** @var string[] Cached copy of the wt_gedcom_setting table. */
private $preferences = [];
@@ -323,7 +323,8 @@ class Tree
->orderBy('gedcom.sort_order')
->orderBy('gedcom_setting.setting_value');
- if (false && !Auth::isAdmin()) {
+ // Non-admins may not see all trees
+ if (!Auth::isAdmin()) {
$query
->join('gedcom_setting AS gs2', 'gs2.gedcom_id', '=', 'gedcom.gedcom_id')
->where('gs2.setting_name', '=', 'imported');
@@ -454,14 +455,15 @@ class Tree
]);
$tree_id = (int) DB::connection()->getPdo()->lastInsertId();
+
+ $tree = new self($tree_id, $tree_name, $tree_title);
} catch (PDOException $ex) {
// A tree with that name already exists?
return self::findByName($tree_name);
}
// Update the list of trees - to include this new one
- self::$trees = [];
- $tree = self::findById($tree_id);
+ self::$trees[$tree_name] = $tree;
$tree->setPreference('imported', '0');
$tree->setPreference('title', $tree_title);
diff --git a/app/User.php b/app/User.php
index 8003b84b1b..3486f88811 100644
--- a/app/User.php
+++ b/app/User.php
@@ -42,7 +42,7 @@ class User
private $preferences = [];
/** @var User[]|null[] Only fetch users from the database once. */
- private static $cache = [];
+ public static $cache = [];
/**
* Create a new user object from a row in the database.