Core  3.2
PHP API documentation
 All Data Structures Namespaces Files Functions Variables Pages
json_concat.php
Go to the documentation of this file.
1 #!/usr/bin/env php
2 <?php
3 /*
4  * @author Anakeen
5  * @package FDL
6 */
7 /**
8  * Concatenate '*-mo.js' JSON localization files
9  *
10  * @author Anakeen
11  */
12 
13 array_shift($argv);
14 
15 $js_out = array();
16 foreach ($argv as $js_file) {
17  $js = file_get_contents($js_file);
18  if ($js === false) {
19  error_log(sprintf("Error reading content from '%s'.", $js_file));
20  exit(1);
21  }
22  if (empty($js)) {
23  continue;
24  }
25  $js_dec = json_decode($js, true);
26  if ($js_dec === null) {
27  error_log(sprintf("Error decoding json from '%s': %s.", $js_file, json_last_errmsg()));
28  exit(2);
29  }
30 
31  $js_out=array_merge_recursive($js_out,$js_dec);
32 }
33 
34 
35 if (count($js_out) <= 0) {
36  exit(0);
37 }
38 
39 $js_enc = json_encode($js_out);
40 if ($js_enc == "") {
41  error_log(sprintf("Error encoding json: %s.", json_last_errmsg()));
42  exit(3);
43 }
44 
46 
47 exit(0);
48 
49 function json_last_errmsg($errcode = null)
50 {
51  if ($errcode === null) {
52  $errcode = json_last_error();
53  }
54  switch ($errcode) {
55  case JSON_ERROR_NONE:
56  return 'JSON_ERROR_NONE';
57  break;
58 
59  case JSON_ERROR_DEPTH:
60  return 'JSON_ERROR_DEPTH';
61  break;
62 
63  case JSON_ERROR_STATE_MISMATCH:
64  return 'JSON_ERROR_STATE_MISMATCH';
65  break;
66 
67  case JSON_ERROR_CTRL_CHAR:
68  return 'JSON_ERROR_CTRL_CHAR';
69  break;
70 
71  case JSON_ERROR_SYNTAX:
72  return 'JSON_ERROR_SYNTAX';
73  break;
74 
75  case JSON_ERROR_UTF8:
76  return 'JSON_ERROR_UTF8';
77  break;
78  }
79  return sprintf("error code '%s'", $errcode);
80 }
81 ?>
$js_out
Definition: json_concat.php:15
json_last_errmsg($errcode=null)
Definition: json_concat.php:49
foreach($argv as $js_file) if(count($js_out)<=0) $js_enc
Definition: json_concat.php:39
print
Definition: checklist.php:49
switch($command) exit
Definition: checkVault.php:46
← centre documentaire © anakeen