public static function run($dataDir = null) { $one_sec = 10000000; # microsecond * 10 $one_min = 60 * $one_sec; $one_hour = 60 * $one_min; # Instantiate project object $project = new Project($dataDir . 'test_tasks.mpp'); $tsk = new Tsk(); $prj = new Prj(); # Add tasks $task1 = $project->getRootTask()->getChildren()->add("1"); $timeUnitType = new TimeUnitType(); $task1->set($tsk->DURATION, $project->getDuration(8, $timeUnitType->Hour)); $task1->set($tsk->START, $project->get($prj->START_DATE)); $task1->set($tsk->FINISH, $project->get($prj->CALENDAR)->getTaskFinishDateFromDuration($task1, (double) (string) $task1->get($tsk->DURATION))); //.toDouble() $task2 = $project->getRootTask()->getChildren()->add("2"); $task2->set($tsk->DURATION, $project->getDuration(8, $timeUnitType->Hour)); $task2->set($tsk->START, $project->get($prj->START_DATE)); $task2->set($tsk->FINISH, $project->get($prj->CALENDAR)->getTaskFinishDateFromDuration($task2, (double) (string) $task2->get($tsk->DURATION))); //.toDouble() $project->getRootTask()->getChildren()->add($task1); $project->getRootTask()->getChildren()->add($task2); # Add four TaskLinks with different TaskLinkTypes $taskLinkType = new TaskLinkType(); $link1 = $project->getTaskLinks()->add($task1, $task2, $taskLinkType->StartToStart); # Save the Project $saveFileFormat = new SaveFileFormat(); $project->save($dataDir . "TaskLinks.mpp", $saveFileFormat->MPP); print "Saved task links data." . PHP_EOL; }
public static function run($dataDir = null) { # Instantiate project object $project = new Project($dataDir . 'Sample.xml'); # Display project version property $prj = new Prj(); print "Project Version : " . (string) $project->get($prj->SAVE_VERSION) . PHP_EOL; //->to_string print "Last Saved : " . (string) $project->get($prj->LAST_SAVED) . PHP_EOL; }
public static function get_fiscal_year_properties($dataDir = null) { # Instantiate project object $project = new Project($dataDir . 'test_tasks.mpp'); $prj = new Prj(); # Display fiscal year properties print "Fiscal Year Start Date : " . (string) $project->get($prj->FY_START_DATE) . PHP_EOL; //.toString(); print "Fiscal Year Numbering : " . (string) $project->get($prj->FISCAL_YEAR_START) . PHP_EOL; //.toString() }
public static function get_currency_properties($dataDir = null) { # Instantiate project object $project = new Project($dataDir . 'test_tasks.mpp'); $prj = new Prj(); # Display currency properties print "Currency Code : " . (string) $project->get($prj->CURRENCY_CODE) . PHP_EOL; //.toString() print "<br>Currency Digits : " . (string) $project->get($prj->CURRENCY_DIGITS) . PHP_EOL; //.toString() print "<br>Currency Symbol : " . (string) $project->get($prj->CURRENCY_SYMBOL) . PHP_EOL; //.toString() print "Currency Symbol Position: " . (string) $project->get($prj->CURRENCY_SYMBOL_POSITION) . PHP_EOL; //.toString() }
public static function get_weekday_properties($dataDir = null) { # Instantiate project object $project = new Project($dataDir . 'test_tasks.mpp'); $prj = new Prj(); # Display week days properties print "Week Start Date : " . (string) $project->get($prj->WEEK_START_DAY) . PHP_EOL; //.toString(); print "Days Per Month : " . (string) $project->get($prj->DAYS_PER_MONTH) . PHP_EOL; //.toString(); print "Minutes Per Day : " . (string) $project->get($prj->MINUTES_PER_DAY) . PHP_EOL; //.toString(); print "Minutes Per Week : " . (string) $project->get($prj->MINUTES_PER_WEEK) . PHP_EOL; //.toString(); }
public static function get_currency_digits($dataDir = null) { # Instantiate project object $project = new Project($dataDir . 'test_tasks.mpp'); $prj = new Prj(); print "Currency Digits: " . (string) $project->get($prj->CURRENCY_DIGITS) . PHP_EOL; //.to_string }
public static function get_currency_symbol($dataDir = null) { # Instantiate project object $project = new Project($dataDir . 'test_tasks.mpp'); $prj = new Prj(); print "Currency Symbol: " . (string) $project->get($prj->CURRENCY_SYMBOL) . PHP_EOL; //.to_string }
public static function run($dataDir = null) { # Instantiate project object $project = new Project($dataDir . 'test_tasks.mpp'); # Get the Resource by its ID $resource = $project->getResources()->getByUid(1); $prj = new Prj(); # Print Timephased data of ResourceWork print "Timephased data of Resource Work" . PHP_EOL; $result = $resource->getTimephasedData($project->get($prj->START_DATE), $project->get($prj->FINISH_DATE))->toList(); $i = 0; while ($i < sizeof($result)) { $td = $result->get($i); print "Start: " . (string) $td->getStart() . PHP_EOL; // . toString() print "Work: " . (string) $td->getValue() . PHP_EOL; $i += 1; } }
public static function run($dataDir = null) { # Instantiate project object $project = new Project(); $prj = new Prj(); $tsk = new Tsk(); # Get a standard calendar $calendar = $project->get($prj->CALENDAR); # Set project's calendar settings $cal = new Calendar(); $cal = $cal->getInstance(); $cal->set(2011, 3, 15, 8, 0, 0); $project->set($prj->START_DATE, $cal->getTime()); $cal->set(2011, 3, 21, 17, 0, 0); $project->set($prj->FINISH_DATE, $cal->getTime()); # root task $rootTask = $project->getRootTask(); $rootTask->set($tsk->NAME, "Root"); # Add a new task $taskToSplit = $rootTask->getChildren()->add("Task1"); $taskToSplit->set($tsk->DURATION, $project->getDuration(3)); # Create a new resource assignment $splitResourceAssignment = $project->getResourceAssignments()->add($taskToSplit, null); # Generate resource assignment timephased data $splitResourceAssignment->timephasedDataFromTaskDuration($calendar); # Split the task into 3 parts. # Provide start date and finish date arguments to SplitTask method # These dates will be used for split # Set project's calendar settings $cal = new Calendar(); $cal = $cal->getInstance(); $cal2 = new Calendar(); $cal2 = $cal2->getInstance(); $cal->set(2011, 3, 16, 8, 0, 0); $cal2->set(2011, 3, 16, 17, 0, 0); $splitResourceAssignment->splitTask($cal->getTime(), $cal2->getTime(), $calendar); $cal->set(2011, 3, 18, 8, 0, 0); $cal2->set(2011, 3, 18, 17, 0, 0); $splitResourceAssignment->splitTask($cal->getTime(), $cal2->getTime(), $calendar); $asn = new Asn(); $workContourType = new WorkContourType(); $splitResourceAssignment->set($asn->WORK_CONTOUR, $workContourType->Contoured); # Save the Project $saveFileFormat = new SaveFileFormat(); $project->save($dataDir . "SplitTasks.xml", $saveFileFormat->XML); }
public static function get_default_project_properties($dataDir = null) { # Instantiate project object $project = new Project($dataDir . 'Sample.xml'); $prj = new Prj(); # Display default properties print "Project Version : " . (string) $project->get($prj->SAVE_VERSION) . PHP_EOL; //.to_string print "New Task Default Start: " . (string) $project->get($prj->DEFAULT_START_TIME) . PHP_EOL; //.to_string print "New Task Default Type: " . (string) $project->get($prj->DEFAULT_TASK_TYPE) . PHP_EOL; //.to_string print "Resouce Default Standard Rate: " . (string) $project->get($prj->DEFAULT_STANDARD_RATE) . PHP_EOL; //.to_string print "Resource Default Overtime Rate: " . (string) $project->get($prj->DEFAULT_OVERTIME_RATE) . PHP_EOL; //.to_string print "Default Task EV Method: " . (string) $project->get($prj->DEFAULT_TASK_EV_METHOD) . PHP_EOL; //.to_string print "Default Cost Accrual: " . (string) $project->get($prj->DEFAULT_FIXED_COST_ACCRUAL) . PHP_EOL; //.to_string }