Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace DrupalCodeGenerator\Command\Drupal_7;
|
Chris@0
|
4
|
Chris@0
|
5 use DrupalCodeGenerator\Command\BaseGenerator;
|
Chris@0
|
6 use DrupalCodeGenerator\Utils;
|
Chris@0
|
7 use Symfony\Component\Console\Input\InputInterface;
|
Chris@0
|
8 use Symfony\Component\Console\Output\OutputInterface;
|
Chris@0
|
9 use Symfony\Component\Console\Question\Question;
|
Chris@0
|
10
|
Chris@0
|
11 /**
|
Chris@0
|
12 * Implements d7:module command.
|
Chris@0
|
13 */
|
Chris@0
|
14 class Module extends BaseGenerator {
|
Chris@0
|
15
|
Chris@0
|
16 protected $name = 'd7:module';
|
Chris@0
|
17 protected $description = 'Generates Drupal 7 module';
|
Chris@0
|
18 protected $destination = 'modules';
|
Chris@0
|
19
|
Chris@0
|
20 /**
|
Chris@0
|
21 * {@inheritdoc}
|
Chris@0
|
22 */
|
Chris@0
|
23 protected function interact(InputInterface $input, OutputInterface $output) {
|
Chris@0
|
24 $questions = Utils::defaultQuestions();
|
Chris@0
|
25 $questions['description'] = new Question('Module description', 'Module description.');
|
Chris@0
|
26 $questions['package'] = new Question('Package', 'Custom');
|
Chris@0
|
27
|
Chris@0
|
28 $vars = $this->collectVars($input, $output, $questions);
|
Chris@0
|
29
|
Chris@0
|
30 $this->addFile()
|
Chris@0
|
31 ->path('{machine_name}/{machine_name}.info')
|
Chris@0
|
32 ->template('d7/module-info.twig');
|
Chris@0
|
33
|
Chris@0
|
34 $this->addFile()
|
Chris@0
|
35 ->path('{machine_name}/{machine_name}.module')
|
Chris@0
|
36 ->template('d7/module.twig');
|
Chris@0
|
37
|
Chris@0
|
38 $this->addFile()
|
Chris@0
|
39 ->path('{machine_name}/{machine_name}.install')
|
Chris@0
|
40 ->template('d7/install.twig');
|
Chris@0
|
41
|
Chris@0
|
42 $this->addFile()
|
Chris@0
|
43 ->path('{machine_name}/{machine_name}.admin.inc')
|
Chris@0
|
44 ->template('d7/admin.inc.twig');
|
Chris@0
|
45
|
Chris@0
|
46 $this->addFile()
|
Chris@0
|
47 ->path('{machine_name}/{machine_name}.pages.inc')
|
Chris@0
|
48 ->template('d7/pages.inc.twig');
|
Chris@0
|
49
|
Chris@0
|
50 $this->addFile()
|
Chris@0
|
51 ->path('{machine_name}/' . str_replace('_', '-', $vars['machine_name']) . '.js')
|
Chris@0
|
52 ->template('d7/javascript.twig');
|
Chris@0
|
53 }
|
Chris@0
|
54
|
Chris@0
|
55 }
|