/** * 修改文章中带楼盘名的内容 * @param $aNews */ public static function changeNewsLouName(&$aNews) { if ($aNews['sLoupanID']) { $sNewsIDs = explode(',', $aNews['sLoupanID']); //按楼盘名字长度进行排序 $aIDsTemp = array(); //ID排序后数组 foreach ($sNewsIDs as $key => $value) { $sLouName = Model_CricUnit::getLoupanNames($value); $aLoupan[$value] = isset($sLouName[$value]) ? $sLouName[$value] : ''; } uasort($aLoupan, array('self', '_cmp')); $sNewsIDs = array_keys($aLoupan); foreach ($sNewsIDs as $key => $value) { $sContent = $aNews['sContent']; $aTmp = Model_CricUnit::getLoupanNames($value); if (empty($aTmp)) { continue; } $aLoupan = Model_CricUnit::getLoupanByID($value); $sUrl = Model_CricUnit::getUnitUrl($aLoupan['CityCode'], $aLoupan['RegionName'], $aLoupan['DistrictName'], $value); $sSubting = '<a target="_blank" href="' . $sUrl . '">' . $aTmp[$value] . '</a>'; $sLpName = $aTmp[$value]; $sAddPattern = "/" . $sLpName . "(?!([^<]*?)(<\\/a>|>|\\/>))/"; if (mb_strpos($sContent, $sLpName) !== false) { //存在楼盘名 $aNews['sContent'] = preg_replace($sAddPattern, $sSubting, $sContent); } } } }
/** * 编辑资讯 * * @return boolean */ public function editAction() { if ($this->isPost()) { $aNews = $this->_checkData('edit'); if (empty($aNews)) { return null; } $sAction = '保存'; if ($this->getParam('iOptype') > 0) { $aNews['iPublishStatus'] = 1; //发布需要将该字段改为1 $sAction = '发布'; } $aNews['iNewsID'] = intval($this->getParam('iNewsID')); //修改需要加上当前修改人ID $aCurrUserInfo = $this->aCurrUser; $aNews['iUpdateUserID'] = $aCurrUserInfo['iUserID']; if (1 == Model_News::updData($aNews)) { return $this->showMsg(['sMsg' => '资讯信息' . $sAction . '成功!', 'iNewsID' => $aNews['iNewsID']], true); } else { return $this->showMsg('资讯信息' . $sAction . '失败!', false); } } else { $this->_response->setHeader('Access-Control-Allow-Origin', '*'); $iNewsID = intval($this->getParam('id')); $aNews = Model_News::getDetail($iNewsID); /** Model_News::changeNewsLouName($aNews); print_r($aNews); die */ if ($aNews['sTag']) { $aNews['aTag'] = explode(',', $aNews['sTag']); } if ($aNews['iAuthorID'] == 0) { //处理老数据的作者问题 $aAuthor = Model_Author::getAll(['where' => ['sAuthorName' => $aNews['sAuthor']]]); if ($aAuthor) { foreach ($aAuthor as $author) { $aNews['iAuthorID'] = $author['iAuthorID']; if ($author['iCityID'] == $aNews['iCityID']) { break; } } } } $this->assign('aNews', $aNews); $aCategory = Model_Category::getPairCategorys($this->_getTypeCategory()); $aTag = $this->_getTagList(); //Model_Tag::getPairTags($this->_getTypeTag()); $aLoupan = Model_CricUnit::getLoupanNames($aNews['sLoupanID']); $this->assign('iTypeID', $this->_getTypeID()); $this->assign('iCityID', $this->_getCityID()); $this->assign('aCategory', $aCategory); $this->assign('aTag', $aTag); $this->assign('aLoupan', $aLoupan); $this->assign('sUploadUrl', Yaf_G::getConf('upload', 'url')); $this->assign('sFileBaseUrl', 'http://' . Yaf_G::getConf('file', 'domain')); } }