<?php
|
interface ibd_module {
|
//static $name;
|
function szukaj_info($tytul=NULL, $autor=NULL, $wydawnictwo=NULL);
|
function szukaj_ISBN($ISBN);
|
function szukaj_ISSN($ISSN);
|
}
|
|
class ibd implements Countable {
|
static $providers = array(
|
'ibd_BN',
|
);
|
|
static $timelimit = 25;
|
|
function __call($function, $args) {
|
$stop = time() + self::$timelimit;
|
$return = array();
|
|
foreach(self::$providers as $provider) {
|
if(time() >= $stop) break;
|
|
$name = new $provider;
|
if(!method_exists($name, $function)) {
|
continue;
|
}
|
|
$results = call_user_func_array(array($name, $function), $args);
|
|
if(!empty($results)) {
|
$return[$name->name] = $results;
|
}
|
}
|
|
return $return;
|
}
|
|
function count() {
|
return count(self::$providers);
|
}
|
}
|
?>
|