BxBaseServiceWiki.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 UnaBaseView UNA Base Representation Classes
  7. * @{
  8. */
  9. /**
  10. * Services for Wiki functionality
  11. */
  12. class BxBaseServiceWiki extends BxDol
  13. {
  14. /**
  15. * @page service Service Calls
  16. * @section bx_system_general System Services
  17. * @subsection bx_system_general-wiki Wiki
  18. * @subsubsection bx_system_general-wiki_page wiki_page
  19. *
  20. * @code bx_srv('system', 'wiki_page', ["index"], 'TemplServiceWiki'); @endcode
  21. * @code {{~system:wiki_page:TemplServiceWiki["index"]~}} @endcode
  22. *
  23. * Display WIKI page.
  24. * @param $sUri categories object name
  25. *
  26. * @see BxBaseServiceWiki::serviceWikiPage
  27. */
  28. /**
  29. * @ref bx_system_general-wiki_page "wiki_page"
  30. */
  31. public function serviceWikiPage ($sWikiObjectUri, $sUri)
  32. {
  33. $oWiki = BxDolWiki::getObjectInstanceByUri($sWikiObjectUri);
  34. if (!$oWiki) {
  35. $oTemplate = BxDolTemplate::getInstance();
  36. $oTemplate->displayPageNotFound();
  37. return;
  38. }
  39. $oPage = BxDolPage::getObjectInstanceByModuleAndURI($oWiki->getObjectName(), $sUri);
  40. if ($oPage) {
  41. $oPage->displayPage();
  42. } else {
  43. if ($oWiki->isAllowed('add')) {
  44. $oPage = BxDolPage::getObjectInstanceByURI($sUri);
  45. if ($oPage) {
  46. $oTemplate = BxDolTemplate::getInstance();
  47. $oTemplate->displayErrorOccured(_t("_sys_wiki_error_page_exists", bx_process_output($sUri)));
  48. } else {
  49. echo "TODO: wiki - suggest to create page with specified URI. Display form where user can enter title(text input), text(plain textrea), languale (select with currect site languages with current one pre-selected), title - will be page and first block title, text - will be content for first block. Default layout is page with one column and block without borders and title.";
  50. }
  51. }
  52. else {
  53. $oTemplate = BxDolTemplate::getInstance();
  54. $oTemplate->displayPageNotFound();
  55. }
  56. }
  57. }
  58. }
  59. /** @} */