source: libpipi/trunk/pipi-php/examples/pipi.php @ 3170

Last change on this file since 3170 was 3170, checked in by nico, 12 years ago
  • Centralize pipi's errors managment in macro RETURN_SUCCESS
  • Change php headers in samples programs
  • Add binding for pipi_draw_line
  • Check args in pipi_new_histogram and pipi_get_version
  • Property svn:executable set to *
File size: 925 bytes
Line 
1#!/usr/bin/php5
2<?php
3$aliases = array(
4        "-o" => "--save",
5        "--output" => "--save"
6);
7
8$ctx = pipi_create_context();
9$list = pipi_get_command_list();
10
11for ($argi = 1; $argi < $argc; $argi++) {
12
13        $arg = $argv[$argi];
14        if (isset($aliases[$arg]))
15                $arg = $aliases[$arg];
16
17        if (substr($arg, 0, 2) == "--") {
18                $cmd_name = substr($arg, 2);
19
20                if (!isset($list[$cmd_name])) {
21                        die("unknown command $cmd_name\n");
22                }
23               
24                $cmd_argc = $list[$cmd_name];
25                if ($argi + $cmd_argc + 1 > $argc) {
26                        die("too few arguments for $cmd_name\n");
27                }
28
29                switch ($cmd_argc) {
30                        case 0:
31                                $res = pipi_command($ctx, $cmd_name);
32                                break;
33                        case 1:
34                                $res = pipi_command($ctx, $cmd_name, $argv[$argi + 1]);
35                                break;
36                        default:
37                                die();
38                }
39                if (!$res) {
40                        die("command $cmd_name failed\n");
41                }
42                $argi += $cmd_argc;
43        }
44        else {
45                  if (!pipi_command($ctx, "load", $arg))
46                        die("could not load $arg\n");
47        }
48}
49
50?>
Note: See TracBrowser for help on using the repository browser.