1: <?php
2: /**
3: * This code is licensed under AGPLv3 license or Afterlogic Software License
4: * if commercial version of the product was purchased.
5: * For full statements of the licenses see LICENSE-AFTERLOGIC and LICENSE-AGPL3 files.
6: */
7:
8: namespace Aurora\Modules\FilesTableviewWebclientPlugin;
9:
10: /**
11: * Replaces folders and files list view template in Files module for displaying items in table.
12: *
13: * @license https://www.gnu.org/licenses/agpl-3.0.html AGPL-3.0
14: * @license https://afterlogic.com/products/common-licensing Afterlogic Software License
15: * @copyright Copyright (c) 2023, Afterlogic Corp.
16: *
17: * @property Settings $oModuleSettings
18: *
19: * @package Modules
20: */
21: class Module extends \Aurora\System\Module\AbstractWebclientModule
22: {
23: public function init() {}
24:
25: /**
26: * @return Module
27: */
28: public static function getInstance()
29: {
30: return parent::getInstance();
31: }
32:
33: /**
34: * @return Module
35: */
36: public static function Decorator()
37: {
38: return parent::Decorator();
39: }
40:
41: /**
42: * @return Settings
43: */
44: public function getModuleSettings()
45: {
46: return $this->oModuleSettings;
47: }
48:
49: /**
50: * Obtains list of module settings for authenticated user.
51: *
52: * @return array
53: */
54: public function GetSettings()
55: {
56: \Aurora\System\Api::checkUserRoleIsAtLeast(\Aurora\System\Enums\UserRole::Anonymous);
57:
58: $oUser = \Aurora\System\Api::getAuthenticatedUser();
59: if ($oUser && $oUser->isNormalOrTenant()) {
60: return array(
61: 'EnableModule' => $oUser->getExtendedProp(self::GetName() . '::EnableModule'),
62: 'EnablePreviewPane' => $oUser->getExtendedProp(self::GetName() . '::EnablePreviewPane')
63: );
64: }
65:
66: return null;
67: }
68:
69: /**
70: * Updates settings of the Simple Chat Module.
71: *
72: * @param boolean $EnableModule indicates if user turned on Simple Chat Module.
73: * @return boolean
74: */
75: public function UpdateSettings($EnableModule, $EnablePreviewPane)
76: {
77: \Aurora\System\Api::checkUserRoleIsAtLeast(\Aurora\System\Enums\UserRole::NormalUser);
78:
79: $iUserId = \Aurora\System\Api::getAuthenticatedUserId();
80: if (0 < $iUserId) {
81: $oUser = \Aurora\Modules\Core\Module::Decorator()->GetUserWithoutRoleCheck($iUserId);
82: $oUser->setExtendedProp(self::GetName() . '::EnableModule', $EnableModule);
83: $oUser->setExtendedProp(self::GetName() . '::EnablePreviewPane', $EnablePreviewPane);
84: \Aurora\Modules\Core\Module::Decorator()->UpdateUserObject($oUser);
85: }
86: return true;
87: }
88: }
89: