Merge branch 'v1.3-dev' into patch-1

This commit is contained in:
Sarah Tsumayoi 2018-03-08 11:45:29 +09:00 committed by GitHub
commit 8a8b20ad64
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 143 additions and 10 deletions

40
protected/humhub/Yii.php Normal file
View File

@ -0,0 +1,40 @@
<?php
/**
* This file used for enhanced IDE code autocompletion only.
* NOTE: To avoid warning of multiple autocompletion you should mark the file protected\vendor\yiisoft\yii2\Yii.php
* as a plain text file for your IDE
* @see https://github.com/samdark/yii2-cookbook/blob/master/book/ide-autocompletion.md#using-custom-yii-class
*/
class Yii extends \yii\BaseYii
{
/**
* @var BaseApplication|WebApplication|ConsoleApplication the application instance
*/
public static $app;
}
/**
* Class BaseApplication
* Used for properties that are identical for both WebApplication and ConsoleApplication
* @property-read \humhub\components\ModuleManager $moduleManager
*/
abstract class BaseApplication extends yii\base\Application
{
}
/**
* Class WebApplication
* Include only Web application related components here
*/
class WebApplication extends \humhub\components\Application
{
}
/**
* Class ConsoleApplication
* Include only Console application related components here
*/
class ConsoleApplication extends \humhub\components\console\Application
{
}

View File

@ -38,4 +38,5 @@ HumHub Change Log - v1.3-dev Branch
- Enh: Ensure valid permalinks when URL rewriting is enabled - Enh: Ensure valid permalinks when URL rewriting is enabled
- Fix: Birthday field refactoring (@danielkesselberg) - Fix: Birthday field refactoring (@danielkesselberg)
- Enh #2811: Added option to resend invites (@danielkesselberg) - Enh #2811: Added option to resend invites (@danielkesselberg)
- Enh: Added current database name to the "Administration -> Information -> Database" (githubjeka)
- Enh/Fix: Cache Handling + File Preview Fix (@Felli) - Enh/Fix: Cache Handling + File Preview Fix (@Felli)

View File

@ -0,0 +1,36 @@
<?php
/**
* @link https://www.humhub.org/
* @copyright Copyright (c) 2018 HumHub GmbH & Co. KG
* @license https://www.humhub.com/licences
*/
namespace humhub\modules\admin\components;
/**
* @since 1.3
*/
class DatabaseInfo
{
/** @var string */
private $pdoDSN;
public function __construct($pdoDSN)
{
$this->pdoDSN = $pdoDSN;
}
/**
* @return string
*/
public function getDatabaseName()
{
$databaseName = '';
if (preg_match('/dbname=([^;]*)/', $this->pdoDSN, $match)) {
$databaseName = $match[1];
}
return $databaseName;
}
}

View File

