| @@ 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 | } | |