Advertisement
Guest User

Untitled

a guest
Jul 11th, 2013
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.11 KB | None | 0 0
  1. <?php
  2. /**
  3. *
  4. * @ This file is created by deZender.Net
  5. * @ deZender (PHP5 Decoder for ionCube Encoder)
  6. *
  7. * @ Version : 1.1.6.0
  8. * @ Author : DeZender
  9. * @ Release on : 02.06.2013
  10. * @ Official site : http://DeZender.Net
  11. *
  12. */
  13.  
  14. function App( )
  15. {
  16.  
  17. return $GLOBALS["APPLICATION_CONTEXT_INSTANCE"];
  18. }
  19.  
  20. namespace core;
  21.  
  22. /**
  23. * @property \core\Settings $SystemSettings
  24. * @property \modules\smarty_based_template_processor\lib\GlobalTemplateVariable $GlobalTemplateVariable
  25. * @property \modules\smarty_based_template_processor\lib\Service $TemplateProcessor
  26. * @property \lib\ObjectMother $ObjectMother
  27. * @property \lib\ORM\SearchEngine\SearchCriterionFactory $SearchCriterionFactory
  28. * @property \lib\ORM\OrmObjectFactory $OrmObjectFactory
  29. * @property \lib\ORM\Location\LocationManager $LocationManager
  30. * @property \lib\ORM\ObjectToArrayAdapterFactory $ObjectToArrayAdapterFactory
  31. * @property \lib\ORM\ObjectDBManager $ObjectDBManager
  32. * @property \core\CacheManager $CacheManager
  33. * @property \core\CustomSettings $CustomSettings
  34. * @property \core\DB $DB
  35. * @property \core\FileSystem $FileSystem
  36. * @property \core\Cookie $Cookie
  37. * @property \core\PageConstructor $PageConstructor
  38. * @property \core\MemoryCache $MemoryCache
  39. * @property \core\Navigator $Navigator
  40. * @property \core\UrlParamProvider $UrlParamProvider
  41. * @property \core\PageManager $PageManager
  42. * @property \core\Path $Path
  43. * @property \core\ModuleManager $ModuleManager
  44. * @property \core\Request $Request
  45. * @property \core\UploadedFiles $UploadedFiles
  46. * @property \core\PathManager $PathManager
  47. * @property \core\SettingsFromDB $SettingsFromDB
  48. * @property \core\Session $Session
  49. * @property \modules\third_party_login\lib\ThirdPartyAuthManager $ThirdPartyAuthManager
  50. * @property \modules\banners\lib\Banner\BannerManager $BannerManager
  51. * @property \modules\banners\lib\BannerGroup\BannerGroupManager $BannerGroupManager
  52. * @property \modules\classifieds\lib\ListingGallery\ListingGalleryManager $ListingGalleryManager
  53. * @property \modules\classifieds\lib\SavedSearch\SavedSearchManager $SavedSearchManager
  54. * @property \modules\classifieds\lib\Category\CategoryTree $CategoryTree
  55. * @property \modules\classifieds\lib\Category\CategoryManager $CategoryManager
  56. * @property \modules\classifieds\lib\ListingFactory $ListingFactory
  57. * @property \modules\classifieds\lib\Listing\ListingFeaturesManager $ListingFeaturesManager
  58. * @property \modules\classifieds\lib\ListingField\ListingFieldManager $ListingFieldManager
  59. * @property \modules\classifieds\lib\ListingField\ListingFieldTreeManager $ListingFieldTreeManager
  60. * @property \modules\classifieds\lib\Listing\ListingManager $ListingManager
  61. * @property \modules\feed_import\lib\Alias\AliasManager $AliasManager
  62. * @property \modules\feed_import\lib\Feed\FeedManager $FeedManager
  63. * @property \modules\feed_import\lib\FieldValueAlias\FieldValueAliasManager $FieldValueAliasManager
  64. * @property \modules\image_carousel\lib\CarouselImage\CarouselImageManager $CarouselImageManager
  65. * @property \modules\licenses\lib\License\LicenseManager $LicenseManager
  66. * @property \modules\licenses\lib\LicenseFactory $LicenseFactory
  67. * @property \modules\licenses\lib\RsaKeyset\RsaKeysetManager $RsaKeysetManager
  68. * @property \modules\main\lib\EmailService $EmailService
  69. * @property \modules\main\lib\AccessControlManager $AccessControlManager
  70. * @property \modules\miscellaneous\lib\ErrorMessages $ErrorMessages
  71. * @property \modules\miscellaneous\lib\UploadFileManager $UploadFileManager
  72. * @property \modules\miscellaneous\lib\UploadPictureManager $UploadPictureManager
  73. * @property \modules\miscellaneous\lib\WarningMessages $WarningMessages
  74. * @property \modules\miscellaneous\lib\SuccessMessages $SuccessMessages
  75. * @property \modules\miscellaneous\lib\QRCodeGenerator $QRCodeGenerator
  76. * @property \modules\users\lib\UserProfileField\UserProfileFieldManager $UserProfileFieldManager
  77. * @property \modules\users\lib\User\UserManager $UserManager
  78. * @property \modules\users\lib\UserGroup\UserGroupManager $UserGroupManager
  79. * @property \modules\template_manager\lib\TemplateManagerFactory $TemplateManagerFactory
  80. * @property \modules\I18N\lib\Actions\PhraseActionFactory $PhraseActionFactory
  81. * @property \modules\I18N\lib\I18N $I18N
  82. * @property \modules\ip_blocklist\lib\IpRangeManager $IpRangeManager
  83. * @property \modules\membership_plan\lib\MembershipPlan\MembershipPlanManager $MembershipPlanManager
  84. * @property \modules\membership_plan\lib\Package\PackageManager $PackageManager
  85. * @property \modules\membership_plan\lib\Contract\ContractManager $ContractManager
  86. * @property \modules\membership_plan\lib\ListingPackage\ListingPackageManager $ListingPackageManager
  87. * @property \modules\membership_plan\lib\ContractPackage\ContractPackagesManager $ContractPackagesManager
  88. * @property \modules\payment\lib\PaymentGateway\PaymentGatewayManager $PaymentGatewayManager
  89. * @property \modules\payment\lib\Payment\PaymentManager $PaymentManager
  90. * @property \modules\payment\lib\Payment\PaymentFactory $PaymentFactory
  91. * @property \modules\listing_comments\lib\ListingCommentManager $ListingCommentManager
  92. * @property \modules\listing_comments\lib\Actions\CommentsActionFactory $CommentsActionFactory
  93. * @property \modules\listing_repost\lib\UserSocialNetworkAccessData\UserSocialNetworkAccessDataManager $UserSocialNetworkAccessDataManager
  94. * @property \modules\mass_email\lib\MassEmailManager $MassEmailManager
  95. * @property \modules\sub_administrator\lib\SubAdministrator\SubAdministratorManager $SubAdministratorManager
  96. * @property \modules\admin_dashboard\apps\AdminPanel\AdminDashboardManager $AdminDashboardManager
  97. * @property \modules\basket\lib\BasketItemManager $BasketItemManager
  98. * @property \modules\basket\lib\BasketContainer\BasketContainerItemManager $BasketContainerItemManager
  99. * @property \modules\payment\lib\Actions\PaymentActionsFactory $PaymentActionsFactory
  100. * @property \modules\payment_system\lib\PaymentSystemManager $PaymentSystemManager
  101. * @property \modules\payment_system\lib\PaymentTerminal $PaymentTerminal
  102. * @property \modules\payment_system\lib\InvoiceManager $InvoiceManager
  103. * @property \modules\listing_option_reactivation\lib\ListingReactivationManager $ListingReactivationManager
  104. * @property \modules\listing_option_reactivation\lib\Actions\ListingReactivationActionFactory $ListingReactivationActionFactory
  105. * @property \modules\classifieds\lib\Listing\AdditionalListingOptionManager $AdditionalListingOptionManager
  106. * @property \modules\credits\lib\CreditsFactory $CreditsFactory
  107. * @property \modules\credits\lib\CreditPackages\CreditPackagesManager $CreditPackagesManager
  108. * @property \modules\basket\lib\Actions\BasketActionsFactory $BasketActionsFactory
  109. * @property \modules\classifieds\lib\Actions\ClassifiedsActionsFactory $ClassifiedsActionsFactory
  110. */
  111. class WebApplication
  112. {
  113. private $_KnownServiceClasses = array( "FileSystem" => "\\core\\FileSystem", "DB" => "\\core\\DB", "MemoryCache" => "\\core\\MemoryCache", "Request" => "\\core\\Request", "ModuleManager" => "\\core\\ModuleManager" );
  114. private $SYSTEM_COMMANDS = array( "REBUILD_INTERFACE_CACHE" => "\\core\\Commands\\RebuildInterfaceCache", "REBUILD_INTERFACE_CACHE_PARTIAL" => "\\core\\Commands\\RebuildInterfaceCachePartial", "CLEAR_CACHE" => "\\core\\Commands\\ClearCache", "SETUP_ENVIRONMENT" => "\\core\\Commands\\SetupEnvironment" );
  115. private $moduleInterfaceNames = array( 0 => "core\\IModule", 1 => "core\\ISampleDataModule" );
  116. /**
  117. * @var Settings
  118. */
  119. private $_Settings = null;
  120. private $_Services = array( );
  121. public $_KnownInterfaceImplementations = array( );
  122. private $needToSetupEnvironment = false;
  123. private $modulesList = array( 0 => "admin_dashboard", 1 => "basket", 2 => "business_catalog", 3 => "classifieds", 4 => "content_management", 5 => "cookie_notice", 6 => "export_ip_blocklist", 7 => "export_listings", 8 => "export_users", 9 => "field_types", 10 => "google_map", 11 => "I18N", 12 => "image_carousel", 13 => "import_ip_blocklist", 14 => "import_listings", 15 => "import_users", 16 => "ip_blocklist", 17 => "listing_comments", 18 => "listing_feature_featured", 19 => "listing_feature_highlighted", 20 => "listing_feature_slideshow", 21 => "listing_feature_sponsored", 22 => "listing_feature_youtube", 23 => "listing_option_reactivation", 24 => "listing_repost", 25 => "main", 26 => "membership_plan", 27 => "menu", 28 => "miscellaneous", 29 => "module_manager", 30 => "moduleTemplate", 31 => "payment", 32 => "payment_gateway_2checkout", 33 => "payment_gateway_authnet_sim", 34 => "payment_gateway_cash_payment", 35 => "payment_gateway_paypal_standard", 36 => "payment_gateway_wire_transfer", 37 => "payment_system", 38 => "poll", 39 => "publications", 40 => "recent_listings", 41 => "recent_tweets", 42 => "site_pages", 43 => "smarty_based_template_processor", 44 => "static_content", 45 => "template_manager", 46 => "third_party_auth_providers", 47 => "third_party_login", 48 => "users", 49 => "sample_data_poll", 50 => "sample_data_publications", 51 => "sample_data_static_content", 52 => "sample_data_iAutoBikes_business_catalog", 53 => "sample_data_iAutoBikes_classifieds_categories", 54 => "sample_data_iAutoBikes_classifieds_listings", 55 => "sample_data_iAutoBikes_listing_comments", 56 => "sample_data_iAutoBikes_main", 57 => "sample_data_iAutoBikes_membership_plan", 58 => "sample_data_iAutoBikes_users", 59 => "theme_iauto_bikes_base", 60 => "theme_iauto_bikes_green" );
  124. private $allowedModuleNames = null;
  125. private $licenseError = null;
  126. private $extraModules = array( );
  127.  
  128. const SYSCOMMAND_PARAMETER_NAME = "SYSCOMMAND";
  129.  
  130. /**
  131. * @return \modules\smarty_based_template_processor\lib\TemplateProcessor
  132. */
  133. public function getTemplateProcessor( )
  134. {
  135. list( $module ) = $this->ModuleManager->getCurrentModuleAndFunction();
  136. if ( $module != core\null ) {
  137. $templateProcessor = $this->TemplateProcessor->getFreshInstance( $module );
  138. $templateProcessor->setIfAddTemplateStartEndComments( !(bool) app()->Request->getValueOrDefault( "skip_template_comments", core\false ) );
  139. return $templateProcessor;
  140. }
  141. return core\null;
  142. }
  143.  
  144. public function __construct( )
  145. {
  146. spl_autoload_register( $this );
  147. $this->_Settings = new core\Settings();
  148. $this->_Services["SystemSettings"] = $this->_Settings;
  149. $GLOBALS["APPLICATION_CONTEXT_INSTANCE"] = $this;
  150. return;
  151. }
  152.  
  153. public function rootAutoLoad( $className )
  154. {
  155. include_once core\PATH_TO_ROOT . join( "/", explode( "\\", $className ) ) . ".php";
  156. return;
  157. }
  158.  
  159. private function defineServices( )
  160. {
  161. $servicesList = $this->getImplementationsOf( "core\\IService" );
  162. $services = array( );
  163. foreach ( $servicesList as $serviceClassName ) {
  164. $reflectionClass = new ReflectionClass( $serviceClassName );
  165. $defaultProperties = $reflectionClass->getDefaultProperties();
  166. $serviceName = !$defaultProperties["serviceName"] ? $defaultProperties["serviceName"] : $reflectionClass->getShortName();
  167. $services[$serviceName] = $serviceClassName;
  168. continue;
  169. }
  170. $this->_Settings->incorporateSettings( array(
  171. "services" => $services
  172. ) );
  173. return;
  174. }
  175.  
  176. public function run( )
  177. {
  178.  
  179. $this->processLicense();
  180. set_include_path( core\PATH_TO_ROOT . app()->SystemSettings["VendorLibs"] );
  181. try {
  182. if ( $this->systemCommandRequested() ) {
  183. $this->executeSystemCommand();
  184. }
  185. $this->checkIfApplicationInstalled();
  186. $this->defineServices();
  187. $this->updateServices();
  188. if ( $this->needToSetupEnvironment ) {
  189. $this->setupEnvironment();
  190. }
  191. header( "Content-type:text/html;charset=utf-8" );
  192. if ( !( app()->Navigator->isRequestedUnderLegalURI() ) ) {
  193. throw new lib\Http\ForbiddenException( "The software is not configured to respond to requests to the following URL: <tt>http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"] . "</tt>.
  194. <br>" );
  195. }
  196. $this->testLicense();
  197. $initFunctions = new core\ExtensionPoint( "core\\IInitFunction" );
  198. foreach ( $initFunctions as $initFunction ) {
  199. $initFunction->execute();
  200. continue;
  201. }
  202. $afterInitFunctions = new core\ExtensionPoint( "core\\IAfterInitFunction" );
  203. foreach ( $afterInitFunctions as $afterInitFunction ) {
  204. $afterInitFunction->execute();
  205. continue;
  206. }
  207. app()->ModuleManager->executeModulesStartupFunctions();
  208. $frontControllerClassName = $this->SystemSettings["frontController"];
  209. $frontController = new $frontControllerClassName();
  210. $frontController->dispatch();
  211. return;
  212. }
  213. catch ( lib\Http\Exception $exc ) {
  214. foreach ( $exc->getHeaders() as $header ) {
  215. header( $header, core\true );
  216. continue;
  217. }
  218. echo $exc->getScreenText();
  219. return;
  220. }
  221. return;
  222. }
  223.  
  224. public function readConfig( $fileName )
  225. {
  226.  
  227. $this->_Settings->incorporateSettings( parse_ini_file( $fileName, core\true ) );
  228. return;
  229. }
  230. ..........................................................................
  231. .............................................
  232. ...................
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement