Example #1
0
 public function handle_request_abs()
 {
     $params = $this->getParameters();
     $action = $params[self::ACTION];
     if ($this->communityImageCount <= 0) {
         $this->setAttribute('isOk', 1);
         return 'Community_Gardener_PhotoCommitOk';
     }
     $applyHistory = Bll_Community_CommunityGardener::getBrokerUnfinishedApply($this->communityId, static::$intBrokerID);
     $history = array();
     if (!empty($applyHistory['applyData'])) {
         $history = json_decode($applyHistory['applyData'], true);
     }
     if ($action == 'save') {
         $image = array();
         foreach ($params as $key => $val) {
             $kName = explode('_', $key);
             if (isset($kName[1]) && in_array($kName[0], array('host', 'hash', 'content'))) {
                 if ($kName[0] == 'content') {
                     $val = Util_PublicMethods::cutStr($val, 50);
                 }
                 $image[$kName[1]][$kName[0]] = $val;
             } else {
                 continue;
             }
         }
         if ($image && count($image) >= $this->communityImageCount) {
             $history['images'] = array_values($image);
             Bll_Community_CommunityGardener::storeApplyCommunityCorrectData($this->communityId, static::$intBrokerID, $this->communityInfo['baseInfo']['cityId'], $history, Model_Community_GardenerApply::APPLY_STATUS_NOT_COMPLETE);
             if (Bll_Community_CommunityGardener::setCheckGardener($this->communityId, static::$intBrokerID)) {
                 $this->setAttribute('isOk', 1);
             } else {
                 $this->setAttribute('isOk', 2);
             }
         } else {
             $this->setAttribute('isOk', 2);
         }
         return 'Community_Gardener_PhotoCommitOk';
     }
     $hasCorrectPhoto = !empty($history['images']);
     $this->setAttribute('hasCorrectPhoto', $hasCorrectPhoto);
     $this->setAttribute('brokerId', static::$intBrokerID);
     return 'Community_Gardener_PhotoCommit';
 }
