function echoTask($oPHPProject, $oTask, $level = 0) { echo '<strong>' . str_repeat('>', 2 * $level) . ' Task : ' . $oTask->getName() . '</strong>' . EOL; echo ' ' . str_repeat('>', 2 * ($level + 1)) . ' Duration : ' . $oTask->getDuration() . EOL; echo ' ' . str_repeat('>', 2 * ($level + 1)) . ' StartDate : ' . date('Y-m-d', $oTask->getStartDate()) . EOL; echo ' ' . str_repeat('>', 2 * ($level + 1)) . ' Progress : ' . $oTask->getProgress() . EOL; echo ' ' . str_repeat('>', 2 * ($level + 1)) . ' Resources : ' . EOL; $oTaskResources = $oTask->getResources(); if (!empty($oTaskResources)) { foreach ($oTaskResources as $oResource) { echo ' ' . str_repeat('>', 2 * ($level + 2)) . ' Resource : ' . $oResource->getTitle() . EOL; } } echo EOL; $level++; if ($oTask->getTaskCount() > 0) { foreach ($oTask->getTasks() as $oSubTask) { echoTask($oPHPProject, $oSubTask, $level); } } $level--; }
$objReader = IOFactory::createReader('GanttProject'); $objPHPProject = $objReader->load(__DIR__ . DIRECTORY_SEPARATOR . 'resources' . DIRECTORY_SEPARATOR . 'Sample_02.gan'); // Set properties echo date('H:i:s') . ' Get properties' . EOL; echo 'Creator > ' . $objPHPProject->getProperties()->getCreator() . EOL; echo 'LastModifiedBy > ' . $objPHPProject->getProperties()->getLastModifiedBy() . EOL; echo 'Title > ' . $objPHPProject->getProperties()->getTitle() . EOL; echo 'Subject > ' . $objPHPProject->getProperties()->getSubject() . EOL; echo 'Description > ' . $objPHPProject->getProperties()->getDescription() . EOL; echo EOL; // Add some data echo date('H:i:s') . ' Get some data' . EOL; echo 'StartDate > ' . $objPHPProject->getInformations()->getStartDate() . EOL; echo 'EndDate > ' . $objPHPProject->getInformations()->getEndDate() . EOL; echo EOL; // Ressources echo date('H:i:s') . ' Get ressources' . EOL; foreach ($objPHPProject->getAllResources() as $oResource) { echo 'Resource : ' . $oResource->getTitle() . EOL; } echo EOL; // Tasks echo date('H:i:s') . ' Get tasks' . EOL; foreach ($objPHPProject->getAllTasks() as $oTask) { echoTask($objPHPProject, $oTask); } // Echo done echo date('H:i:s') . ' Done reading file.' . EOL; if (!CLI) { include_once 'Sample_Footer.php'; }