BxBaseModTextPageEntry.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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 BaseText Base classes for text modules
  7. * @ingroup UnaModules
  8. *
  9. * @{
  10. */
  11. /**
  12. * Entry create/edit pages
  13. */
  14. class BxBaseModTextPageEntry extends BxBaseModGeneralPageEntry
  15. {
  16. public function __construct($aObject, $oTemplate = false)
  17. {
  18. parent::__construct($aObject, $oTemplate);
  19. $CNF = &$this->_oModule->_oConfig->CNF;
  20. $iContentId = bx_process_input(bx_get('id'), BX_DATA_INT);
  21. if ($iContentId)
  22. $this->_aContentInfo = $this->_oModule->_oDb->getContentInfoById($iContentId);
  23. if ($this->_aContentInfo) {
  24. $sTitle = isset($this->_aContentInfo[$CNF['FIELD_TITLE']]) ? $this->_aContentInfo[$CNF['FIELD_TITLE']] : strmaxtextlen($this->_aContentInfo[$CNF['FIELD_TEXT']], 20, '...');
  25. $sUrl = BX_DOL_URL_ROOT . BxDolPermalinks::getInstance()->permalink('page.php?i=' . $CNF['URI_VIEW_ENTRY'] . '&id=' . $this->_aContentInfo[$CNF['FIELD_ID']]);
  26. $this->addMarkers($this->_aContentInfo); // every field can be used as marker
  27. $this->addMarkers(array(
  28. 'title' => $sTitle,
  29. 'entry_link' => $sUrl,
  30. ));
  31. // select view entry submenu
  32. $this->_setSubmenu(array(
  33. 'title' => $sTitle,
  34. 'link' => $sUrl,
  35. ));
  36. }
  37. }
  38. protected function _setSubmenu($aParams)
  39. {
  40. $CNF = &$this->_oModule->_oConfig->CNF;
  41. $oMenuSubmenu = BxDolMenu::getObjectInstance('sys_site_submenu');
  42. $oMenuSubmenu->setObjectSubmenu($CNF['OBJECT_MENU_SUBMENU_VIEW_ENTRY'], array_merge(array(
  43. 'title' => '',
  44. 'link' => '',
  45. 'icon' => $CNF['ICON'],
  46. ), $aParams));
  47. }
  48. protected function _getBlockService ($aBlock)
  49. {
  50. $a = parent::_getBlockService ($aBlock);
  51. $sTest = '_view_entry_comments';
  52. if (false !== strpos($aBlock['content'], 'entity_comments') && substr_compare($this->_sObject, $sTest, strlen($this->_sObject) - strlen($sTest), strlen($sTest)) === 0)
  53. unset($a['title']);
  54. return $a;
  55. }
  56. }
  57. /** @} */