PluginProbe
Optima Express IDX / development
Optima Express IDX vdevelopment
8.7.2 8.7.1 trunk 1.0.0 1.1.0 1.1.2 1.1.3 1.1.4 1.1.5 1.1.7 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.4.2 1.4.4 1.4.5 1.4.6 2.0.1 2.2.7 2.3.0 2.3.1 2.4.0 2.5.0 All 112 releases
optima-express / iHomefinderUrlFactory.php

iHomefinderUrlFactory.php in Optima Express IDX development, at iHomefinderUrlFactory.php

439 lines 18.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if (! defined('ABSPATH')) {
4 exit; // Exit if accessed directly
5 }
6
7
8 class iHomefinderUrlFactory
9 {
10
11 private static $instance;
12 private $virtualPageFactory;
13
14 private function __construct()
15 {
16 $this->virtualPageFactory = iHomefinderVirtualPageFactory::getInstance();
17 }
18
19 public static function getInstance()
20 {
21 if (!isset(self::$instance)) {
22 self::$instance = new self();
23 }
24 return self::$instance;
25 }
26
27 /**
28 * Gets the base URL for this blog
29 */
30 public function getBaseUrl()
31 {
32 return home_url();
33 }
34
35 /**
36 * This is a Wordpress standard for AJAX handling.
37 *
38 * The scheme is taken from home_url() rather than left to admin_url() to
39 * derive. An unqualified admin_url() resolves its scheme from the request
40 * context, so behind a TLS-terminating proxy -- where is_ssl() is false --
41 * it returns http and overwrites a correct https value.
42 *
43 * This value is sent to ihf-root as ajaxBaseUrl and stored as the client
44 * AjaxBaseUrl feature. SiteResourceTranslator reduces it to scheme://host and
45 * passes it to Kestrel as site.baseUrl, which tests
46 * window.location.href.startsWith(site.baseUrl.href) -- a scheme mismatch
47 * throws BaseUrlMismatchError on every page load.
48 *
49 * home_url() reads the stored home option instead of the request, which is
50 * how every other URL in the registration map already derives its scheme (via
51 * prependBaseUrl -> getBaseUrl). It is also the front-end URL Kestrel compares
52 * against, so matching it is the actual invariant.
53 */
54 public function getAjaxBaseUrl()
55 {
56 return admin_url("admin-ajax.php", parse_url(home_url(), PHP_URL_SCHEME));
57 }
58
59 /**
60 * @param includeBaseUrl is false when called from iHomefinderRewriteRules
61 */
62 private function prependBaseUrl($permalink, $includeBaseUrl)
63 {
64 $result = $permalink;
65 if ($includeBaseUrl) {
66 $result = $this->getBaseUrl() . "/" . $result . "/";
67 }
68 return $result;
69 }
70
71 public function getListingsSearchResultsUrl($includeBaseUrl = true)
72 {
73 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::LISTING_SEARCH_RESULTS);
74 $permalink = $virtualPage->getPermalink();
75 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
76 return $result;
77 }
78
79 public function getListingsSearchFormUrl($includeBaseUrl = true)
80 {
81 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::LISTING_SEARCH_FORM);
82 $permalink = $virtualPage->getPermalink();
83 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
84 return $result;
85 }
86
87 public function getMapSearchFormUrl($includeBaseUrl = true)
88 {
89 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::MAP_SEARCH_FORM);
90 $permalink = $virtualPage->getPermalink();
91 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
92 return $result;
93 }
94
95 public function getListingsAdvancedSearchFormUrl($includeBaseUrl = true)
96 {
97 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::LISTING_ADVANCED_SEARCH_FORM);
98 $permalink = $virtualPage->getPermalink();
99 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
100 return $result;
101 }
102
103 public function getListingDetailUrl($includeBaseUrl = true)
104 {
105 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::LISTING_DETAIL);
106 $permalink = $virtualPage->getPermalink();
107 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
108 return $result;
109 }
110
111 public function getListingSoldDetailUrl($includeBaseUrl = true)
112 {
113 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::LISTING_SOLD_DETAIL);
114 $permalink = $virtualPage->getPermalink();
115 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
116 return $result;
117 }
118
119 public function getFeaturedSearchResultsUrl($includeBaseUrl = true)
120 {
121 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::FEATURED_SEARCH);
122 $permalink = $virtualPage->getPermalink();
123 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
124 return $result;
125 }
126
127 public function getHotSheetListingReportUrl($includeBaseUrl = true)
128 {
129 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::HOT_SHEET_LISTING_REPORT);
130 $permalink = $virtualPage->getPermalink();
131 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
132 return $result;
133 }
134
135 public function getHotSheetOpenHomeReportUrl($includeBaseUrl = true)
136 {
137 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::HOT_SHEET_OPEN_HOME_REPORT);
138 $permalink = $virtualPage->getPermalink();
139 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
140 return $result;
141 }
142
143 public function getHotSheetMarketReportUrl($includeBaseUrl = true)
144 {
145 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::HOT_SHEET_MARKET_REPORT);
146 $permalink = $virtualPage->getPermalink();
147 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
148 return $result;
149 }
150
151 public function getHotsheetListUrl($includeBaseUrl = true)
152 {
153 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::HOT_SHEET_LIST);
154 $permalink = $virtualPage->getPermalink();
155 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
156 return $result;
157 }
158
159 public function getOrganizerLoginUrl($includeBaseUrl = true)
160 {
161 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::ORGANIZER_LOGIN);
162 $permalink = $virtualPage->getPermalink();
163 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
164 return $result;
165 }
166
167 /**
168 * @deprecated
169 */
170 public function getOrganizerLoginSubmitUrl($includeBaseUrl = true)
171 {
172 return $this->getOrganizerLoginUrl($includeBaseUrl);
173 }
174
175 public function getOrganizerLogoutUrl($includeBaseUrl = true)
176 {
177 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::ORGANIZER_LOGOUT);
178 $permalink = $virtualPage->getPermalink();
179 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
180 return $result;
181 }
182
183 public function getOrganizerEditSavedSearchUrl($includeBaseUrl = true)
184 {
185 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::ORGANIZER_EDIT_SAVED_SEARCH);
186 $permalink = $virtualPage->getPermalink();
187 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
188 return $result;
189 }
190
191 public function getOrganizerEditSavedSearchSubmitUrl($includeBaseUrl = true)
192 {
193 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::ORGANIZER_EDIT_SAVED_SEARCH_SUBMIT);
194 $permalink = $virtualPage->getPermalink();
195 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
196 return $result;
197 }
198
199 public function getOrganizerDeleteSavedSearchSubmitUrl($includeBaseUrl = true)
200 {
201 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::ORGANIZER_DELETE_SAVED_SEARCH_SUBMIT);
202 $permalink = $virtualPage->getPermalink();
203 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
204 return $result;
205 }
206
207 public function getOrganizerViewSavedSearchUrl($includeBaseUrl = true)
208 {
209 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::ORGANIZER_VIEW_SAVED_SEARCH);
210 $permalink = $virtualPage->getPermalink();
211 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
212 return $result;
213 }
214
215 public function getOrganizerViewSavedSearchListUrl($includeBaseUrl = true)
216 {
217 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::ORGANIZER_VIEW_SAVED_SEARCH_LIST);
218 $permalink = $virtualPage->getPermalink();
219 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
220 return $result;
221 }
222
223 public function getOrganizerResendConfirmationEmailUrl($includeBaseUrl = true)
224 {
225 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::ORGANIZER_RESEND_CONFIRMATION_EMAIL);
226 $permalink = $virtualPage->getPermalink();
227 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
228 return $result;
229 }
230
231 public function getOrganizerActivateSubscriberUrl($includeBaseUrl = true)
232 {
233 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::ORGANIZER_ACTIVATE_SUBSCRIBER);
234 $permalink = $virtualPage->getPermalink();
235 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
236 return $result;
237 }
238
239 public function getOrganizerSendSubscriberPasswordUrl($includeBaseUrl = true)
240 {
241 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::ORGANIZER_SEND_SUBSCRIBER_PASSWORD);
242 $permalink = $virtualPage->getPermalink();
243 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
244 return $result;
245 }
246
247 public function getOrganizerViewSavedListingListUrl($includeBaseUrl = true)
248 {
249 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::ORGANIZER_VIEW_SAVED_LISTING_LIST);
250 $permalink = $virtualPage->getPermalink();
251 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
252 return $result;
253 }
254
255 public function getOrganizerDeleteSavedListingUrl($includeBaseUrl = true)
256 {
257 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::ORGANIZER_DELETE_SAVED_LISTING_SUBMIT);
258 $permalink = $virtualPage->getPermalink();
259 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
260 return $result;
261 }
262
263 public function getOrganizerEmailUpdatesConfirmationUrl($includeBaseUrl = true)
264 {
265 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::ORGANIZER_EMAIL_UPDATES_CONFIRMATION);
266 $permalink = $virtualPage->getPermalink();
267 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
268 return $result;
269 }
270
271 public function getOrganizerHelpUrl($includeBaseUrl = true)
272 {
273 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::ORGANIZER_HELP);
274 $permalink = $virtualPage->getPermalink();
275 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
276 return $result;
277 }
278
279 public function getOrganizerEditSubscriberUrl($includeBaseUrl = true)
280 {
281 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::ORGANIZER_EDIT_SUBSCRIBER);
282 $permalink = $virtualPage->getPermalink();
283 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
284 return $result;
285 }
286
287 public function getContactFormUrl($includeBaseUrl = true)
288 {
289 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::CONTACT_FORM);
290 $permalink = $virtualPage->getPermalink();
291 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
292 return $result;
293 }
294
295 public function getValuationFormUrl($includeBaseUrl = true)
296 {
297 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::VALUATION_FORM);
298 $permalink = $virtualPage->getPermalink();
299 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
300 return $result;
301 }
302
303 public function getMortgageCalculatorUrl($includeBaseUrl = true)
304 {
305 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::MORTGAGE_CALCULATOR);
306 $permalink = $virtualPage->getPermalink();
307 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
308 return $result;
309 }
310
311 public function getOpenHomeSearchFormUrl($includeBaseUrl = true)
312 {
313 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::OPEN_HOME_SEARCH_FORM);
314 $permalink = $virtualPage->getPermalink();
315 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
316 return $result;
317 }
318
319 public function getSoldFeaturedListingUrl($includeBaseUrl = true)
320 {
321 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::SOLD_FEATURED_LISTING);
322 $permalink = $virtualPage->getPermalink();
323 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
324 return $result;
325 }
326
327 public function getPendingFeaturedListingUrl($includeBaseUrl = true)
328 {
329 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::PENDING_FEATURED_LISTING);
330 $permalink = $virtualPage->getPermalink();
331 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
332 return $result;
333 }
334
335 public function getSupplementalListingUrl($includeBaseUrl = true)
336 {
337 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::SUPPLEMENTAL_LISTING);
338 $permalink = $virtualPage->getPermalink();
339 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
340 return $result;
341 }
342
343 public function getOfficeListUrl($includeBaseUrl = true)
344 {
345 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::OFFICE_LIST);
346 $permalink = $virtualPage->getPermalink();
347 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
348 return $result;
349 }
350
351 public function getMlsPortalBoardOfficeListUrl($includeBaseUrl = true)
352 {
353 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::MLS_PORTAL_BOARD_OFFICE_LIST);
354 $permalink = $virtualPage->getPermalink();
355 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
356 return $result;
357 }
358
359 public function getMlsPortalBoardOfficeListNameStartsWithUrl($includeBaseUrl = true)
360 {
361 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::MLS_PORTAL_BOARD_OFFICE_LIST_NAME_STARTS_WITH);
362 $permalink = $virtualPage->getPermalink();
363 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
364 return $result;
365 }
366
367 public function getOfficeDetailUrl($includeBaseUrl = true)
368 {
369 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::OFFICE_DETAIL);
370 $permalink = $virtualPage->getPermalink();
371 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
372 return $result;
373 }
374
375 public function getMlsPortalBoardOfficeDetailUrl($includeBaseUrl = true)
376 {
377 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::MLS_PORTAL_BOARD_OFFICE_DETAIL);
378 $permalink = $virtualPage->getPermalink();
379 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
380 return $result;
381 }
382
383 public function getAgentListUrl($includeBaseUrl = true)
384 {
385 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::AGENT_LIST);
386 $permalink = $virtualPage->getPermalink();
387 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
388 return $result;
389 }
390
391 public function getMlsPortalBoardMemberListUrl($includeBaseUrl = true)
392 {
393 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::MLS_PORTAL_BOARD_MEMBER_LIST);
394 $permalink = $virtualPage->getPermalink();
395 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
396 return $result;
397 }
398
399 public function getMlsPortalBoardMemberListLastNameStartsWithUrl($includeBaseUrl = true)
400 {
401 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::MLS_PORTAL_BOARD_MEMBER_LIST_LAST_NAME_STARTS_WITH);
402 $permalink = $virtualPage->getPermalink();
403 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
404 return $result;
405 }
406
407 public function getAgentDetailUrl($includeBaseUrl = true)
408 {
409 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::AGENT_DETAIL);
410 $permalink = $virtualPage->getPermalink();
411 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
412 return $result;
413 }
414
415 public function getMlsPortalBoardMemberDetailUrl($includeBaseUrl = true)
416 {
417 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::MLS_PORTAL_BOARD_MEMBER_DETAIL);
418 $permalink = $virtualPage->getPermalink();
419 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
420 return $result;
421 }
422
423 public function getMlsPortalBoardMemberSearchUrl($includeBaseUrl = true)
424 {
425 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::MLS_PORTAL_BOARD_MEMBER_SEARCH);
426 $permalink = $virtualPage->getPermalink();
427 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
428 return $result;
429 }
430
431 public function getMlsPortalBoardOfficeSearchUrl($includeBaseUrl = true)
432 {
433 $virtualPage = $this->virtualPageFactory->getVirtualPage(iHomefinderVirtualPageFactory::MLS_PORTAL_BOARD_OFFICE_SEARCH);
434 $permalink = $virtualPage->getPermalink();
435 $result = $this->prependBaseUrl($permalink, $includeBaseUrl);
436 return $result;
437 }
438 }
439