public static function set_fiscal_year_properties($dataDir = null)
 {
     # Instantiate project object
     $project = new Project();
     $prj = new Prj();
     # Set fiscal year properties
     $month = new Month();
     $project->set($prj->FY_START_DATE, $month->July);
     $project->set($prj->FISCAL_YEAR_START, new NullableBool(true));
     $saveFileFormat = new SaveFileFormat();
     $project->save($dataDir . "fiscal_year_properties.xml", $saveFileFormat->XML);
     print "Set fiscal year properties, please check the output file." . PHP_EOL;
 }
 public static function set_currency_properties($dataDir = null)
 {
     # Instantiate project object
     $project = new Project();
     $prj = new Prj();
     # Set currency properties
     $currencySymbolPositionType = new CurrencySymbolPositionType();
     $project->set($prj->CURRENCY_CODE, "AUD");
     $project->set($prj->CURRENCY_DIGITS, 2);
     $project->set($prj->CURRENCY_SYMBOL, "\$");
     $project->set($prj->CURRENCY_SYMBOL_POSITION, $currencySymbolPositionType->After);
     $saveFileFormat = new SaveFileFormat();
     $project->save($dataDir . "currency_properties.xml", $saveFileFormat->XML);
     print "Set currency properties, please check the output file." . PHP_EOL;
 }
 public static function set_weekday_properties($dataDir = null)
 {
     # Instantiate project object
     $project = new Project();
     $prj = new Prj();
     $dayType = new DayType();
     # Set week days properties
     $project->set($prj->WEEK_START_DAY, $dayType->Monday);
     $project->set($prj->DAYS_PER_MONTH, 24);
     $project->set($prj->MINUTES_PER_DAY, 540);
     $project->set($prj->MINUTES_PER_WEEK, 3240);
     $saveFileFormat = new SaveFileFormat();
     $project->save($dataDir . "weekday_properties.xml", $saveFileFormat->XML);
     print "Set weekday properties, please check the output file." . PHP_EOL;
 }
 public static function set_currency_code($dataDir = null)
 {
     # Instantiate project object
     $project = new Project($dataDir . 'test_tasks.mpp');
     $prj = new Prj();
     $project->set($prj->CURRENCY_CODE, "USD");
     print "Set currency code." . PHP_EOL;
 }
 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 set_currency_digits($dataDir = null)
 {
     # Instantiate project object
     $project = new Project($dataDir . 'test_tasks.mpp');
     $prj = new Prj();
     $project->set($prj->CURRENCY_DIGITS, 2);
     $saveFileFormat = new SaveFileFormat();
     $project->save($dataDir . "ProjectCurrDigits.mpp", $saveFileFormat->MPP);
     print "Set currency digits." . PHP_EOL;
 }
 public static function set_currency_symbol($dataDir = null)
 {
     # Instantiate project object
     $project = new Project($dataDir . 'test_tasks.mpp');
     $prj = new Prj();
     $project->set($prj->CURRENCY_SYMBOL, "\$\$");
     $saveFileFormat = new SaveFileFormat();
     $project->save($dataDir . "ProjectCurrSymbols.mpp", $saveFileFormat->MPP);
     exit;
     print "Set currency symbol." . PHP_EOL;
 }
 public static function run($dataDir = null)
 {
     # Instantiate project object
     $project = new Project($dataDir . 'test_tasks.mpp');
     $prj = new Prj();
     # Set new task property
     $taskStartDateType = new TaskStartDateType();
     $project->set($prj->NEW_TASK_START_DATE, $taskStartDateType->CurrentDate);
     $saveFileFormat = new SaveFileFormat();
     $project->save($dataDir . "set_attributes_for_new_tasks.xml", $saveFileFormat->XML);
     print "Set attributes for new tasks, please check the output file." . PHP_EOL;
 }
 public static function run($dataDir = null)
 {
     # Instantiate project object
     $project = new Project($dataDir . 'test_tasks.mpp');
     $prj = new Prj();
     $tsk = new Tsk();
     $cal = new Calendar();
     $cal = $cal->getInstance();
     $cal->set(2013, 7, 17, 8, 0, 0);
     $project->set($prj->START_DATE, $cal->getTime());
     $project->set($prj->NEW_TASKS_ARE_MANUAL, new NullableBool(false));
     $task = $project->getRootTask()->getChildren()->add("Task");
     $rsc = $project->getResources()->add("Rsc");
     $rscc = new Rsc();
     $bigDecimal = new BigDecimal();
     $rsc->set($rscc->STANDARD_RATE, $bigDecimal->valueOf(10));
     $rsc->set($rscc->OVERTIME_RATE, $bigDecimal->valueOf(15));
     # 6 days duration
     $task->set($tsk->DURATION, $project->getDuration(6));
     $assn = $project->getResourceAssignments()->add($task, $rsc);
     $d = new Date(0);
     $asnn = new Asn();
     $assn->set($asnn->STOP, new Date(0));
     $assn->set($asnn->RESUME, new Date(0));
     # backloaded contour increases task duration from 6 to 10 days
     $workContourType = new WorkContourType();
     $assn->set($asnn->WORK_CONTOUR, $workContourType->BackLoaded);
     $baselineType = new BaselineType();
     $project->setBaseline($baselineType->Baseline);
     $task->set($tsk->PERCENT_COMPLETE, 50);
     $timephasedDataType = new TimephasedDataType();
     $td = $assn->getTimephasedData($assn->get($asnn->START), $assn->get($asnn->FINISH), $timephasedDataType->AssignmentRemainingWork)->toList();
     print "Size: " . (string) $td->size() . PHP_EOL;
     //.to_s
     print "Value: " . (string) $td->get(0)->getValue() . PHP_EOL;
     //.to_s
 }