Drush: commands/core/state.drush.inc Source File

  1. 7.x doxygen/html/state_8drush_8inc_source.html
  2. master doxygen/html/state_8drush_8inc_source.html
state.drush.inc
Go to the documentation of this file.
1 <?php
2 
3 /**
4  * @file
5  * Provides State commands.
6  */
7 
8 /**
9  * Implementation of hook_drush_help().
10  */
11 function state_drush_help($section) {
12  switch ($section) {
13  case 'meta:state:title':
14  return dt('State commands');
15  case 'meta:state:summary':
16  return dt('Interact with the State system.');
17  }
18 }
19 
20 /**
21  * Implementation of hook_drush_command().
22  */
23 function state_drush_command() {
24  $items['state-get'] = array(
25  'description' => 'Display a state value.',
26  'arguments' => array(
27  'key' => 'The key name.',
28  ),
29  'required-arguments' => 1,
30  'examples' => array(
31  'drush state-get system.cron_last' => 'Displays last cron run timestamp',
32  ),
33  'outputformat' => array(
34  'default' => 'json',
35  'pipe-format' => 'json',
36  ),
37  'aliases' => array('sget'),
38  'core' => array('8+'),
39  );
40 
41  $items['state-set'] = array(
42  'description' => 'Set a state value.',
43  'arguments' => array(
44  'key' => 'The state key, for example "system.cron_last".',
45  'value' => 'The value to assign to the state key. Use \'-\' to read from STDIN.',
46  ),
47  'required arguments' => 2,
48  'options' => array(
49  'format' => array(
50  'description' => 'Type for the value. Use "auto" to detect format from value. Other recognized values are string, integer float, or boolean for corresponding primitive type, or json, yaml for complex types.',
51  'example-value' => 'boolean',
52  'value' => 'required',
53  ),
54  // A convenient way to pass a multiline value within a backend request.
55  'value' => array(
56  'description' => 'The value to assign to the state key (if any).',
57  'hidden' => TRUE,
58  ),
59  ),
60  'examples' => array(
61  'drush state-set system.cron_last 1406682882 --format=integer' => 'Sets a timestamp for last cron run.',
62  'php -r "print json_encode(array(\'drupal\', \'simpletest\'));" | drush state-set --format=json foo.name -'=> 'Set a key to a complex value (e.g. array)',
63  ),
64  'aliases' => array('sset'),
65  'core' => array('8+'),
66  );
67 
68  $items['state-delete'] = array(
69  'description' => 'Delete a state value.',
70  'arguments' => array(
71  'key' => 'The state key, for example "system.cron_last".',
72  ),
73  'required arguments' => 1,
74  'examples' => array(
75  'drush state-del system.cron_last' => 'Delete state entry for system.cron_last.',
76  ),
77  'aliases' => array('sdel'),
78  'core' => array('8+'),
79  );
80 
81  return $items;
82 }
83 
84 /**
85  * State get command callback.
86  *
87  * @state $key
88  * The state key.
89  */
90 function drush_state_get($key = NULL) {
91  return \Drupal::state()->get($key);
92 }
93 
94 /**
95  * State set command callback.
96  *
97  * @param $key
98  * The config key.
99  * @param $value
100  * The data to save to state.
101  */
102 function drush_state_set($key = NULL, $value = NULL) {
103  // This hidden option is a convenient way to pass a value without passing a key.
104  $value = drush_get_option('value', $value);
105 
106  if (!isset($value)) {
107  return drush_set_error('DRUSH_STATE_ERROR', dt('No state value specified.'));
108  }
109 
110  // Special flag indicating that the value has been passed via STDIN.
111  if ($value === '-') {
112  $value = stream_get_contents(STDIN);
113  }
114 
115  // If the value is a string (usual case, unless we are called from code),
116  // then format the input.
117  if (is_string($value)) {
118  $value = drush_value_format($value, drush_get_option('format', 'auto'));
119  }
120 
121  \Drupal::state()->set($key, $value);
122 }
123 
124 /**
125  * State delete command callback.
126  *
127  * @state $key
128  * The state key.
129  */
130 function drush_state_delete($key = NULL) {
131  \Drupal::state()->delete($key);
132 }

File

