~fabiocbalbuquerque/sahana-agasti/web-services

« back to all changes in this revision

Viewing changes to apps/frontend/lib/packages/agWebservicesPackage/modules/agWebservices/templates/getSuccess.json.php

  • Committer: Chad Heuschober
  • Date: 2011-08-04 00:05:46 UTC
  • mto: (1.26.1 push-trunk)
  • mto: This revision was merged to the branch mainline in revision 25.
  • Revision ID: chad.heuschober@mail.cuny.edu-20110804000546-4dqh6a7xrkrwccdh
Moved around some data fixtures to put the regular fixtures into more of a production-ready state.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?php
2
 
$json = "[";
3
 
$nb = count($results);
4
 
$i = 0;
5
 
foreach ($results as $url => $entity) {
6
 
    ++$i;    
7
 
    $json .= '{';
8
 
    $json .= '"type":"'.$type.'",';
9
 
    $nb1 = count($entity);
10
 
    $j = 0;
11
 
    foreach ($entity as $key => $value) {
12
 
        ++$j;
13
 
        $json .= '"'.$key.'":' . (is_object($value) ? json_encode($value->getRawValue()) : json_encode($value));
14
 
        $json .= ($nb1 == $j ? '' : ',');
15
 
    }
16
 
    $json .= '}';
17
 
    $json .= ($nb == $i ? '' : ',');
18
 
}
19
 
$json .= "]";
20
 
 
21
 
 
22
 
/**
23
 
 * Indents a flat JSON string to make it more human-readable
24
 
 * @author http://recursive-design.com/blog/2008/03/11/format-json-with-php/
25
 
 * @param string $json The original JSON string to process
26
 
 * @return string Indented version of the original JSON string
27
 
 */
28
 
function indent($json) {
29
 
 
30
 
    $result = '';
31
 
    $pos = 0;
32
 
    $strLen = strlen($json);
33
 
    $indentStr = ' ';
34
 
    $newLine = "\n";
35
 
    $prevChar = '';
36
 
    $outOfQuotes = true;
37
 
 
38
 
    for($i = 0; $i <= $strLen; $i++) {
39
 
 
40
 
        // Grab the next character in the string
41
 
        $char = substr($json, $i, 1);
42
 
 
43
 
        // Are we inside a quoted string?
44
 
        if($char == '"' && $prevChar != '\\') {
45
 
            $outOfQuotes = !$outOfQuotes;
46
 
        }
47
 
        // If this character is the end of an element,
48
 
        // output a new line and indent the next line
49
 
        else if(($char == '}' || $char == ']') && $outOfQuotes) {
50
 
            $result .= $newLine;
51
 
            $pos --;
52
 
            for ($j=0; $j<$pos; $j++) {
53
 
                $result .= $indentStr;
54
 
            }
55
 
        }
56
 
        // Add the character to the result string
57
 
        $result .= $char;
58
 
 
59
 
        // If the last character was the beginning of an element,
60
 
        // output a new line and indent the next line
61
 
        if (($char == ',' || $char == '{' || $char == '[') && $outOfQuotes) {
62
 
            $result .= $newLine;
63
 
            if ($char == '{' || $char == '[') {
64
 
                $pos ++;
65
 
            }
66
 
            for ($j = 0; $j < $pos; $j++) {
67
 
                $result .= $indentStr;
68
 
            }
69
 
        }
70
 
        $prevChar = $char;
71
 
    }
72
 
 
73
 
    return $result;
74
 
}
75
 
 
76
 
echo indent($json);
77
 
?>
 
 
b'\\ No newline at end of file'
 
1
[
 
2
<?php $nb = count($results); $i = 0 ; foreach ($results as $url => $entity): ++$i ?>
 
3
{
 
4
  "type": "<?php echo $type ?>", 
 
5
  <?php $nb1 = count($entity); $j = 0; foreach ($entity as $key => $value): ++$j ?>
 
6
"<?php echo $key ?>": <?php echo (is_object($value))?json_encode($value->getRawValue()):json_encode($value); echo ($nb1 == $j ? '' : ',') ?> 
 
7
  <?php endforeach ?>
 
8
}<?php echo $nb == $i ? '' : ',' ?>
 
9
 
 
10
<?php endforeach ?>
 
11
]
 
 
b'\\ No newline at end of file'