PluginProbe
Float menu – awesome floating side menu / 6.0.2
Float menu – awesome floating side menu v6.0.2
7.2.5 trunk 2.1 2.2 3.0.1 3.1 3.2.2 3.3.1 3.5 3.5.1 3.5.2 3.5.3. 3.5.4 4.0 4.1 4.1.1 4.2 4.3 4.3.1 4.3.2 5.0 5.0.1 5.0.2 5.0.3 5.1 All 57 releases
float-menu / public / class-script-maker.php

class-script-maker.php in Float menu – awesome floating side menu 6.0.2, at public/class-script-maker.php

57 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Class Script_Maker
4 *
5 * Helper class for generating Float Menu Pro JavaScript code.
6 *
7 * @package FloatMenuLite
8 * @subpackage Public
9 * @author Dmytro Lobov <dev@wow-company.com>, Wow-Company
10 * @copyright 2024 Dmytro Lobov
11 * @license GPL-2.0+
12 */
13
14 namespace FloatMenuLite;
15
16 defined( 'ABSPATH' ) || exit;
17
18 class Script_Maker {
19 /**
20 * @var mixed
21 */
22 private $id;
23 /**
24 * @var mixed
25 */
26 private $param;
27
28 public function __construct( $id, $param ) {
29 $this->id = $id;
30 $this->param = $param;
31 }
32
33 public function init(): string {
34 $param = $this->param;
35
36 $mobile_screen = $param['mobile_rules'] ?? 768;
37 $mobile_rules = ( ! empty( $param['mobile_rules_on'] ) ) ? 'true' : 'false';
38
39 $arg = [
40 'selector' => ".float-menu-$this->id",
41 'position' => [ $param['menu'], 'center' ],
42 'shape' => ! empty( $param['shape'] ) ? $param['shape'] : 'square',
43 'sideSpace' => filter_var( $param['sideSpace'], FILTER_VALIDATE_BOOLEAN ),
44 'buttonSpace' => filter_var( $param['buttonSpace'], FILTER_VALIDATE_BOOLEAN ),
45 'labelSpace' => filter_var( $param['labelSpace'], FILTER_VALIDATE_BOOLEAN ),
46 'labelConnected' => filter_var( $param['labelConnected'], FILTER_VALIDATE_BOOLEAN ),
47 'labelEffect' => ! empty( $param['labelEffect'] ) ? $param['labelEffect'] : 'fade',
48 'color' => 'default',
49 'overColor' => 'default',
50 'labelsOn' => filter_var( $param['labelsOn'], FILTER_VALIDATE_BOOLEAN ),
51 'mobileEnable' => filter_var( $mobile_rules, FILTER_VALIDATE_BOOLEAN ),
52 'mobileScreen' => (int) $mobile_screen,
53 ];
54
55 return "var FloatMenu_$this->id = " . wp_json_encode( $arg );
56 }
57 }