diff options
Diffstat (limited to 'includes/js/dojox/data/tests/stores/snap_pipeline.php')
-rw-r--r-- | includes/js/dojox/data/tests/stores/snap_pipeline.php | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/includes/js/dojox/data/tests/stores/snap_pipeline.php b/includes/js/dojox/data/tests/stores/snap_pipeline.php new file mode 100644 index 0000000..a7e6033 --- /dev/null +++ b/includes/js/dojox/data/tests/stores/snap_pipeline.php @@ -0,0 +1,72 @@ +<?php + +$field_names = array('"empno"', '"ename"', '"job"', '"hiredate"', '"sal"', '"comm"', '"deptno"'); + +$rows = array(array("7369", '"SMITH,CLERK"', "7902", '"1993-06-13"', "800.00", "0.00", "20"), + array("7499", '"ALLEN,SALESMAN"', "7698", '"1998-08-15"', "1600.00", "300.00", "30"), + array("7521", '"WARD,SALESMAN"', "7698", '"1996-03-26"', "1250.00", "500.00", "30"), + array("7566", '"JONES,MANAGER"', "7839", '"1995-10-31"', "2975.00", '""', "20"), + array("7698", '"BLAKE,MANAGER"', "7839", '"1992-06-11"', "2850.00", '""', "30"), + array("7782", '"CLARK,MANAGER"', "7839", '"1993-05-14"', "2450.00", '""', "10"), + array("7788", '"SCOTT,ANALYST"', "7566", '"1996-03-05"', "3000.00", '""', "20"), + array("7839", '"KING,PRESIDENT"', '"1990-06-09"', "5000", "1100.0", '""', "0.00", "10"), + array("7844", '"TURNER,SALESMAN"', "7698", '"1995-06-04"', "1500.00", '""', "0.00", "30"), + array("7876", '"ADAMS,CLERK"', "7788", '"1999-06-04"', "1100.00", '""', "20"), + array("7900", '"JAMES,CLERK"', "7698", '"2000-06-23"', "950.00", '""', "30"), + array("7934", '"MILLER,CLERK"', "7782", '"2000-01-21"', "1300.00", '""', "10"), + array("7902", '"FORD,ANALYST"', "7566", '"1997-12-05"', "3000.00", '""', "20"), + array("7654", '"MARTIN,SALESMAN"', "7698", '"1998-12-05"', "1250.00", "1400.00", "30")); + +$prefix = $_GET["sn_stream_header"]; + +if($_GET["sn_count"]) { + if($_GET["sn_count"] == "records"){ + echo $prefix . "([[" . count($rows) . "]])"; + } else { + header("HTTP/1.1 400 Bad Request"); + echo "sn.count parameter, if present, must be set to 'records'."; + exit(0); + } +} else { + if($_GET["sn_start"]) { + $start = $_GET["sn_start"]; + } else { + $start = 1; + } + + if($_GET["sn_limit"]) { + $limit = $_GET["sn_limit"]; + } else { + $limit = count($rows); + } + + if(!is_numeric($start) || !is_numeric($limit)) { + header("HTTP/1.1 400 Bad Request"); + echo "sn.start or sn.limit specified a non-integer value"; + exit(0); + } + + $start -= 1; + + if($start < 0 || $start >= count($rows) || $limit < 0) { + header("HTTP/1.1 400 Bad Request"); + echo "sn.start and/or sn.limit out of range"; + exit(0); + } + + $slice = array_slice($rows, $start, $limit); + + header("Content-type: application/javascript"); + echo $prefix . "(["; + + $out_rows = array("[" . join(", ", $field_names) . "]"); + foreach($slice as $r) { + $out_rows[] = "[" . join(", ", $r) . "]"; + } + + echo join(", ", $out_rows); + echo "])"; + } + +?> + |