2018-03-08
This commit is contained in:
parent
fd7188cdd0
commit
a89b78391f
16 changed files with 680 additions and 34 deletions
|
@ -82,6 +82,10 @@ class Routing
|
|||
// юзеры
|
||||
$r->add('GET', '/user/{id:[1-9]\d*}/{name}', 'Profile:view', 'User'); //????
|
||||
}
|
||||
// пометка разделов прочитанными
|
||||
if (! $user->isGuest) {
|
||||
$r->add('GET', '/forum/{id:\d+}/markread/{token}', 'Misc:markread', 'MarkRead');
|
||||
}
|
||||
|
||||
// разделы
|
||||
$r->add('GET', '/forum/{id:[1-9]\d*}/{name}[/{page:[1-9]\d*}]', 'Forum:view', 'Forum' );
|
||||
|
|
67
app/Models/Forum/Markread.php
Normal file
67
app/Models/Forum/Markread.php
Normal file
|
@ -0,0 +1,67 @@
|
|||
<?php
|
||||
|
||||
namespace ForkBB\Models\Forum;
|
||||
|
||||
use ForkBB\Models\Action;
|
||||
use ForkBB\Models\Forum\Model as Forum;
|
||||
use ForkBB\Models\User\Model as User;
|
||||
use RuntimeException;
|
||||
|
||||
class Markread extends Action
|
||||
{
|
||||
/**
|
||||
* Пометка всех тем/разделов прочитанными
|
||||
*
|
||||
* @param Forum $forum
|
||||
*
|
||||
* @throws RuntimeException
|
||||
*
|
||||
* @return Forum
|
||||
*/
|
||||
public function markread(Forum $forum, User $user)
|
||||
{
|
||||
if ($user->isGuest) {
|
||||
throw new RuntimeException('Expected user, not guest');
|
||||
}
|
||||
|
||||
if (0 === $forum->id) {
|
||||
$user->u_mark_all_read = time();
|
||||
|
||||
$this->c->users->update($user);
|
||||
|
||||
$vars = [
|
||||
':uid' => $user->id,
|
||||
];
|
||||
$sql = 'DELETE FROM ::mark_of_topic WHERE uid=?i:uid';
|
||||
$this->c->DB->exec($sql, $vars);
|
||||
|
||||
$sql = 'DELETE FROM ::mark_of_forum WHERE uid=?i:uid';
|
||||
$this->c->DB->exec($sql, $vars);
|
||||
} elseif ($forum->id > 0) {
|
||||
$vars = [
|
||||
':uid' => $user->id,
|
||||
':fid' => $forum->id,
|
||||
':mark' => time(),
|
||||
];
|
||||
$sql = 'DELETE FROM ::mark_of_topic
|
||||
WHERE uid=?i:uid AND tid IN (
|
||||
SELECT id
|
||||
FROM ::topics
|
||||
WHERE forum_id=?i:fid
|
||||
)';
|
||||
$this->c->DB->exec($sql, $vars);
|
||||
|
||||
if ($user->mf_mark_all_read) { // ????
|
||||
$sql = 'UPDATE ::mark_of_forum
|
||||
SET mf_mark_all_read=?i:mark
|
||||
WHERE uid=?i:uid AND fid=?i:fid';
|
||||
} else { // ????
|
||||
$sql = 'INSERT INTO ::mark_of_forum (uid, fid, mf_mark_all_read)
|
||||
VALUES (?i:uid, ?i:fid, ?i:mark)';
|
||||
}
|
||||
$this->c->DB->exec($sql, $vars);
|
||||
} else {
|
||||
throw new RuntimeException('The model does not have ID');
|
||||
}
|
||||
}
|
||||
}
|
|
@ -27,7 +27,7 @@ class Model extends DataModel
|
|||
|
||||
/**
|
||||
* Статус возможности создания новой темы
|
||||
*
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function getcanCreateTopic()
|
||||
|
@ -39,6 +39,16 @@ class Model extends DataModel
|
|||
|| $user->isModerator($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Статус возможности пометки всех тем прочтенными
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function getcanMarkRead()
|
||||
{
|
||||
return ! $this->c->user->isGuest; // ????
|
||||
}
|
||||
|
||||
/**
|
||||
* Получение массива подразделов
|
||||
*
|
||||
|
@ -78,7 +88,11 @@ class Model extends DataModel
|
|||
*/
|
||||
protected function getlink()
|
||||
{
|
||||
return $this->c->Router->link('Forum', ['id' => $this->id, 'name' => $this->forum_name]);
|
||||
if (0 === $this->id) {
|
||||
return $this->c->Router->link('Index');
|
||||
} else {
|
||||
return $this->c->Router->link('Forum', ['id' => $this->id, 'name' => $this->forum_name]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -97,7 +111,7 @@ class Model extends DataModel
|
|||
|
||||
/**
|
||||
* Ссылка на создание новой темы
|
||||
*
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function getlinkCreateTopic()
|
||||
|
@ -105,6 +119,19 @@ class Model extends DataModel
|
|||
return $this->c->Router->link('NewTopic', ['id' => $this->id]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ссылка на пометку всех тем прочтенными
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function getlinkMarkRead()
|
||||
{
|
||||
return $this->c->Router->link('MarkRead', [
|
||||
'id' => $this->id,
|
||||
'token' => $this->c->Csrf->create('MarkRead', ['id' => $this->id]),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Получение массива модераторов
|
||||
*
|
||||
|
|
|
@ -46,6 +46,13 @@ class Index extends Page
|
|||
$this->online = $this->c->Online->calc($this)->info();
|
||||
$this->categoryes = $ctgs;
|
||||
|
||||
if (! $this->user->isGuest) {
|
||||
$this->linkMarkRead = $this->c->Router->link('MarkRead', [
|
||||
'id' => 0,
|
||||
'token' => $this->c->Csrf->create('MarkRead', ['id' => 0]),
|
||||
]);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
|
39
app/Models/Pages/Misc.php
Normal file
39
app/Models/Pages/Misc.php
Normal file
|
@ -0,0 +1,39 @@
|
|||
<?php
|
||||
|
||||
namespace ForkBB\Models\Pages;
|
||||
|
||||
use ForkBB\Models\Page;
|
||||
|
||||
class Misc extends Page
|
||||
{
|
||||
/**
|
||||
* Пометка раздела прочитанным
|
||||
*
|
||||
* @param array $args
|
||||
*
|
||||
* @return Page
|
||||
*/
|
||||
public function markread(array $args)
|
||||
{
|
||||
$forum = $this->c->forums->loadTree($args['id']);
|
||||
if (null === $forum) {
|
||||
return $this->c->Message->message('Bad request');
|
||||
}
|
||||
|
||||
if (! $this->c->Csrf->verify($args['token'], 'MarkRead', $args)) {
|
||||
return $this->c->Redirect->url($forum->link)->message('Bad token');
|
||||
}
|
||||
|
||||
$this->c->DB->beginTransaction();
|
||||
|
||||
$this->c->forums->markread($forum, $this->user); // ???? флуд интервал?
|
||||
|
||||
$this->c->DB->commit();
|
||||
|
||||
$this->c->Lang->load('misc');
|
||||
|
||||
$message = $forum->id ? 'Mark forum read redirect' : 'Mark read redirect';
|
||||
|
||||
return $this->c->Redirect->url($forum->link)->message($message);
|
||||
}
|
||||
}
|
|
@ -8,20 +8,20 @@ class Redirect extends Page
|
|||
{
|
||||
/**
|
||||
* Перенаправление на главную страницу форума
|
||||
*
|
||||
*
|
||||
* @return Page
|
||||
*/
|
||||
public function toIndex()
|
||||
{
|
||||
return $this->page('Index')->message(\ForkBB\__('Redirecting to index'));
|
||||
return $this->page('Index')->message('Redirecting to index');
|
||||
}
|
||||
|
||||
/**
|
||||
* Задает адрес перехода
|
||||
*
|
||||
*
|
||||
* @param string $marker
|
||||
* @param array $args
|
||||
*
|
||||
*
|
||||
* @return Page
|
||||
*/
|
||||
public function page($marker, array $args = [])
|
||||
|
@ -32,9 +32,9 @@ class Redirect extends Page
|
|||
|
||||
/**
|
||||
* Задает ссылку для перехода
|
||||
*
|
||||
*
|
||||
* @param string $url
|
||||
*
|
||||
*
|
||||
* @return Page
|
||||
*/
|
||||
public function url($url)
|
||||
|
@ -45,9 +45,9 @@ class Redirect extends Page
|
|||
|
||||
/**
|
||||
* Задает сообщение
|
||||
*
|
||||
*
|
||||
* @param string $message
|
||||
*
|
||||
*
|
||||
* @return Page
|
||||
*/
|
||||
public function message($message)
|
||||
|
@ -69,7 +69,7 @@ class Redirect extends Page
|
|||
/**
|
||||
* Возвращает HTTP заголовки страницы
|
||||
* $this->httpHeaders
|
||||
*
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function getHttpHeaders()
|
||||
|
|
|
@ -135,6 +135,7 @@ return [
|
|||
'Maintenance' => \ForkBB\Models\Pages\Maintenance::class,
|
||||
'Ban' => \ForkBB\Models\Pages\Ban::class,
|
||||
'Debug' => \ForkBB\Models\Pages\Debug::class,
|
||||
'Misc' => \ForkBB\Models\Pages\Misc::class,
|
||||
'AdminIndex' => \ForkBB\Models\Pages\Admin\Index::class,
|
||||
'AdminStatistics' => \ForkBB\Models\Pages\Admin\Statistics::class,
|
||||
'AdminOptions' => \ForkBB\Models\Pages\Admin\Options::class,
|
||||
|
@ -193,6 +194,7 @@ return [
|
|||
'ForumManagerLoadTree' => \ForkBB\Models\Forum\LoadTree::class,
|
||||
'ForumManagerSave' => \ForkBB\Models\Forum\Save::class,
|
||||
'ForumManagerDelete' => \ForkBB\Models\Forum\Delete::class,
|
||||
'ForumManagerMarkread' => \ForkBB\Models\Forum\Markread::class,
|
||||
|
||||
'TopicModel' => \ForkBB\Models\Topic\Model::class,
|
||||
'TopicModelCalcStat' => \ForkBB\Models\Topic\CalcStat::class,
|
||||
|
|
|
@ -346,12 +346,6 @@ msgstr "Find topics with no replies."
|
|||
msgid "Show posted topics"
|
||||
msgstr "Find topics you have posted to."
|
||||
|
||||
msgid "Mark all as read"
|
||||
msgstr "Mark all topics as read"
|
||||
|
||||
msgid "Mark forum read"
|
||||
msgstr "Mark this forum as read"
|
||||
|
||||
msgid "Title separator"
|
||||
msgstr " - "
|
||||
|
||||
|
|
235
app/lang/English/misc.po
Normal file
235
app/lang/English/misc.po
Normal file
|
@ -0,0 +1,235 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"Project-Id-Version: ForkBB\n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: ForkBB <mio.visman@yandex.ru>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: en\n"
|
||||
|
||||
msgid "Mark read redirect"
|
||||
msgstr "All topics and forums have been marked as read. Redirecting …"
|
||||
|
||||
msgid "Mark forum read redirect"
|
||||
msgstr "All topics in the specified forum have been marked as read. Redirecting …"
|
||||
|
||||
msgid "Form email disabled"
|
||||
msgstr "The user you are trying to send an email to has disabled form email."
|
||||
|
||||
msgid "No email subject"
|
||||
msgstr "You must enter a subject."
|
||||
|
||||
msgid "No email message"
|
||||
msgstr "You must enter a message."
|
||||
|
||||
msgid "Too long email message"
|
||||
msgstr "Messages cannot be longer than 65535 characters (64 KB)."
|
||||
|
||||
msgid "Email flood"
|
||||
msgstr "At least %s seconds have to pass between sent emails. Please wait %s seconds and try sending again."
|
||||
|
||||
msgid "Email sent redirect"
|
||||
msgstr "Email sent. Redirecting …"
|
||||
|
||||
msgid "Send email to"
|
||||
msgstr "Send email to"
|
||||
|
||||
msgid "Email subject"
|
||||
msgstr "Subject"
|
||||
|
||||
msgid "Email message"
|
||||
msgstr "Message"
|
||||
|
||||
msgid "Email disclosure note"
|
||||
msgstr "Please note that by using this form, your email address will be disclosed to the recipient."
|
||||
|
||||
msgid "Write email"
|
||||
msgstr "Write and submit your email message"
|
||||
|
||||
msgid "No reason"
|
||||
msgstr "You must enter a reason."
|
||||
|
||||
msgid "Reason too long"
|
||||
msgstr "Your message must be under 65535 bytes (~64kb)."
|
||||
|
||||
msgid "Report flood"
|
||||
msgstr "At least %s seconds have to pass between reports. Please wait %s seconds and try sending again."
|
||||
|
||||
msgid "Report redirect"
|
||||
msgstr "Post reported. Redirecting …"
|
||||
|
||||
msgid "Report post"
|
||||
msgstr "Report post"
|
||||
|
||||
msgid "Reason"
|
||||
msgstr "Reason"
|
||||
|
||||
msgid "Reason desc"
|
||||
msgstr "Please enter a short reason why you are reporting this post"
|
||||
|
||||
msgid "Already subscribed topic"
|
||||
msgstr "You are already subscribed to this topic."
|
||||
|
||||
msgid "Already subscribed forum"
|
||||
msgstr "You are already subscribed to this forum."
|
||||
|
||||
msgid "Subscribe redirect"
|
||||
msgstr "Your subscription has been added. Redirecting …"
|
||||
|
||||
msgid "Not subscribed topic"
|
||||
msgstr "You are not subscribed to this topic."
|
||||
|
||||
msgid "Not subscribed forum"
|
||||
msgstr "You are not subscribed to this forum."
|
||||
|
||||
msgid "Unsubscribe redirect"
|
||||
msgstr "Your subscription has been removed. Redirecting …"
|
||||
|
||||
msgid "Moderate"
|
||||
msgstr "Moderate"
|
||||
|
||||
msgid "Select"
|
||||
msgstr "Select"
|
||||
|
||||
msgid "Move"
|
||||
msgstr "Move"
|
||||
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
|
||||
msgid "Delete"
|
||||
msgstr "Delete"
|
||||
|
||||
msgid "Merge"
|
||||
msgstr "Merge"
|
||||
|
||||
msgid "Lang changed"
|
||||
msgstr "Language is changed. Redirecting …"
|
||||
|
||||
msgid "Open"
|
||||
msgstr "Open"
|
||||
|
||||
msgid "Close"
|
||||
msgstr "Close"
|
||||
|
||||
msgid "Move topic"
|
||||
msgstr "Move topic"
|
||||
|
||||
msgid "Move topics"
|
||||
msgstr "Move topics"
|
||||
|
||||
msgid "Move legend"
|
||||
msgstr "Select destination of move"
|
||||
|
||||
msgid "Move to"
|
||||
msgstr "Move to"
|
||||
|
||||
msgid "Nowhere to move"
|
||||
msgstr "There are no forums into which you can move topics."
|
||||
|
||||
msgid "Leave redirect"
|
||||
msgstr "Leave redirect topic(s)"
|
||||
|
||||
msgid "Move topic redirect"
|
||||
msgstr "Topic moved. Redirecting …"
|
||||
|
||||
msgid "Move topics redirect"
|
||||
msgstr "Topics moved. Redirecting …"
|
||||
|
||||
msgid "Confirm delete legend"
|
||||
msgstr "Please confirm deletion"
|
||||
|
||||
msgid "Delete topics"
|
||||
msgstr "Delete topics"
|
||||
|
||||
msgid "Delete topics comply"
|
||||
msgstr "Are you sure you want to delete the selected topics?"
|
||||
|
||||
msgid "Delete topics redirect"
|
||||
msgstr "Topics deleted. Redirecting …"
|
||||
|
||||
msgid "Open topic redirect"
|
||||
msgstr "Topic opened. Redirecting …"
|
||||
|
||||
msgid "Open topics redirect"
|
||||
msgstr "Topics opened. Redirecting …"
|
||||
|
||||
msgid "Close topic redirect"
|
||||
msgstr "Topic closed. Redirecting …"
|
||||
|
||||
msgid "Close topics redirect"
|
||||
msgstr "Topics closed. Redirecting …"
|
||||
|
||||
msgid "No topics selected"
|
||||
msgstr "You must select at least one topic for move/delete/open/close."
|
||||
|
||||
msgid "Not enough topics selected"
|
||||
msgstr "You must select at least two topics for merge."
|
||||
|
||||
msgid "Stick topic redirect"
|
||||
msgstr "Topic sticked. Redirecting …"
|
||||
|
||||
msgid "Unstick topic redirect"
|
||||
msgstr "Topic unsticked. Redirecting …"
|
||||
|
||||
msgid "Merge topics"
|
||||
msgstr "Merge topics"
|
||||
|
||||
msgid "Merge topics redirect"
|
||||
msgstr "Topics merged. Redirecting …"
|
||||
|
||||
msgid "Confirm merge legend"
|
||||
msgstr "Please confirm merge"
|
||||
|
||||
msgid "New subject"
|
||||
msgstr "New subject"
|
||||
|
||||
msgid "Confirm split legend"
|
||||
msgstr "Please confirm split of selected posts and select destination of move."
|
||||
|
||||
msgid "Split posts"
|
||||
msgstr "Split posts"
|
||||
|
||||
msgid "Split posts comply"
|
||||
msgstr "Are you sure you want to split the selected posts?"
|
||||
|
||||
msgid "Split posts redirect"
|
||||
msgstr "Posts have been split. Redirecting …"
|
||||
|
||||
msgid "Delete posts"
|
||||
msgstr "Delete posts"
|
||||
|
||||
msgid "Cannot select first"
|
||||
msgstr "First post cannot be selected for split/delete."
|
||||
|
||||
msgid "Delete posts comply"
|
||||
msgstr "Are you sure you want to delete the selected posts?"
|
||||
|
||||
msgid "Delete posts redirect"
|
||||
msgstr "Posts deleted. Redirecting …"
|
||||
|
||||
msgid "No posts selected"
|
||||
msgstr "You must select at least one post for split/delete."
|
||||
|
||||
msgid "Host info 1"
|
||||
msgstr "The IP address is: %s"
|
||||
|
||||
msgid "Host info 2"
|
||||
msgstr "The host name is: %s"
|
||||
|
||||
msgid "Show more users"
|
||||
msgstr "Show more users for this IP"
|
||||
|
||||
msgid "Move posts"
|
||||
msgstr "Move posts"
|
||||
|
||||
msgid "Move posts redirect"
|
||||
msgstr "Posts moved. Redirecting …"
|
||||
|
||||
msgid "Post from topic"
|
||||
msgstr "This post is moved from topic"
|
|
@ -35,3 +35,12 @@ msgstr[1] "<strong>%s</strong> Posts"
|
|||
|
||||
msgid "Moderated by"
|
||||
msgstr "Moderated by"
|
||||
|
||||
msgid "Mark all as read"
|
||||
msgstr "Mark all topics as read"
|
||||
|
||||
msgid "Mark forum read"
|
||||
msgstr "Mark this forum as read"
|
||||
|
||||
msgid "All is read"
|
||||
msgstr "All is read"
|
||||
|
|
|
@ -348,12 +348,6 @@ msgstr "Найти темы без ответов."
|
|||
msgid "Show posted topics"
|
||||
msgstr "Найти темы с вашим участием."
|
||||
|
||||
msgid "Mark all as read"
|
||||
msgstr "Отметить всё как прочтённое"
|
||||
|
||||
msgid "Mark forum read"
|
||||
msgstr "Отметить раздел как прочтённый"
|
||||
|
||||
msgid "Title separator"
|
||||
msgstr " - "
|
||||
|
||||
|
|
235
app/lang/Russian/misc.po
Normal file
235
app/lang/Russian/misc.po
Normal file
|
@ -0,0 +1,235 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"Project-Id-Version: ForkBB\n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: ForkBB <mio.visman@yandex.ru>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ru\n"
|
||||
|
||||
msgid "Mark read redirect"
|
||||
msgstr "Все темы и разделы помечены прочитанными. Переадресация …"
|
||||
|
||||
msgid "Mark forum read redirect"
|
||||
msgstr "Все темы выбранного раздела помечены прочитанными. Переадресация …"
|
||||
|
||||
msgid "Form email disabled"
|
||||
msgstr "Пользователь, которому вы пытаетесь отправить письмо, отключил такую возможность."
|
||||
|
||||
msgid "No email subject"
|
||||
msgstr "Вы должны ввести заголовок."
|
||||
|
||||
msgid "No email message"
|
||||
msgstr "Вы должны ввести текст письма."
|
||||
|
||||
msgid "Too long email message"
|
||||
msgstr "Сообщение должно быть не длиннее 65535 символов (64 KB)."
|
||||
|
||||
msgid "Email flood"
|
||||
msgstr "По крайней мере %s секунд должно пройти между отправками писем. Пожалуйста, подождите %s секунд и попробуйте снова."
|
||||
|
||||
msgid "Email sent redirect"
|
||||
msgstr "Письмо отправлено. Переадресация …"
|
||||
|
||||
msgid "Send email to"
|
||||
msgstr "Отправить сообщение для"
|
||||
|
||||
msgid "Email subject"
|
||||
msgstr "Заголовок"
|
||||
|
||||
msgid "Email message"
|
||||
msgstr "Сообщение"
|
||||
|
||||
msgid "Email disclosure note"
|
||||
msgstr "Имейте в виду, что ваш почтовый адрес будет виден получателю письма."
|
||||
|
||||
msgid "Write email"
|
||||
msgstr "Форма для составления и отправки письма"
|
||||
|
||||
msgid "No reason"
|
||||
msgstr "Пожалуйста, введите причину."
|
||||
|
||||
msgid "Reason too long"
|
||||
msgstr "Ваше сообщение не должно превышать 65535 байт (~64Кб)."
|
||||
|
||||
msgid "Report flood"
|
||||
msgstr "По крайней мере %s секунд должно пройти между сигналами. Пожалуйста, подождите %s секунд и попробуйте снова."
|
||||
|
||||
msgid "Report redirect"
|
||||
msgstr "Сигнал отправлен. Переадресация …"
|
||||
|
||||
msgid "Report post"
|
||||
msgstr "Сигнал модератору"
|
||||
|
||||
msgid "Reason"
|
||||
msgstr "Причина обращения"
|
||||
|
||||
msgid "Reason desc"
|
||||
msgstr "Пожалуйста, кратко опишите причину создания этого сигнала (жалобы)"
|
||||
|
||||
msgid "Already subscribed topic"
|
||||
msgstr "Вы уже подписаны на эту тему."
|
||||
|
||||
msgid "Already subscribed forum"
|
||||
msgstr "Вы уже подписаны на этот раздел."
|
||||
|
||||
msgid "Subscribe redirect"
|
||||
msgstr "Подписка добавлена. Переадресация …"
|
||||
|
||||
msgid "Not subscribed topic"
|
||||
msgstr "Вы не подписаны на эту тему."
|
||||
|
||||
msgid "Not subscribed forum"
|
||||
msgstr "Вы не подписаны на этот раздел."
|
||||
|
||||
msgid "Unsubscribe redirect"
|
||||
msgstr "Подписка удалена. Переадресация …"
|
||||
|
||||
msgid "Moderate"
|
||||
msgstr "Модерирование"
|
||||
|
||||
msgid "Select"
|
||||
msgstr "Выбрать"
|
||||
|
||||
msgid "Move"
|
||||
msgstr "Перенести"
|
||||
|
||||
msgid "Split"
|
||||
msgstr "Разделить"
|
||||
|
||||
msgid "Delete"
|
||||
msgstr "Удалить"
|
||||
|
||||
msgid "Merge"
|
||||
msgstr "Объединить"
|
||||
|
||||
msgid "Lang changed"
|
||||
msgstr "Язык изменен. Переадресация …"
|
||||
|
||||
msgid "Open"
|
||||
msgstr "Открыть"
|
||||
|
||||
msgid "Close"
|
||||
msgstr "Закрыть"
|
||||
|
||||
msgid "Move topic"
|
||||
msgstr "Перенос темы"
|
||||
|
||||
msgid "Move topics"
|
||||
msgstr "Перенос тем"
|
||||
|
||||
msgid "Move legend"
|
||||
msgstr "Выберите раздел-получатель"
|
||||
|
||||
msgid "Move to"
|
||||
msgstr "Перенести в"
|
||||
|
||||
msgid "Nowhere to move"
|
||||
msgstr "Нет раздела, куда бы вы могли перенести тему(ы)."
|
||||
|
||||
msgid "Leave redirect"
|
||||
msgstr "Оставить тему(ы) переадресации"
|
||||
|
||||
msgid "Move topic redirect"
|
||||
msgstr "Тема перенесена. Переадресация …"
|
||||
|
||||
msgid "Move topics redirect"
|
||||
msgstr "Темы перенесены. Переадресация …"
|
||||
|
||||
msgid "Confirm delete legend"
|
||||
msgstr "Пожалуйста, подтвердите удаление"
|
||||
|
||||
msgid "Delete topics"
|
||||
msgstr "Удаление тем"
|
||||
|
||||
msgid "Delete topics comply"
|
||||
msgstr "Вы уверены, что хотите удалить отмеченные темы?"
|
||||
|
||||
msgid "Delete topics redirect"
|
||||
msgstr "Темы удалены. Переадресация …"
|
||||
|
||||
msgid "Open topic redirect"
|
||||
msgstr "Тема открыта. Переадресация …"
|
||||
|
||||
msgid "Open topics redirect"
|
||||
msgstr "Темы открыты. Переадресация …"
|
||||
|
||||
msgid "Close topic redirect"
|
||||
msgstr "Тема закрыта. Переадресация …"
|
||||
|
||||
msgid "Close topics redirect"
|
||||
msgstr "Темы закрыты. Переадресация …"
|
||||
|
||||
msgid "No topics selected"
|
||||
msgstr "Вы должны выбрать хотя бы одну тему для переноса/удаления/открытия/закрытия."
|
||||
|
||||
msgid "Not enough topics selected"
|
||||
msgstr "Вы должны выбрать хотя бы две темы для объединения."
|
||||
|
||||
msgid "Stick topic redirect"
|
||||
msgstr "Тема выделена. Переадресация …"
|
||||
|
||||
msgid "Unstick topic redirect"
|
||||
msgstr "Выделение темы снято. Переадресация …"
|
||||
|
||||
msgid "Merge topics"
|
||||
msgstr "Объединение тем"
|
||||
|
||||
msgid "Merge topics redirect"
|
||||
msgstr "Темы объединены. Переадресация …"
|
||||
|
||||
msgid "Confirm merge legend"
|
||||
msgstr "Пожалуйста, подтвердите объединение"
|
||||
|
||||
msgid "New subject"
|
||||
msgstr "Название новой темы"
|
||||
|
||||
msgid "Confirm split legend"
|
||||
msgstr "Пожалуйста, подтвердите разделение выбранных сообщений и укажите место переноса."
|
||||
|
||||
msgid "Split posts"
|
||||
msgstr "Разделение сообщений"
|
||||
|
||||
msgid "Split posts comply"
|
||||
msgstr "Вы уверены, что хотите разделить выбранные сообщения?"
|
||||
|
||||
msgid "Split posts redirect"
|
||||
msgstr "Сообщения разделены. Переадресация …"
|
||||
|
||||
msgid "Delete posts"
|
||||
msgstr "Удаление сообщений"
|
||||
|
||||
msgid "Cannot select first"
|
||||
msgstr "Первое сообщение не может быть выбрано."
|
||||
|
||||
msgid "Delete posts comply"
|
||||
msgstr "Вы уверены, что хотите удалить выбранные сообщения?"
|
||||
|
||||
msgid "Delete posts redirect"
|
||||
msgstr "Сообщения удалены. Переадресация …"
|
||||
|
||||
msgid "No posts selected"
|
||||
msgstr "Вы должны выбрать хотя бы одно сообщение для данного действия."
|
||||
|
||||
msgid "Host info 1"
|
||||
msgstr "IP адрес: %s"
|
||||
|
||||
msgid "Host info 2"
|
||||
msgstr "Имя хоста: %s"
|
||||
|
||||
msgid "Show more users"
|
||||
msgstr "Показать еще информацию по IP"
|
||||
|
||||
msgid "Move posts"
|
||||
msgstr "Перенос сообщений"
|
||||
|
||||
msgid "Move posts redirect"
|
||||
msgstr "Сообщения перенесены. Переадресация …"
|
||||
|
||||
msgid "Post from topic"
|
||||
msgstr "Это сообщение перенесено из темы"
|
|
@ -41,3 +41,12 @@ msgid_plural "Moderated by"
|
|||
msgstr[0] "Модератор:"
|
||||
msgstr[1] "Модераторы:"
|
||||
msgstr[2] "Модераторы:"
|
||||
|
||||
msgid "Mark all as read"
|
||||
msgstr "Отметить все разделы прочитанными"
|
||||
|
||||
msgid "Mark forum read"
|
||||
msgstr "Отметить все темы в этом раздел прочитанными"
|
||||
|
||||
msgid "All is read"
|
||||
msgstr "Всё прочитано"
|
||||
|
|
|
@ -11,13 +11,6 @@
|
|||
@endforeach
|
||||
</ul>
|
||||
@endsection
|
||||
@section ('linknewtopic')
|
||||
@if ($p->model->canCreateTopic)
|
||||
<div class="f-actions-links">
|
||||
<a class="f-btn f-btn-create-topic" href="{!! $p->model->linkCreateTopic !!}">{!! __('Post topic') !!}</a>
|
||||
</div>
|
||||
@endif
|
||||
@endsection
|
||||
@section ('pagination')
|
||||
@if ($p->model->pagination)
|
||||
<nav class="f-pages">
|
||||
|
@ -65,7 +58,11 @@
|
|||
@if ($p->model->canCreateTopic || $p->model->pagination)
|
||||
<div class="f-nlinks-b clearfix">
|
||||
@yield ('pagination')
|
||||
@yield ('linknewtopic')
|
||||
@if ($p->model->canCreateTopic)
|
||||
<div class="f-actions-links">
|
||||
<a class="f-btn f-btn-create-topic" href="{!! $p->model->linkCreateTopic !!}">{!! __('Post topic') !!}</a>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
@ -154,9 +151,18 @@
|
|||
</div>
|
||||
</section>
|
||||
<div class="f-nav-links">
|
||||
@if ($p->model->canCreateTopic || $p->model->pagination)
|
||||
@if ($p->model->canCreateTopic || $p->model->pagination || $p->model->canMarkRead)
|
||||
<div class="f-nlinks-a clearfix">
|
||||
@yield ('linknewtopic')
|
||||
@if ($p->model->canCreateTopic || $p->model->canMarkRead)
|
||||
<div class="f-actions-links">
|
||||
@if ($p->model->canMarkRead)
|
||||
<a class="f-btn f-btn-markread" title="{!! __('Mark forum read') !!}" href="{!! $p->model->linkMarkRead !!}">{!! __('All is read') !!}</a>
|
||||
@endif
|
||||
@if ($p->model->canCreateTopic)
|
||||
<a class="f-btn f-btn-create-topic" href="{!! $p->model->linkCreateTopic !!}">{!! __('Post topic') !!}</a>
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
@yield ('pagination')
|
||||
</div>
|
||||
@endif
|
||||
|
|
|
@ -17,5 +17,14 @@
|
|||
@endforeach
|
||||
</ol>
|
||||
</section>
|
||||
@if ($p->linkMarkRead)
|
||||
<div class="f-nav-links">
|
||||
<div class="f-nlinks clearfix">
|
||||
<div class="f-actions-links">
|
||||
<a class="f-btn f-btn-markread" title="{!! __('Mark all as read') !!}" href="{!! $p->linkMarkRead !!}">{!! __('All is read') !!}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
@include ('layouts/stats')
|
||||
|
|
|
@ -1167,6 +1167,15 @@ select {
|
|||
content: " ]";
|
||||
}
|
||||
|
||||
.f-btn-markread {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.f-btn-markread:focus,
|
||||
.f-btn-markread:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/*
|
||||
.icon-document:before {
|
||||
content: "\e900";
|
||||
|
|
Loading…
Add table
Reference in a new issue