/** * Overrides the original method from phinx in order to return a tailored * Config object containing the connection details for the database. * * @param bool $forceRefresh * @return \Phinx\Config\Config */ public function getConfig($forceRefresh = false) { if ($this->configuration && $forceRefresh === false) { return $this->configuration; } $folder = 'Migrations'; if ($this->input->getOption('source')) { $folder = $this->input->getOption('source'); } $dir = ROOT . DS . 'config' . DS . $folder; $plugin = null; if ($this->input->getOption('plugin')) { $plugin = $this->input->getOption('plugin'); $dir = Plugin::path($plugin) . 'config' . DS . $folder; } if (!is_dir($dir)) { mkdir($dir, 0777, true); } $plugin = $plugin ? Inflector::underscore($plugin) . '_' : ''; $plugin = str_replace(['\\', '/', '.'], '_', $plugin); $connection = $this->getConnectionName($this->input); $connectionConfig = ConnectionManager::config($connection); $adapterName = $this->getAdapterName($connectionConfig['driver']); $config = ['paths' => ['migrations' => $dir], 'environments' => ['default_migration_table' => $plugin . 'phinxlog', 'default_database' => 'default', 'default' => ['adapter' => $adapterName, 'host' => isset($connectionConfig['host']) ? $connectionConfig['host'] : null, 'user' => isset($connectionConfig['username']) ? $connectionConfig['username'] : null, 'pass' => isset($connectionConfig['password']) ? $connectionConfig['password'] : null, 'port' => isset($connectionConfig['port']) ? $connectionConfig['port'] : null, 'name' => $connectionConfig['database'], 'charset' => isset($connectionConfig['encoding']) ? $connectionConfig['encoding'] : null, 'unix_socket' => isset($connectionConfig['unix_socket']) ? $connectionConfig['unix_socket'] : null]]]; if ($adapterName === 'mysql') { if (!empty($connectionConfig['ssl_key']) && !empty($connectionConfig['ssl_cert'])) { $config['environments']['default']['mysql_attr_ssl_key'] = $connectionConfig['ssl_key']; $config['environments']['default']['mysql_attr_ssl_cert'] = $connectionConfig['ssl_cert']; } if (!empty($connectionConfig['ssl_ca'])) { $config['environments']['default']['mysql_attr_ssl_ca'] = $connectionConfig['ssl_ca']; } } return $this->configuration = new Config($config); }
public function it_throws_exception_on_invalid_url(Input $input, Output $output) { $input->bind(Argument::any())->willReturn(); $input->isInteractive()->willReturn(false); $input->validate()->willReturn(); $input->getArgument("url")->willReturn("i_am_an_invalid_url"); $this->shouldThrow(\Exception::class)->during("run", [$input, $output]); }
/** * @param Input $input */ public function __invoke(Input $input) { $this->climate->br(); $name = $input->getArgument('name'); if (FALSE === strstr($name, '/')) { $name = 'middleout/arhitect-' . $name; } $ownerName = explode('/', $name); $packageName = $ownerName[1]; $ownerName = $ownerName[0]; $this->climate->yellow('Installing Arhitect Package ' . $ownerName . '/' . $packageName); $version = ''; $inputVersion = $input->getArgument('version'); if ($inputVersion) { $version = ':' . $inputVersion; } $preferDev = ' require '; $inputVersion = $input->getOption('dev'); if ($inputVersion) { $preferDev = ' require --dev '; } $this->climate->darkGray("composer" . $preferDev . $name . $version . ' --prefer-dist'); $result = shell_exec("composer" . $preferDev . $name . $version . ' --prefer-dist'); $this->climate->yellow($result); $configOwnerName = $ownerName; $configPackageName = $packageName; if ($configOwnerName == 'middleout') { $configOwnerName = 'arhitect'; $configPackageName = str_replace('arhitect-', '', $configPackageName); } $path = getcwd() . '/vendor/' . $ownerName . '/' . $packageName . '/app/config'; $path = str_replace('config/middleout/arhitect-', 'config/arhitect/', $path); if (is_dir($path)) { $this->copy($path, $this->configuration->getApplicationPath() . '/config/' . $configOwnerName); } $readme = getcwd() . '/vendor/' . $ownerName . '/' . $packageName . '/post-install.md'; if (is_file($readme)) { $postInstallMessage = file_get_contents($readme); } $this->climate->br(2); if (!$postInstallMessage) { $this->climate->green(<<<ART ______________________________________ ________| |_______ \\ | MODULE INSTALLED | / \\ | Let the coding session begin ! | / / |______________________________________| \\ /__________) (_________\\ ART ); } else { $this->climate->green('Module installed. The developer would like to tell you the following:'); $this->climate->br(2); $this->climate->yellow($postInstallMessage); } $this->climate->br(2); }
private function executeCommand(Command $command, Input $input) { $command->setApplication($this->application); $input->setInteractive(false); if ($command instanceof ContainerAwareCommand) { $command->setContainer($this->client->getContainer()); } $command->run($input, new NullOutput()); }
/** * @param Input $input */ public function __invoke(Input $input) { $file = NULL; $testSuite = $input->getArgument('testSuite'); if (FALSE !== strstr($testSuite, '.php')) { $file = $testSuite; $testSuite = NULL; } $debug = (bool) $input->getArgument('debug'); passthru("phpunit -c app/config/arhitect/phpunit.xml " . ($testSuite ? '--testsuite ' . $testSuite : '') . ($file ? $file : '') . ($debug ? ' --debug' : '')); $this->climate->green('Tests have run!'); }
/** * @param Input $input */ public function __invoke(Input $input) { $this->climate->br(); $name = $input->getArgument('name'); if (FALSE === strstr($name, '/')) { $name = 'middleout/arhitect-' . $name; } $ownerName = explode('/', $name); $packageName = $ownerName[1]; $ownerName = $ownerName[0]; $this->climate->yellow('Updating Arhitect Package ' . $ownerName . '/' . $packageName); $version = ''; $inputVersion = $input->getArgument('version'); if ($inputVersion) { $version = ':' . $inputVersion; } $preferDev = ' require '; $inputVersion = $input->getOption('dev'); if ($inputVersion) { $preferDev = ' require --dev '; } $this->climate->darkGray("composer" . $preferDev . $name . $version . ' --prefer-dist'); $result = shell_exec("composer" . $preferDev . $name . $version . ' --prefer-dist'); $this->climate->yellow($result); $configOwnerName = $ownerName; $configPackageName = $packageName; if ($configOwnerName == 'middleout') { $configOwnerName = 'arhitect'; $configPackageName = str_replace('arhitect-', '', $configPackageName); } $path = getcwd() . '/vendor/' . $ownerName . '/' . $packageName . '/app/config/' . $configOwnerName . '/' . $configPackageName; $path = str_replace('config/middleout/arhitect-', 'config/arhitect/', $path); if (is_dir($path)) { $this->copy($path, $this->configuration->getApplicationPath() . '/config/' . $configOwnerName . '/' . $configPackageName); } $this->climate->br(2); $this->climate->green(<<<ART ______________________________________ ________| |_______ \\ | MODULE UPDATED | / \\ | Let the coding session continue :) | / / |______________________________________| \\ /__________) (_________\\ ART ); $this->climate->br(2); }
public function update_article() { $data = Input::all(); unset($data['_token']); $estate = Article::find($data['article_id'])->update($data); return redirect()->back()->with('message', "Новость \"{$article->title}\" #{$article->article_id} изменена успешно!"); }
public static function getVariable(Input $input = null, $default = '', $optionName = false, $envName = false) { $value = null; if ($optionName && $input && $input->hasOption($optionName)) { $value = $input->getOption($optionName); } if ($value === null) { if ($envName) { $value = getenv($envName); } if (!$value) { $value = $default; } } return $value === null ? '' : $value; }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store() { if (!Input::get('name') or !Input::get('done') or !Input::get('priority')) { return $this->setStatusCode(IlluminateResponse::HTTP_UNPROCESSABLE_ENTITY)->respondWithError('Parameters failed validation for a tag.'); } Tag::create(Input::all()); return $this->respondCreated('Tag successfully created.'); }
public function __construct(array $argv = null, InputDefinition $definition = null) { if (null === $argv) { $argv = $_SERVER['argv']; } array_shift($argv); $this->tokens = $argv; parent::__construct($definition); }
public function testExecuteWrongNameSpecified() { $this->expectContainerGetManagerRegistryAndProcessHandler(); $id = 1; $this->input->expects($this->exactly(2))->method('getOption')->willReturnMap([['id', $id], ['name', 'wrong_name']]); $processTrigger = $this->createProcessTrigger($id); $this->repo->expects($this->once())->method('find')->with($id)->willReturn($processTrigger); $this->processHandler->expects($this->never())->method($this->anything()); $this->command->execute($this->input, $this->output); $this->assertAttributeEquals(['Trigger not found in process definition "wrong_name"'], 'messages', $this->output); }
/** * Constructor. * * @param array $argv An array of parameters from the CLI (in the argv format) * @param InputDefinition $definition A InputDefinition instance * * @api */ public function __construct(InputDefinition $definition = null, $removeOptions = false, $strict = false) { $argv = $_SERVER['argv']; // strip the application name array_shift($argv); // strip the command name $this->commandName = array_shift($argv); $this->tokens = $argv; $this->removeOptions = (bool) $removeOptions; $this->strict = (bool) $strict; parent::__construct($definition); }
/** * Renders a template $template into $outputFile with the given templates directory $templates and input $data. * * @param Input $input * @param string $outputFile * @param string $template * @param string $templates * @param array $data */ protected function renderTemplate($input, $outputFile, $template, $templates, $data = []) { $paths = [$templates]; if ($templates = $input->getOption('templates')) { $paths[] = $templates; } $paths = array_filter($paths); $loader = new Twig_Loader_Filesystem($paths); $twig = new Twig_Environment($loader); $template = $twig->loadTemplate($template); $dataOption = $input->getOption('data'); if (file_exists($dataOption)) { $dataOption = file_get_contents($dataOption); } $dataOption = json_decode(stripcslashes($dataOption), true); if (!is_array($dataOption)) { $dataOption = []; } $data = array_merge($data, $dataOption); @mkdir(dirname($outputFile), 0755, true); file_put_contents($outputFile, $template->render($data)); }
/** * Constructor. * * @param array $parameters An array of parameters * @param InputDefinition $definition A InputDefinition instance */ public function __construct(array $parameters, InputDefinition $definition = null) { $this->parameters = $parameters; parent::__construct($definition); }