| 1 |
<?php |
| 2 |
|
| 3 |
if (! defined('ABSPATH')) { |
| 4 |
exit; // Exit if accessed directly |
| 5 |
} |
| 6 |
|
| 7 |
|
| 8 |
/** |
| 9 |
* autoloads iHomefinder classes |
| 10 |
*/ |
| 11 |
class iHomefinderAutoloader |
| 12 |
{ |
| 13 |
|
| 14 |
private static $instance; |
| 15 |
|
| 16 |
/* |
| 17 |
* we store an array indexed by class name of class paths instead of using a PSR-4 autoloader |
| 18 |
* because we want to support versions of PHP that don't support namespacing |
| 19 |
*/ |
| 20 |
private $classes = array( |
| 21 |
//core files |
| 22 |
"iHomefinderSeoCompat" => "iHomefinderSeoCompat.php", |
| 23 |
"iHomefinderAdmin" => "iHomefinderAdmin.php", |
| 24 |
"iHomefinderAjaxHandler" => "iHomefinderAjaxHandler.php", |
| 25 |
"iHomefinderRestController" => "iHomefinderRestController.php", |
| 26 |
"iHomefinderConstants" => "iHomefinderConstants.php", |
| 27 |
"iHomefinderInstaller" => "iHomefinderInstaller.php", |
| 28 |
"iHomefinderListingInfo" => "iHomefinderListingInfo.php", |
| 29 |
"iHomefinderLogger" => "iHomefinderLogger.php", |
| 30 |
"iHomefinderMenu" => "iHomefinderMenu.php", |
| 31 |
"iHomefinderEnqueueResource" => "iHomefinderEnqueueResource.php", |
| 32 |
"iHomefinderRequestor" => "iHomefinderRequestor.php", |
| 33 |
"iHomefinderRemoteResponse" => "iHomefinderRemoteResponse.php", |
| 34 |
"iHomefinderRewriteRules" => "iHomefinderRewriteRules.php", |
| 35 |
"iHomefinderSearchLinkInfo" => "iHomefinderSearchLinkInfo.php", |
| 36 |
"iHomefinderFormData" => "iHomefinderFormData.php", |
| 37 |
"iHomefinderShortcodeSelector" => "iHomefinderShortcodeSelector.php", |
| 38 |
"iHomefinderShortcodeSelectorTinyMce" => "iHomefinderShortcodeSelectorTinyMce.php", |
| 39 |
"iHomefinderShortcodeDispatcher" => "iHomefinderShortcodeDispatcher.php", |
| 40 |
"iHomefinderStateManager" => "iHomefinderStateManager.php", |
| 41 |
"iHomefinderUrlFactory" => "iHomefinderUrlFactory.php", |
| 42 |
"iHomefinderUtility" => "iHomefinderUtility.php", |
| 43 |
"iHomefinderVirtualPageDispatcher" => "iHomefinderVirtualPageDispatcher.php", |
| 44 |
"iHomefinderVirtualPageFactory" => "iHomefinderVirtualPageFactory.php", |
| 45 |
"iHomefinderDisplayRules" => "iHomefinderDisplayRules.php", |
| 46 |
"iHomefinderCacheUtility" => "iHomefinderCacheUtility.php", |
| 47 |
"iHomefinderVariable" => "iHomefinderVariable.php", |
| 48 |
"iHomefinderVariableUtility" => "iHomefinderVariableUtility.php", |
| 49 |
"iHomefinderKestrelShortcode" => "iHomefinderKestrelShortcode.php", |
| 50 |
//widgets |
| 51 |
"iHomefinderKestrelWidget" => "iHomefinderKestrelWidget.php", |
| 52 |
"iHomefinderWidget" => "widget/iHomefinderWidget.php", |
| 53 |
"iHomefinderPropertiesGallery" => "widget/iHomefinderPropertiesGallery.php", |
| 54 |
"iHomefinderQuickSearchWidget" => "widget/iHomefinderQuickSearchWidget.php", |
| 55 |
"iHomefinderLinkWidget" => "widget/iHomefinderLinkWidget.php", |
| 56 |
"iHomefinderSearchByAddressWidget" => "widget/iHomefinderSearchByAddressWidget.php", |
| 57 |
"iHomefinderSearchByListingIdWidget" => "widget/iHomefinderSearchByListingIdWidget.php", |
| 58 |
"iHomefinderContactFormWidget" => "widget/iHomefinderContactFormWidget.php", |
| 59 |
"iHomefinderLoginWidget" => "widget/iHomefinderLoginWidget.php", |
| 60 |
"iHomefinderMoreInfoWidget" => "widget/iHomefinderMoreInfoWidget.php", |
| 61 |
"iHomefinderValuationWidget" => "widget/iHomefinderValuationWidget.php", |
| 62 |
"iHomefinderAgentBioWidget" => "widget/iHomefinderAgentBioWidget.php", |
| 63 |
"iHomefinderSocialWidget" => "widget/iHomefinderSocialWidget.php", |
| 64 |
"iHomefinderHotsheetListWidget" => "widget/iHomefinderHotsheetListWidget.php", |
| 65 |
"iHomefinderEmailSignupFormWidget" => "widget/iHomefinderEmailSignupFormWidget.php", |
| 66 |
//virtual pages |
| 67 |
"iHomefinderKestrelPage" => "iHomefinderKestrelPage.php", |
| 68 |
"iHomefinderVirtualPageInterface" => "virtualPage/iHomefinderVirtualPageInterface.php", |
| 69 |
"iHomefinderAbstractVirtualPage" => "virtualPage/iHomefinderAbstractVirtualPage.php", |
| 70 |
"iHomefinderDefaultVirtualPageImpl" => "virtualPage/iHomefinderDefaultVirtualPageImpl.php", |
| 71 |
"iHomefinderFeaturedSearchVirtualPageImpl" => "virtualPage/iHomefinderFeaturedSearchVirtualPageImpl.php", |
| 72 |
"iHomefinderHotSheetListingReportVirtualPageImpl" => "virtualPage/iHomefinderHotSheetListingReportVirtualPageImpl.php", |
| 73 |
"iHomefinderHotsheetOpenHomeReportVirtualPageImpl" => "virtualPage/iHomefinderHotsheetOpenHomeReportVirtualPageImpl.php", |
| 74 |
"iHomefinderHotsheetMarketReportVirtualPageImpl" => "virtualPage/iHomefinderHotsheetMarketReportVirtualPageImpl.php", |
| 75 |
"iHomefinderHotsheetListVirtualPageImpl" => "virtualPage/iHomefinderHotsheetListVirtualPageImpl.php", |
| 76 |
"iHomefinderAdvancedSearchFormVirtualPageImpl" => "virtualPage/iHomefinderAdvancedSearchFormVirtualPageImpl.php", |
| 77 |
"iHomefinderSearchFormVirtualPageImpl" => "virtualPage/iHomefinderSearchFormVirtualPageImpl.php", |
| 78 |
"iHomefinderMapSearchVirtualPageImpl" => "virtualPage/iHomefinderMapSearchVirtualPageImpl.php", |
| 79 |
"iHomefinderSearchResultsVirtualPageImpl" => "virtualPage/iHomefinderSearchResultsVirtualPageImpl.php", |
| 80 |
"iHomefinderListingDetailVirtualPageImpl" => "virtualPage/iHomefinderListingDetailVirtualPageImpl.php", |
| 81 |
"iHomefinderListingSoldDetailVirtualPageImpl" => "virtualPage/iHomefinderListingSoldDetailVirtualPageImpl.php", |
| 82 |
"iHomefinderOrganizerLoginFormVirtualPageImpl" => "virtualPage/iHomefinderOrganizerLoginFormVirtualPageImpl.php", |
| 83 |
"iHomefinderOrganizerLogoutVirtualPageImpl" => "virtualPage/iHomefinderOrganizerLogoutVirtualPageImpl.php", |
| 84 |
"iHomefinderOrganizerEditSavedSearchVirtualPageImpl" => "virtualPage/iHomefinderOrganizerEditSavedSearchVirtualPageImpl.php", |
| 85 |
"iHomefinderOrganizerEditSavedSearchFormVirtualPageImpl" => "virtualPage/iHomefinderOrganizerEditSavedSearchFormVirtualPageImpl.php", |
| 86 |
"iHomefinderOrganizerEmailUpdatesConfirmationVirtualPageImpl" => "virtualPage/iHomefinderOrganizerEmailUpdatesConfirmationVirtualPageImpl.php", |
| 87 |
"iHomefinderOrganizerDeleteSavedSearchVirtualPageImpl" => "virtualPage/iHomefinderOrganizerDeleteSavedSearchVirtualPageImpl.php", |
| 88 |
"iHomefinderOrganizerViewSavedSearchVirtualPageImpl" => "virtualPage/iHomefinderOrganizerViewSavedSearchVirtualPageImpl.php", |
| 89 |
"iHomefinderOrganizerViewSavedSearchListVirtualPageImpl" => "virtualPage/iHomefinderOrganizerViewSavedSearchListVirtualPageImpl.php", |
| 90 |
"iHomefinderOrganizerViewSavedListingListVirtualPageImpl" => "virtualPage/iHomefinderOrganizerViewSavedListingListVirtualPageImpl.php", |
| 91 |
"iHomefinderOrganizerDeleteSavedListingVirtualPageImpl" => "virtualPage/iHomefinderOrganizerDeleteSavedListingVirtualPageImpl.php", |
| 92 |
"iHomefinderOrganizerResendConfirmationVirtualPageImpl" => "virtualPage/iHomefinderOrganizerResendConfirmationVirtualPageImpl.php", |
| 93 |
"iHomefinderOrganizerActivateSubscriberVirtualPageImpl" => "virtualPage/iHomefinderOrganizerActivateSubscriberVirtualPageImpl.php", |
| 94 |
"iHomefinderOrganizerSendSubscriberPasswordVirtualPageImpl" => "virtualPage/iHomefinderOrganizerSendSubscriberPasswordVirtualPageImpl.php", |
| 95 |
"iHomefinderOrganizerHelpVirtualPageImpl" => "virtualPage/iHomefinderOrganizerHelpVirtualPageImpl.php", |
| 96 |
"iHomefinderOrganizerEditSubscriberVirtualPageImpl" => "virtualPage/iHomefinderOrganizerEditSubscriberVirtualPageImpl.php", |
| 97 |
"iHomefinderContactFormVirtualPageImpl" => "virtualPage/iHomefinderContactFormVirtualPageImpl.php", |
| 98 |
"iHomefinderValuationFormVirtualPageImpl" => "virtualPage/iHomefinderValuationFormVirtualPageImpl.php", |
| 99 |
"iHomefinderMortgageCalculatorVirtualPageImpl" => "virtualPage/iHomefinderMortgageCalculatorVirtualPageImpl.php", |
| 100 |
"iHomefinderOpenHomeSearchFormVirtualPageImpl" => "virtualPage/iHomefinderOpenHomeSearchFormVirtualPageImpl.php", |
| 101 |
"iHomefinderSoldFeaturedListingVirtualPageImpl" => "virtualPage/iHomefinderSoldFeaturedListingVirtualPageImpl.php", |
| 102 |
"iHomefinderPendingFeaturedListingVirtualPageImpl" => "virtualPage/iHomefinderPendingFeaturedListingVirtualPageImpl.php", |
| 103 |
"iHomefinderSupplementalListingVirtualPageImpl" => "virtualPage/iHomefinderSupplementalListingVirtualPageImpl.php", |
| 104 |
"iHomefinderOfficeListVirtualPageImpl" => "virtualPage/iHomefinderOfficeListVirtualPageImpl.php", |
| 105 |
"iHomefinderOfficeDetailVirtualPageImpl" => "virtualPage/iHomefinderOfficeDetailVirtualPageImpl.php", |
| 106 |
"iHomefinderAgentListVirtualPageImpl" => "virtualPage/iHomefinderAgentListVirtualPageImpl.php", |
| 107 |
"iHomefinderAgentDetailVirtualPageImpl" => "virtualPage/iHomefinderAgentDetailVirtualPageImpl.php", |
| 108 |
"iHomefinderAbstractPropertyOrganizerVirtualPage" => "virtualPage/iHomefinderAbstractPropertyOrganizerVirtualPage.php", |
| 109 |
//mls portal pages |
| 110 |
"iHomefinderMlsPortalBoardOfficeSearchVirtualPageImpl" => "virtualPage/iHomefinderMlsPortalBoardOfficeSearchVirtualPageImpl.php", |
| 111 |
"iHomefinderMlsPortalBoardOfficeListVirtualPageImpl" => "virtualPage/iHomefinderMlsPortalBoardOfficeListVirtualPageImpl.php", |
| 112 |
"iHomefinderMlsPortalBoardOfficeListNameStartsWithVirtualPageImpl" => "virtualPage/iHomefinderMlsPortalBoardOfficeListNameStartsWithVirtualPageImpl.php", |
| 113 |
"iHomefinderMlsPortalBoardOfficeDetailVirtualPageImpl" => "virtualPage/iHomefinderMlsPortalBoardOfficeDetailVirtualPageImpl.php", |
| 114 |
"iHomefinderMlsPortalBoardMemberSearchVirtualPageImpl" => "virtualPage/iHomefinderMlsPortalBoardMemberSearchVirtualPageImpl.php", |
| 115 |
"iHomefinderMlsPortalBoardMemberListVirtualPageImpl" => "virtualPage/iHomefinderMlsPortalBoardMemberListVirtualPageImpl.php", |
| 116 |
"iHomefinderMlsPortalBoardMemberListLastNameStartsWithVirtualPageImpl" => "virtualPage/iHomefinderMlsPortalBoardMemberListLastNameStartsWithVirtualPageImpl.php", |
| 117 |
"iHomefinderMlsPortalBoardMemberDetailVirtualPageImpl" => "virtualPage/iHomefinderMlsPortalBoardMemberDetailVirtualPageImpl.php", |
| 118 |
//admin pages |
| 119 |
"iHomefinderAdminAbstractPage" => "adminPage/iHomefinderAdminAbstractPage.php", |
| 120 |
"iHomefinderAdminPageInterface" => "adminPage/iHomefinderAdminPageInterface.php", |
| 121 |
"iHomefinderAdminInformation" => "adminPage/iHomefinderAdminInformation.php", |
| 122 |
"iHomefinderAdminShortcodes" => "adminPage/iHomefinderAdminShortcodes.php", |
| 123 |
"iHomefinderAdminActivate" => "adminPage/iHomefinderAdminActivate.php", |
| 124 |
"iHomefinderAdminControlPanel" => "adminPage/iHomefinderAdminControlPanel.php", |
| 125 |
"iHomefinderAdminPageConfig" => "adminPage/iHomefinderAdminPageConfig.php", |
| 126 |
"iHomefinderAdminConfiguration" => "adminPage/iHomefinderAdminConfiguration.php", |
| 127 |
"iHomefinderAdminBio" => "adminPage/iHomefinderAdminBio.php", |
| 128 |
"iHomefinderAdminSocial" => "adminPage/iHomefinderAdminSocial.php", |
| 129 |
"iHomefinderAdminEmail" => "adminPage/iHomefinderAdminEmail.php", |
| 130 |
"iHomefinderAdminCommunityPages" => "adminPage/iHomefinderAdminCommunityPages.php", |
| 131 |
"iHomefinderAdminSeoCityLinks" => "adminPage/iHomefinderAdminSeoCityLinks.php" |
| 132 |
); |
| 133 |
|
| 134 |
private function __construct() |
| 135 |
{ |
| 136 |
spl_autoload_register(array($this, "load")); |
| 137 |
} |
| 138 |
|
| 139 |
public static function getInstance() |
| 140 |
{ |
| 141 |
if (!isset(self::$instance)) { |
| 142 |
self::$instance = new self(); |
| 143 |
} |
| 144 |
return self::$instance; |
| 145 |
} |
| 146 |
|
| 147 |
public function load($className) |
| 148 |
{ |
| 149 |
if (array_key_exists($className, $this->classes)) { |
| 150 |
include $this->classes[$className]; |
| 151 |
} |
| 152 |
} |
| 153 |
} |
| 154 |
|