Files
b2b.redline.com.pl/modules/newsletterpro/classes/NewsletterProTerminalCommandConfig.php
2025-06-24 14:14:35 +02:00

74 lines
2.5 KiB
PHP

<?php
/**
* Since 2013 Ovidiu Cimpean.
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
*
* @version Release: 4
*/
class NewsletterProTerminalCommandConfig extends NewsletterProTerminalCommand implements NewsletterProTerminalCommandInterface
{
public function help(&$output)
{
$this->out($this->outCommand('config').' [flags...] '.$this->outDescription('- Modify the config.ini file.'), 0, false);
$this->out($this->outFlag('-cat').' '.$this->outDescription('- Display the config.ini file content.'), 1, false);
$this->out($this->outFlag('-options').' '.$this->outDescription('- Display the config.ini file options.'), 1, false);
$this->out($this->outFlag('-set').' [option name] [options value] '.$this->outDescription('- Setup the config file.')."\n", 1, false);
foreach ($this->output as $line) {
$output[] = $line;
}
}
public function run()
{
$filename = _NEWSLETTER_PRO_DIR_.'/config.ini';
if (!$this->hasFlags()) {
throw self::throwError(self::ERROR_MISSING_FLAGS);
}
if ($this->hasFlag('cat')) {
$content = Tools::file_get_contents($filename);
if (false === $content) {
throw new Exception(sprintf('Unable to read the file "%s"', $filename));
}
$this->out($content);
} elseif ($this->hasFlag('options')) {
$content = @parse_ini_file($filename);
if (false == $content) {
throw new Exception(sprintf('Unable to read the file "%s"', $filename));
}
foreach ($content as $key => $value) {
$this->out($key.' = '.$value);
}
} elseif ($this->hasFlag('set')) {
$values = $this->getFlagOptions('set');
if (2 != count($values)) {
throw new Exception('Invalid flag options.');
}
$key = $values[0];
$value = $values[1];
NewsletterProTerminalCommand::setConfig($key, $value);
$this->out(sprintf('The option %s was set to %d.', $key, (int) $value));
} else {
throw self::throwError(self::ERROR_INVALID_FLAG);
}
}
}