BxBasePageWiki.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 UnaBaseView UNA Base Representation Classes
  7. * @{
  8. */
  9. /**
  10. * Wiki page
  11. */
  12. class BxBasePageWiki extends BxTemplPage
  13. {
  14. public function __construct($aObject, $oTemplate)
  15. {
  16. parent::__construct($aObject, $oTemplate);
  17. }
  18. public function getPageAPI ($aBlocks = [])
  19. {
  20. $aPage = parent::getPageAPI ($aBlocks);
  21. $aPagesList = BxDolPage::getObjectInstance('sys_sub_wiki_pages_list')->getPageContentAPI();
  22. if($aPagesList && ($aCell = $aPagesList['elements']['cell_center'] ?? false))
  23. $aPage['elements']['cell_left'] = $aCell;
  24. return $aPage;
  25. }
  26. protected function _getPageCodeVars ()
  27. {
  28. $aVars = parent::_getPageCodeVars ();
  29. $oWiki = BxDolWiki::getObjectInstance($this->_aObject['module']);
  30. if ($oWiki && $oWiki->isAllowed('add')) {
  31. foreach ($aVars as $sKey => $sCell) {
  32. if (0 !== strncmp('cell_', $sKey, 5))
  33. continue;
  34. $aVars[$sKey] = $sCell . bx_srv('system', 'wiki_add_block', array($oWiki, $this->_sObject, $sKey), 'TemplServiceWiki');
  35. }
  36. }
  37. return $aVars;
  38. }
  39. }
  40. /** @} */