false, ], [['destaFile'], 'validateKoteg', ], ]; } public function attributeLabels(){ return [ "destaFile" => "Desta fájl" ]; } public function validateKoteg($attribute,$params){ if ( !$this->hasErrors()){ $content = file_get_contents($this->destaFile->tempName); $destaUzenet = GiroDETSTA::parse($content); $number = $destaUzenet->fej->csoportosUzenetSorszam->sorszam; $datum = $destaUzenet->fej->csoportosUzenetSorszam->osszeallitasDatuma; $koteg = Ugiro::find()->andWhere(['number' =>$number,'datum' => $datum ])->one(); $this->koteg = $koteg; if (!isset($koteg)){ $this->addError($attribute,"Nincs ilyen köteg! ( Datum: $datum, Sorszam: $number )"); }else{ if ( $koteg->status != Ugiro::$STATUS_SENT ){ $idKoteg = $this->koteg->id_ugiro; $this->addError($attribute,"A köteg detsta fájl-ja már fel van töltve !( Köteg azonosító: $idKoteg )"); } } } } public function upload() { if ($this->validate()) { $path = 'giro/valasz/' . $this->destaFile->baseName . '.' . $this->destaFile->extension; $this->destaFile->saveAs( $path ); $this->koteg->desta_path = $path; $this->koteg->status = Ugiro::$STATUS_RECIEVED; $this->koteg->save(false); return true; } else { return false; } } }