All pastes #1589940 Raw Edit

JZA

public php v1 · immutable
#1589940 ·published 2009-10-02 21:39 UTC
rendered paste body
#!/usr/bin/php<?php	$ext=$argv[1];	$ext=explode(".",$ext);	$extensionname=$ext[0];	$codefile=$argv[1];    $zip = new ZipArchive();    $zip->open($extensionname.".oxt",ZIPARCHIVE::CREATE);	$dir=new Directorio($extensionname);	$dir->crear();	$addon=new Archivo($extensionname,"addons.xcu");	$addon->setContent("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");	$addon->addLine("<oor:component-data xmlns:oor=\"http://openoffice.org/2001/registry\"");	$addon->addLine("  xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" oor:name=\"Addons\"");	$addon->addLine("  oor:package=\"org.openoffice.Office\">");	$addon->addLine("<node oor:name=\"AddonUI\">");	$addon->addLine("	<node oor:name=\"OfficeToolBar\">");	$addon->addLine("			<node oor:name=\"python.uno.openoffice.".$extensionname."\" oor:op=\"replace\">");	$addon->addLine("                <node oor:name=\"m1\" oor:op=\"replace\">");	$addon->addLine("                    <prop oor:name=\"URL\" oor:type=\"xs:string\">");	$addon->addLine("                        <value>service:name.vojta.openoffice.".$extensionname."?execute</value>");	$addon->addLine("                    </prop>");	$addon->addLine("                    <prop oor:name=\"ImageIdentifier\" oor:type=\"xs:string\">");	$addon->addLine("                        <value/>");	$addon->addLine("                    </prop>");	$addon->addLine("                    <prop oor:name=\"Title\" oor:type=\"xs:string\">");	$addon->addLine("                        <value/>\n                        <value xml:lang=\"en-US\">".$extensionname."</value>");	$addon->addLine("                        <value xml:lang=\"cs\">Vlnka</value>\n                    </prop>");	$addon->addLine("                    <prop oor:name=\"Target\" oor:type=\"xs:string\">");	$addon->addLine("                        <value>_self</value>\n                    </prop>");	$addon->addLine("                    <prop oor:name=\"Context\" oor:type=\"xs:string\">");	$addon->addLine("                        <value>com.sun.star.text.TextDocument</value>\n                    </prop>\n                </node>\n            </node>\n</node>");	$addon->addLine("</node>\n </oor:component-data>");	$addon->crear();	$zip->addFile($codefile);	$zip->addFile($addon->folder.$addon->name,$addon->name);    $zip->close();	    class Directorio    {        function __construct($name)        {            $this->name = $name;        }        function crear()        {            mkdir($this->name,0777);        }    }        class Archivo    {        function __construct($folder,$name)        {            $this->folder=$folder;            $this->name=$name;        }		function setContent($txt)		{			$this->content=$txt;		}		function addLine($txt)		{			$this->content=$this->content."\n".$txt;		}        function crear()        {            $this->folder = ($this->folder)?$this->folder."/":"";            $fp = fopen($this->folder.$this->name,'w');            fwrite($fp,$this->content);            fclose($fp);        }    };?>