1
0

BxBaseModProfileMenuView.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php defined('BX_DOL') or die('hack attempt');
  2. /**
  3. * Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
  4. * CC-BY License - http://creativecommons.org/licenses/by/3.0/
  5. *
  6. * @defgroup BaseProfile Base classes for profile modules
  7. * @ingroup DolphinModules
  8. *
  9. * @{
  10. */
  11. bx_import('BxBaseModGeneralMenuView');
  12. bx_import('BxDolProfile');
  13. /**
  14. * View profile entry menu
  15. */
  16. class BxBaseModProfileMenuView extends BxBaseModGeneralMenuView
  17. {
  18. protected $_oProfile;
  19. protected $_aContentInfo;
  20. protected $_aProfileInfo;
  21. public function __construct($aObject, $oTemplate = false)
  22. {
  23. parent::__construct($aObject, $oTemplate);
  24. $CNF = $this->_oModule->_oConfig->CNF;
  25. $iProfileId = bx_process_input(bx_get('profile_id'), BX_DATA_INT);
  26. $iContentId = bx_process_input(bx_get('id'), BX_DATA_INT);
  27. if ($iProfileId)
  28. $this->_oProfile = BxDolProfile::getInstance($iProfileId);
  29. if (!$this->_oProfile && $iContentId)
  30. $this->_oProfile = BxDolProfile::getInstanceByContentAndType($iContentId, $this->MODULE);
  31. if ($this->_oProfile) {
  32. $this->_aProfileInfo = $this->_oProfile->getInfo();
  33. $this->_aContentInfo = $this->_oModule->_oDb->getContentInfoById($this->_aProfileInfo['content_id']);
  34. $this->addMarkers($this->_aProfileInfo);
  35. $this->addMarkers(array('profile_id' => $this->_oProfile->id()));
  36. if (isLogged()) {
  37. bx_import('BxDolConnection');
  38. $oConn = BxDolConnection::getObjectInstance('sys_profiles_friends');
  39. if ($oConn->isConnectedNotMutual(bx_get_logged_profile_id(), $this->_oProfile->id())) {
  40. $this->addMarkers(array(
  41. 'title_add_friend' => _t($CNF['T']['menu_item_title_befriend_sent']),
  42. 'title_remove_friend' => _t($CNF['T']['menu_item_title_unfriend_cancel_request']),
  43. ));
  44. } elseif ($oConn->isConnectedNotMutual($this->_oProfile->id(), bx_get_logged_profile_id())) {
  45. $this->addMarkers(array(
  46. 'title_add_friend' => _t($CNF['T']['menu_item_title_befriend_confirm']),
  47. 'title_remove_friend' => _t($CNF['T']['menu_item_title_unfriend_reject_request']),
  48. ));
  49. } else {
  50. $this->addMarkers(array(
  51. 'title_add_friend' => _t($CNF['T']['menu_item_title_befriend']),
  52. 'title_remove_friend' => _t($CNF['T']['menu_item_title_unfriend']),
  53. ));
  54. }
  55. }
  56. }
  57. }
  58. }
  59. /** @} */