Skip to content

Commit 3444e67

Browse files
authored
Merge pull request #99 from ticktackk/permissionCache
Improve compatibility with how XF\PermissionCache is extended
2 parents f1c7015 + 522ae93 commit 3444e67

File tree

4 files changed

+21
-15
lines changed

4 files changed

+21
-15
lines changed

Listener.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,13 @@
22

33
namespace TickTackk\DeveloperTools;
44

5-
use TickTackk\DeveloperTools\XF\PermissionCache as ExtendedPermissionCache;
65
use TickTackk\DeveloperTools\XF\Template\Templater as ExtendedTemplater;
76
use XF\App as BaseApp;
8-
use XF\Container;
97
use XF\Http\Response;
108
use XF\Mvc\Dispatcher;
119
use XF\Mvc\Reply\AbstractReply;
1210
use XF\Mvc\Renderer\AbstractRenderer;
11+
use XF\PermissionCache;
1312
use XF\Util\File as FileUtil;
1413

1514
/**
@@ -71,11 +70,10 @@ public static function dispatcherPostRender(Dispatcher $dispatcher, ?string &$co
7170
*/
7271
public static function appSetup(BaseApp $app) : void
7372
{
74-
$container = $app->container();
73+
$app->offsetSet('permission.cache', function ($c) use ($app) {
74+
$class = $app->extendClass(PermissionCache::class);
7575

76-
$container['permission.cache'] = function (Container $container)
77-
{
78-
return new ExtendedPermissionCache($container['db']);
79-
};
76+
return new $class($c['db']);
77+
});
8078
}
8179
}

XF/PermissionCache.php

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,23 @@
22

33
namespace TickTackk\DeveloperTools\XF;
44

5-
use XF\PermissionCache as BasePermissionCache;
6-
use XF\PermissionSet as BasePermissionSet;
7-
use TickTackk\DeveloperTools\XF\PermissionSet as ExtendedPermissionSet;
8-
95
/**
106
* Class PermissionCache
117
*
128
* @package TickTackk\DeveloperTools\XF
139
*/
14-
class PermissionCache extends BasePermissionCache
10+
class PermissionCache extends XFCP_PermissionCache
1511
{
1612
/**
1713
* Returns extended permission set class which logs permission that do not exist but are being called
1814
*
1915
* @param int $permissionCombinationId
20-
*
21-
* @return PermissionSet|BasePermissionSet
16+
* @return PermissionSet
17+
* @noinspection PhpMissingParamTypeInspection
18+
* @noinspection PhpMissingReturnTypeInspection
2219
*/
2320
public function getPermissionSet($permissionCombinationId)
2421
{
25-
return new ExtendedPermissionSet($this, $permissionCombinationId);
22+
return new PermissionSet($this, $permissionCombinationId);
2623
}
2724
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"from_class": "XF\\PermissionCache",
3+
"to_class": "TickTackk\\DeveloperTools\\XF\\PermissionCache",
4+
"execute_order": 6119,
5+
"active": true
6+
}

_output/extension_hint.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ class XFCP_Template extends \XF\Admin\Controller\Template {}
1313
class XFCP_TemplateModification extends \XF\Admin\Controller\TemplateModification {}
1414
}
1515

16+
namespace TickTackk\DeveloperTools\XF
17+
{
18+
class XFCP_PermissionCache extends \XF\PermissionCache {}
19+
}
20+
1621
namespace TickTackk\DeveloperTools\XF\Entity
1722
{
1823
class XFCP_CodeEventListener extends \XF\Entity\CodeEventListener {}

0 commit comments

Comments
 (0)