diff --git a/app/Controllers/Routing.php b/app/Controllers/Routing.php index 0278aecb..c0634f4e 100644 --- a/app/Controllers/Routing.php +++ b/app/Controllers/Routing.php @@ -80,10 +80,14 @@ class Routing $r->add('GET', '/userlist[/{sort:username|registered|num_posts}/{dir:ASC|DESC}/{group:\-1|[1-9]\d*}/{name}][/{page:[1-9]\d*}]', 'Userlist:view', 'Userlist'); $r->add('POST', '/userlist', 'Userlist:view'); // юзеры - $r->add('GET', '/user/{id:[2-9]|[1-9]\d+}/{name}', 'Profile:view', 'User'); //???? + $r->add('GET', '/user/{id:[2-9]|[1-9]\d+}/{name}', 'Profile:view', 'User'); + $r->add(['GET', 'POST'], '/user/{id:[2-9]|[1-9]\d+}/edit/profile', 'Profile:profile', 'EditUserProfile'); + $r->add(['GET', 'POST'], '/user/{id:[2-9]|[1-9]\d+}/edit/settings', 'Profile:settings', 'EditUserSettings'); } elseif (! $user->isGuest) { // только свой профиль - $r->add('GET', '/user/{id:' . $user->id . '}/{name}', 'Profile:view', 'User'); + $r->add('GET', '/user/{id:' . $user->id . '}/{name}', 'Profile:view', 'User'); + $r->add(['GET', 'POST'], '/user/{id:' . $user->id . '}/edit/profile', 'Profile:profile', 'EditUserProfile'); + $r->add(['GET', 'POST'], '/user/{id:' . $user->id . '}/edit/settings', 'Profile:settings', 'EditUserSettings'); } // пометка разделов прочитанными if (! $user->isGuest) { diff --git a/app/Models/Pages/Profile.php b/app/Models/Pages/Profile.php index 7047496a..0c8f0c92 100644 --- a/app/Models/Pages/Profile.php +++ b/app/Models/Pages/Profile.php @@ -258,6 +258,9 @@ class Profile extends Page $this->form = $form; $this->curUser = $curUser; + $this->linkEditProfile = $this->c->Router->link('EditUserProfile', ['id' => $curUser->id]); + $this->linkEditSettings = $this->c->Router->link('EditUserSettings', ['id' => $curUser->id]); + return $this; } } diff --git a/app/lang/English/profile.po b/app/lang/English/profile.po index 24fd0ab6..0df7d85d 100644 --- a/app/lang/English/profile.po +++ b/app/lang/English/profile.po @@ -386,3 +386,9 @@ msgstr "Gender" msgid "Unknown" msgstr "Unknown" + +msgid "Edit profile" +msgstr "Edit" + +msgid "Edit settings" +msgstr "Settings" diff --git a/app/lang/Russian/profile.po b/app/lang/Russian/profile.po index f6de9788..bb537488 100644 --- a/app/lang/Russian/profile.po +++ b/app/lang/Russian/profile.po @@ -386,3 +386,9 @@ msgstr "Пол" msgid "Unknown" msgstr "Неизвестно" + +msgid "Edit profile" +msgstr "Редактировать" + +msgid "Edit settings" +msgstr "Настройки" diff --git a/app/templates/profile.forkbb.php b/app/templates/profile.forkbb.php index db535c88..501ddc54 100644 --- a/app/templates/profile.forkbb.php +++ b/app/templates/profile.forkbb.php @@ -16,6 +16,18 @@ @extends ('layouts/main')