_profile_info.php 5.34 KB
<?php
    use artbox\core\components\imagemanager\components\ImageManagerGetPath;
    use artbox\core\components\imagemanager\components\ImageManagerInputWidget;
    use artbox\core\models\User;
    use artbox\core\models\UserData;
    use yii\bootstrap\ActiveForm;
    use yii\bootstrap\Html;
    use yii\web\View;
    
    /**
     * @var User     $user
     * @var UserData $userData
     * @var View     $this
     */
    $imageSearch = new ImageManagerGetPath(
        [
            'mediaPath' => Yii::getAlias('@storage'),
        ]
    );
?>
<?php
    $form = ActiveForm::begin(
        [
            'action'        => [ 'update' ],
            'method'        => 'POST',
            'errorCssClass' => 'has-error bad',
        ]
    );
    if (!empty( $userData->image )) {
        echo Html::tag(
            'div',
            Html::img($imageSearch->getImagePath($userData->image)),
            [
                'class' => 'col-xs-6 col-xs-offset-3 profile_edit_image',
            ]
        );
    }
    echo $form->field($userData, 'image')
              ->label(false)
              ->widget(
                  ImageManagerInputWidget::className(),
                  [
                      'showPreview'                  => true,
                      'showDeletePickedImageConfirm' => false,
                  ]
              );
    echo $form->field(
        $userData,
        'name',
        [
            'inputTemplate' => '{input}' . Html::icon(
                    'user',
                    [
                        'prefix' => 'fa fa-',
                        'class'  => 'form-control-feedback left',
                    ]
                ),
            'options'       => [
                'class' => 'col-sm-6 col-xs-12 has-feedback item',
            ],
            'inputOptions'  => [
                'class'       => 'form-control has-feedback-left',
                'placeholder' => $userData->getAttributeLabel('name'),
            ],
            'errorOptions'  => [
                'class' => 'help-block alert',
            ],
        ]
    )
              ->label(false)
              ->textInput();
    echo $form->field(
        $userData,
        'surname',
        [
            'inputTemplate' => '{input}' . Html::icon(
                    'user',
                    [
                        'prefix' => 'fa fa-',
                        'class'  => 'form-control-feedback right',
                    ]
                ),
            'options'       => [
                'class' => 'col-sm-6 col-xs-12 has-feedback item',
            ],
            'inputOptions'  => [
                'placeholder' => $userData->getAttributeLabel('surname'),
            ],
            'errorOptions'  => [
                'class' => 'help-block alert',
            ],
        ]
    )
              ->label(false)
              ->textInput();
    echo $form->field(
        $userData,
        'email',
        [
            'inputTemplate' => '{input}' . Html::icon(
                    'envelope',
                    [
                        'prefix' => 'fa fa-',
                        'class'  => 'form-control-feedback left',
                    ]
                ),
            'options'       => [
                'class' => 'col-sm-6 col-xs-12 has-feedback item',
            ],
            'inputOptions'  => [
                'class'       => 'form-control has-feedback-left',
                'placeholder' => $userData->getAttributeLabel('email'),
            ],
            'errorOptions'  => [
                'class' => 'help-block alert',
            ],
        ]
    )
              ->label(false)
              ->textInput();
    echo $form->field(
        $userData,
        'phone',
        [
            'inputTemplate' => '{input}' . Html::icon(
                    'phone',
                    [
                        'prefix' => 'fa fa-',
                        'class'  => 'form-control-feedback right',
                    ]
                ),
            'options'       => [
                'class' => 'col-sm-6 col-xs-12 has-feedback item',
            ],
            'inputOptions'  => [
                'placeholder' => '+38(000)000-00-00',
            ],
            'errorOptions'  => [
                'class' => 'help-block alert',
            ],
        ]
    )
              ->label(false)
              ->textInput();
    echo Html::tag(
        'div',
        '',
        [
            'class' => 'clearfix',
        ]
    );
    echo Html::submitButton(
        \Yii::t('core', 'Submit'),
        [
            'class' => 'btn btn-default col-xs-4 col-sm-3 col-md-2 personal_info_submit_button',
        ]
    );
    echo Html::tag(
        'div',
        '',
        [
            'class' => 'clearfix',
        ]
    );
    $form::end();
    echo Html::tag('hr');
    echo Html::tag(
        'p',
        \Yii::t(
            'core',
            'Registered on {date}',
            [
                'date' => \Yii::$app->formatter->asDate($userData->created_at),
            ]
        ),
        [
            'class' => 'small col-xs-6',
        ]
    );
    echo Html::tag(
        'p',
        \Yii::t(
            'core',
            'Last update on {date}',
            [
                'date' => \Yii::$app->formatter->asDatetime($userData->updated_at, 'php:d.m.Y H:i'),
            ]
        ),
        [
            'class' => 'small col-xs-6 text-right',
        ]
    );