Example #2
0
 public function handle_request_internal()
 {
     if (!Bll_City::isNewCommunityApplyCity(static::$intBrokerCityID)) {
         $this->redirect2Result(false, '非法请求', __LINE__);
     }
     $request = APF::get_instance()->get_request();
     $params = $this->getParameters();
     $verifyCode = $params[self::VERIFY];
     $matches = $request->get_router_matches();
     $communityId = intval($matches[1]);
     $brokerId = static::$intBrokerID;
     if ($verifyCode != Bll_Community_CommunityGardener::getVerifyCode($communityId, $brokerId)) {
         $this->redirect2Result(false, '请求不合法', __LINE__);
     }
     $communityInfo = Bll_Community_CommunityGardener::getCommunityDetail($communityId);
     if ($communityInfo['baseInfo']['typeFlag'] == 0) {
         $this->redirect2Result(false, '小区不存在', __LINE__);
     }
     if (!Bll_Community_CommunityGardener::checkCommunityCanApply($communityId, $brokerId, true)) {
         $this->redirect2Result(false, '小区不可以申请', __LINE__);
     }
     $communityGardenerApplyState = Bll_Community_CommunityGardener::getCommunityGardenerState($communityId);
     if (empty($communityGardenerApplyState)) {
         if (!Bll_Community_CommunityGardener::initCommunityGardenerState($communityId, $brokerId)) {
             $this->redirect2Result(false, '初始化小区状态失败', __LINE__);
         }
     } elseif ($communityGardenerApplyState['state'] == Model_Community_CommunityState::COMMUNITY_STATE_CHECKING) {
         $this->redirect2Result(false, '审核中的小区不允许申请', __LINE__);
     } elseif ($communityGardenerApplyState['state'] == Model_Community_CommunityState::COMMUNITY_STATE_APPLYING) {
         //状态为锁定
         if ($communityGardenerApplyState['applyExpirationTime'] < time()) {
             //锁定时间过期
             //重新锁定
             if (!Bll_Community_CommunityGardener::lockCommunityGardenerApply($communityId, $brokerId)) {
                 $this->redirect2Result(false, '锁定小区申请状态失败', __LINE__);
             }
         } else {
             //锁定时间未过期
             //别人不能申请
             if ($communityGardenerApplyState['applyBrokerId'] != $brokerId) {
                 $this->redirect2Result(false, '小区正在被申请', __LINE__);
             }
         }
     } else {
         if (!Bll_Community_CommunityGardener::lockCommunityGardenerApply($communityId, $brokerId)) {
             $this->redirect2Result(false, '锁定小区申请状态失败', __LINE__);
         }
     }
     $action = $params[self::ACTION];
     $applyHistory = Bll_Community_CommunityGardener::getBrokerUnfinishedApply($communityId, $brokerId);
     $history = array();
     if (!empty($applyHistory) && !empty($applyHistory['applyData'])) {
         $history = json_decode($applyHistory['applyData'], true);
     }
     // $communityImageList = Bll_Community_CommunityGardener::getValidateCommunityImagesList($communityId);
     // $communityImageCount = count($communityImageList);
     // $brokerShouldUploadPhotoCount = max(0, Bll_Community_CommunityGardener::COMMUNITY_IMAGE_BASE_COUNT - $communityImageCount);
     $brokerShouldUploadPhotoCount = Bll_Community_CommunityGardener::COMMUNITY_IMAGE_BASE_COUNT;
     if ($action == 'save') {
         $image = array();
         foreach ($params as $key => $val) {
             $keyName = explode('_', $key);
             if (isset($keyName[1]) && in_array($keyName[0], array('host', 'hash', 'content'))) {
                 if ($keyName[0] == 'content') {
                     $val = Util_PublicMethods::cutStr($val, 50);
                 }
                 $image[$keyName[1]][$keyName[0]] = htmlspecialchars($val, ENT_COMPAT | ENT_HTML401 | ENT_IGNORE, 'UTF-8');
             } else {
                 continue;
             }
         }
         if (count($image) >= $brokerShouldUploadPhotoCount) {
             $uploadedImageList = array_values($image);
             $history['images'] = array_slice($uploadedImageList, 0, Bll_Community_CommunityGardener::COMMUNITY_IMAGE_COUNT_LIMIT);
             $storeSuccess = Bll_Community_CommunityGardener::storeApplyCommunityCorrectData($communityId, $brokerId, static::$intBrokerCityID, $history, Model_Community_GardenerApply::APPLY_STATUS_PENDING_APPROVAL);
             if ($storeSuccess) {
                 Model_Community_CommunityState::setCheckGardener($communityId, $brokerId);
                 $this->redirect2Result(true, '小区申请成功', __LINE__);
             }
             $this->redirect2Result(false, '保存图片信息失败', __LINE__);
         }
         $this->redirect2Result(false, '提交的图片数量不够', __LINE__);
     }
     $hasCorrectPhoto = !empty($history['images']);
     $this->setAttribute('brokerShouldUploadPhotoCount', $brokerShouldUploadPhotoCount);
     $this->setAttribute('brokerUploadPhotoCountLimit', Bll_Community_CommunityGardener::COMMUNITY_IMAGE_COUNT_LIMIT);
     $this->setAttribute('hasCorrectPhoto', $hasCorrectPhoto);
     $this->setAttribute('updatedImageList', isset($history['images']) ? $history['images'] : array());
     $this->setAttribute('brokerId', $brokerId);
     $this->setAttribute('communityInfo', $communityInfo['baseInfo']);
     $this->setAttribute('verify', $verifyCode);
     return 'Community_Gardener2_PhotoCommit';
 }
