Blame view

sources/apps/files_external/3rdparty/irodsphp/prods/src/setRodsGenQueryNum.php 2.04 KB
03e52840d   Kload   Init
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
  <?php
  $RODS_tree_root = dirname(__FILE__) . "/../../..";
  
  $capi_genque_num_file = $RODS_tree_root . "/lib/core/include/rodsGenQuery.h";
  $prods_genque_num_file = $RODS_tree_root . "/clients/prods/src/RodsGenQueryNum.inc.php";
  
  // Add more GenQue number here, if you wish. It will be added to the default
  // RODS Gen Que number. Note that these number are for web server/client
  // only. RODS server does not recongnize them.
  $new_genque_nums = array(//array("SOMENUMBER", 40000),
  );
  
  $value_pairs = array();
  
  $lines = explode("
  ", file_get_contents($capi_genque_num_file));
  
  foreach ($lines as $line) {
      if (strlen($line) < 8) continue;
      if (substr($line, 0, 7) == '#define') {
          $rest = trim(substr($line, 7));
          $tokens = preg_split("/\s+/", $rest);
          if (count($tokens) < 2)
              continue;
  
          $val1 = trim($tokens[0]);
          $val2 = trim($tokens[1]);
  
          if ((!empty($val1)) && (!empty($val2))) {
              array_push($value_pairs, array($val1, 0 + $val2));
          }
      }
  }
  var_dump($value_pairs);
  foreach ($new_genque_nums as $new_code_pair) {
      if ((!is_array($new_code_pair)) || (count($new_code_pair) != 2))
          die("unexpected new_code_pair:$new_code_pair
  ");
      array_push($value_pairs, $new_code_pair);
  }
  
  $outputstr = "<?php 
  " .
      "/* This file is generated by " . basename(__FILE__) .
      "   Please modify that file if you wish to update the " .
      "   Gen Query number.            */
  ";
  $outputstr = $outputstr . '$GLOBALS[\'PRODS_GENQUE_NUMS\']=array(' . "
  ";
  foreach ($value_pairs as $value_pair) {
      $val1 = $value_pair[0];
      $val2 = $value_pair[1];
      $outputstr = $outputstr . "  '$val1' => '$val2',
  ";
  }
  $outputstr = $outputstr . ");
  ";
  
  $outputstr = $outputstr . '$GLOBALS[\'PRODS_GENQUE_NUMS_REV\']=array(' . "
  ";
  foreach ($value_pairs as $value_pair) {
      $val1 = $value_pair[0];
      $val2 = $value_pair[1];
      $outputstr = $outputstr . "  '$val2' => '$val1',
  ";
  }
  $outputstr = $outputstr . ");
  ";
  
  $outputstr = $outputstr . "?>
  ";
  file_put_contents($prods_genque_num_file, $outputstr);