ask to use custome options

@return void
427363
protected function askToUseCustomeOptions()
    {
        $this->options['pivot_table'] = $this->command->ask(
                                        "The {$this->text['pivot_text']} of both relation will be?",
                                        $this->defaultOptions['pivot_table']
                                    );

        $name = Str::singular($this->options['pivot_table']);
        $foreignKey = $name.'_id';

        $this->options['foreign_key'] = $this->command->ask(
                                            "The {$this->text['foreign_text']} of table {$this->text['to_table']} in the table {$this->text['pivot_table']} will be?",
                                            $foreignKey
                                        );

        $this->options['related_key'] = $this->command->ask(
                                            "The {$this->text['related_text']} of table {$this->text['table']} in the table {$this->text['pivot_table']} will be?",
                                            $this->defaultOptions['related_key']
                                        );
    }
1098049
protected function defArgConfigure(): void
    {
        $this->createDefinition()
            ->setDescription('the command arg/opt config use defined configure, it like symfony console: argument define by position')
            ->addArgument('name', Input::ARG_REQUIRED, "description for the argument 'name'")
            ->addOption('yes', 'y', Input::OPT_BOOLEAN, "description for the option 'yes'")
            ->addOption('opt1', null, Input::OPT_REQUIRED, "description for the option 'opt1'");
    }
431059
public function prepareOptions()
    {
        parent::prepareOptions();

        // Prepare array name
        foreach ($this->content as $key => $option) {
            $option[0]->setAttribute('name', $option[0]->getAttribute('name') . '[]');
        }
    }
263776
protected function normalizeOptions()
    {
        // not allowed empty container
        !$this->containerTag && $this->containerTag = 'div';

        if(!isset($this->containerOptions['id']) || empty($this->containerOptions['id'])) {
            $this->containerOptions['id'] = $this->getId();
        }
    }
680706
protected function askToUseCustomeOptions()
    {
        parent::askToUseCustomeOptions();

        $this->options['primary_key'] = $this->command->ask(
                                            "The {$this->text['primary_text']} of the table {$this->text['table']} will be?",
                                            $this->defaultOptions['primary_key']
                                        );
    }
694555
protected function initOptions()
    {
        Html::addCssClass($this->options, ['widget' => 'alert']);

        if ($this->closeButton !== false) {
            $this->closeButton = array_merge([
                'data-dismiss' => 'alert',
                'class' => ['widget' => 'close'],
            ], $this->closeButton);

            Html::addCssClass($this->options, ['alert-dismissible']);
        }
        if (!isset($this->options['role'])) {
            $this->options['role'] = 'alert';
        }
    }
625430
protected function specifyParameters()
	{
		// We will loop through all of the arguments and options for the command and
		// set them all on the base command instance. This specifies what can get
		// passed into these commands as "parameters" to control the execution.
		foreach ($this->getArguments() as $arguments)
		{
			call_user_func_array(array($this, 'addArgument'), $arguments);
		}

		foreach ($this->getOptions() as $options)
		{
			call_user_func_array(array($this, 'addOption'), $options);
		}
	}
943976
protected function askToUseCustomeOptions()
    {
        $question = "The {$this->text['pivot_text']} in the database will be?";
        $this->options['pivot_table'] = $this->command->ask($question, $this->defaultOptions['pivot_table']);
        $this->text['pivot_table'] = "[".$this->command->paintString($this->options['pivot_table'], 'green')."]";

        $question = "The {$this->text['foreign_text']} of table {$this->text['table']} in the table {$this->text['pivot_table']}, will be?";
        $this->options['foreign_key'] = $this->command->ask($question, $this->defaultOptions['foreign_key']);

        $question = "The {$this->text['related_text']} of table {$this->text['to_table']} in the table {$this->text['pivot_table']}, will be?";
        $this->options['related_key'] = $this->command->ask($question, $this->defaultOptions['related_key']);
    }
1119440
protected function initOptions()
    {
        Html::addCssClass($this->options, 'uk-alert uk-alert-'.$this->type);
        $this->options['uk-alert'] = true;
    }
121648
protected function supplementRequestWithDefaults()
    {
        parent::supplementRequestWithDefaults();

        // set or expand with default options
        $this->request->setOptions(array_merge(
            $this->request['options'] ?: [],
            $this->defaults['options'] ?: []
        ));
    }