Example #3
0
 public function handle_request_abs()
 {
     $visible = 0;
     $params = $this->getParameters();
     /** 如果地图已经锁定则直接跳转到 上传照片 */
     if ($this->isLockMap) {
         $this->redirect(Bll_Community_CommunityGardener::buildGardenerPhotoCommit($this->communityId, array(self::VERIFY => $this->verifyCode)));
     }
     $communityInfo = $this->getCommunityCorrectInfo($this->communityInfo);
     $applyHistory = Bll_Community_CommunityGardener::getBrokerUnfinishedApply($this->communityId, static::$intBrokerID);
     $history = array();
     if (!empty($applyHistory['applyData'])) {
         $history = json_decode($applyHistory['applyData'], true);
     }
     $MapInfo = $this->communityInfo['mapInfo'];
     /** 如果没有小区的地图坐标信息就用板块的坐标 */
     if (empty($MapInfo) || $MapInfo['lat'] == 0 || $MapInfo['lng'] == 0) {
         $visible = 1;
         $areaCode = $this->communityInfo['baseInfo']['areaCode'];
         $blockId = Bll_Community_CommunityGardener::getBrokerIdFromAreaCode($areaCode);
         $MapInfo = Bll_Community_CommunityGardener::getBlockMapInfo($blockId);
         if (empty($MapInfo) || $MapInfo['lat'] == 0 || $MapInfo['lng'] == 0) {
             $areaId = Bll_Community_CommunityGardener::getAreaIdFromAreaCode($areaCode);
             $MapInfo = Bll_Community_CommunityGardener::getBlockMapInfo($areaId);
             if (empty($MapInfo) || $MapInfo['lat'] == 0 || $MapInfo['lng'] == 0) {
                 $cityId = Bll_Community_CommunityGardener::getCityIdFromAreaCode($areaCode);
                 $MapInfo = Bll_Community_CommunityGardener::getBlockMapInfo($cityId);
             }
         }
     }
     $communityInfo['Lat'] = $MapInfo['lat'];
     $communityInfo['Lng'] = $MapInfo['lng'];
     $communityInfo['Zoom'] = $MapInfo['zoom'];
     /** 保存经纪人提交的小区地图信息 */
     $action = $this->getParameter(self::ACTION);
     if ($action == 'save') {
         $defaultLat = sprintf("%f", $communityInfo['Lat']);
         $defaultLng = sprintf("%f", $communityInfo['Lng']);
         /** 保存地图纠错信息,地图是可以不纠错的 */
         if (!empty($params[self::MODIFY_LAT]) || !empty($params[self::MODIFY_LNG])) {
             $modifyLat = $params[self::MODIFY_LAT];
             $modifyLng = $params[self::MODIFY_LNG];
             if ($defaultLat != $modifyLat || $defaultLng != $modifyLng) {
                 $history['map']['Lat'] = $modifyLat;
                 $history['map']['Lng'] = $modifyLng;
                 $history['map']['Zoom'] = $communityInfo['Zoom'] ? $communityInfo['Zoom'] : 16;
                 Bll_Community_CommunityGardener::storeApplyCommunityCorrectData($this->communityId, static::$intBrokerID, $this->communityInfo['baseInfo']['cityId'], $history);
             }
         }
         if ($this->communityImageCount <= 0) {
             if (Bll_Community_CommunityGardener::setCheckGardener($this->communityId, static::$intBrokerID)) {
                 $this->setAttribute('isOk', 1);
             } else {
                 $this->setAttribute('isOk', 2);
             }
             return 'Community_Gardener_PhotoCommitOk';
         }
         $this->redirect(Bll_Community_CommunityGardener::buildGardenerPhotoCommit($this->communityId, array(self::VERIFY => $this->verifyCode)));
     }
     $areaInfo = Bll_Community_CommunityGardener::getAreaInfo($this->communityInfo['baseInfo']['areaCode']);
     $hasCorrectMap = !empty($history['map']);
     $this->setAttribute('hasCorrectMap', $hasCorrectMap);
     $this->setAttribute('history', $history);
     $this->setAttribute('visible', $visible);
     $this->setAttribute('commInfo', $communityInfo);
     $this->setAttribute('brokerid', static::$intBrokerID);
     $this->setAttribute('areaInfo', $areaInfo);
     return 'Community_Gardener_CorrectMap';
 }
