Exemplo n.º 1
0
<ul>
<li class="org_address"><i class="md md-room c-green"></i>

<?php
//if($model->city)
 echo '<strong>Адрес:</strong> ';
echo '<span><span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">';
echo '<span itemprop="addressLocality">'.$this->city->title.'</span><span itemprop="streetAddress">';
if($model->street) { 
echo ', '.$model->street;
}
 if($model->dom) { 
 	echo ', '.$model->dom; 
 }
 echo '</span></span>';
 $districts = District::getDistricts($model);
if(($this->city->id==1 or $this->city->id==22) && !empty($districts) && isset($districts[1]))
{
 	echo '<br><span>'.$districts[1].'</span>';
}
elseif($this->city->id!=1 and $this->city->id!=22 && !empty($districts))
{
	$subaddr = '';
	if(!empty($model->nearest_metro) && $model->nearestmetro)
	{
		$subaddr .= '<br><span>Рядом с '.$model->nearestmetro->metro_name.'</span>';
	}
	foreach ($districts as $district) 
	{
		if(mb_strpos($district, 'микрорайон', 0, 'UTF-8') !== false )
		{
Exemplo n.º 2
0
     /**
     * Просмотр записи
     *
     * @sitemap dataSource=getSitemapRecordUrl priority=0.8 changefreq=daily
     * @param $itemurl
     * @throws CHttpException
     */
    public function actionItem($id=null,$itemurl=null){

      $model = $this->_loadItem($id, $itemurl);
      $model->scenario = 'addPhoto';

     $this->layout = '//layouts/zazadun';

      $this->pageTitle = $model->title;
      if($this->city->id){
        $this->pageTitle .= ' в '.$this->city->mestpad;
        if(!empty($model->nearest_metro) && $model->nearestmetro)
        {
          $this->pageTitle .= ', рядом с '.$model->nearestmetro->metro_name;
        }
        if($this->city->id == 1 and $model->orgsDistrict) // Москва
        {
        	foreach ($model->orgsDistrict as $district) 
        	{
        		if(!empty($district->districtid->socr))
        			$this->pageTitle .= ', '.$district->districtid->socr;
        	}
        }
        elseif($this->city->id == 22 and $model->orgsDistrict) // Санкт-Петербург
        {
        	
        }
        else 
        {
        	$districts = District::getDistricts($model);
        	if(!empty($districts))
        	{
        		$this->pageTitle .= ', '.$districts[0];
        	}
        }
      }
      if($model->orgsHttp){
        foreach ($model->orgsHttp as $st) {
          if(!empty($st->description)){
            $this->pageTitle .= ', '. $st->description;
          }
        }
      }
      $this->pageKeywords = $model->title;
      if($model->categories){
        foreach ($model->categories as $cat){
          $this->pageKeywords .= ', '.$cat->title;
        }
      }
      $this->pageDescription = $model->title;
      if($this->city->id){
        $this->pageKeywords .= ', '.$this->city->title;
        if(!empty($model->nearest_metro) && $model->nearestmetro){
          $this->pageDescription .= ', '.$model->nearestmetro->metro_name;
        }
        $this->pageDescription .= '. Адрес: '.$this->city->title.', '.$model->street;
        $part_description = 'Адрес: '.$this->city->title.', '.$model->street;
        if($model->dom) { 
          $this->pageDescription .= ', '.$model->dom; 
          $part_description .= ', '.$model->dom;
        }
      }
      $titleKeywords = array();
      $orgsCats = array();
      if($model->categories){
        foreach ($model->categories as $cat){
          $orgsCats[] = $cat->id;
          $rootcategory = null;
          if($cat->root && $cat->root != $cat->id){
            $rootcategory = Category::model()->findByPk($cat->root);
          }
          if($rootcategory && !empty($rootcategory->keywords)){
              $keywords = MHelper::String()->toLower($rootcategory->keywords);
              $kw = explode(',', $keywords);
              $titleKeywords = $kw;
          }

          if(!empty($cat->keywords)){
              $keywords = MHelper::String()->toLower($cat->keywords);
              $kw = explode(',', $keywords);
              $titleKeywords = array_merge($titleKeywords, $kw);
          }
        }
      }
      $titleKeywords = array_unique($titleKeywords);
      if(!empty($titleKeywords)){
        $tkw = implode(',', $titleKeywords);
        $tkw = MHelper::String()->toUpper(MHelper::String()->substr($tkw, 0, 1, "UTF-8"), "UTF-8").MHelper::String()->substr($tkw, 1, MHelper::String()->len($tkw), "UTF-8" );
        $this->pageTitle .= '. '.$tkw;
      }
        
        $count_items_near = 0;
        $nearProvider = $this->getNearMetroOrg($model,$orgsCats);
        $nearProviderMicroRayon = null;
        $nearProviderRayon = null;
        if($nearProvider)
        	$count_items_near = $nearProvider->totalItemCount;
        if($count_items_near < 5){
        	$nearProviderMicroRayon = $this->getNearMicroRayonOrg($model,$orgsCats,5-$count_items_near,$nearProvider);
        	if($nearProviderMicroRayon)
        		$count_items_near += $nearProviderMicroRayon->totalItemCount;
        }
        if($count_items_near < 5){
        	$nearProviderRayon = $this->getNearRayonOrg($model,$orgsCats,5-$count_items_near,$nearProvider,$nearProviderMicroRayon);
        	if($nearProviderRayon)
        		$count_items_near += $nearProviderRayon->totalItemCount;
        }
      //  $nearProvider->sort = Orgs::getCSort('t.title, t.created_date DESC');

      if(!empty($_POST['Comment'])){
        Yii::import('application.modules.comments.CommentsModule');
        Yii::import('application.modules.comments.models.Comment');
        $comment = new Comment;
        if(isset($_POST['ajax']) && $_POST['ajax']==='comment-create-form')
        {
          $comment->attributes = Yii::app()->request->getPost('Comment');
          $comment->status = Comment::STATUS_WAITING;
          if(!Yii::app()->user->isGuest)
          {
            $comment->name = Yii::app()->user->username;
            $comment->email = Yii::app()->user->email;
          }
            $errors = CActiveForm::validate($comment);
            
            if ($errors !== '[]') {
               echo $errors;
            } else {
              // Load module
              $module = Yii::app()->getModule('comments');
              // Validate and save comment on post request
              $comment = $module->processRequest($model);
               echo '[]';
            }
            Yii::app()->end();
        }
      }
      

		if(isset($_POST['Orgs']))
		{
			if(isset($_POST['ajax']) && $_POST['ajax']==='pinboard-form')
			{
				$errors = CActiveForm::validate($model);
				if ($errors !== '[]') {
		           echo $errors;
		           Yii::app()->end();
		        } 
			}

			$model->attributes=$_POST['Orgs'];

			if($model->validate()){
			  
			  if(isset(Yii::app()->session['deleteFiles']))
			  {
			  	  $sessAr = unserialize(Yii::app()->session['deleteFiles']);
			  	  if(isset($sessAr['id']) && $sessAr['id'] == $model->id && isset($sessAr['files']) && is_array($sessAr['files']))
				  {
				  	 $files = $model->images;
				  	 if($files)
				  	 {
				  	 	foreach ($files as $file) {
				  	 		if(in_array($file->id,$sessAr['files'])){
				  	 			$file->delete();
				  	 		}
				  	 	}
				  	 }
				  }
			  }
			  
			  $model->addDropboxFiles($this->uploadsession);
              Yii::app()->session->remove($this->uploadsession);
              if(isset(Yii::app()->session['deleteFiles']))
			  		unset(Yii::app()->session['deleteFiles']);

              
                if(Yii::app()->request->isAjaxRequest){
                	echo CJSON::encode(array('flag'=>true, 'message'=>'done'));
					Yii::app()->end();
                } else {
                    $this->refresh();
                    Yii::app()->end();
                }
			} 
		}
      $this->render('item', array(
                 'model' => $model,
                 'part_description'=>$part_description,
                 'city_utc'=>$this->city->utcdiff,
                 'nearProvider'=>$nearProvider,
                 'nearProviderMicroRayon'=>$nearProviderMicroRayon,
                 'nearProviderRayon'=>$nearProviderRayon,
                 'count_items_near'=>$count_items_near
                 ));
    }