Permalink
Browse files

Encapsulate <reload_repository> in a dedicated message object.

  • Loading branch information...
1 parent 2d67e8c commit 4a2830fab1be17bcb874b917b25000a8da3705be @cdujeu cdujeu committed Sep 29, 2016
@@ -322,16 +322,6 @@ public static function reloadDataNode($nodePath="", $pendingSelection="", $print
}
/**
- * Send a <reload> XML instruction for refreshing the repositories list
- * @static
- * @param bool $print
- * @return string
- */
- public static function reloadRepositoryList($print = true)
- {
- return XMLWriter::write("<reload_instruction object=\"repository_list\"/>", $print);
- }
- /**
* Outputs a <require_auth/> tag
* @static
* @param bool $print
@@ -0,0 +1,55 @@
+<?php
+/*
+ * Copyright 2007-2016 Abstrium <contact (at) pydio.com>
+ * This file is part of Pydio.
+ *
+ * Pydio is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Pydio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with Pydio. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * The latest code can be found at <https://pydio.com/>.
+ */
+namespace Pydio\Core\Http\Message;
+
+use Pydio\Core\Http\Response\XMLSerializableResponseChunk;
+
+defined('AJXP_EXEC') or die('Access not allowed');
+
+/**
+ * Class ReloadRepoListMessage Encapsulate XML message for reloading repositories list
+ * @package Pydio\Core\Http\Message
+ */
+class ReloadRepoListMessage extends Message implements XMLSerializableResponseChunk
+{
+ /**
+ * ReloadRepoListMessage constructor.
+ */
+ public function __construct()
+ {
+ parent::__construct("reload_repositories");
+ }
+
+ /**
+ * Serialize as XML
+ * @return string
+ */
+ public function toXML()
+ {
+ return "<reload_instruction object=\"repository_list\"/>";
+ }
+
+ public static function XML(){
+ $m = new ReloadRepoListMessage();
+ return $m->toXML();
+ }
+
+}
@@ -297,9 +297,12 @@ public function rolesActions(ServerRequestInterface $requestInterface, ResponseI
$scope = "role";
if($roleGroup) {
$scope = "group";
- if($roleId == "AJXP_GRP_/") $scope = "role";
+ if($roleId == "AJXP_GRP_/") {
+ $scope = "role";
+ }
+ }else if(isSet($userObject)) {
+ $scope = "user";
}
- else if(isSet($userObject)) $scope = "user";
$data["SCOPE_PARAMS"] = array();
$nodes = PluginsService::getInstance($ctx)->searchAllManifests("//param[contains(@scope,'".$scope."')]|//global_param[contains(@scope,'".$scope."')]", "node", false, true, true);
foreach ($nodes as $node) {
@@ -21,6 +21,7 @@
namespace Pydio\Auth\Frontend;
use Exception;
+use Pydio\Core\Http\Message\ReloadRepoListMessage;
use Pydio\Core\Model\Context;
use Pydio\Core\Model\UserInterface;
use Pydio\Core\Services\AuthService;
@@ -72,7 +73,7 @@ protected function logUserFromSession(\Psr\Http\Message\ServerRequestInterface &
if ($u->reloadRolesIfRequired()) {
ConfService::getInstance()->invalidateLoadedRepositories();
- AuthService::$bufferedMessage = XMLWriter::reloadRepositoryList(false);
+ AuthService::$bufferedMessage = ReloadRepoListMessage::XML();
}
$request = $request->withAttribute("ctx", Context::contextWithObjects($u, null));
return true;

0 comments on commit 4a2830f

Please sign in to comment.