doxygen/html/state_8drush_8inc_source.html
View source
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Drush: commands/core/state.drush.inc Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Drush
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_afac61274991793aa7e9133a8f4f291e.html">commands</a></li><li class="navelem"><a class="el" href="dir_5762b63965e3a68a35f77c23b4dd4668.html">core</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">state.drush.inc</div>  </div>
</div><!--header-->
<div class="contents">
<a href="state_8drush_8inc.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;&lt;?php</div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * @file</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *   Provides State commands.</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * Implementation of hook_drush_help().</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"><a class="code" href="state_8drush_8inc.html#a75b9c90b636c6e0afee136cf5989ea84">   11</a></span>&#160;<span class="keyword">function</span> <a class="code" href="state_8drush_8inc.html#a75b9c90b636c6e0afee136cf5989ea84">state_drush_help</a>($section) {</div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;  <span class="keywordflow">switch</span> ($section) {</div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="keywordflow">case</span> <span class="stringliteral">&#39;meta:state:title&#39;</span>:</div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="group__outputfunctions.html#ga1218abcb1e27dd3bb412113d1e344d96">dt</a>(<span class="stringliteral">&#39;State commands&#39;</span>);</div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="keywordflow">case</span> <span class="stringliteral">&#39;meta:state:summary&#39;</span>:</div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="group__outputfunctions.html#ga1218abcb1e27dd3bb412113d1e344d96">dt</a>(<span class="stringliteral">&#39;Interact with the State system.&#39;</span>);</div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;  }</div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * Implementation of hook_drush_command().</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"><a class="code" href="state_8drush_8inc.html#a8d63b18cb28e0988fd49bb8b51338de6">   23</a></span>&#160;<span class="keyword">function</span> <a class="code" href="state_8drush_8inc.html#a8d63b18cb28e0988fd49bb8b51338de6">state_drush_command</a>() {</div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;  $items[<span class="stringliteral">&#39;state-get&#39;</span>] = array(</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="stringliteral">&#39;description&#39;</span> =&gt; <span class="stringliteral">&#39;Display a state value.&#39;</span>,</div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="stringliteral">&#39;arguments&#39;</span> =&gt; array(</div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;      <span class="stringliteral">&#39;key&#39;</span> =&gt; <span class="stringliteral">&#39;The key name.&#39;</span>,</div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    ),</div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="stringliteral">&#39;required-arguments&#39;</span> =&gt; 1,</div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <span class="stringliteral">&#39;examples&#39;</span> =&gt; array(</div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;      <span class="stringliteral">&#39;drush state-get system.cron_last&#39;</span> =&gt; <span class="stringliteral">&#39;Displays last cron run timestamp&#39;</span>,</div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    ),</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="stringliteral">&#39;outputformat&#39;</span> =&gt; array(</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;      <span class="stringliteral">&#39;default&#39;</span> =&gt; <span class="stringliteral">&#39;json&#39;</span>,</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;      <span class="stringliteral">&#39;pipe-format&#39;</span> =&gt; <span class="stringliteral">&#39;json&#39;</span>,</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    ),</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="stringliteral">&#39;aliases&#39;</span> =&gt; array(<span class="stringliteral">&#39;sget&#39;</span>),</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="stringliteral">&#39;core&#39;</span> =&gt; array(<span class="stringliteral">&#39;8+&#39;</span>),</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;  );</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;  $items[<span class="stringliteral">&#39;state-set&#39;</span>] = array(</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <span class="stringliteral">&#39;description&#39;</span> =&gt; <span class="stringliteral">&#39;Set a state value.&#39;</span>,</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="stringliteral">&#39;arguments&#39;</span> =&gt; array(</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;      <span class="stringliteral">&#39;key&#39;</span> =&gt; <span class="stringliteral">&#39;The state key, for example &quot;system.cron_last&quot;.&#39;</span>,</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;      <span class="stringliteral">&#39;value&#39;</span> =&gt; <span class="stringliteral">&#39;The value to assign to the state key. Use \&#39;-\&#39; to read from STDIN.&#39;</span>,</div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    ),</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <span class="stringliteral">&#39;required arguments&#39;</span> =&gt; 2,</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="stringliteral">&#39;options&#39;</span> =&gt; array(</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;      <span class="stringliteral">&#39;format&#39;</span> =&gt; array(</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="stringliteral">&#39;description&#39;</span> =&gt; <span class="stringliteral">&#39;Type for  the value. Use &quot;auto&quot; to detect format from value. Other recognized values are string, integer float, or boolean for corresponding primitive type, or json, yaml for complex types.&#39;</span>,</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        <span class="stringliteral">&#39;example-value&#39;</span> =&gt; <span class="stringliteral">&#39;boolean&#39;</span>,</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        <span class="stringliteral">&#39;value&#39;</span> =&gt; <span class="stringliteral">&#39;required&#39;</span>,</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;      ),</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      <span class="comment">// A convenient way to pass a multiline value within a backend request.</span></div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <span class="stringliteral">&#39;value&#39;</span> =&gt; array(</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        <span class="stringliteral">&#39;description&#39;</span> =&gt; <span class="stringliteral">&#39;The value to assign to the state key (if any).&#39;</span>,</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        <span class="stringliteral">&#39;hidden&#39;</span> =&gt; TRUE,</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      ),</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    ),</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="stringliteral">&#39;examples&#39;</span> =&gt; array(</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <span class="stringliteral">&#39;drush state-set system.cron_last 1406682882 --format=integer&#39;</span> =&gt; <span class="stringliteral">&#39;Sets a timestamp for last cron run.&#39;</span>,</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      <span class="stringliteral">&#39;php -r &quot;print json_encode(array(\&#39;drupal\&#39;, \&#39;simpletest\&#39;));&quot;  | drush state-set --format=json foo.name -&#39;</span>=&gt; <span class="stringliteral">&#39;Set a key to a complex value (e.g. array)&#39;</span>,</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    ),</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="stringliteral">&#39;aliases&#39;</span> =&gt; array(<span class="stringliteral">&#39;sset&#39;</span>),</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="stringliteral">&#39;core&#39;</span> =&gt; array(<span class="stringliteral">&#39;8+&#39;</span>),</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  );</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  $items[<span class="stringliteral">&#39;state-delete&#39;</span>] = array(</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="stringliteral">&#39;description&#39;</span> =&gt; <span class="stringliteral">&#39;Delete a state value.&#39;</span>,</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="stringliteral">&#39;arguments&#39;</span> =&gt; array(</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      <span class="stringliteral">&#39;key&#39;</span> =&gt; <span class="stringliteral">&#39;The state key, for example &quot;system.cron_last&quot;.&#39;</span>,</div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    ),</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <span class="stringliteral">&#39;required arguments&#39;</span> =&gt; 1,</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="stringliteral">&#39;examples&#39;</span> =&gt; array(</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      <span class="stringliteral">&#39;drush state-del system.cron_last&#39;</span> =&gt; <span class="stringliteral">&#39;Delete state entry for system.cron_last.&#39;</span>,</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    ),</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="stringliteral">&#39;aliases&#39;</span> =&gt; array(<span class="stringliteral">&#39;sdel&#39;</span>),</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <span class="stringliteral">&#39;core&#39;</span> =&gt; array(<span class="stringliteral">&#39;8+&#39;</span>),</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  );</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="keywordflow">return</span> $items;</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;}</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment"> * State get command callback.</span></div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment"> * @state $key</span></div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment"> *   The state key.</span></div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="code" href="state_8drush_8inc.html#a23e392fb6881072bf11efc642b7569ad">   90</a></span>&#160;<span class="keyword">function</span> <a class="code" href="state_8drush_8inc.html#a23e392fb6881072bf11efc642b7569ad">drush_state_get</a>($key = NULL) {</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  return \Drupal::state()-&gt;get($key);</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;}</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment"> * State set command callback.</span></div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment"> * @param $key</span></div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment"> *   The config key.</span></div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment"> * @param $value</span></div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment"> *    The data to save to state.</span></div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="state_8drush_8inc.html#a375576b7785771c6f58d7ccb7dafe432">  102</a></span>&#160;<span class="keyword">function</span> <a class="code" href="state_8drush_8inc.html#a375576b7785771c6f58d7ccb7dafe432">drush_state_set</a>($key = NULL, $value = NULL) {</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  <span class="comment">// This hidden option is a convenient way to pass a value without passing a key.</span></div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  $value = <a class="code" href="context_8inc.html#afe91fb3e5219ecb2208c3b036b1f0cb8">drush_get_option</a>(<span class="stringliteral">&#39;value&#39;</span>, $value);</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  <span class="keywordflow">if</span> (!isset($value)) {</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="group__errorhandling.html#ga23fe9e1e8c1e5ade39256106044b6da4">drush_set_error</a>(<span class="stringliteral">&#39;DRUSH_STATE_ERROR&#39;</span>, <a class="code" href="group__outputfunctions.html#ga1218abcb1e27dd3bb412113d1e344d96">dt</a>(<span class="stringliteral">&#39;No state value specified.&#39;</span>));</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  }</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <span class="comment">// Special flag indicating that the value has been passed via STDIN.</span></div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <span class="keywordflow">if</span> ($value === <span class="charliteral">&#39;-&#39;</span>) {</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    $value = stream_get_contents(STDIN);</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  }</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="comment">// If the value is a string (usual case, unless we are called from code),</span></div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <span class="comment">// then format the input.</span></div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  <span class="keywordflow">if</span> (is_string($value)) {</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    $value = drush_value_format($value, <a class="code" href="context_8inc.html#afe91fb3e5219ecb2208c3b036b1f0cb8">drush_get_option</a>(<span class="stringliteral">&#39;format&#39;</span>, <span class="stringliteral">&#39;auto&#39;</span>));</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  }</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  \Drupal::state()-&gt;set($key, $value);</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;}</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment"> * State delete command callback.</span></div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment"> * @state $key</span></div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="comment"> *   The state key.</span></div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="code" href="state_8drush_8inc.html#ab23cf352931f04d8c48e5e5d246b0c50">  130</a></span>&#160;<span class="keyword">function</span> <a class="code" href="state_8drush_8inc.html#ab23cf352931f04d8c48e5e5d246b0c50">drush_state_delete</a>($key = NULL) {</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  \Drupal::state()-&gt;delete($key);</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Oct 14 2016 07:27:41 for Drush by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.1.2
</small></address>
</body>
</html>