BxBaseSearchResultText.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. /**
  3. * @package Dolphin Core
  4. * @copyright Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
  5. * @license CC-BY - http://creativecommons.org/licenses/by/3.0/
  6. */
  7. defined('BX_DOL') or die('hack attempt');
  8. // TODO: clean it more carefully !
  9. bx_import('BxBaseSearchResult');
  10. class BxBaseSearchResultText extends BxBaseSearchResult {
  11. function BxBaseSearchResultText () {
  12. $this->aPseud = $this->_getPseud();
  13. parent::BxBaseSearchResult();
  14. bx_import('BxTemplVotingView');
  15. $this->aConstants['linksTempl'] = $this->isPermalinkEnabled() ? $this->aPermalinks['enabled'] : $this->aPermalinks['disabled'];
  16. }
  17. function displaySearchUnit ($aData) {
  18. $sFileLink = $this->getCurrentUrl('file', $aData['id'], $aData['uri']);
  19. $sCategoryLink = $this->getCurrentUrl('category', $aData['categoryId'], $aData['categoryUri'], array('ownerId'=>$aData['ownerId'], 'ownerName'=>$aData['ownerName']));
  20. // ownerPic
  21. $aUnit['ownerPic'] = get_member_icon($aData['ownerId'], 'left');
  22. // category
  23. $aUnit['category'] = isset($aData['categoryName']) ? _t('_In') . ' <a href="'.$sCategoryLink.'">'.$aData['categoryName'].'</a>' : '';
  24. // comment(s)
  25. $aUnit['comment'] = isset($aData['countComment']) ? '<a href="'.$sFileLink.'">'.$aData['countComment'].' '._t('_comments').'</a>' : '';
  26. // tag
  27. if (isset($aData['tag'])) {
  28. $aTags = explode(',', $aData['tag']);
  29. foreach ($aTags as $sValue) {
  30. $sLink = $this->getCurrentUrl('tag', 0, $sValue); // TODO: check for urlencode
  31. $aUnit['tag'] .= '<a href="'.$sLink.'">'.bx_process_output($sValue).'</a>, ';
  32. }
  33. }
  34. $aUnit['tag'] .= trim($aUnit['tag'], ', ');
  35. // rate
  36. if (!is_null($this->oRate) && $this->oRate->isEnabled())
  37. $aUnit['rate'] = $this->oRate->getJustVotingElement(0, 0, $aData['voting_rate']);
  38. else
  39. $aUnit['rate'] = '';
  40. // title
  41. $aUnit['title'] = isset($aData['title']) ? '<a href="'.$sFileLink.'">'.bx_process_output($aData['title']).'</a>': '';
  42. // when
  43. $aUnit['when'] = defineTimeInterval($aData['date']);
  44. // from
  45. $aUnit['from'] = $aData['ownerId'] !=0 ? _t('_By').': <a href="'.getProfileLink($aData['ownerId']).'">'.bx_process_output($aData['ownerName']).'</a>': _t('_By').': '._t('_Admin');
  46. // view
  47. $aUnit['view'] = isset($aData['view']) ? _t("_Views").': '.$aData['view'] : '';
  48. // body
  49. $aUnit['body'] = isset($aData['bodyText']) ? process_html_output( strmaxtextlen( strip_tags($aData['bodyText']), 200 ) ) : ''; // TODO:
  50. return BxDolTemplate::getInstance()->parseHtmlByName('browseTextUnit.html', $aUnit, array('{','}'));
  51. }
  52. }