public function onDataEditAfter($iContentId, $aContentInfo, $aTrackTextFieldsChanges, $oProfile)
 {
     if ($s = parent::onDataEditAfter($iContentId, $aContentInfo, $aTrackTextFieldsChanges, $oProfile)) {
         return $s;
     }
     $CNF =& $this->_oModule->_oConfig->CNF;
     $aProfileInfo = $oProfile->getInfo();
     // change profile to 'pending' only if profile is 'active'
     if (!$this->isAutoApproval() && BX_PROFILE_STATUS_ACTIVE == $aProfileInfo['status'] && !empty($aTrackTextFieldsChanges['changed_fields'])) {
         $oProfile->disapprove(BX_PROFILE_ACTION_AUTO);
     }
     // create an alert
     bx_alert($this->_oModule->getName(), 'edited', $aContentInfo[$CNF['FIELD_ID']]);
 }
 public function onDataEditAfter($iContentId, $aContentInfo, $aTrackTextFieldsChanges, $oProfile)
 {
     if ($s = parent::onDataEditAfter($iContentId, $aContentInfo, $aTrackTextFieldsChanges, $oProfile)) {
         return $s;
     }
     $CNF =& $this->_oModule->_oConfig->CNF;
     if (!($aContentInfo = $this->_oModule->_oDb->getContentInfoById($iContentId))) {
         return MsgBox(_t('_sys_txt_error_occured'));
     }
     // change profile to 'pending' only if profile is 'active'
     if ($oProfile->isActive() && !empty($aTrackTextFieldsChanges['changed_fields'])) {
         $oProfile->disapprove(BX_PROFILE_ACTION_AUTO);
     }
     // alert
     $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);
     return '';
 }