Skip to content

Commit

Permalink
Update version to 1.9.1
Browse files Browse the repository at this point in the history
  • Loading branch information
enzolutions committed Jun 17, 2019
2 parents 11ad023 + 541cd2e commit 6f393c9
Show file tree
Hide file tree
Showing 6 changed files with 140 additions and 93 deletions.
17 changes: 17 additions & 0 deletions src/Command/Create/NodesCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,12 @@ protected function configure()
InputOption::VALUE_OPTIONAL,
$this->trans('commands.create.nodes.options.time-range')
)
->addOption(
'revision',
null,
InputOption::VALUE_NONE,
$this->trans('commands.create.nodes.options.revision')
)
->addOption(
'language',
null,
Expand Down Expand Up @@ -151,6 +157,15 @@ function ($contentType) use ($bundles) {
$input->setOption('time-range', array_search($timeRange, $timeRanges));
}

$revision = is_null($input->getOption('revision'));
if (!$revision) {
$revision = $this->getIo()->confirm(
$this->trans('commands.create.nodes.questions.revision')
);

$input->setOption('revision', $revision);
}

// Language module is enabled or not.
$languageModuleEnabled = \Drupal::moduleHandler()
->moduleExists('language');
Expand Down Expand Up @@ -193,6 +208,7 @@ protected function execute(InputInterface $input, OutputInterface $output)
$limit = $input->getOption('limit')?:25;
$titleWords = $input->getOption('title-words')?:5;
$timeRange = $input->getOption('time-range')?:31536000;
$revision = $input->getOption('revision');
$available_types = array_keys($this->drupalApi->getBundles());
$language = $input->getOption('language')?:'und';

Expand All @@ -211,6 +227,7 @@ protected function execute(InputInterface $input, OutputInterface $output)
$limit,
$titleWords,
$timeRange,
$revision,
$language
);

Expand Down
176 changes: 93 additions & 83 deletions src/Command/Database/DumpCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
use Drupal\Console\Command\Shared\ConnectTrait;
use Drupal\Console\Core\Utils\ShellProcess;
use Drupal\Core\Database\Connection;
use Symfony\Component\Process\Process;

class DumpCommand extends Command
{
Expand Down Expand Up @@ -82,10 +83,10 @@ protected function configure()
$this->trans('commands.database.dump.options.gz')
)
->addOption(
'exclude-cache',
null,
InputOption::VALUE_NONE,
$this->trans('commands.database.dump.options.exclude.cache')
'exclude-cache',
null,
InputOption::VALUE_NONE,
$this->trans('commands.database.dump.options.exclude.cache')
)
->setHelp($this->trans('commands.database.dump.help'))
->setAliases(['dbdu']);
Expand Down Expand Up @@ -140,97 +141,106 @@ protected function execute(InputInterface $input, OutputInterface $output)

$command = null;

