# responsive-menu/3.0.6/src/app/Services/OptionService.php

Responsive Menu – Create Mobile-Friendly Menu, version 3.0.6. 60 lines.

- Page: https://pluginprobe.com/plugins/responsive-menu/3.0.6/code/src/app/Services/OptionService.php
- Raw: https://pluginprobe.com/plugins/responsive-menu/3.0.6/raw/src/app/Services/OptionService.php
- Modified: 2016-07-11T20:39: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.6/code/src/app/Services/OptionService.php#L10-L20`.

```php
<?php

namespace ResponsiveMenu\Services;
use ResponsiveMenu\Repositories\OptionRepository as OptionRepository;
use ResponsiveMenu\WPML\WPML as WPML;
use ResponsiveMenu\Factories\AdminSaveFactory as SaveFactory;
use ResponsiveMenu\Factories\OptionFactory as OptionFactory;
use ResponsiveMenu\Collections\OptionsCollection as OptionsCollection;

class OptionService {

	public function __construct(OptionRepository $repository, OptionFactory $factory) {
		$this->repository = $repository;
		$this->factory = $factory;
	}

	public function updateOptions(array $options) {

  	foreach($options as $key => $val)
  		$this->repository->update($this->factory->build($key, $val));

    $options = $this->all();

    $this->updateWpml($options);
    $this->buildFiles($options);

		return $options;
	}

	public function createOptions(array $options) {

  	foreach($options as $key => $val)
  		$this->repository->create($this->factory->build($key, $val));

    $options = $this->all();
    
  	$this->updateWpml($options);
  	$this->buildFiles($options);

  	return $options;
	}

	public function all() {
		return $this->repository->all();
	}

	public function updateWpml(OptionsCollection $options) {
    $wpml = new WPML;
		$wpml->saveFromOptions($options);
	}

	public function buildFiles(OptionsCollection $options) {
		if($options['external_files'] == 'on'):
    		$save_factory = new SaveFactory();
    		$save_factory->build($options);
  	endif;
	}

}

```
