Exemple #1
0
 public function handle_request_internal()
 {
     $this->communityId = $this->getCommunityId();
     $this->setAttribute('show_searchbar', false);
     /** 判断小区地图是都已经锁定 */
     $this->isLockMap = Bll_Community_CommunityGardener::checkCommunityMapIsLock($this->communityId);
     $this->setAttribute('isLockMap', $this->isLockMap);
     /** 获取小区当前的图片数量 */
     $this->communityImageCount = self::COMMUNITY_PHOTO_COUNT - intval(Model_Community_Attachment::getCommunityPictureCount($this->communityId));
     $this->setAttribute('brokerShouldUploadPhotoCount', $this->communityImageCount);
     /** 获取小区详细信息 */
     $this->communityInfo = Bll_Community_CommunityGardener::getCommunityDetail($this->communityId);
     /** 如果是隐藏小区,那么就直接跳转到小区详情页 */
     $this->isHiddenCommunity($this->communityInfo);
     $communityWikiInfo = Bll_Community_CommunityGardener::getCommunityWikiInfo($this->communityId);
     if (!empty($communityWikiInfo)) {
         $this->baseInfoIsLocked = true;
         for ($fieldIndex = 2; $fieldIndex < 15; $fieldIndex++) {
             if (!isset($communityWikiInfo[$fieldIndex]) || $communityWikiInfo[$fieldIndex] == 1) {
                 $this->baseInfoIsLocked = false;
                 break;
             }
         }
     }
     $this->setAttribute('baseInfoIsLocked', $this->baseInfoIsLocked);
     /** TODO 判断是否是完善小区 */
     if (Bll_Community_CommunityGardener::checkCommunityIsComplete($this->communityInfo)) {
         $this->setAttribute('isOk', 3);
         return 'Community_Gardener_PhotoCommitOk';
     }
     /** 验证码 */
     $this->verifyCode = Bll_Community_CommunityGardener::getVerifyCode($this->communityId, static::$intBrokerID);
     $this->setAttribute('verify', $this->verifyCode);
     /** TODO 判断小区园丁申请是否有效 */
     if (!$this->checkApplyIsValid($this->communityId, static::$intBrokerID, $this->getParameter('verify'))) {
         $this->setAttribute('isOk', 2);
         return 'Community_Gardener_PhotoCommitOk';
     }
     /** TODO 过滤小区信息 */
     /** TODO 初始化小区信息 */
     $this->setAttributes($this->communityInfo);
     $this->setAttribute('commId', $this->communityId);
     return $this->handle_request_abs();
 }
 /**
  * 判断小区是否是完善小区
  *
  * @param array $communityInfo
  * @return bool
  */
 public static function checkCommunityIsComplete($communityInfo)
 {
     $checkCommunityCompleteFields = array('baseInfo' => array('commLocal', 'useType'), 'extendInfo' => array('commBuilder', 'manageCompany', 'managePay', 'buildArea', 'carbarnState', 'containPert', 'greenPert', 'houseTotal', 'sendDate', 'commIntro', 'commOther'));
     $lockMapping = array('commOtherName' => 1, 'commLocal' => 2, 'useType' => 3, 'commBuilder' => 4, 'manageCompany' => 5, 'managePay' => 6, 'buildArea' => 7, 'carbarnState' => 8, 'containPert' => 9, 'greenPert' => 10, 'houseTotal' => 11, 'sendDate' => 12, 'commIntro' => 13, 'commOther' => 14);
     $communityId = $communityInfo['baseInfo']['commId'];
     $communityLockInfo = Bll_Community_CommunityGardener::getCommunityWikiInfo($communityId);
     foreach ($checkCommunityCompleteFields as $infoType => $checkFields) {
         if (!isset($communityInfo[$infoType]) || empty($communityInfo[$infoType]) || !is_array($communityInfo[$infoType])) {
             return false;
         }
         foreach ($checkFields as $checkField) {
             if (isset($communityLockInfo[$lockMapping[$checkField]]) && $communityLockInfo[$lockMapping[$checkField]] != 1) {
                 continue;
             }
             if (!isset($communityInfo[$infoType][$checkField]) || empty($communityInfo[$infoType][$checkField])) {
                 return false;
             }
         }
     }
     /** 判断小区图片是否满10张 */
     $communityImageCount = Model_Community_Attachment::getCommunityPictureCount($communityId);
     if ($communityImageCount < 10) {
         return false;
     }
     return true;
 }