Browse code

Version 1.5 initial commit

Benjamin Roth authored on24/06/2024 12:06:17
Showing1 changed files
... ...
@@ -13,31 +13,31 @@ declare(strict_types=1);
13 13
  * @copyright   Oveleon                <https://www.oveleon.de/>
14 14
  */
15 15
 
16
-use Contao\Backend;
17 16
 use Contao\Controller;
18 17
 use Contao\System;
18
+use Oveleon\ContaoMemberExtensionBundle\EventListener\DataContainer\MemberFieldsOptionsListener;
19 19
 
20 20
 System::loadLanguageFile('tl_member_settings');
21 21
 
22 22
 // Add palettes to tl_module
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';
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 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';
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,ext_activateFilter,ext_parseDetails,ext_memberAlias;{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,ext_parseDetails,overviewPage,customLabel;{template_legend:hide},customTpl,memberReaderTpl;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID';
27 27
 
28 28
 $GLOBALS['TL_DCA']['tl_module']['fields']['memberListTpl'] = [
29 29
     'exclude' => true,
30 30
     'inputType' => 'select',
31
-    'options_callback' => static fn () => Controller::getTemplateGroup('memberExtension_list_'),
32
-    'eval' => ['includeBlankOption'=>true, 'chosen'=>true, 'tl_class'=>'w50'],
31
+    'options_callback' => static fn() => Controller::getTemplateGroup('memberExtension_list_'),
32
+    'eval' => ['includeBlankOption' => true, 'chosen' => true, 'tl_class' => 'w50'],
33 33
     'sql' => "varchar(64) NOT NULL default ''"
34 34
 ];
35 35
 
36 36
 $GLOBALS['TL_DCA']['tl_module']['fields']['memberReaderTpl'] = [
37 37
     'exclude' => true,
38 38
     'inputType' => 'select',
39
-    'options_callback' => static fn () => Controller::getTemplateGroup('memberExtension_reader_'),
40
-    'eval' => ['includeBlankOption'=>true, 'chosen'=>true, 'tl_class'=>'w50'],
39
+    'options_callback' => static fn() => Controller::getTemplateGroup('memberExtension_reader_'),
40
+    'eval' => ['includeBlankOption' => true, 'chosen' => true, 'tl_class' => 'w50'],
41 41
     'sql' => "varchar(64) NOT NULL default ''"
42 42
 ];
43 43
 
... ...
@@ -46,85 +46,50 @@ $GLOBALS['TL_DCA']['tl_module']['fields']['ext_order'] = [
46 46
     'inputType' => 'select',
47 47
     'options' => ['order_random', 'order_asc', 'order_desc'],
48 48
     'reference' => &$GLOBALS['TL_LANG']['tl_member_settings'],
49
-    'eval' => ['tl_class'=>'w50 clr', 'includeBlankOption'=>true, 'chosen'=>true,],
49
+    'eval' => ['tl_class' => 'w50 clr', 'includeBlankOption' => true, 'chosen' => true],
50 50
     'sql' => "varchar(32) NOT NULL default ''"
51 51
 ];
52 52
 
53 53
 $GLOBALS['TL_DCA']['tl_module']['fields']['ext_orderField'] = [
54 54
     'exclude' => true,
55 55
     'inputType' => 'select',
56
-    'options_callback' => ['tl_module_extension', 'getViewableMemberFields'],
57
-    'eval' => ['tl_class'=>'w50', 'includeBlankOption'=>true, 'chosen'=>true,],
56
+    'eval' => ['tl_class' => 'w50', 'includeBlankOption' => true, 'chosen' => true],
58 57
     'sql' => "varchar(32) NOT NULL default ''"
59 58
 ];
60 59
 
61 60
 $GLOBALS['TL_DCA']['tl_module']['fields']['memberFields'] = [
62 61
     'exclude' => true,
63 62
     'inputType' => 'checkboxWizard',
64
-    'options_callback' => ['tl_module_extension', 'getMemberProperties'],
65
-    'eval' => ['multiple'=>true, 'tl_class'=>'clr'],
63
+    'eval' => ['multiple' => true, 'tl_class' => 'clr'],
66 64
     'sql' => "blob NULL"
67 65
 ];
68 66
 
67
+$GLOBALS['TL_DCA']['tl_module']['fields']['ext_parseDetails'] = [
68
+    'exclude' => true,
69
+    'inputType' => 'checkbox',
70
+    'eval' => ['tl_class' => 'w50 clr'],
71
+    'sql' => "char(1) NOT NULL default ''"
72
+];
73
+
74
+$GLOBALS['TL_DCA']['tl_module']['fields']['ext_memberAlias'] = [
75
+    'exclude' => true,
76
+    'inputType' => 'checkbox',
77
+    'eval' => ['tl_class' => 'w50'],
78
+    'sql' => "char(1) NOT NULL default ''"
79
+];
80
+
69 81
 $GLOBALS['TL_DCA']['tl_module']['fields']['ext_groups'] = [
70 82
     'exclude' => true,
71 83
     'inputType' => 'checkbox',
72 84
     'foreignKey' => 'tl_member_group.name',
73
-    'eval' => ['multiple'=>true, 'tl_class'=>'clr'],
85
+    'eval' => ['multiple' => true, 'tl_class' => 'clr'],
74 86
     'sql' => "blob NULL",
75
-    'relation' => ['type'=>'hasMany', 'load'=>'lazy']
87
+    'relation' => ['type' => 'hasMany', 'load' => 'lazy']
76 88
 ];
77 89
 
78
-class tl_module_extension extends Backend
79
-{
80
-    /**
81
-     * Import the back end user object
82
-     */
83
-    public function __construct()
84
-    {
85
-        parent::__construct();
86
-        $this->import('Contao\BackendUser', 'User');
87
-    }
88
-
89
-    /**
90
-     * Return all fields of table tl_member without account data
91
-     */
92
-    public function getMemberProperties(): array
93
-    {
94
-        $return = [];
95
-
96
-        Contao\System::loadLanguageFile('tl_member');
97
-        $this->loadDataContainer('tl_member');
98
-
99
-        foreach ($GLOBALS['TL_DCA']['tl_member']['fields'] as $k=>$v)
100
-        {
101
-            if (!empty($v['inputType']) && $v['inputType'] !== 'password')
102
-            {
103
-                $return[$k] = $GLOBALS['TL_DCA']['tl_member']['fields'][$k]['label'][0];
104
-            }
105
-        }
106
-
107
-        return $return;
108
-    }
109
-
110
-    /**
111
-     * Return all sortable fields of table tl_member
112
-     */
113
-    public function getViewableMemberFields(): array
114
-    {
115
-        $return = [];
116
-
117
-        Contao\System::loadLanguageFile('tl_member');
118
-        $this->loadDataContainer('tl_member');
119
-
120
-        foreach ($GLOBALS['TL_DCA']['tl_member']['fields'] as $k=>$v)
121
-        {
122
-            if (!empty($v['inputType']) && $k !== 'avatar' && isset($v['eval']['feViewable']) && $v['eval']['feViewable'] === true)
123
-            {
124
-                $return[$k] = $GLOBALS['TL_DCA']['tl_member']['fields'][$k]['label'][0] . ' ['.$k.']';
125
-            }
126
-        }
127
-
128
-        return $return;
129
-    }
130
-}
90
+$GLOBALS['TL_DCA']['tl_module']['fields']['ext_activateFilter'] = [
91
+    'exclude' => true,
92
+    'inputType' => 'checkbox',
93
+    'eval' => ['tl_class' => 'w50 m12'],
94
+    'sql' => "char(1) NOT NULL default ''"
95
+];
Sebastian Zoglowek authored on14/08/2022 16:26:53
Showing1 changed files
... ...
@@ -111,7 +111,7 @@ class tl_module_extension extends Backend
111 111
      * Return all sortable fields of table tl_member
112 112
      */
113 113
     public function getViewableMemberFields(): array
114
-	{
114
+    {
115 115
         $return = [];
116 116
 
117 117
         Contao\System::loadLanguageFile('tl_member');
Browse code

Update comments

Sebastian Zoglowek authored on14/08/2022 16:18:52
Showing1 changed files
... ...
@@ -7,10 +7,10 @@ declare(strict_types=1);
7 7
  *
8 8
  * @package     contao-member-extension-bundle
9 9
  * @license     MIT
10
- * @author      Daniele Sciannimanica   <https://github.com/doishub>
11
- * @author      Fabian Ekert            <https://github.com/eki89>
12
- * @author      Sebastian Zoglowek      <https://github.com/zoglo>
13
- * @copyright   Oveleon                 <https://www.oveleon.de/>
10
+ * @author      Sebastian Zoglowek     <https://github.com/zoglo>
11
+ * @author      Daniele Sciannimanica  <https://github.com/doishub>
12
+ * @author      Fabian Ekert           <https://github.com/eki89>
13
+ * @copyright   Oveleon                <https://www.oveleon.de/>
14 14
  */
15 15
 
16 16
 use Contao\Backend;
Browse code

Change bundle structure

Sebastian Zoglowek authored on14/08/2022 15:51:15
Showing1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,130 @@
1
+<?php
2
+
3
+declare(strict_types=1);
4
+
5
+/*
6
+ * This file is part of Oveleon ContaoMemberExtension Bundle.
7
+ *
8
+ * @package     contao-member-extension-bundle
9
+ * @license     MIT
10
+ * @author      Daniele Sciannimanica   <https://github.com/doishub>
11
+ * @author      Fabian Ekert            <https://github.com/eki89>
12
+ * @author      Sebastian Zoglowek      <https://github.com/zoglo>
13
+ * @copyright   Oveleon                 <https://www.oveleon.de/>
14
+ */
15
+
16
+use Contao\Backend;
17
+use Contao\Controller;
18
+use Contao\System;
19
+
20
+System::loadLanguageFile('tl_member_settings');
21
+
22
+// Add palettes to tl_module
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';
27
+
28
+$GLOBALS['TL_DCA']['tl_module']['fields']['memberListTpl'] = [
29
+    'exclude' => true,
30
+    'inputType' => 'select',
31
+    'options_callback' => static fn () => Controller::getTemplateGroup('memberExtension_list_'),
32
+    'eval' => ['includeBlankOption'=>true, 'chosen'=>true, 'tl_class'=>'w50'],
33
+    'sql' => "varchar(64) NOT NULL default ''"
34
+];
35
+
36
+$GLOBALS['TL_DCA']['tl_module']['fields']['memberReaderTpl'] = [
37
+    'exclude' => true,
38
+    'inputType' => 'select',
39
+    'options_callback' => static fn () => Controller::getTemplateGroup('memberExtension_reader_'),
40
+    'eval' => ['includeBlankOption'=>true, 'chosen'=>true, 'tl_class'=>'w50'],
41
+    'sql' => "varchar(64) NOT NULL default ''"
42
+];
43
+
44
+$GLOBALS['TL_DCA']['tl_module']['fields']['ext_order'] = [
45
+    'exclude' => true,
46
+    'inputType' => 'select',
47
+    'options' => ['order_random', 'order_asc', 'order_desc'],
48
+    'reference' => &$GLOBALS['TL_LANG']['tl_member_settings'],
49
+    'eval' => ['tl_class'=>'w50 clr', 'includeBlankOption'=>true, 'chosen'=>true,],
50
+    'sql' => "varchar(32) NOT NULL default ''"
51
+];
52
+
53
+$GLOBALS['TL_DCA']['tl_module']['fields']['ext_orderField'] = [
54
+    'exclude' => true,
55
+    'inputType' => 'select',
56
+    'options_callback' => ['tl_module_extension', 'getViewableMemberFields'],
57
+    'eval' => ['tl_class'=>'w50', 'includeBlankOption'=>true, 'chosen'=>true,],
58
+    'sql' => "varchar(32) NOT NULL default ''"
59
+];
60
+
61
+$GLOBALS['TL_DCA']['tl_module']['fields']['memberFields'] = [
62
+    'exclude' => true,
63
+    'inputType' => 'checkboxWizard',
64
+    'options_callback' => ['tl_module_extension', 'getMemberProperties'],
65
+    'eval' => ['multiple'=>true, 'tl_class'=>'clr'],
66
+    'sql' => "blob NULL"
67
+];
68
+
69
+$GLOBALS['TL_DCA']['tl_module']['fields']['ext_groups'] = [
70
+    'exclude' => true,
71
+    'inputType' => 'checkbox',
72
+    'foreignKey' => 'tl_member_group.name',
73
+    'eval' => ['multiple'=>true, 'tl_class'=>'clr'],
74
+    'sql' => "blob NULL",
75
+    'relation' => ['type'=>'hasMany', 'load'=>'lazy']
76
+];
77
+
78
+class tl_module_extension extends Backend
79
+{
80
+    /**
81
+     * Import the back end user object
82
+     */
83
+    public function __construct()
84
+    {
85
+        parent::__construct();
86
+        $this->import('Contao\BackendUser', 'User');
87
+    }
88
+
89
+    /**
90
+     * Return all fields of table tl_member without account data
91
+     */
92
+    public function getMemberProperties(): array
93
+    {
94
+        $return = [];
95
+
96
+        Contao\System::loadLanguageFile('tl_member');
97
+        $this->loadDataContainer('tl_member');
98
+
99
+        foreach ($GLOBALS['TL_DCA']['tl_member']['fields'] as $k=>$v)
100
+        {
101
+            if (!empty($v['inputType']) && $v['inputType'] !== 'password')
102
+            {
103
+                $return[$k] = $GLOBALS['TL_DCA']['tl_member']['fields'][$k]['label'][0];
104
+            }
105
+        }
106
+
107
+        return $return;
108
+    }
109
+
110
+    /**
111
+     * Return all sortable fields of table tl_member
112
+     */
113
+    public function getViewableMemberFields(): array
114
+	{
115
+        $return = [];
116
+
117
+        Contao\System::loadLanguageFile('tl_member');
118
+        $this->loadDataContainer('tl_member');
119
+
120
+        foreach ($GLOBALS['TL_DCA']['tl_member']['fields'] as $k=>$v)
121
+        {
122
+            if (!empty($v['inputType']) && $k !== 'avatar' && isset($v['eval']['feViewable']) && $v['eval']['feViewable'] === true)
123
+            {
124
+                $return[$k] = $GLOBALS['TL_DCA']['tl_member']['fields'][$k]['label'][0] . ' ['.$k.']';
125
+            }
126
+        }
127
+
128
+        return $return;
129
+    }
130
+}