This repository has been archived by the owner on Sep 30, 2022. It is now read-only.
forked from bartek-flp/d_drush_command_pack
/
d_drush_command_pack.drush.inc
88 lines (80 loc) · 2.45 KB
/
d_drush_command_pack.drush.inc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
/**
* Implements hook_drush_command().
*/
function d_drush_command_pack_drush_command() {
$commands['rebuild-aggregate-file'] = [
'description' => 'Rebuild aggregate css/js files',
'aliases' => ['raf'],
'arguments' => [
'js' => 'Rebuild aggregate js files only',
'css' => 'Rebuild aggregate css files only',
],
'examples' => [
'drush raf' => 'Rebuild aggregate css/js files',
'drush raf js' => 'Rebuild aggregate js files',
'drush raf css' => 'Rebuild aggregate css files',
],
];
$commands['delete-node-alias'] = [
'description' => 'Delete an node alias',
'aliases' => ['dna'],
'arguments' => [
'source' => 'Delete by source',
'alias' => 'Delete by alias',
],
'options' => [
'name' => 'Name of source or alias',
],
'examples' => [
'drush dna source /node/1' => 'Delete an alias by source path',
'drush dna alias /path-alias-name' => 'Delete an alias by alias path name',
],
];
return $commands;
}
/**
* Drush command logic for rebuilding file cache.
*
*/
function drush_d_drush_command_pack_rebuild_aggregate_file($arg = NULL) {
$tokens = ['@arg' => $arg];
switch ($arg) {
case 'js':
\Drupal::service("asset.js.collection_optimizer")->deleteAll();
_drupal_flush_css_js();
drush_print(dt('Rebuild aggregate @arg files.', $tokens));
break;
case 'css':
\Drupal::service("asset.css.collection_optimizer")->deleteAll();
_drupal_flush_css_js();
drush_print(dt('Rebuild aggregate @arg files.', $tokens));
break;
case '':
\Drupal::service("asset.css.collection_optimizer")->deleteAll();
\Drupal::service("asset.js.collection_optimizer")->deleteAll();
_drupal_flush_css_js();
drush_print(dt('Rebuild aggregate js/css files.'));
break;
default:
drush_print(dt('Wrong argument. Possible arguments: js, css or use command without argument.'));
}
}
/**
* Drush command logic for deleting aliases
*
*/
function drush_d_drush_command_pack_delete_node_alias($arg = NULL, $opt = NULL) {
$tokens = ['@arg' => $arg, '@opt' => $opt];
switch ($arg) {
case 'alias':
case 'source':
$condition = [$arg => $opt];
\Drupal::service('path.alias_storage')
->delete($condition);
drush_print(dt('Alias @opt deleted', $tokens));
break;
default:
drush_print(dt('Wrong argument and options. Example use: drush dna source /node/1'));
}
}