# responsive-menu/3.0.12/src/app/Filesystem/ScriptsBuilder.php

Responsive Menu – Create Mobile-Friendly Menu, version 3.0.12. 39 lines.

- Page: https://pluginprobe.com/plugins/responsive-menu/3.0.12/code/src/app/Filesystem/ScriptsBuilder.php
- Raw: https://pluginprobe.com/plugins/responsive-menu/3.0.12/raw/src/app/Filesystem/ScriptsBuilder.php
- Modified: 2016-08-20T23:47:42+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/responsive-menu/3.0.12/code/src/app/Filesystem/ScriptsBuilder.php#L10-L20`.

```php
<?php

namespace ResponsiveMenu\Filesystem;
use ResponsiveMenu\Filesystem\FileCreator;
use ResponsiveMenu\Filesystem\FolderCreator;
use ResponsiveMenu\Factories\CssFactory;
use ResponsiveMenu\Factories\JsFactory;
use ResponsiveMenu\Collections\OptionsCollection;

class ScriptsBuilder {

  public function __construct(CssFactory $css, JsFactory $js, FileCreator $files, FolderCreator $folders, $site_id) {
    $this->css = $css;
    $this->js = $js;
    $this->files = $files;
    $this->folders = $folders;
    $this->site_id = $site_id;
  }

  public function build(OptionsCollection $options) {

    $data_folder_dir = dirname(dirname(dirname(dirname(dirname(__FILE__))))) . '/responsive-menu-data';

    $js_folder = $data_folder_dir . '/js';
    $css_folder = $data_folder_dir . '/css';

    if(!$this->folders->exists($data_folder_dir)):
      $this->folders->create($data_folder_dir);
      $this->folders->create($css_folder);
      $this->folders->create($js_folder);
    endif;

    $this->files->create($css_folder, 'responsive-menu-' . $this->site_id . '.css', $this->css->build($options));
    $this->files->create($js_folder, 'responsive-menu-' . $this->site_id . '.js', $this->js->build($options));

  }

}

```
