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); } }
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; }
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); }
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); }
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); }
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); } }
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; } } }
function xml($xml) { $res=dom_create_append($xml, "result", $xml); $list=$this->file_list(); foreach($list as $l) { $l->xml($res, $xml); } }