@@ -164,6 +164,24 @@ public static function input($setting, $required = false, $value_user = null)
164164 $ input_value = $ setting ->valore ;
165165 }
166166
167+ // Definizione icona per evidenziare le impostazioni personalizzate e personalizzabili
168+ $ user = Auth::user ();
169+ $ user_options = [];
170+ $ user_setting_icon = '' ;
171+ $ tooltip = $ setting ->getTranslation ('help ' );
172+
173+ if ($ user ) {
174+ $ user_options = json_decode ($ user ->options ?: '' , true );
175+ }
176+
177+ if ($ user_options ['settings ' ][$ setting ->id ] !== null ) {
178+ $ user_setting_icon = '<i class="fa fa-user text-primary"></i> ' ;
179+ $ tooltip .= ($ tooltip ?'<br> ' :'' ).'<em> ' .tr ('Personalizzata dall \'utente ' ).'</em> ' ;
180+ } else if ($ setting ->is_user_setting ) {
181+ $ user_setting_icon = '<i class="fa fa-user text-secondary"></i> ' ;
182+ $ tooltip .= ($ tooltip ?'<br> ' :'' ).'<em> ' .tr ('Personalizzabile dall \'utente ' ).'</em> ' ;
183+ }
184+
167185 // Lista predefinita
168186 if (preg_match ("/list\[(.+?)\]/ " , $ setting ->tipo , $ m )) {
169187 $ values = explode (', ' , $ m [1 ]);
@@ -177,7 +195,7 @@ public static function input($setting, $required = false, $value_user = null)
177195 }
178196
179197 $ result = '
180- {[ "type": "select", "multiple": 0, "label": ' .json_encode ($ setting ->getTranslation ('title ' )).', "readonly": " ' .!$ setting ->editable .'", "name": "setting[ ' .$ setting ->id .']", "values": ' .json_encode ($ list ).', "value": " ' .$ input_value .'", "required": " ' .intval ($ required ).'", "help": " ' .$ setting -> getTranslation ( ' help ' ) .'" ]} ' ;
198+ {[ "type": "select", "multiple": 0, "label": ' .json_encode ($ user_setting_icon . ' ' . $ setting ->getTranslation ('title ' )).', "readonly": " ' .!$ setting ->editable .'", "name": "setting[ ' .$ setting ->id .']", "values": ' .json_encode ($ list ).', "value": " ' .$ input_value .'", "required": " ' .intval ($ required ).'", "help": " ' .$ tooltip .'" ]} ' ;
181199 }
182200
183201 // Lista multipla
@@ -210,38 +228,38 @@ public static function input($setting, $required = false, $value_user = null)
210228 }
211229
212230 $ result = '
213- {[ "type": "select", "multiple": 1, "label": ' .json_encode ($ setting ->getTranslation ('title ' )).', "readonly": " ' .!$ setting ->editable .'", "name": "setting[ ' .$ setting ->id .'][]", "values": ' .json_encode ($ list ).', "value": " ' .$ input_value .'", "required": " ' .intval ($ required ).'", "help": " ' .$ setting -> getTranslation ( ' help ' ) .'" ]} ' ;
231+ {[ "type": "select", "multiple": 1, "label": ' .json_encode ($ user_setting_icon . ' ' . $ setting ->getTranslation ('title ' )).', "readonly": " ' .!$ setting ->editable .'", "name": "setting[ ' .$ setting ->id .'][]", "values": ' .json_encode ($ list ).', "value": " ' .$ input_value .'", "required": " ' .intval ($ required ).'", "help": " ' .$ tooltip .'" ]} ' ;
214232 }
215233
216234 // Lista da query
217235 elseif (preg_match ('/^query=(.+?)$/ ' , $ setting ->tipo , $ m )) {
218236 $ result = '
219- {[ "type": "select", "label": ' .json_encode ($ setting ->getTranslation ('title ' )).', "readonly": " ' .!$ setting ->editable .'", "name": "setting[ ' .$ setting ->id .']", "values": " ' .str_replace ('" ' , '\" ' , $ setting ->tipo ).'", "value": " ' .$ input_value .'", "required": " ' .intval ($ required ).'", "help": " ' .$ setting -> getTranslation ( ' help ' ) .'" ]} ' ;
237+ {[ "type": "select", "label": ' .json_encode ($ user_setting_icon . ' ' . $ setting ->getTranslation ('title ' )).', "readonly": " ' .!$ setting ->editable .'", "name": "setting[ ' .$ setting ->id .']", "values": " ' .str_replace ('" ' , '\" ' , $ setting ->tipo ).'", "value": " ' .$ input_value .'", "required": " ' .intval ($ required ).'", "help": " ' .$ tooltip .'" ]} ' ;
220238 }
221239
222240 // Boolean (checkbox)
223241 elseif ($ setting ->tipo == 'boolean ' ) {
224242 $ result = '
225- {[ "type": "checkbox", "label": ' .json_encode ($ setting ->getTranslation ('title ' )).', "readonly": " ' .!$ setting ->editable .'", "name": "setting[ ' .$ setting ->id .']", "placeholder": " ' .tr ('Attivo ' ).'", "value": " ' .$ input_value .'", "required": " ' .intval ($ required ).'", "help": " ' .$ setting -> getTranslation ( ' help ' ) .'" ]} ' ;
243+ {[ "type": "checkbox", "label": ' .json_encode ($ user_setting_icon . ' ' . $ setting ->getTranslation ('title ' )).', "readonly": " ' .!$ setting ->editable .'", "name": "setting[ ' .$ setting ->id .']", "placeholder": " ' .tr ('Attivo ' ).'", "value": " ' .$ input_value .'", "required": " ' .intval ($ required ).'", "help": " ' .$ tooltip .'" ]} ' ;
226244 }
227245
228246 // Editor
229247 elseif ($ setting ->tipo == 'ckeditor ' ) {
230248 $ result = input ([
231249 'type ' => 'ckeditor ' ,
232- 'label ' => trim ( json_encode ( $ setting ->getTranslation ('title ' )), ' " ' ),
250+ 'label ' => $ user_setting_icon . ' ' . $ setting ->getTranslation ('title ' ),
233251 'readonly ' => !$ setting ->editable ,
234252 'name ' => 'setting[ ' .$ setting ->id .'] ' ,
235253 'value ' => $ input_value ,
236254 'required ' => intval ($ required ),
237- 'help ' => $ setting -> getTranslation ( ' help ' ) ,
255+ 'help ' => $ tooltip ,
238256 ]);
239257 }
240258
241259 // Campi di default
242260 elseif (in_array ($ setting ->tipo , ['textarea ' , 'timestamp ' , 'date ' , 'time ' ])) {
243261 $ result = '
244- {[ "type": " ' .$ setting ->tipo .'", "label": ' .json_encode ($ setting ->getTranslation ('title ' )).', "readonly": " ' .!$ setting ->editable .'", "name": "setting[ ' .$ setting ->id .']", "value": ' .json_encode ($ input_value ).', "required": " ' .intval ($ required ).'", "help": " ' .$ setting -> getTranslation ( ' help ' ) .'" ]} ' ;
262+ {[ "type": " ' .$ setting ->tipo .'", "label": ' .json_encode ($ user_setting_icon . ' ' . $ setting ->getTranslation ('title ' )).', "readonly": " ' .!$ setting ->editable .'", "name": "setting[ ' .$ setting ->id .']", "value": ' .json_encode ($ input_value ).', "required": " ' .intval ($ required ).'", "help": " ' .$ tooltip .'" ]} ' ;
245263 }
246264
247265 // Campo di testo
@@ -252,7 +270,7 @@ public static function input($setting, $required = false, $value_user = null)
252270 $ tipo = $ numerico ? 'number ' : 'text ' ;
253271
254272 $ result = '
255- {[ "type": " ' .$ tipo .'", "label": ' .json_encode ($ setting ->getTranslation ('title ' )).', "readonly": " ' .!$ setting ->editable .'", "name": "setting[ ' .$ setting ->id .']", "value": " ' .$ input_value .'" ' .($ numerico && $ setting ->tipo == 'integer ' ? ', "decimals": 0 ' : '' ).', "required": " ' .intval ($ required ).'", "help": " ' .$ setting -> getTranslation ( ' help ' ) .'" ]} ' ;
273+ {[ "type": " ' .$ tipo .'", "label": ' .json_encode ($ user_setting_icon . ' ' . $ setting ->getTranslation ('title ' )).', "readonly": " ' .!$ setting ->editable .'", "name": "setting[ ' .$ setting ->id .']", "value": " ' .$ input_value .'" ' .($ numerico && $ setting ->tipo == 'integer ' ? ', "decimals": 0 ' : '' ).', "required": " ' .intval ($ required ).'", "help": " ' .$ tooltip .'" ]} ' ;
256274 }
257275
258276 return $ result ;
0 commit comments