@@ 113-134 (lines=22) @@ | ||
110 | . "\"></$relName>\n"; |
|
111 | } |
|
112 | ||
113 | foreach ($obj->hasMany() as $relName => $relClass) { |
|
114 | //remove dot notation from relation names |
|
115 | $parts = explode('.', $relClass); |
|
116 | $relClass = array_shift($parts); |
|
117 | if (!singleton($relClass)->stat('api_access')) { |
|
118 | continue; |
|
119 | } |
|
120 | // backslashes in FQCNs kills both URIs and XML |
|
121 | $relClass = $this->sanitiseClassName($relClass); |
|
122 | ||
123 | // Field filtering |
|
124 | if ($fields && !in_array($relName, $fields)) { |
|
125 | continue; |
|
126 | } |
|
127 | if ($this->customRelations && !in_array($relName, $this->customRelations)) { |
|
128 | continue; |
|
129 | } |
|
130 | ||
131 | $xml .= "<$relName linktype=\"has_many\" href=\"$objHref/$relName.xml\">\n"; |
|
132 | $items = $obj->$relName(); |
|
133 | if ($items) { |
|
134 | foreach ($items as $item) { |
|
135 | $href = Director::absoluteURL($this->config()->api_base . "$relClass/$item->ID"); |
|
136 | $xml .= "<$relClass href=\"$href.xml\" id=\"{$item->ID}\"></$relClass>\n"; |
|
137 | } |
|
@@ 142-163 (lines=22) @@ | ||
139 | $xml .= "</$relName>\n"; |
|
140 | } |
|
141 | ||
142 | foreach ($obj->manyMany() as $relName => $relClass) { |
|
143 | //remove dot notation from relation names |
|
144 | $parts = explode('.', $relClass); |
|
145 | $relClass = array_shift($parts); |
|
146 | if (!singleton($relClass)->stat('api_access')) { |
|
147 | continue; |
|
148 | } |
|
149 | // backslashes in FQCNs kills both URIs and XML |
|
150 | $relClass = $this->sanitiseClassName($relClass); |
|
151 | ||
152 | // Field filtering |
|
153 | if ($fields && !in_array($relName, $fields)) { |
|
154 | continue; |
|
155 | } |
|
156 | if ($this->customRelations && !in_array($relName, $this->customRelations)) { |
|
157 | continue; |
|
158 | } |
|
159 | ||
160 | $xml .= "<$relName linktype=\"many_many\" href=\"$objHref/$relName.xml\">\n"; |
|
161 | $items = $obj->$relName(); |
|
162 | if ($items) { |
|
163 | foreach ($items as $item) { |
|
164 | $href = Director::absoluteURL($this->config()->api_base . "$relClass/$item->ID"); |
|
165 | $xml .= "<$relClass href=\"$href.xml\" id=\"{$item->ID}\"></$relClass>\n"; |
|
166 | } |