BxBaseFormWiki.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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 Form
  11. */
  12. class BxBaseFormWiki extends BxTemplFormView
  13. {
  14. public function __construct($aInfo, $oTemplate)
  15. {
  16. parent::__construct($aInfo, $oTemplate);
  17. if (isset($this->aInputs['language']))
  18. $this->aInputs['language']['values'] = BxDolLanguages::getInstance()->getLanguages(false, true);
  19. if (isset($this->aInputs['content'])) {
  20. $this->aInputs['content']['attrs']['id'] = 'wiki_content_';
  21. $this->aInputs['content']['code'] = true;
  22. }
  23. if(isset($this->aInputs['files'])) {
  24. $this->aInputs['files']['storage_object'] = 'sys_wiki_files';
  25. $this->aInputs['files']['uploaders'] = !empty($this->aInputs['files']['value']) ? unserialize($this->aInputs['files']['value']) : array('sys_html5');
  26. $this->aInputs['files']['storage_private'] = 0;
  27. $this->aInputs['files']['multiple'] = true;
  28. $this->aInputs['files']['content_id'] = 0;
  29. $this->aInputs['files']['ghost_template'] = '';
  30. }
  31. }
  32. function initChecker ($aValues = array (), $aSpecificValues = array())
  33. {
  34. parent::initChecker ($aValues, $aSpecificValues);
  35. if (isset($this->aInputs['files'])) {
  36. if (!empty($this->aInputs['block_id']) && !empty($this->aInputs['block_id']['value'])) {
  37. $this->aInputs['files']['content_id'] = $this->aInputs['block_id']['value'];
  38. $sWikiEditorId = 'wiki_content_' . $this->aInputs['files']['content_id'];
  39. $this->aInputs['files']['ghost_template'] = $this->oTemplate->parseHtmlByName('wiki_uploader_file.html', array (
  40. 'name' => $this->aInputs['files']['name'],
  41. 'content_id' => (int)$this->aInputs['files']['content_id'],
  42. 'editor_id' => $sWikiEditorId,
  43. ));
  44. if (isset($this->aInputs['content']))
  45. $this->aInputs['content']['attrs']['id'] = $sWikiEditorId;
  46. }
  47. }
  48. }
  49. function genLabel(&$aInput)
  50. {
  51. if (isset($aInput['label']) && $aInput['label'] && ('language' == $aInput['name'] || 'content_main' == $aInput['name'])) {
  52. $sInputID = $this->getInputId($aInput);
  53. return '<label for="' . $sInputID . '">' . $aInput['label'] . '</label>';
  54. }
  55. return parent::genLabel($aInput);
  56. }
  57. }
  58. /** @} */