Yaffs site version 1.1
[yaffs-website] / vendor / drush / drush / commands / core / outputformat / var_export.inc
1 <?php
2
3 /**
4  * Output formatter 'var_export'
5  *
6  * Note: this class is also used by format 'config'
7  *
8  * @param $data
9  *   The $data parameter is rendered with the php var_export() function
10  * @param $metadata
11  *   'label' - If present, prints "$variable['label'] = " prior to the data
12  *   'variable-name' - If present, provides an alternate name for $variable
13  *     when labels are in use.
14  *
15  * Code:
16  *
17  *   return array(
18  *     "a" => array("b" => 2, "c" => 3),
19  *     "d" => array("e" => 5, "f" => 6)
20  *   );
21  *
22  * Output with --format=var_export:
23  *
24  *   array (
25  *     'a' =>
26  *     array (
27  *       'b' => 2,
28  *       'c' => 3,
29  *     ),
30  *     'd' =>
31  *     array (
32  *       'e' => 5,
33  *       'f' => 6,
34  *     ),
35  *   )
36  *
37  * Output with --format=config: (list of export)
38  *
39  *   $config['a'] = array (
40  *     'b' => 2,
41  *     'c' => 3,
42  *   );
43  *   $config['d'] = array (
44  *     'e' => 5,
45  *     'f' => 6,
46  *   );
47  */
48 class drush_outputformat_var_export extends drush_outputformat {
49   function format($input, $metadata) {
50     if (isset($metadata['label'])) {
51       $variable_name = isset($metadata['variable-name']) ? $metadata['variable-name'] : 'variables';
52       $variable_name = preg_replace("/[^a-zA-Z0-9_-]/", "", str_replace(' ', '_', $variable_name));
53       $label = $metadata['label'];
54       $label_template = (isset($metadata['label-template'])) ? $metadata['label-template'] : '$!variable["!label"] = !value;';
55       $output = dt($label_template, array('!variable' => $variable_name, '!label' => $label, '!value' => var_export($input, TRUE)));
56     }
57     else {
58       $output = drush_var_export($input);
59     }
60     return $output;
61   }
62 }