use yii\helpers\Json;
use yii\web\Controller;
use yii\web\UploadedFile;
+use yii_app\forms\profile\AdminForm;
use yii_app\helpers\ImageHelper;
use yii_app\records\Admin;
class ProfileController extends Controller
{
public function actionIndex() {
- $model = Admin::findOne(Yii::$app->user->id);
- $errors = null;
- if (Yii::$app->request->isPost && $model->load(Yii::$app->request->post())) {
- $model->imageFile = UploadedFile::getInstance($model, 'imageFile');
- $ext = '.' . $model->imageFile->extension;
+ if (Yii::$app->request->isPost) {
+ $imageFile = UploadedFile::getInstanceByName('imageFile');
+ $ext = '.' . $imageFile->extension;
$path = Yii::getAlias("@data-path") . '/admin/admin_' . Yii::$app->user->id . $ext;
- $model->imageFile->saveAs($path);
+ $imageFile->saveAs($path);
$path2 = Yii::getAlias("@data-path") . '/admin/ava_' . Yii::$app->user->id . $ext;
ImageHelper::resizeImage($path, $path2, 100, 100, 100);
- $model->imageFile = null;
- $model->avatarka = 'data/admin/ava_' . Yii::$app->user->id . $ext;
- $model->photo = 'data/admin/admin_' . Yii::$app->user->id . $ext;
- $model->save();
- if ($model->getErrors()) {
- $errors = Json::encode($model->getErrors());
- }
+ $form = AdminForm::findOne(Yii::$app->user->id);
+ $form->avatarka = 'data/admin/ava_' . Yii::$app->user->id . $ext;
+ $form->photo = 'data/admin/admin_' . Yii::$app->user->id . $ext;
+ $form->save();
}
- return $this->render('index', compact('model', 'errors'));
+
+ $model = Admin::findOne(Yii::$app->user->id);
+
+ return $this->render('index', compact('model'));
}
}
\ No newline at end of file
--- /dev/null
+<?php
+
+namespace yii_app\forms\profile;
+
+use yii_app\records\Admin;
+
+
+/*
+ * @property string photo
+ * @property string avatarka
+ */
+class AdminForm extends Admin
+{
+ public function rules()
+ {
+ return [
+ [['photo', 'avatarka'], 'required']
+ ];
+ }
+}
\ No newline at end of file
use yii_app\helpers\PrintBlockHelper;
/** @var $model Admin */
-/** @var $errors string */
?>
<?php PrintBlockHelper::printBlock('<b>Пароль</b>', $model->pass_user); ?>
- <?php PrintBlockHelper::printBlock('<b>Фото сотрудника</b>', $form->field($model, 'imageFile')
- ->fileInput(['onchange' => 'this.form.submit()'])->label(false) . ' ' . $model->avatarka); ?>
+ <?php PrintBlockHelper::printBlock('<b>Фото сотрудника</b>',
+ Html::fileInput('imageFile', null, ['onchange' => 'this.form.submit()', 'accept' => '.jpg,.jpeg,.png']) . ' ' . $model->avatarka); ?>
<?php ActiveForm::end() ?>
<?php \yii_app\helpers\ImageHelper::drawImage($model->avatarka) ?>
- <?php if ($errors): ?>
- <div class="text-red">
- <?= $errors ?>
- </div>
- <?php endif; ?>
-
</div>