@ -8,9 +8,10 @@
namespace humhub\modules\admin\controllers; namespace humhub\modules\admin\controllers;
use Yii;
use humhub\modules\admin\components\Controller; use humhub\modules\admin\components\Controller;
use humhub\modules\admin\components\DatabaseInfo;
use humhub\modules\admin\libs\HumHubAPI; use humhub\modules\admin\libs\HumHubAPI;
use Yii;
/** /**
* Informations * Informations
@ -42,7 +43,7 @@ class InformationController extends Controller
public function getAccessRules() public function getAccessRules()
{ {
return [ return [
['permissions' => \humhub\modules\admin\permissions\SeeAdminInformation::className()] ['permissions' => \humhub\modules\admin\permissions\SeeAdminInformation::class],
]; ];
} }
@ -62,7 +63,7 @@ class InformationController extends Controller
'currentVersion' => Yii::$app->version, 'currentVersion' => Yii::$app->version,
'latestVersion' => $latestVersion, 'latestVersion' => $latestVersion,
'isNewVersionAvailable' => $isNewVersionAvailable, 'isNewVersionAvailable' => $isNewVersionAvailable,
'isUpToDate' => $isUpToDate 'isUpToDate' => $isUpToDate,
]); ]);
} }
@ -73,7 +74,15 @@ class InformationController extends Controller
public function actionDatabase() public function actionDatabase()
{ {
return $this->render('database', ['migrate' => \humhub\commands\MigrateController::webMigrateAll()]); $databaseInfo = new DatabaseInfo(Yii::$app->db->dsn);
return $this->render(
'database',
[
'databaseName' => $databaseInfo->getDatabaseName(),
'migrate' => \humhub\commands\MigrateController::webMigrateAll(),
]
);
} }
/** /**
@ -93,7 +102,7 @@ class InformationController extends Controller
return $this->render('cronjobs', [ return $this->render('cronjobs', [
'lastRunHourly' => $lastRunHourly, 'lastRunHourly' => $lastRunHourly,
'lastRunDaily' => $lastRunDaily, 'lastRunDaily' => $lastRunDaily,
'currentUser' => $currentUser 'currentUser' => $currentUser,
]); ]);
} }

View File

@ -134,7 +134,7 @@ class SpaceSearch extends Space
return $dataProvider; return $dataProvider;
} }
public function getVisibilityAttributes() public static function getVisibilityAttributes()
{ {
$countPublic = Space::find()->where(['visibility' => Space::VISIBILITY_ALL])->orWhere(['visibility' => Space::VISIBILITY_REGISTERED_ONLY])->count(); $countPublic = Space::find()->where(['visibility' => Space::VISIBILITY_ALL])->orWhere(['visibility' => Space::VISIBILITY_REGISTERED_ONLY])->count();
$countPrivate = Space::find()->where(['visibility' => Space::VISIBILITY_NONE])->count(); $countPrivate = Space::find()->where(['visibility' => Space::VISIBILITY_NONE])->count();

View File

@ -0,0 +1,27 @@
<?php
namespace humhub\modules\admin\tests\codeception\unit;
use Codeception\Test\Unit;
use humhub\modules\admin\components\DatabaseInfo;
class DatabaseInfoTest extends Unit
{
public function testGetDatabaseNameByMysqlDsn()
{
$data = [
'humhub_demo1' => 'mysql:host=127.0.0.1;dbname=humhub_demo1',
'humhub_demo3' => 'mysql:host=127.0.0.1;port:3310;dbname=humhub_demo3',
'testdb1' => 'mysql:host=localhost;dbname=testdb1',
'testdb2' => 'mysql:host=localhost;port=3307;dbname=testdb2',
'testdb3' => 'mysql:unix_socket=/tmp/mysql.sock;dbname=testdb3',
'testdb4' => 'mysql:unix_socket=/tmp/mysql.sock;dbname=testdb4;charset=utf8',
];
foreach ($data as $name => $dsn) {
$dbInfo = new DatabaseInfo($dsn);
$this->assertEquals($name, $dbInfo->getDatabaseName());
}
}
}

View File

@ -1,3 +1,23 @@
<?php
/**
* @link https://www.humhub.org/
* @copyright Copyright (c) 2017 HumHub GmbH & Co. KG
* @license https://www.humhub.com/licences
*/
/**
* @var $this \humhub\components\View
* @var $databaseName string
* @var $migrate string
*/
?>
<div>
<p>
<?= \Yii::t('base', 'The current main HumHub database name is ') ?>
<i><b><?= \yii\helpers\Html::encode($databaseName) ?></b></i>
</p>
</div>
<p>Database migration results:</p> <p>Database migration results:</p>
<div class="well"> <div class="well">
@ -5,4 +25,3 @@
<?= $migrate; ?> <?= $migrate; ?>
</pre> </pre>
</div> </div>

View File

@ -136,7 +136,7 @@ class MembershipSearch extends Membership
return $dataProvider; return $dataProvider;
} }
public function getRoles(Space $space) public static function getRoles(Space $space)
{ {
$groups = $space->getUserGroups(); $groups = $space->getUserGroups();
unset($groups[Space::USERGROUP_OWNER], $groups[Space::USERGROUP_GUEST], $groups[Space::USERGROUP_USER]); unset($groups[Space::USERGROUP_OWNER], $groups[Space::USERGROUP_GUEST], $groups[Space::USERGROUP_USER]);

View File

@ -0,0 +1 @@
_generated