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; }
/** * 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); } }