All pastes #559829 Raw Edit

createFlexBuildFile.php

public text v1 · immutable
·published 2007-06-11 22:27 UTC
rendered paste body
<?php

	/**
	* Predefined Variables
	*/
	$AppRoot = "";
	$BaseDir = "";
	$DeployDir = "";
	$FlexHome = "";
	$Locale = "";

	/**
	* Clean Posts To Prevent Attacks
	*/
	function PostClean($String, $nlbr = false) {
		if (get_magic_quotes_gpc()) {
			$String = stripslashes($String);
		}
		if ($nlbr) {
			$String = nl2br($String);
		}
		return htmlspecialchars($String);
	}

	/*
	* Validate Post Variables
	*/
	$User = PostClean(trim($_POST['user']));
	$Project = PostClean(trim($_POST['project']));

	/*
	*  Create Build XML File
	*/
	$Code = "<?xml version="1.0" encoding=\"utf-8\"?>";
	$Code = $Code . "<project name=\"Flex Ant Tasks\" basedir=\".\">";
	$Code = $Code . "<taskdef resource=\"flexTasks.tasks\" classpath=\"" . $BaseDir . "/lib/flexTasks.jar\" />";
	$Code = $Code . "<property name=\"" . $FlexHome . "\" value=\"C:/flex/sdk\"/>";
	$Code = $Code . "<property name=\"" . $AppRoot . "/\" value=\"C:/Documents and Settings/Owner/Desktop\"/>";
	$Code = $Code . "<property name=\"" . $DeployDir . "\" value=\"user/" . $User . "/" . $Project . "/bin\"/>";
	$Code = $Code . "<target name=\"main\">";
	$Code = $Code . "<mxmlc file=\"" . $AppRoot . "/\" . $Project . ".mxml\" output=\"" . $DeployDir . "/" . $Project . ".swf\" actionscript-file-encoding=\"UTF-8\" keep-generated-actionscript=\"true\" incremental=\"true\">";
	$Code = $Code . "<load-config filename=\"" . $FlexHome . "/frameworks/flex-config.xml\"/>";
	$Code = $Code . "<source-path path-element=\"" . $FlexHome . "/frameworks\"/>";
	$Code = $Code . "<compiler.library-path dir=\"" . $FlexHome . "/frameworks\" append=\"true\">";
	$Code = $Code . "<include name=\"libs\" />";
	$Code = $Code . "<include name=\"../bundles/" . $Locale . "\" />";
	$Code = $Code . "</compiler.library-path>";
	$Code = $Code . "<default-size width=\"500\" height=\"600\" />";
	$Code = $Code . "</mxmlc>";
	$Code = $Code . "</target>";
	$Code = $Code . "<target name=\"clean\">";
	$Code = $Code . "<delete dir=\"" . $AppRoot . "/generated\"/>";
	$Code = $Code . "<delete>";
	$Code = $Code . "<fileset dir=\"" . $DeployDir . "\" includes=\"" . $Project . ".swf\"/>";
	$Code = $Code . "</delete> ";
	$Code = $Code . "</target>";
	$Code = $Code . "</project>";

	/*
	* Create/Overwrite Build File
	*/
	$File = fopen("user/" . $User . "/" . $Project . "/" . $Project . ".xml", "w") or die("Can't create file.");
	$WriteFile = fwrite($File, $Code);
	$CloseFile = fclose($File);

	/*
	* Execute Build File
	*/
	exec("/home/vipercre/www/fileglory/flexpad/ant/ant -buildfile users/" . $User . "/" . $Project . "/" . $Project . ".xml main");

?>