BxDolTwigModule::_serviceGetWallAddComment PHP Method

_serviceGetWallAddComment() public method

public _serviceGetWallAddComment ( $aEvent, $aParams )
    function _serviceGetWallAddComment($aEvent, $aParams)
    {
        $iId = (int) $aEvent['object_id'];
        $iOwner = (int) $aEvent['owner_id'];
        $sOwner = $iOwner != 0 ? getNickName($iOwner) : _t('_Anonymous');
        $aContent = unserialize($aEvent['content']);
        if (empty($aContent) || empty($aContent['object_id'])) {
            return '';
        }
        $iItem = (int) $aContent['object_id'];
        $aItem = $this->_oDb->getEntryByIdAndOwner($iItem, $iOwner, 1);
        if (empty($aItem) || !is_array($aItem)) {
            return array('perform_delete' => true);
        }
        if (!$aParams['obj_privacy']->check($aParams['txt_privacy_view_event'], $iItem, $this->_iProfileId)) {
            return '';
        }
        bx_import('Cmts', $this->_aModule);
        $sClass = $this->_aModule['class_prefix'] . 'Cmts';
        $oCmts = new $sClass($this->_sPrefix, $iItem);
        if (!$oCmts->isEnabled()) {
            return '';
        }
        $aComment = $oCmts->getCommentRow($iId);
        if (empty($aComment) || !is_array($aComment)) {
            return array('perform_delete' => true);
        }
        $sImage = '';
        if ($aItem[$this->_oDb->_sFieldThumb]) {
            $a = array('ID' => $aItem[$this->_oDb->_sFieldAuthorId], 'Avatar' => $aItem[$this->_oDb->_sFieldThumb]);
            $aImage = BxDolService::call('photos', 'get_image', array($a, 'browse'), 'Search');
            $sImage = $aImage['no_image'] ? '' : $aImage['file'];
        }
        $sCss = '';
        $sCssPrefix = str_replace('_', '-', $this->_sPrefix);
        $sUri = $this->_oConfig->getUri();
        $sBaseUrl = BX_DOL_URL_ROOT . $this->_oConfig->getBaseUri() . 'view/';
        $sNoPhoto = $this->_oTemplate->getIconUrl('no-photo.png');
        if ($aEvent['js_mode']) {
            $sCss = $this->_oTemplate->addCss(array('wall_post.css', 'unit.css', 'twig.css'), true);
        } else {
            $this->_oTemplate->addCss(array('wall_post.css', 'unit.css', 'twig.css'));
        }
        bx_import('Voting', $this->_aModule);
        $sClass = $this->_aModule['class_prefix'] . 'Voting';
        $oVoting = new $sClass($this->_sPrefix, 0, 0);
        $sTextWallObject = _t('_bx_' . $sUri . '_wall_object');
        $sTmplName = isset($aParams['templates']['main']) ? $aParams['templates']['main'] : 'modules/boonex/wall/|timeline_comment.html';
        return array('title' => _t('_bx_' . $sUri . '_wall_added_new_title_comment', $sOwner, $sTextWallObject), 'description' => $aComment['cmt_text'], 'content' => $sCss . $this->_oTemplate->parseHtmlByName($sTmplName, array('mod_prefix' => $sCssPrefix, 'cpt_user_name' => $sOwner, 'cpt_added_new' => _t('_bx_' . $sUri . '_wall_added_new_comment'), 'cpt_object' => $sTextWallObject, 'cpt_item_url' => $sBaseUrl . $aItem[$this->_oDb->_sFieldUri], 'cnt_comment_text' => $aComment['cmt_text'], 'snippet' => $this->_oTemplate->unit($aItem, 'unit', $oVoting))));
    }

Usage Example

コード例 #1
0
 function serviceGetWallAddComment($aEvent)
 {
     $aParams = array('txt_privacy_view_event' => 'view_product', 'obj_privacy' => $this->_oPrivacyProduct);
     return parent::_serviceGetWallAddComment($aEvent, $aParams);
 }