if ($databaseConnection['driver'] == 'mysql') {
$command = sprintf(
'mysqldump --user="%s" --password="%s" --host="%s" --port="%s" "%s" > "%s"',
$databaseConnection['username'],
$databaseConnection['password'],
$databaseConnection['host'],
$databaseConnection['port'],
$databaseConnection['database'],
$file
);

if ($excludeCache) {
$ignoreTable = '';
foreach ($excludeTables as $table) {
$ignoreTable .= "--ignore-table=\"{$table}\" ";
}

$command = sprintf(
'mysqldump --user="%s" --password="%s" --host="%s" --port="%s" %s "%s"> "%s"',
$databaseConnection['username'],
$databaseConnection['password'],
$databaseConnection['host'],
$databaseConnection['port'],
$ignoreTable,
$databaseConnection['database'],
$file
);

}
if ($databaseConnection['driver'] == 'mysql') {
$command = sprintf(
"mysqldump --user='%s' --password='%s' --host='%s' --port='%s' '%s' > '%s'",
$databaseConnection['username'],
$databaseConnection['password'],
$databaseConnection['host'],
$databaseConnection['port'],
$databaseConnection['database'],
$file
);

if ($excludeCache) {
$ignoreTable = '';
foreach ($excludeTables as $table) {
$ignoreTable .= "--ignore-table=\"{$table}\" ";
}

$command = sprintf(
"mysqldump --user='%s' --password='%s' --host='%s' --port='%s' %s '%s'> '%s'",
$databaseConnection['username'],
$databaseConnection['password'],
$databaseConnection['host'],
$databaseConnection['port'],
$ignoreTable,
$databaseConnection['database'],
$file
);

}
} elseif ($databaseConnection['driver'] == 'pgsql') {
$command = sprintf(
'PGPASSWORD="%s" pg_dumpall -w -U "%s" -h "%s" -p "%s" -l "%s" -f "%s"',
$databaseConnection['password'],
$databaseConnection['username'],
$databaseConnection['host'],
$databaseConnection['port'],
$databaseConnection['database'],
$file
);

if ($excludeCache) {
$ignoreTable = '';
foreach ($excludeTables as $table) {
$ignoreTable .= "-T \"{$table}\" ";
}

$command = sprintf(
'PGPASSWORD="%s" pg_dump -w -U "%s" -h "%s" -p "%s" -f "%s" %s-d "%s"',
$databaseConnection['password'],
$databaseConnection['username'],
$databaseConnection['host'],
$databaseConnection['port'],
$file,
$ignoreTable,
$databaseConnection['database']
);
}
$command = sprintf(
"PGPASSWORD='%s' pg_dumpall -w -U '%s' -h '%s' -p '%s' -l '%s' -f '%s'",
$databaseConnection['password'],
$databaseConnection['username'],
$databaseConnection['host'],
$databaseConnection['port'],
$databaseConnection['database'],
$file
);

if ($excludeCache) {
$ignoreTable = '';
foreach ($excludeTables as $table) {
$ignoreTable .= "-T \"{$table}\" ";
}

$command = sprintf(
"PGPASSWORD='%s' pg_dump -w -U '%s' -h '%s' -p '%s' -f '%s' %s-d '%s'",
$databaseConnection['password'],
$databaseConnection['username'],
$databaseConnection['host'],
$databaseConnection['port'],
$file,
$ignoreTable,
$databaseConnection['database']
);
}
}

if ($learning) {
$this->getIo()->commentBlock($command);
}

if ($this->shellProcess->exec($command, $this->appRoot)) {
$resultFile = $file;
if ($gz) {
if (substr($file, -3) != '.gz') {
$resultFile = $file . '.gz';
}
file_put_contents(
$resultFile,
gzencode(
file_get_contents(
$file
try {
$process = new Process($command);
$process->setTimeout(null);
$process->setWorkingDirectory($this->appRoot);
$process->run();

if($process->isSuccessful()) {
$resultFile = $file;
if ($gz) {
if (substr($file, -3) != '.gz') {
$resultFile = $file . '.gz';
}
file_put_contents(
$resultFile,
gzencode(
file_get_contents(
$file
)
)
);
if ($resultFile != $file) {
unlink($file);
}
}

$this->getIo()->success(
sprintf(
'%s %s',
$this->trans('commands.database.dump.messages.success'),
$resultFile
)
);
if ($resultFile != $file) {
unlink($file);
}
}

$this->getIo()->success(
sprintf(
'%s %s',
$this->trans('commands.database.dump.messages.success'),
$resultFile
)
);
return 0;
} catch (\Exception $e) {
return 1;
}

return 0;
}
}
15 changes: 7 additions & 8 deletions src/Command/Database/RestoreCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Process\ProcessBuilder;
use Symfony\Component\Process\Process;
use Drupal\Console\Core\Command\Command;
use Drupal\Console\Command\Shared\ConnectTrait;

Expand Down Expand Up @@ -94,7 +94,7 @@ protected function execute(InputInterface $input, OutputInterface $output)
if ($databaseConnection['driver'] == 'mysql') {
// Drop database first.
$commands[] = sprintf(
'mysql --user=%s --password=%s --host=%s --port=%s -e"DROP DATABASE IF EXISTS %s"',
"mysql --user='%s' --password='%s' --host='%s' --port='%s' -e'DROP DATABASE IF EXISTS %s'",
$databaseConnection['username'],
$databaseConnection['password'],
$databaseConnection['host'],
Expand All @@ -104,7 +104,7 @@ protected function execute(InputInterface $input, OutputInterface $output)

// Recreate database.
$commands[] = sprintf(
'mysql --user=%s --password=%s --host=%s --port=%s -e"CREATE DATABASE %s"',
"mysql --user='%s' --password='%s' --host='%s' --port='%s' -e'CREATE DATABASE %s'",
$databaseConnection['username'],
$databaseConnection['password'],
$databaseConnection['host'],
Expand All @@ -114,7 +114,7 @@ protected function execute(InputInterface $input, OutputInterface $output)

// Import dump.
$commands[] = sprintf(
$catCommand . 'mysql --user=%s --password=%s --host=%s --port=%s %s',
$catCommand . "mysql --user='%s' --password='%s' --host='%s' --port='%s' %s",
$file,
$databaseConnection['username'],
$databaseConnection['password'],
Expand All @@ -124,7 +124,7 @@ protected function execute(InputInterface $input, OutputInterface $output)
);
} elseif ($databaseConnection['driver'] == 'pgsql') {
$commands[] = sprintf(
'PGPASSWORD="%s" ' . $catCommand . 'psql -w -U %s -h %s -p %s -d %s',
"PGPASSWORD='%s' " . $catCommand . "psql -w -U '%s' -h '%s' -p '%s' -d '%s'",
$file,
$databaseConnection['password'],
$databaseConnection['username'],
Expand All @@ -139,11 +139,10 @@ protected function execute(InputInterface $input, OutputInterface $output)
$this->getIo()->commentBlock($command);
}

$processBuilder = new ProcessBuilder(['-v']);
$process = $processBuilder->getProcess();
$process = new Process($command);
$process->setTimeout(null);
$process->setWorkingDirectory($this->appRoot);
$process->setTty($input->isInteractive());
$process->setCommandLine($command);
$process->run();

if (!$process->isSuccessful()) {
Expand Down
2 changes: 1 addition & 1 deletion src/Command/Shared/ConnectTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public function escapeConnection($databaseConnection) {
];

foreach ($settings as $setting) {
$databaseConnection[$setting] = escapeshellcmd($databaseConnection[$setting]);
$databaseConnection[$setting] = $databaseConnection[$setting];
}

return $databaseConnection;
Expand Down
21 changes: 21 additions & 0 deletions src/Utils/Create/NodeData.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ class NodeData extends Base
* @param $limit
* @param $titleWords
* @param $timeRange
* @param $revision
*
* @return array
*/
Expand All @@ -32,6 +33,7 @@ public function create(
$limit,
$titleWords,
$timeRange,
$revision,
$language = LanguageInterface::LANGCODE_NOT_SPECIFIED
) {
$nodes = [];
Expand All @@ -55,6 +57,13 @@ public function create(

$this->generateFieldSampleData($node);
$node->save();

if($revision) {
for ($a = 0; $a < 3; $a++) {
$this->addRevision($node, $a);
}
}

$nodes['success'][] = [
'nid' => $node->id(),
'node_type' => $bundles[$contentType],
Expand All @@ -72,4 +81,16 @@ public function create(

return $nodes;
}

/**
* @param $node
* @param $count
*/
private function addRevision($node, $count) {
$node->setTitle($this->getRandom()->sentences(mt_rand(1, 5), true));
$node->setNewRevision(TRUE);
$node->revision_log = "Revision number $count was created";
$node->setRevisionCreationTime(REQUEST_TIME);
$node->save();
}
}
2 changes: 1 addition & 1 deletion templates/module/src/Form/form.php.twig
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ class {{ class_name }} extends FormBase {% endblock %}
public function submitForm(array &$form, FormStateInterface $form_state) {
// Display result.
foreach ($form_state->getValues() as $key => $value) {
\Drupal::messenger()->addMessage($key . ': ' . $value{% if input.type == 'text_format' %}['value']{% endif %});
\Drupal::messenger()->addMessage($key . ': ' . ($key === 'text_format'?$value['value']:$value));
}
}
{% endblock %}

0 comments on commit 6f393c9

Please sign in to comment.