Example #1
0
 private static function parse_map(Tag $map_tag, $url, $path, $scope, $base_class, $secure, $update, $map_index, $get_meta)
 {
     $params = $args = $vars = $modules = $meta = array();
     if (!$map_tag->is_param('class')) {
         $map_tag->param('class', $base_class);
     }
     $params['url'] = $url;
     $params['scope'] = $scope;
     $params['map_index'] = $map_index;
     $params['redirect'] = File::path_slash($map_tag->in_param('redirect'), false, false);
     $params['template'] = File::path_slash($map_tag->in_param('template'), false, false);
     $params['secure'] = $map_tag->in_param('secure', $secure) === 'true';
     $params['update'] = $map_tag->in_param('update', $update) === 'true';
     if (!empty($params['template']) && !empty($path)) {
         $params['template'] = $path . '/' . $params['template'];
     }
     foreach (array('class', 'method', 'name') as $c) {
         $params[$c] = $map_tag->in_param($c);
     }
     foreach ($map_tag->in('module') as $t) {
         $modules[] = self::parse_module($t);
     }
     foreach ($map_tag->in('var') as $t) {
         $vars[] = self::parse_var($t);
     }
     foreach ($map_tag->in('arg') as $a) {
         $args[$a->in_param('name')] = $a->in_param('value', $a->value());
     }
     if ($get_meta) {
         $meta['summary'] = $map_tag->in_param('summary');
     }
     list($params['vars'], $params['modules'], $params['args'], $params['meta']) = array($vars, $modules, $args, $meta);
     if (!empty($params['class']) && empty($params['method'])) {
         Exceptions::add(new InvalidArgumentException('map `' . $map_tag->plain() . '` method not found'));
     }
     if (!empty($params['method']) && empty($params['class'])) {
         Exceptions::add(new InvalidArgumentException('map `' . $map_tag->plain() . '` class not found'));
     }
     return $params;
 }
Example #2
0
 protected function __set_media_url__($url)
 {
     $this->media_url = File::absolute(self::base_media_url(), File::path_slash($url, null, true));
 }