Ejemplo n.º 1
0
 static function create($options, $extensions)
 {
     if (isset($options->cache)) {
         $cache = $options->cache . 'cache.tmp';
         if ($www = @fs\read($cache)) {
             $www = unserialize($www);
         } else {
             $www = new www($options);
             fs\write($cache, serialize($www));
         }
         $www->locale->setup($options->language, $options->country);
     } else {
         $www = new www($options);
     }
     foreach ($www->templaters as $name => $templater) {
         $templater->extend(isset($extensions[$name]) ? $extensions[$name] : []);
     }
     return $www;
 }
Ejemplo n.º 2
0
 static function create($options)
 {
     if (isset($options->cache)) {
         $cache = $options->cache . 'cache.tmp';
         if ($www = @fs\read($cache)) {
             $www = unserialize($www);
         } else {
             $www = new www($options);
             fs\write($cache, serialize($www));
         }
     } else {
         $www = new www($options);
     }
     $www->router->bind($options->access->method->bindTo($www, $www));
     $www->bind();
     if (isset($options->access)) {
         $www->resolve = $options->access->resolve->bindTo($www, $www);
     }
     return $www;
 }
Ejemplo n.º 3
0
                    case 'solr':
                        if (!isset($datasources[$procedure->datasource])) {
                            $datasources[$procedure->datasource] = new solr($datasource->server, $datasource->port, $datasource->url, $datasource->username, $datasource->password);
                        }
                        $order_by = [];
                        if (isset($procedure->order_by)) {
                            foreach ($procedure->order_by as $name => $order) {
                                $mode = (object) ['type' => isset($order->type) ? $order->type : 'normal', 'order' => $order->order];
                                if (isset($order->point)) {
                                    $mode->point = $order->point;
                                }
                                $order_by[$name] = $mode;
                            }
                        }
                        $collection->attach($procedure->name, new solr_procedure($procedure->name, $params, !isset($procedure->required) or $procedure->required !== 'false', isset($procedure->result) ? $procedure->result : 'array', isset($procedure->output) ? $procedure->output : null, $datasources[$procedure->datasource], $procedure->core, $procedure->method, $procedure->body, $order_by, isset($procedure->offset) ? $procedure->offset : 0, isset($procedure->count) ? $procedure->count : 10), $procedure->static);
                        break;
                }
            }
        }
    }
    $this->dispatcher->attach($options->name, $collection);
}
foreach ($config->resources as $resource) {
    foreach ($resource->methods as $method) {
        $this->router->attach($method->type, new method($resource->uri, $method->access, new script($this, $method->script)));
    }
}
foreach ($config->schemas as $name => $schema) {
    $this->schemas[$name] = json\schema::load($schema->src);
    fs\write($schema->solr, $this->schemas[$name]->solr());
}