public function getProjects($page = 1, $per_page = 100)
 {
     $data = array('page' => $page, 'per_page' => $per_page);
     $response = $this->apiCall('/users/' . $this->getAttribute('id') . '/projects.xml', 'GET', $data);
     if (Floorplanner::success($response)) {
         $xml = Floorplanner::parseXMLResponse($response);
         $result = array();
         foreach ($xml->project as $project) {
             $result[] = Floorplanner_Project::fromXML($this, $project);
         }
         return $result;
     } else {
         throw new Floorplanner_Exception($response);
     }
 }
 public static function fromXML($api_object, $xml, $relations = array())
 {
     $project = new Floorplanner_Project($api_object);
     $project->_parseXMLAttributes($xml, $relations);
     return $project;
 }
Example #3
0
 /**
  * Returns a Floorplanner project given its hash, including its floors
  * and designs.
  * @param string $hash The hash that identifies the project
  * @return Floorplanner_Project The requested project-instance; null
  *		if the project is not found or is inaccessible.
  */
 public function getProject($id)
 {
     $response = $this->apiCall("/projects/{$id}.xml", 'GET');
     if (Floorplanner::success($response)) {
         $xml = Floorplanner::parseXMLResponse($response);
         return Floorplanner_Project::fromXML($this, $xml, array('floors' => 'Floorplanner_Floor', 'designs' => 'Floorplanner_Design'));
     } else {
         throw new Floorplanner_Exception($response);
     }
 }
 public function createProject($project_xml)
 {
     $response = $this->apiCall("/projects.xml", 'POST', $project_xml, array('Content-Type' => 'application/xml'));
     if (Floorplanner::success($response)) {
         $xml = Floorplanner::parseXMLResponse($response);
         return Floorplanner_Project::fromXML($this, $xml, array('floors' => 'Floorplanner_Floor', 'designs' => 'Floorplanner_Design'));
     } else {
         throw new Floorplanner_Exception($response);
     }
 }