_oModule->_oConfig->CNF; // get content data and profile info list ($oProfile, $aContentInfo) = $this->_getProfileAndContentData($iContentId); if (!$aContentInfo) return MsgBox(_t('_sys_txt_error_entry_is_not_defined')); // check access if (CHECK_ACTION_RESULT_ALLOWED !== ($sMsg = $this->_oModule->checkAllowedView($aContentInfo))) return MsgBox($sMsg); return $aContentInfo[$CNF['FIELD_TEXT']]; } /** * @return array of profile object and content info */ protected function _getProfileAndContentData ($iContentId) { $CNF = &$this->_oModule->_oConfig->CNF; $aContentInfo = array(); $oProfile = false; $aContentInfo = $this->_oModule->_oDb->getContentInfoById($iContentId); if (!$aContentInfo) return array (false, false); $oProfile = BxDolProfile::getInstance($aContentInfo[$CNF['FIELD_AUTHOR']]); if (!$oProfile) $oProfile = BxDolProfileUndefined::getInstance(); return array ($oProfile, $aContentInfo); } public function onDataEditAfter ($iContentId, $aContentInfo, $aTrackTextFieldsChanges, $oProfile, $oForm) { if ($s = parent::onDataEditAfter($iContentId, $aContentInfo, $aTrackTextFieldsChanges, $oProfile, $oForm)) return $s; $CNF = &$this->_oModule->_oConfig->CNF; if (!($aContentInfo = $this->_oModule->_oDb->getContentInfoById($iContentId))) return MsgBox(_t('_sys_txt_error_occured')); if (isset($CNF['FIELD_VIDEO'])) $oForm->processFiles($CNF['FIELD_VIDEO'], $iContentId, false); if (isset($CNF['FIELD_POLL'])) $oForm->processPolls($CNF['FIELD_POLL'], $iContentId); // change profile to 'pending' only if profile is 'active' if ($oProfile->isActive() && !empty($aTrackTextFieldsChanges['changed_fields'])) $oProfile->disapprove(BX_PROFILE_ACTION_AUTO); // alert $this->_alertAfterEdit($aContentInfo); return ''; } public function onDataAddAfter ($iAccountId, $iContentId) { if ($s = parent::onDataAddAfter($iAccountId, $iContentId)) return $s; $CNF = &$this->_oModule->_oConfig->CNF; if (!($aContentInfo = $this->_oModule->_oDb->getContentInfoById($iContentId))) return MsgBox(_t('_sys_txt_error_occured')); if(($oForm = $this->getObjectFormAdd()) !== false) { if (isset($CNF['FIELD_VIDEO'])) $oForm->processFiles($CNF['FIELD_VIDEO'], $iContentId, true); if (isset($CNF['FIELD_POLL'])) $oForm->processPolls($CNF['FIELD_POLL'], $iContentId); } // alert $this->_alertAfterAdd($aContentInfo); return ''; } public function onDataDeleteAfter($iContentId, $aContentInfo, $oProfile) { $sResult = parent::onDataDeleteAfter ($iContentId, $aContentInfo, $oProfile); if(!empty($sResult)) return $sResult; $aPolls = $this->_oModule->_oDb->deletePolls(array('content_id' => $iContentId)); return ''; } protected function _alertAfterAdd($aContentInfo) { $CNF = &$this->_oModule->_oConfig->CNF; $aParams = array('object_author_id' => $aContentInfo[$CNF['FIELD_AUTHOR']]); if(isset($aContentInfo[$CNF['FIELD_ALLOW_VIEW_TO']])) $aParams['privacy_view'] = $aContentInfo[$CNF['FIELD_ALLOW_VIEW_TO']]; bx_alert($this->_oModule->getName(), 'added', $aContentInfo[$CNF['FIELD_ID']], false, $aParams); } protected function _alertAfterEdit($aContentInfo) { $CNF = &$this->_oModule->_oConfig->CNF; $aParams = array('object_author_id' => $aContentInfo[$CNF['FIELD_AUTHOR']]); if(isset($aContentInfo[$CNF['FIELD_ALLOW_VIEW_TO']])) $aParams['privacy_view'] = $aContentInfo[$CNF['FIELD_ALLOW_VIEW_TO']]; bx_alert($this->_oModule->getName(), 'edited', $aContentInfo[$CNF['FIELD_ID']], false, $aParams); } } /** @} */