/** * Signs user up. * * @return User|null the saved model or null if saving fails */ public function signup() { if ($this->validate()) { $user = new User(); $user->username = $this->username; $user->email = $this->email; $user->setPassword($this->password); $user->generateAuthKey(); if ($user->save()) { $image = new Image(); $image->url = "/uploads/none-avatar.png"; $image->save(); $profile = new Profile(); $profile->link('user', $user); $profile->link('image', $image); $profile->save(); return $user; } } return null; }
public function save() { if ($this->validate()) { $isValid = false; $this->imageFile = UploadedFile::getInstance($this, 'imageFile'); $user = User::findOne(Yii::$app->user->getId()); if (isset($user->profile)) { $profile = Profile::findOne($user->profile->id); } else { $profile = new Profile(); } if (isset($this->imageFile)) { $imagePath = '/uploads/' . $this->imageFile->baseName . '.' . $this->imageFile->extension; $this->imageFile->saveAs(Yii::getAlias('@webroot') . $imagePath); $m_image = new Image(); $m_image->url = $imagePath; if ($m_image->save()) { $image = Image::findOne($m_image->getPrimaryKey()); $profile->link('image', $image); $isValid = true; } else { $isValid = false; } } $profile->firstname = $this->firstname; $profile->lastname = $this->lastname; $profile->aboutme = $this->aboutme; $profile->link('user', $user); if ($profile->save()) { $isValid = true; } else { $isValid = false; } return $isValid; } else { return false; } }