#!/usr/bin/env php <?php /** * Convert a CSV file to XML * * @author Matthew Pietz */ define('SCRIPT', basename($_SERVER['argv'][0])); define('VERSION', '0.1.0'); php_sapi_name() == 'cli' or die('This is a commandline-only script' . "\n\n"); version_compare(PHP_VERSION, '5.3.0', '>=') or die('PHP 5.3.0 or greater required.' . "\n\n"); require 'library/class.cli-configuration.php'; require 'library/functions.sanity-checks.php'; $Configuration = new CLIConfiguration(array('f=file:' => STDIN, 'r=root:' => 'data', 'x=no-headers' => false, 'help::' => null), true); $Configuration->SetFlagTriggers(array('help' => 'CLIVersion')); $Configuration->AddPresetFlagTrigger(); $Configuration->AddVerboseFlagTrigger(); $Configuration->CollectArguments(); $CSVFile = $Configuration->File; $Root = $Configuration->Root; // Get the contents of the file if (is_string($CSVFile)) { $CSVFile = fopen($CSVFile, 'r'); } $CSV = array(); while (($Line = trim(fgets($CSVFile, 1024))) != false) { $CSV[] = $Line; } // Choose the Headers $FirstLine = str_getcsv(reset($CSV)); if ($Configuration->NoHeaders == true) {
#!/usr/bin/env php <?php /** * XSLT Transformation Script * * @author Matthew Pietz */ define('VERSION', '0.1.0'); php_sapi_name() == 'cli' or die('This is a commandline-only script' . "\n\n"); version_compare(PHP_VERSION, '5.3.0', '>=') or die('PHP 5.3.0 or greater required.' . "\n\n"); require 'library/class.cli-configuration.php'; require 'library/functions.sanity-checks.php'; $Configuration = new CLIConfiguration(array('help::' => null, 'u=url:' => '', 'v=verbose' => 0, 'version' => null, 't=xsl:' => '', 'x=param:' => array(), 'p=preset:' => null)); $Configuration->SetFlagTriggers(array('help' => 'CLIVersion', 'verbose' => 'CLIVerbosity', 'param' => 'XSLParam')); $Configuration->AddPresetFlagTrigger(); $Collected = $Configuration->CollectArguments(); $Parameters = $Configuration->Param; $Url = $Configuration->Url; $Xsl = $Configuration->Xsl; // Sanity Checks SanityCheck(!empty($Url), 'No URL specified', 'CLIVersion'); SanityCheck(!empty($Xsl), 'No Transformation XSL file specified'); SanityCheck(file_exists($Xsl), '"' . $Xsl . '" does not exist'); libxml_use_internal_errors(true); $XsltProcessor = new XSLTProcessor(); $XsltProcessor->setProfiling('_output/profiling.txt'); $XmlString = ''; $XmlData = new DOMDocument('1.0', 'utf-8'); $XslData = new DOMDocument('1.0', 'utf-8'); $DomErrors = new DOMDocument('1.0', 'utf-8'); $XsltProcessor->setParameter('', 'request-url', $Url);