Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

glpi / Vigilo / VigiloXml.php @ bef4271a

History | View | Annotate | Download (770 Bytes)

1
<?php
2

    
3
abstract class VigiloXml
4
{
5
    abstract public function __toString();
6

    
7
    public static function sprintf($s)
8
    {
9
        $args = func_get_args();
10
        array_shift($args); // pop $s
11

    
12
        $new_args = array();
13
        foreach ($args as $arg) {
14
            if (is_string($arg)) {
15
                $new_args[] = htmlspecialchars($arg, ENT_XML1 | ENT_QUOTES, "utf-8");
16
            } else if (is_array($arg)) {
17
                $acc = '';
18
                foreach ($arg as $sub) {
19
                    if (is_object($sub))
20
                        $acc .= (string) $sub;
21
                }
22
                $new_args[] = $acc;
23
            } else {
24
                $new_args[] = (string) $arg;
25
            }
26
        }
27

    
28
        return vsprintf($s, $new_args);
29
    }
30
}
31