Newer
Older
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
<?php
/**
* Start a Civi::pipe session (JSON-RPC 2.0)
*
* The Civi::pipe protocol provides a line-oriented session for executing multiple requests in a single CiviCRM instance.
*
* Callers may request <connection-flags>, such as:
*
* v: Show version
* l: Show login support
* t: Enable trusted mode
* u: Enable untrusted mode
*
* ## EXAMPLES
*
* $ wp civicrm pipe
* {"Civi::pipe":{"v":"5.47.alpha1","t":"trusted","l":["nologin"]}}
*
* @since 5.69
*/
class CLI_Tools_CiviCRM_Command_Pipe extends CLI_Tools_CiviCRM_Command {
/**
* Start a Civi::pipe session (JSON-RPC 2.0)
*
* The Civi::pipe protocol provides a line-oriented session for executing multiple requests in a single CiviCRM instance.
*
* Callers may request <connection-flags>, such as:
*
* v: Show version
* l: Show login support
* t: Enable trusted mode
* u: Enable untrusted mode
*
* See https://docs.civicrm.org/dev/en/latest/framework/pipe#flags
*
* ## EXAMPLES
*
* $ wp civicrm pipe
* {"Civi::pipe":{"v":"5.47.alpha1","t":"trusted","l":["nologin"]}}
*
* $ wp civicrm pipe vu
* {"Civi::pipe":{"v":"5.57.1","u":"untrusted"}}
*
* @since 5.69
*
* @param array $args The WP-CLI positional arguments.
* @param array $assoc_args The WP-CLI associative arguments.
*/
public function __invoke($args, $assoc_args) {
// Bootstrap CiviCRM.
$this->bootstrap_civicrm();
if (!is_callable(['Civi', 'pipe'])) {
WP_CLI::error('This version of CiviCRM does not include Civi::pipe() support.');
}
if (!empty($args[0])) {
Civi::pipe($args[0]);
}
else {
Civi::pipe();
}
}
}