mirror of
https://github.com/Oreolek/kohana-migrations.git
synced 2024-06-26 03:40:54 +03:00
Some better group validation and usage of Minion_CLI to clean up output code. (refs #22)
This commit is contained in:
parent
5d3bf345ba
commit
8b38ab7025
|
@ -54,10 +54,14 @@ class Minion_Task_Db_Generate extends Minion_Task
|
||||||
|
|
||||||
$config = array_merge($defaults, $config);
|
$config = array_merge($defaults, $config);
|
||||||
|
|
||||||
if (empty($config['group']))
|
// Trim slashes in group
|
||||||
|
$config['group'] = trim($config['group'], '/');
|
||||||
|
|
||||||
|
if ( ! $this->_valid_group($config['group']))
|
||||||
{
|
{
|
||||||
return 'Please provide --group'.PHP_EOL.
|
Minion_CLI::write('Please provide a valid --group');
|
||||||
'See help for more info'.PHP_EOL;
|
Minion_CLI::write('See help for more info');
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$group = $config['group'].'/';
|
$group = $config['group'].'/';
|
||||||
|
@ -82,7 +86,8 @@ class Minion_Task_Db_Generate extends Minion_Task
|
||||||
|
|
||||||
file_put_contents($file, $data);
|
file_put_contents($file, $data);
|
||||||
|
|
||||||
return 'Migration generated in '.$file.PHP_EOL;
|
Minion_CLI::write('Migration generated: '.$file);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -129,4 +134,21 @@ class Minion_Task_Db_Generate extends Minion_Task
|
||||||
return $filename.EXT;
|
return $filename.EXT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function _valid_group($group)
|
||||||
|
{
|
||||||
|
// Group cannot be empty
|
||||||
|
if ( ! Valid::not_empty($group))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
// Can only consist of alpha-numeric values, dashes, underscores, and slashes
|
||||||
|
if (preg_match('/[^a-zA-Z0-9\/_-]/', $group))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
// Must also contain at least one alpha-numeric value
|
||||||
|
if ( ! preg_match('/[a-zA-Z0-9]/', $group))
|
||||||
|
return FALSE; // --group="/" breaks things but "a/b" should be allowed
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue