# float-menu/6.1/public/class-script-maker.php

Float menu – awesome floating side menu, version 6.1. 57 lines.

- Page: https://pluginprobe.com/plugins/float-menu/6.1/code/public/class-script-maker.php
- Raw: https://pluginprobe.com/plugins/float-menu/6.1/raw/public/class-script-maker.php
- Modified: 2024-11-25T08:47:24+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/float-menu/6.1/code/public/class-script-maker.php#L10-L20`.

```php
<?php
/**
 * Class Script_Maker
 *
 * Helper class for generating Float Menu Pro JavaScript code.
 *
 * @package    FloatMenuLite
 * @subpackage Public
 * @author     Dmytro Lobov <dev@wow-company.com>, Wow-Company
 * @copyright  2024 Dmytro Lobov
 * @license    GPL-2.0+
 */

namespace FloatMenuLite;

defined( 'ABSPATH' ) || exit;

class Script_Maker {
	/**
	 * @var mixed
	 */
	private $id;
	/**
	 * @var mixed
	 */
	private $param;

	public function __construct( $id, $param ) {
		$this->id    = $id;
		$this->param = $param;
	}

	public function init(): string {
		$param = $this->param;

		$mobile_screen            = $param['mobile_rules'] ?? 768;
		$mobile_rules             = ( ! empty( $param['mobile_rules_on'] ) ) ? 'true' : 'false';

		$arg = [
			'selector'       => ".float-menu-$this->id",
			'position'       => [ $param['menu'], 'center' ],
			'shape'          => ! empty( $param['shape'] ) ? $param['shape'] : 'square',
			'sideSpace'      => filter_var( $param['sideSpace'], FILTER_VALIDATE_BOOLEAN ),
			'buttonSpace'    => filter_var( $param['buttonSpace'], FILTER_VALIDATE_BOOLEAN ),
			'labelSpace'     => filter_var( $param['labelSpace'], FILTER_VALIDATE_BOOLEAN ),
			'labelConnected' => filter_var( $param['labelConnected'], FILTER_VALIDATE_BOOLEAN ),
			'labelEffect'    => ! empty( $param['labelEffect'] ) ? $param['labelEffect'] : 'fade',
			'color'          => 'default',
			'overColor'      => 'default',
			'labelsOn'       => filter_var( $param['labelsOn'], FILTER_VALIDATE_BOOLEAN ),
			'mobileEnable'   => filter_var( $mobile_rules, FILTER_VALIDATE_BOOLEAN ),
			'mobileScreen'   => (int) $mobile_screen,
		];

		return "var FloatMenu_$this->id = " . wp_json_encode( $arg );
	}
}
```
