Esempio n. 1
0
 function dom_set_css_parameters($dom, $xml) {
   foreach($this->style as $key=>$value) {
     $el=dom_create_append($dom, "CssParameter", $xml);
     $el->setAttribute("name", $key);
     dom_create_append_text($el, $value, $xml);
   }
 }
Esempio n. 2
0
function cascadenik_set_fontsets($file) {
  global $cascadenik_fontsets;
  $font_replace=array();

  print "Cascadenik:: Replacing font_faces by fontsets\n";

  $content=new DOMDocument();
  $content->loadXML(file_get_contents($file));

  // find Map and its first child
  $map=$content->getElementsByTagName("Map");
  if(!$map->length)
    return;
  $map=$map->item(0);
  $first_el=$map->firstChild;

  foreach($cascadenik_fontsets as $name=>$fonts) {
    // insert fontset clauses
    $fontset=$content->createElement("FontSet");
    $fontset=$map->insertBefore($fontset, $first_el);
    $fontset->setAttribute("name", $name);

    // insert list of possible face names to each fontset
    foreach($fonts as $font) {
      $f=dom_create_append($fontset, "Font", $content);
      $f->setAttribute("face_name", $font);

      $font_replace[$font]=$name;
    }
  }

  // process full file and search for TextSymbolizers
  $syms=$content->getElementsByTagName("TextSymbolizer");
  for($i=0; $i<$syms->length; $i++) {
    $sym=$syms->item($i);

    // if a face_name is found replace by fontset_name
    if(($face_name=$sym->getAttribute("face_name"))&&($font_replace[$face_name])) {
      $sym->removeAttribute("face_name");
      $sym->setAttribute("fontset_name", $font_replace[$face_name]);
    }

    // if a face-name is found replace by fontset_name (mapnik >0.7.2)
    if(($face_name=$sym->getAttribute("face-name"))&&($font_replace[$face_name])) {
      $sym->removeAttribute("face-name");
      $sym->setAttribute("fontset_name", $font_replace[$face_name]);
    }

    // as cascadenik ignores text-max-char-angle-delta, we just put it to
    // any TextSymbolizer. Is there a reason why we wouldn't want that?
    $sym->setAttribute("max_char_angle_delta", 10);
  }

  file_put_contents($file, $content->saveXML());
}
function wiki_download_icon($name) {
  global $icon_list;
  global $wiki_img;
  global $wiki_imgsrc;
  global $icon_dir;

  $icon=strtr($name, array(" "=>"_"));
  if(preg_match("/^(.*)\.[^\.]*$/", $name, $m))
    $icon_id=$m[1];
  else
    $icon_id=$name;

  if(preg_match("/^OSB (.*)$/i", $icon_id, $m))
    $icon_id=$m[1];

  $f=$icon_dir->get_obj($icon_id);
  if($f)
    return $icon_id;

  if(!isset($icon_list[$icon])) {
    $img_data=gzfile("$wiki_img$icon");

    if(!$img_data)
      print "Can't open $wiki_img$icon\n";

    unset($icon_path);
    foreach($img_data as $r) {
      if(eregi("<div class=\"fullImageLink\" .*<a href=\"([^\"]*)\">", $r, $m)) {
	print "DOWNLOADING $m[1]\n";
	$img=file_get_contents("$wiki_imgsrc$m[1]");
	if(!$img)
	  print "Can't download $wiki_imgsrc$m[1]\n";
      }
    }
  }

  $f=$icon_dir->create_obj($icon_id);
  $f->save("file.src", $img);

  $d=new DOMDocument();
  $tags=dom_create_append($d, "tags", $d);
  $tag=dom_create_append($tags, "tag", $d);
  $tag->setAttribute("k", "name");
  $tag->setAttribute("v", $icon_id);

  $tag=dom_create_append($tags, "tag", $d);
  $tag->setAttribute("k", "source");
  $tag->setAttribute("v", "$wiki_img$icon");

  $f->save("tags.xml", $d->saveXML());

  return $icon_id;
}
Esempio n. 4
0
function ajax_whats_here_find($param, $xml) {
  $ret=whats_here_find($param);

  $result=$xml->createElement("result");
  $list=dom_create_append($result, "list", $xml);

  foreach($ret as $ob) {
    $match=dom_create_append($list, "match", $xml);
    foreach($ob as $k=>$v) {
      if($k=="tags") {
        $v=$v->export_dom($xml);
        foreach($v as $v1)
          $match->appendChild($v1);
      }
      else
        $match->setAttribute($k, $v);
    }
  }

  $xml->appendChild($result);
}
Esempio n. 5
0
function git_write_log($xml) {
  global $data_dir;

  $el=dom_create_append($xml->firstChild, "git_log", $xml);
  dom_create_append_text($el, $data_dir->log, $xml);
}
Esempio n. 6
0
function ajax_load_object($param, $xml) {
  $ob=load_object($param['ob']);

  $result=dom_create_append($xml, "result", $xml);
  $node=$ob->export_dom($xml);

  if($node)
    $result->appendChild($node);
}
Esempio n. 7
0
  function xml($parent, $xml) {
    $r=dom_create_append($parent, "obj", $xml);
    $r->setAttribute("id", $this->id);

    foreach($this->files as $file) {
      $f=dom_create_append($r, "file", $xml);
      $x=dom_create_append_text($f, $file, $xml);
    }
  }
Esempio n. 8
0
function categories_insert_fontsets($map, $dom) {
  global $categories_fontsets;

  foreach($categories_fontsets as $name=>$fonts) {
    // insert fontset clauses
    $fontset=$dom->createElement("FontSet");
    $fontset=$map->appendChild($fontset);
    $fontset->setAttribute("name", $name);

    // insert list of possible face names to each fontset
    foreach($fonts as $font) {
      $f=dom_create_append($fontset, "Font", $dom);
      $f->setAttribute("face_name", $font);

      $font_replace[$font]=$name;
    }
  }
}
Esempio n. 9
0
  function xml($xml) {
    $res=dom_create_append($xml, "result", $xml);

    $list=$this->file_list();
    foreach($list as $l) {
      $l->xml($res, $xml);
    }
  }