Browse code

Fix potential PHP8 errors

Sebastian Zoglowek authored on14/08/2022 15:19:39
Showing5 changed files
... ...
@@ -41,18 +41,11 @@ class Member extends Frontend
41 41
 
42 42
     /**
43 43
      * MemberAvatar file name
44
-     *
45
-     * @var string
46 44
      */
47
-    protected $avatarName = 'memberAvatar';
45
+    protected string $avatarName = 'memberAvatar';
48 46
 
49 47
     /**
50 48
      * Create avatar for a member | Registration
51
-     *
52
-     * @param int   $userId
53
-     * @param array $arrData
54
-     *
55
-     * @return void
56 49
      */
57 50
     public function createAvatar(int $userId, array $arrData): void
58 51
     {
... ...
@@ -62,13 +55,8 @@ class Member extends Frontend
62 55
 
63 56
     /**
64 57
      * Update avatar of a member | Login
65
-     *
66
-     * @param FrontendUser  $objUser
67
-     * @param array         $arrData
68
-     *
69
-     * @return void
70 58
      */
71
-    public function updateAvatar(FrontendUser $objUser, $arrData): void
59
+    public function updateAvatar(FrontendUser $objUser, array $arrData): void
72 60
     {
73 61
         $objMember = MemberModel::findById($objUser->id);
74 62
         $this->processAvatar($objMember, $arrData);
... ...
@@ -76,11 +64,6 @@ class Member extends Frontend
76 64
 
77 65
     /**
78 66
      * Process avatar upload for a member
79
-     *
80
-     * @param MemberModel   $objMember
81
-     * @param array         $arrData
82
-     *
83
-     * @return void
84 67
      */
85 68
     protected function processAvatar(MemberModel $objMember, ?array $arrData): void
86 69
     {
... ...
@@ -173,6 +156,7 @@ class Member extends Frontend
173 156
         // Upload valid file type with no width and height -> svg
174 157
 
175 158
         // Don't upload if no homedir is assigned
159
+        // ToDo: Create homedir?
176 160
         if (!$objMember->assignDir || !$objMember->homeDir)
177 161
         {
178 162
             // ToDo: add error message for no homedir
... ...
@@ -186,7 +170,7 @@ class Member extends Frontend
186 170
         // The upload folder could not be found
187 171
         if ($objUploadFolder === null)
188 172
         {
189
-            throw new \Exception("Invalid upload folder ID $intUploadFolder");
173
+            throw new Exception("Invalid upload folder ID $intUploadFolder");
190 174
         }
191 175
 
192 176
         $strUploadFolder = $objUploadFolder->path;
... ...
@@ -246,7 +230,7 @@ class Member extends Frontend
246 230
 
247 231
             // Add a log entry
248 232
             $logger = System::getContainer()->get('monolog.logger.contao');
249
-            $logger->log(LogLevel::INFO, 'File "' . $strUploadFolder . '/' . $file['name'] . '" has been uploaded', array('contao' => new ContaoContext(__METHOD__, TL_FILES)));
233
+            $logger->log(LogLevel::INFO, 'File "' . $strUploadFolder . '/' . $file['name'] . '" has been uploaded', ['contao' => new ContaoContext(__METHOD__, TL_FILES)]);
250 234
         }
251 235
 
252 236
         unset($_SESSION['FILES']['avatar']);
... ...
@@ -254,10 +238,8 @@ class Member extends Frontend
254 238
 
255 239
     /**
256 240
      * Return the maximum upload file size in bytes
257
-     *
258
-     * @return string
259 241
      */
260
-    protected function getMaximumUploadSize()
242
+    protected function getMaximumUploadSize(): string
261 243
     {
262 244
         if ($this->maxlength > 0)
263 245
         {
... ...
@@ -269,13 +251,8 @@ class Member extends Frontend
269 251
 
270 252
     /**
271 253
      * Parses an avatar to the template
272
-     *
273
-     * @param MemberModel|null $objMember
274
-     * @param $objTemplate
275
-     * @param $strImgSize
276
-     * @return void
277 254
      */
278
-    public static function parseMemberAvatar(?MemberModel $objMember, &$objTemplate, $strImgSize)
255
+    public static function parseMemberAvatar(?MemberModel $objMember, &$objTemplate, $strImgSize): void
279 256
     {
280 257
         $objTemplate->addImage= true;
281 258
 
... ...
@@ -305,9 +282,6 @@ class Member extends Frontend
305 282
 
306 283
     /**
307 284
      * Gets the url for a member avatar
308
-     *
309
-     * @param MemberModel|null $objMember
310
-     * @return string
311 285
      */
312 286
     public static function getMemberAvatarURL(?MemberModel $objMember): string
313 287
     {
... ...
@@ -329,9 +303,7 @@ class Member extends Frontend
329 303
     }
330 304
 
331 305
     /**
332
-     * @param MemberModel $objMember
333
-     *
334
-     * @return void
306
+     * Deletes an avatar
335 307
      */
336 308
     public static function deleteAvatar(MemberModel $objMember): void
337 309
     {
... ...
@@ -13,21 +13,22 @@ declare(strict_types=1);
13 13
  * @copyright   Oveleon                 <https://www.oveleon.de/>
14 14
  */
15 15
 
16
+use Contao\Config;
17
+use Contao\CoreBundle\DataContainer\PaletteManipulator;
18
+
16 19
 // Extend the default palette
17
-Contao\CoreBundle\DataContainer\PaletteManipulator::create()
18
-    ->addField(['avatar'], 'personal_legend', Contao\CoreBundle\DataContainer\PaletteManipulator::POSITION_APPEND)
20
+PaletteManipulator::create()
21
+    ->addField(['avatar'], 'personal_legend', PaletteManipulator::POSITION_APPEND)
19 22
     ->applyToPalette('default', 'tl_member')
20 23
 ;
21 24
 
22 25
 // Add global operations
23
-array_insert($GLOBALS['TL_DCA']['tl_member']['list']['global_operations'], 0, [
24
-    'settings' => [
25
-        'label' => &$GLOBALS['TL_LANG']['tl_member']['settings'],
26
-        'href' => 'do=member_settings',
27
-        'icon' => 'edit.svg',
28
-        'attributes' => 'onclick="Backend.getScrollOffset()" accesskey="e"'
29
-    ]
30
-]);
26
+$GLOBALS['TL_DCA']['tl_member']['list']['global_operations']['settings'] = [
27
+    'label' => &$GLOBALS['TL_LANG']['tl_member']['settings'],
28
+    'href' => 'do=member_settings',
29
+    'icon' => 'edit.svg',
30
+    'attributes' => 'onclick="Backend.getScrollOffset()" accesskey="e"'
31
+];
31 32
 
32 33
 // Add fields to tl_user
33 34
 $GLOBALS['TL_DCA']['tl_member']['fields']['avatar'] = [
... ...
@@ -12,6 +12,9 @@ declare(strict_types=1);
12 12
  * @author      Sebastian Zoglowek      <https://github.com/zoglo>
13 13
  * @copyright   Oveleon                 <https://www.oveleon.de/>
14 14
  */
15
+
16
+use Contao\Config;
17
+
15 18
 $GLOBALS['TL_DCA']['tl_member_settings'] = [
16 19
 
17 20
 	// Config
... ...
@@ -20,13 +20,10 @@ use Contao\System;
20 20
 System::loadLanguageFile('tl_member_settings');
21 21
 
22 22
 // Add palettes to tl_module
23
-// ToDo: Change to ArrayUtil::arrayInsert in the future
24
-array_insert($GLOBALS['TL_DCA']['tl_module']['palettes'], 0, [
25
-    'avatar' => '{title_legend},name,headline,type;{source_legend},imgSize;{template_legend:hide},customTpl;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID',
26
-    'deleteAvatar' => '{title_legend},name,headline,type;{template_legend:hide},customTpl;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID',
27
-    'memberList' => '{title_legend},name,headline,type;{config_legend},ext_order,ext_orderField,numberOfItems,perPage,ext_groups,memberFields,imgSize;{redirect_legend},jumpTo;{template_legend:hide},customTpl,memberListTpl;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID',
28
-    'memberReader' => '{title_legend},name,headline,type;{config_legend},ext_groups,memberFields,imgSize;{template_legend:hide},customTpl,memberReaderTpl;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID'
29
-]);
23
+$GLOBALS['TL_DCA']['tl_module']['palettes']['avatar']       = '{title_legend},name,headline,type;{source_legend},imgSize;{template_legend:hide},customTpl;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID';
24
+$GLOBALS['TL_DCA']['tl_module']['palettes']['deleteAvatar'] = '{title_legend},name,headline,type;{template_legend:hide},customTpl;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID';
25
+$GLOBALS['TL_DCA']['tl_module']['palettes']['memberList']   = '{title_legend},name,headline,type;{config_legend},ext_order,ext_orderField,numberOfItems,perPage,ext_groups,memberFields,imgSize;{redirect_legend},jumpTo;{template_legend:hide},customTpl,memberListTpl;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID';
26
+$GLOBALS['TL_DCA']['tl_module']['palettes']['memberReader'] = '{title_legend},name,headline,type;{config_legend},ext_groups,memberFields,imgSize;{template_legend:hide},customTpl,memberReaderTpl;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID';
30 27
 
31 28
 $GLOBALS['TL_DCA']['tl_module']['fields']['memberListTpl'] = [
32 29
     'exclude' => true,
... ...
@@ -90,28 +87,9 @@ class tl_module_extension extends Backend
90 87
     }
91 88
 
92 89
     /**
93
-     * Check permissions to edit the table
94
-     *
95
-     * @throws Contao\CoreBundle\Exception\AccessDeniedException
96
-     */
97
-    public function checkPermission()
98
-    {
99
-        if ($this->User->isAdmin)
100
-        {
101
-            return;
102
-        }
103
-
104
-        if (!$this->User->hasAccess('modules', 'themes')) {
105
-            throw new Contao\CoreBundle\Exception\AccessDeniedException('Not enough permissions to access the front end modules module.');
106
-        }
107
-    }
108
-
109
-    /**
110 90
      * Return all fields of table tl_member without account data
111
-     *
112
-     * @return array
113 91
      */
114
-    public function getMemberProperties()
92
+    public function getMemberProperties(): array
115 93
     {
116 94
         $return = [];
117 95
 
... ...
@@ -131,11 +109,9 @@ class tl_module_extension extends Backend
131 109
 
132 110
     /**
133 111
      * Return all sortable fields of table tl_member
134
-     *
135
-     * @return array
136 112
      */
137
-    public function getViewableMemberFields()
138
-    {
113
+    public function getViewableMemberFields(): array
114
+	{
139 115
         $return = [];
140 116
 
141 117
         Contao\System::loadLanguageFile('tl_member');
... ...
@@ -143,7 +119,7 @@ class tl_module_extension extends Backend
143 119
 
144 120
         foreach ($GLOBALS['TL_DCA']['tl_member']['fields'] as $k=>$v)
145 121
         {
146
-            if (!empty($v['inputType']) && $v['eval']['feViewable'] === true && $k !== 'avatar')
122
+            if (!empty($v['inputType']) && $k !== 'avatar' && isset($v['eval']['feViewable']) && $v['eval']['feViewable'] === true)
147 123
             {
148 124
                 $return[$k] = $GLOBALS['TL_DCA']['tl_member']['fields'][$k]['label'][0] . ' ['.$k.']';
149 125
             }
... ...
@@ -39,47 +39,47 @@ use Contao\System;
39 39
 class ModuleMemberList extends ModuleMemberExtension
40 40
 {
41 41
 
42
-	/**
43
-	 * Template
44
-	 * @var string
45
-	 */
46
-	protected $strTemplate = 'mod_memberList';
47
-
48
-	/**
49
-	 * Template
50
-	 * @var string
51
-	 */
52
-	protected $strMemberTemplate = 'memberExtension_list_default';
53
-
54
-	/**
55
-	 * Return a wildcard in the back end
56
-	 *
57
-	 * @return string
58
-	 */
59
-	public function generate()
60
-	{
42
+    /**
43
+     * Template
44
+     * @var string
45
+     */
46
+    protected $strTemplate = 'mod_memberList';
47
+
48
+    /**
49
+     * Template
50
+     * @var string
51
+     */
52
+    protected $strMemberTemplate = 'memberExtension_list_default';
53
+
54
+    /**
55
+     * Return a wildcard in the back end
56
+     *
57
+     * @return string
58
+     */
59
+    public function generate()
60
+    {
61 61
         $request = System::getContainer()->get('request_stack')->getCurrentRequest();
62 62
 
63 63
         if ($request && System::getContainer()->get('contao.routing.scope_matcher')->isBackendRequest($request))
64 64
         {
65 65
             $objTemplate = new BackendTemplate('be_wildcard');
66
-			$objTemplate->wildcard = '### ' . mb_strtoupper($GLOBALS['TL_LANG']['FMD']['memberList'][0], 'UTF-8') . ' ###';
67
-			$objTemplate->title = $this->headline;
68
-			$objTemplate->id = $this->id;
69
-			$objTemplate->link = $this->name;
70
-			$objTemplate->href = 'contao/main.php?do=themes&amp;table=tl_module&amp;act=edit&amp;id=' . $this->id;
71
-
72
-			return $objTemplate->parse();
73
-		}
74
-
75
-		return parent::generate();
76
-	}
77
-
78
-	/**
79
-	 * Generate the module
80
-	 */
81
-	protected function compile()
82
-	{
66
+            $objTemplate->wildcard = '### ' . mb_strtoupper($GLOBALS['TL_LANG']['FMD']['memberList'][0], 'UTF-8') . ' ###';
67
+            $objTemplate->title = $this->headline;
68
+            $objTemplate->id = $this->id;
69
+            $objTemplate->link = $this->name;
70
+            $objTemplate->href = 'contao/main.php?do=themes&amp;table=tl_module&amp;act=edit&amp;id=' . $this->id;
71
+
72
+            return $objTemplate->parse();
73
+        }
74
+
75
+        return parent::generate();
76
+    }
77
+
78
+    /**
79
+     * Generate the module
80
+     */
81
+    protected function compile()
82
+    {
83 83
         $limit = null;
84 84
         $offset = 0;
85 85
 
... ...
@@ -162,7 +162,7 @@ class ModuleMemberList extends ModuleMemberExtension
162 162
         }
163 163
 
164 164
         $this->Template->members = $arrMembers;
165
-	}
165
+    }
166 166
 
167 167
     /**
168 168
      * Checks whether a member is in any given group
... ...
@@ -195,8 +195,8 @@ class ModuleMemberList extends ModuleMemberExtension
195 195
      */
196 196
     private function getMembers()
197 197
     {
198
-        $arrOptions = [];
199 198
         $t = MemberModel::getTable();
199
+        $arrOptions = ['order' => ''];
200 200
 
201 201
         if (!!$this->ext_orderField)
202 202
         {
... ...
@@ -206,7 +206,7 @@ class ModuleMemberList extends ModuleMemberExtension
206 206
         switch ($this->ext_order)
207 207
         {
208 208
             case 'order_random':
209
-                $arrOptions['order'] = "RAND()";
209
+                $arrOptions['order'] .= "RAND()";
210 210
                 break;
211 211
 
212 212
             case 'order_desc':