/**
     * Updates a particular model.
     * If update is successful, the browser will be redirected to the 'view' page.
     * @param integer $id the ID of the model to be updated
     */
    public function actionUpdate($new = false)
    {
        if ($new === true)
            $model = new Article;
        else
        {
            $id = (int)$_GET['id'];
            $model=$this->loadModel($id);
        }
        if($model->verified !== true){
            $this->active_link = 'new_article';
        }
        $firms = array(); $ar_url = array(); $error = false; $ids = array();

        if(!empty($_POST['Article']['article_ar'])){
        	$ars = $_POST['Article']['article_ar'];
        	if(isset($ars['firmname']) && !empty($ars['firmname'])){
        		foreach ($ars['firmname'] as $key => $value) {
        			$value = trim(strip_tags($value));
        			$firms[$key]['firmname'] = $value;
        		}
        	}

        	if(isset($ars['firmphotoh']) && !empty($ars['firmphotoh'])){
        		foreach ($ars['firmphotoh'] as $key => $value) {
        			$firms[$key]['firmphotoh'] = $value;
        		}
        	}
        	if(isset($ars['firmurl']) && !empty($ars['firmurl'])){
        		$ids = 0;
        		foreach ($ars['firmurl'] as $key => $value) {
        			$value = trim(strip_tags($value));
        			if(!empty($value)){
	        			$stri = stristr($value, Yii::app()->params['serverName']);
						if($stri === FALSE) {
							if (is_numeric($value)) { 
								$ids = (int) $value;
							} else {
								$this->addFlashMessage('Фирма '. ($key+1) .', url - неверная ссылка', 'error');
								$error = true;
								break;
							}
						} else {
							$id_url = explode('/',$stri);

							if(isset($id_url[1])){
								$ids = $id_url[1];
							}
						}
					}
					$ids_check = Objects::model()->findByPk($ids);
					if(!$ids_check){
						$this->addFlashMessage('Объект '. ($key+1) .', url - не найден', 'error');
						$error = true;
						break;
					}

        			$firms[$key]['firmurl'] = (int)$ids;

        		}
        	}
        	if(isset($ars['firmdescription']) && !empty($ars['firmdescription'])){
        		foreach ($ars['firmdescription'] as $key => $value) {
        			$value = trim(strip_tags($value));
        			$firms[$key]['firmdescription'] = $value;
        			if(!empty($value)){
        				
        			} else {
        				$this->addFlashMessage('Фирма '. ($key+1) .'  - нет описания', 'error');
						$error = true;
						break;
        			}

        		}
        	}
        } 

        // Uncomment the following line if AJAX validation is needed
        // $this->performAjaxValidation($model, 'orgs-form');
         
       /*  if(isset($_POST['Article']['articleorg_ar']) && 
         	!empty($_POST['Article']['articleorg_ar']) && 
            is_array($_POST['Article']['articleorg_ar'])) 
         { 
			$ar_url = $_POST['Article']['articleorg_ar'];

				for($i=0;$i<count($ar_url);$i++)
				{
					if(empty($ar_url[$i]))
						continue;
					$model->articleorg = $ar_url[$i];
					if($model->validate(array('articleorg')))
					{
						$ar_url[$i] = $model->articleorg;
					} else {
						$this->addFlashMessage($model->errors, 'error');
						$error = true;
						break;
					}
					
					$stri = stristr($ar_url[$i], Yii::app()->params['serverName']);
					if($stri === FALSE) {
						if (is_numeric($ar_url[$i])) { 
							$ids[] = (int) $ar_url[$i];
						} else {
							$this->addFlashMessage('Фирма, url - неверная ссылка', 'error');
							$error = true;
							break;
						}
					} else {
						$id_url = explode('/',$stri);

						if(isset($id_url[1])){
							$ids[] = $id_url[1];
						}
					}
				}
				
		 }
		 */
		 if(isset($_POST['Article'])){
		 	 
		 	// VarDumper::dump($_POST); die(); 
		}
		
        if(isset($_POST['Article']) && !$error)
        {

            $model->attributes=$_POST['Article'];
              
            if(!$model->categories_ar || !is_array($model->categories_ar) || (isset($model->categories_ar[0]) && empty($model->categories_ar[0]))){
                $model->categories_ar = array();
                $model->categorie = null;
            } else {
                $model->categorie = $model->categories_ar[0];
            }

            if($model->save()){
            
                
                
                $model->setCategories($model->categories_ar);
            //	$model->articleorg_ar = $ids;
           // 	$model->setArticleOrg($model->articleorg_ar);

                $model->addDropboxLogoFiles($this->uploadlogosession);
                Yii::app()->session->remove($this->uploadlogosession);

                $model->addDropboxFiles($this->uploadsession);
                Yii::app()->session->remove($this->uploadsession);

                $replace = $model->getOrigFilePath();
                $model->description = str_replace ( '/uploads/tmp/' , $replace , $model->description  );
                $model->save('false',array('description'));
                
                if(!empty($firms)){

              	    $dontDelete = array();
                	foreach ($firms as $key => $firm) {
                		 
                		 $found = Article::model()->findByAttributes(array(
							'part_org'=>$firm['firmurl'],
							'part'=>$model->id
						 ));
						 // если не было части - делаем
						 if(!$found){
	                		 $modelPart = new Article;
	                		 $modelPart->scenario = 'part';
	                		 $modelPart->title = $firm['firmname'];
	                		 $modelPart->description = $firm['firmdescription'];
	                		 $modelPart->part = $model->id;
	                		 $modelPart->part_order = $key;
	                		 $modelPart->part_org = $firm['firmurl'];
	                		 $modelPart->created_date = date('Y-m-d H:i:s');
	                		 if($modelPart->save()){
	                		 	//$modelPart->articleorg_ar = array($firm->firmurl);
	                		 	//$modelPart->setArticleOrg($modelPart->articleorg_ar);
	                		 	$modelPart->tmpLogotip = array($firm['firmphotoh']);
	                		 	$modelPart->addDropboxLogoFiles($this->uploadsession);
	                            
	                		 }
                		} else { // изменяем, если что-то поменялось.

		 					

							if($found->title != $firm['firmname'] or $found->description != $firm['firmdescription']
								or $found->part_order != $key){
								$found->title = $firm['firmname'];
								$found->description = $firm['firmdescription'];
								$found->part_order = $key;
								$found->save(false,array('title','description','part_order'));
							}
							$found->tmpLogotip = array($firm['firmphotoh']);
                			$found->addDropboxLogoFiles($this->uploadsession);
						}
                		$dontDelete[] = $firm['firmurl'];
                	}
                	// Удаляем все части, которых не было в массиве
					if(sizeof($dontDelete) > 0){
						$cr = new CDbCriteria;
						$cr->addNotInCondition('part_org', $dontDelete);

						Article::model()->deleteAllByAttributes(array(
							'part'=>$model->id,
						), $cr);
					} else { // удаляем все части, т.к. пустой массив
						// Delete all relations
						Article::model()->deleteAllByAttributes(array(
							'part'=>$model->id,
						));
					}
                }

                Yii::app()->session->remove($this->uploadsession);
           

                if(Yii::app()->request->isAjaxRequest){
                    
                } else {
                    $text = $new? "Статья {$model->title} добавлена" : "Статья {$model->title} отредактирована";
                    $this->addFlashMessage($text,'success');
                    $this->redirect(Yii::app()->createAbsoluteUrl('catalog/admin/article'));
                }

            } else {
                $this->addFlashMessage($model->errors,'error');
            }
        }

        $categories_ar = $articleorg_ar = array();
        $categories = $model->categories;
        $orgs = $model->orgs;

        if($categories){
            foreach($categories as $cats){
                $categories_ar[] = $cats->id;
            }
        }
       /* if($orgs){
            foreach($orgs as $org){
                $articleorg_ar[] = $org->id;
            }
        }*/
        $this->render('update',array(
            'model'=>$model,
            'categories_ar'=>$categories_ar,
          //  'articleorg_ar'=>$articleorg_ar
        ));
    }