BxDolIconset.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php defined('BX_DOL') or die('hack attempt');
  2. /**
  3. * Copyright (c) UNA, Inc - https://una.io
  4. * MIT License - https://opensource.org/licenses/MIT
  5. *
  6. * @defgroup UnaCore UNA Core
  7. * @{
  8. */
  9. class BxDolIconset extends BxDolFactory implements iBxDolFactoryObject
  10. {
  11. protected $_sObject;
  12. protected $_aObject;
  13. protected function __construct($aObject)
  14. {
  15. parent::__construct();
  16. $this->_sObject = $aObject['object'];
  17. $this->_aObject = $aObject;
  18. }
  19. /**
  20. * Get player object instance by object name
  21. * @param $sObject object name
  22. * @return object instance or false on error
  23. */
  24. static public function getObjectInstance($sObject = false, $oTemplate = false)
  25. {
  26. if(!$sObject)
  27. $sObject = getParam('sys_iconset_default');
  28. if(isset($GLOBALS['bxDolClasses']['BxDolIconset!'.$sObject]))
  29. return $GLOBALS['bxDolClasses']['BxDolIconset!'.$sObject];
  30. $aObject = BxDolIconsetQuery::getObject($sObject);
  31. if(!$aObject || !is_array($aObject))
  32. return false;
  33. if(empty($aObject['override_class_name']))
  34. return false;
  35. $sClass = $aObject['override_class_name'];
  36. if(!empty($aObject['override_class_file']))
  37. require_once(BX_DIRECTORY_PATH_ROOT . $aObject['override_class_file']);
  38. else
  39. bx_import($sClass);
  40. $o = new $sClass($aObject, $oTemplate);
  41. return ($GLOBALS['bxDolClasses']['BxDolIconset!'.$sObject] = $o);
  42. }
  43. /**
  44. * Get object name
  45. */
  46. public function getObjectName ()
  47. {
  48. return $this->_sObject;
  49. }
  50. }
  51. /** @} */