32 protected $fieldNames;
40 protected $hasErrors =
false;
44 protected $csv_file = null;
48 public $valid =
false;
55 array(
'file',
'required'),
56 array(
'file',
'file',
'types'=>
'csv'),
64 if(!isset($this->fieldNames)){
67 $this->fieldNames = $csv_users->getKeys();
69 return $this->fieldNames;
76 return $this->hasErrors;
89 if(!isset($this->rowsCount) && $this->
isExist()){
91 $csv_users->seek($csv_users->getSize());
92 $linesTotal = $csv_users->key();
93 $this->rowsCount = $linesTotal - 1;
97 return $this->rowsCount;
104 return Yii::getPathOfAlias(
'user.CSVImportFiles');
111 return isset($this->hashname)?(Yii::getPathOfAlias(
'user.CSVImportFiles').
'/'.$this->hashname):
false;
119 return $pathToFile? file_exists($pathToFile) :
false;
128 $intersect_to_model = array_intersect_key($csv_row, $model->attributes);
129 if(empty($intersect_to_model)){
132 $model->attributes = $intersect_to_model;
142 if(!isset($this->csv_file)){
145 return $this->csv_file;
157 $tmpUser =
User::model()->find(
'email=:email',array(
'email'=>$user->email));
159 foreach($user->attributes as $k => $attribute){
160 if(isset($attribute) && !empty($attribute)){
161 $tmpUser->setAttribute($k, $attribute);
164 $user = clone $tmpUser;
165 if(isset($scenarioNotUniq)){
166 $user->setScenario($scenarioNotUniq);
172 foreach($profile->attributes as $k => $attribute){
173 if(isset($attribute) && !empty($attribute)){
174 $tmpProfile->setAttribute($k, $attribute);
177 $profile = clone $tmpProfile;
187 $profilesFieldNames = array_intersect($this->
getFieldNames(),array_keys($profile->attributes));
189 return $profilesFieldNames;
197 $userFieldNames = array_intersect($this->
getFieldNames(),array_keys($user->attributes));
199 return $userFieldNames;