191634
protected function loadOptions(): void
    {
        $options = [];

        if ($this->preset == 'custom') {
            $optionsFile = null;
        } else {
            $optionsFile = __DIR__ . '/presets/' . $this->preset . '.php';
        }

        if ($optionsFile !== null) {
            if (!is_file($optionsFile)) {
                throw new InvalidConfigException('The CKEditor options file can not be loaded.');
            }
            $options = require($optionsFile);
        }

        $this->clientOptions = ArrayHelper::merge(
            $options,
            $this->clientOptions
        );
    }
1078348
def do_OPTIONS(self):
        """"""
        thread_local.clock_start = get_time()
        thread_local.status_code = 200
        thread_local.message = None
        thread_local.headers = []
        thread_local.end_headers = []
        thread_local.size = -1
        thread_local.method = 'OPTIONS'
        self.send_response(200)
        if self.is_cross_origin():
            no_caching = self.cross_origin_headers()
            # ten minutes if no custom headers requested
            self.send_header("Access-Control-Max-Age",
                             0 if no_caching else 10*60)
        self.send_header("Content-Length", 0)
        self.end_headers()
        thread_local.size = 0
223558
private function custom()
    {
        $setor = !empty($_SESSION['userlogin']) ? $_SESSION['userlogin']['setor'] : "0";

        if (file_exists(PATH_HOME . "public/dash/menu.json"))
            $this->addMenuJson(PATH_HOME . "public/dash/menu.json");

        if (!empty($setor) && file_exists(PATH_HOME . "public/dash/{$setor}/menu.json"))
            $this->addMenuJson(PATH_HOME . "public/dash/{$setor}/menu.json");

        foreach (Helper::listFolder(PATH_HOME . VENDOR) as $lib) {
            if (file_exists(PATH_HOME . VENDOR . "{$lib}/public/dash/menu.json"))
                $this->addMenuJson(PATH_HOME . VENDOR . "{$lib}/public/dash/menu.json");
            if (!empty($setor) && file_exists(PATH_HOME . VENDOR . "{$lib}/public/dash/{$setor}/menu.json"))
                $this->addMenuJson(PATH_HOME . VENDOR . "{$lib}/public/dash/{$setor}/menu.json");
        }
    }
69037
private function setRequestOptions()
    {
        $authBearer = 'Bearer '. $this->secretKey;

        $this->client = new Client(
            [
                'base_uri' => $this->baseUrl,
                'headers' => [
                    'Authorization' => $authBearer,
                    'Content-Type'  => 'application/json',
                    'Accept'        => 'application/json'
                ]
            ]
        );
    }
198438
protected function prepareOptions()
    {
        $options = [];
        foreach ($this->getSelectOptions() as $value => $label) {
            $value     = addslashes($value);
            $label     = addslashes($label);
            $options[] = [
                'sValue' => $value,
                'sLabel' => $label,
            ];
        }

        return $options;
    }
635622
protected function defaultOptions()
    {
        $this->options = ArrayHelper::merge($this->options, $this->module->widgetOptions);
        $this->clientOptions = ArrayHelper::merge($this->clientOptions, $this->module->widgetClientOptions);
        if (!isset($this->options['id'])) {
            if ($this->hasModel()) {
                $this->options['id'] = Html::getInputId($this->model, $this->attribute);
            } else {
                $this->options['id'] = $this->getId();
            }
        }
        Html::addCssClass($this->options, 'form-control');

        $this->setOptionsKey('imageUpload', $this->module->imageUploadRoute);
        $this->setOptionsKey('fileUpload', $this->module->fileUploadRoute);

        $this->clientOptions['imageUploadErrorCallback'] = ArrayHelper::getValue($this->clientOptions, 'imageUploadErrorCallback', new JsExpression("function(json){alert(json.error);}"));
        $this->clientOptions['fileUploadErrorCallback'] = ArrayHelper::getValue($this->clientOptions, 'fileUploadErrorCallback', new JsExpression("function(json){alert(json.error);}"));

        if (isset($this->clientOptions['plugins']) && array_search('imagemanager', $this->clientOptions['plugins']) !== false) {
            $this->setOptionsKey('imageManagerJson', $this->module->imageManagerJsonRoute);
        }
        if (isset($this->clientOptions['plugins']) && array_search('filemanager', $this->clientOptions['plugins']) !== false) {
            $this->setOptionsKey('fileManagerJson', $this->module->fileManagerJsonRoute);
        }
    }
991414
protected function configure()
    {
        $this->configureCommand();

        foreach ($this->interactiveQuestsion as $argumentName => $question) {
            $this->addOption($this->escapeArgument($argumentName), null, InputOption::VALUE_OPTIONAL, $question->getQuestion());
        }
    }