Example #4
0
 public function handle_request_abs()
 {
     $action = $this->getParameter(static::ACTION);
     $this->setAttribute('show_searchbar', false);
     /** 小区可以纠错的信息 */
     $communityInfo = $this->getCommunityCorrectInfo($this->communityInfo);
     /**
      * 所有字段都锁定(除小区别名)的情况下,直接跳到下一步,第一步基础详情纠错不展示
      */
     if ($this->baseInfoIsLocked) {
         if ($this->isLockMap) {
             if ($this->communityImageCount <= 0) {
                 if (Bll_Community_CommunityGardener::setCheckGardener($this->communityId, static::$intBrokerID)) {
                     $this->setAttribute('isOk', 1);
                 } else {
                     $this->setAttribute('isOk', 2);
                 }
                 return 'Community_Gardener_PhotoCommitOk';
             }
             $this->redirect(Bll_Community_CommunityGardener::buildGardenerPhotoCommit($this->communityId, array(self::VERIFY => $this->verifyCode)));
         } else {
             $this->redirect(Bll_Community_CommunityGardener::buildGardenerCorrectMap($this->communityId, array(self::VERIFY => $this->verifyCode)));
         }
     }
     /** 获取 物业类型 */
     $typeList = Model_Community_UseType::getUseTypeByCityId($communityInfo['cityId']);
     /** 小区锁定字段信息 */
     $communityWikiLockInfo = Bll_Community_CommunityGardener::getCommunityWikiInfo($this->communityId);
     /** 经纪人未完成的记录 */
     $applyHistory = Bll_Community_CommunityGardener::getBrokerUnfinishedApply($this->communityId, static::$intBrokerID);
     if ($action == 'save') {
         //用于保存小区基本信息的纠错
         $a = $this->checkAndSaveCorrectData(static::$intBrokerID, $communityWikiLockInfo, $this->getParameters(), $typeList, $applyHistory['applyData']);
         // if ($a || !empty($applyHistory['applyData']) || $this->communityGardenerId == 0) {
         if ($a) {
             if ($this->isLockMap) {
                 if ($this->communityImageCount <= 0) {
                     if (Bll_Community_CommunityGardener::setCheckGardener($this->communityId, static::$intBrokerID)) {
                         $this->setAttribute('isOk', 1);
                     } else {
                         $this->setAttribute('isOk', 2);
                     }
                     return 'Community_Gardener_PhotoCommitOk';
                 }
                 $this->redirect(Bll_Community_CommunityGardener::buildGardenerPhotoCommit($this->communityId, array(self::VERIFY => $this->verifyCode)));
             } else {
                 $this->redirect(Bll_Community_CommunityGardener::buildGardenerCorrectMap($this->communityId, array(self::VERIFY => $this->verifyCode)));
             }
         } else {
             $this->redirect(Bll_Community_CommunityGardener::buildGardenerCorrectInfo($this->communityId, array(self::VERIFY => $this->verifyCode)));
         }
     }
     $hasCorrectInfo = false;
     if (!empty($applyHistory['applyData'])) {
         $applyData = json_decode($applyHistory['applyData'], true);
         unset($applyData['map'], $applyData['images']);
         $hasCorrectInfo = !empty($applyData);
     }
     $this->setAttribute('typeList', $typeList);
     $this->setAttribute('applyHistory', $applyHistory);
     $this->setAttribute('hasCorrectInfo', $hasCorrectInfo);
     $this->setAttribute('commInfo', $communityInfo);
     $this->setAttribute('infoLock', $communityWikiLockInfo);
     $this->setAttribute('brokerid', static::$intBrokerID);
     $this->setAttribute('existGardener', $this->communityGardenerId > 0);
     $this->setAttribute('fields', self::$fields);
     $this->setAttribute('facilities', self::$facilities);
     return 'Community_Gardener_CorrectInfo';
 }