浏览代码

Change crumbs

To show subscription status
Visman 4 年之前
父节点
当前提交
0cf15633af

+ 8 - 0
app/Models/Forum/Model.php

@@ -30,6 +30,14 @@ class Model extends DataModel
         return $this->c->forums->get($this->parent_forum_id);
     }
 
+    /**
+     * Возвращает название раздела
+     */
+    protected function getname(): ?string
+    {
+        return $this->forum_name;
+    }
+
     /**
      * Статус возможности создания новой темы
      *

+ 4 - 17
app/Models/Page.php

@@ -460,25 +460,12 @@ abstract class Page extends Model
             // модель
             if ($crumb instanceof Model) {
                 do {
-                    // для поиска
-                    if (isset($crumb->name)) {
-                        $name = $crumb->name;
-                    // для раздела
-                    } elseif (isset($crumb->forum_name)) {
-                        $name = $crumb->forum_name;
-                    // для темы
-                    } elseif (isset($crumb->subject)) {
-                        $name = $crumb->censorSubject;
-                    // все остальное
-                    } else {
-                        $name = 'no name';
-                    }
-
-                    $result[] = [$crumb->link, $name, $active];
+                    $name     = $crumb->name ?? '<no name>';
+                    $result[] = [$crumb, $name, $active];
                     $active   = null;
 
                     if ($crumb->page > 1) {
-                        $name .= ' ' . __('Page %s', $crumb->page);
+                        $name .= __(' Page %s', $crumb->page);
                     }
 
                     $this->titles = $name;
@@ -489,7 +476,7 @@ abstract class Page extends Model
                 \is_array($crumb)
                 && isset($crumb[0], $crumb[1])
             ) {
-                $result[]     = [$crumb[0], $crumb[1], $active];
+                $result[]     = [$crumb[0], (string) $crumb[1], $active];
                 $this->titles = $crumb[1];
             // строка
             } else {

+ 8 - 0
app/Models/Topic/Model.php

@@ -49,6 +49,14 @@ class Model extends DataModel
         }
     }
 
+    /**
+     * Возвращает отцензурированное название темы
+     */
+    protected function getname(): ?string
+    {
+        return $this->censorSubject;
+    }
+
     /**
      * Статус возможности ответа в теме
      *

+ 2 - 2
app/lang/en/common.po

@@ -218,8 +218,8 @@ msgstr[1] "<b>%s</b> Views"
 msgid "Pages"
 msgstr "Pages:"
 
-msgid "Page %s"
-msgstr "(Page %s)"
+msgid " Page %s"
+msgstr " (Page %s)"
 
 msgid "Page %1$s of %2$s"
 msgstr "Page %1$s of %2$s ·"

+ 2 - 2
app/lang/ru/common.po

@@ -220,8 +220,8 @@ msgstr[2] "<b>%s</b> Просмотров"
 msgid "Pages"
 msgstr "Страницы"
 
-msgid "Page %s"
-msgstr "(Страница %s)"
+msgid " Page %s"
+msgstr " (Страница %s)"
 
 msgid "Page %1$s of %2$s"
 msgstr "Страница %1$s из %2$s ·"

+ 1 - 13
app/templates/email.forkbb.php

@@ -1,16 +1,4 @@
-@section ('crumbs')
-      <ul class="f-crumbs">
-    @foreach ($p->crumbs as $cur)
-        <li class="f-crumb"><!-- inline -->
-        @if ($cur[0])
-          <a href="{!! $cur[0] !!}" @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</a>
-        @else
-          <span @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</span>
-        @endif
-        </li><!-- endinline -->
-    @endforeach
-      </ul>
-@endsection
+@include ('layouts/crumbs')
 @extends ('layouts/main')
     <div class="f-nav-links">
 @yield ('crumbs')

+ 1 - 13
app/templates/forum.forkbb.php

@@ -1,16 +1,4 @@
-@section ('crumbs')
-      <ul class="f-crumbs">
-    @foreach ($p->crumbs as $cur)
-        <li class="f-crumb"><!-- inline -->
-        @if ($cur[0])
-          <a href="{!! $cur[0] !!}" @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</a>
-        @else
-          <span @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</span>
-        @endif
-        </li><!-- endinline -->
-    @endforeach
-      </ul>
-@endsection
+@include ('layouts/crumbs')
 @section ('pagination')
     @if ($p->model->pagination)
         <nav class="f-pages">

+ 1 - 13
app/templates/layouts/admin.forkbb.php

@@ -1,16 +1,4 @@
-@section ('crumbs')
-      <ul class="f-crumbs">
-    @foreach ($p->crumbs as $cur)
-        <li class="f-crumb"><!-- inline -->
-        @if ($cur[0])
-          <a href="{!! $cur[0] !!}" @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</a>
-        @else
-          <span @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</span>
-        @endif
-        </li><!-- endinline -->
-    @endforeach
-      </ul>
-@endsection
+@include ('layouts/crumbs')
 @extends ('layouts/main')
     <div class="f-nav-links f-nav-admin{!! $p->mainSuffix or '' !!}-links">
 @yield ('crumbs')

+ 19 - 0
app/templates/layouts/crumbs.forkbb.php

@@ -0,0 +1,19 @@
+@section ('crumbs')
+      <ul class="f-crumbs">
+    @foreach ($p->crumbs as $cur)
+        @if (\is_object($cur[0]))
+        <li class="f-crumb @if ($cur[0]->is_subscribed) f-subscribed @endif"><!-- inline -->
+          <a href="{!! $cur[0]->link !!}" @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</a>
+        </li><!-- endinline -->
+        @else
+        <li class="f-crumb"><!-- inline -->
+            @if ($cur[0])
+          <a href="{!! $cur[0] !!}" @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</a>
+            @else
+          <span @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</span>
+            @endif
+        </li><!-- endinline -->
+        @endif
+    @endforeach
+      </ul>
+@endsection

+ 1 - 13
app/templates/moderate.forkbb.php

@@ -1,16 +1,4 @@
-@section ('crumbs')
-      <ul class="f-crumbs">
-    @foreach ($p->crumbs as $cur)
-        <li class="f-crumb"><!-- inline -->
-        @if ($cur[0])
-          <a href="{!! $cur[0] !!}" @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</a>
-        @else
-          <span @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</span>
-        @endif
-        </li><!-- endinline -->
-    @endforeach
-      </ul>
-@endsection
+@include ('layouts/crumbs')
 @extends ('layouts/main')
     <div class="f-nav-links">
 @yield ('crumbs')

+ 1 - 13
app/templates/post.forkbb.php

@@ -1,16 +1,4 @@
-@section ('crumbs')
-      <ul class="f-crumbs">
-    @foreach ($p->crumbs as $cur)
-        <li class="f-crumb"><!-- inline -->
-        @if ($cur[0])
-          <a href="{!! $cur[0] !!}" @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</a>
-        @else
-          <span @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</span>
-        @endif
-        </li><!-- endinline -->
-    @endforeach
-      </ul>
-@endsection
+@include ('layouts/crumbs')
 @extends ('layouts/main')
     <div class="f-nav-links">
 @yield ('crumbs')

+ 1 - 13
app/templates/profile.forkbb.php

@@ -1,16 +1,4 @@
-@section ('crumbs')
-      <ul class="f-crumbs">
-    @foreach ($p->crumbs as $cur)
-        <li class="f-crumb"><!-- inline -->
-        @if ($cur[0])
-          <a href="{!! $cur[0] !!}" @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</a>
-        @else
-          <span @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</span>
-        @endif
-        </li><!-- endinline -->
-    @endforeach
-      </ul>
-@endsection
+@include ('layouts/crumbs')
 @section ('avatar')<img class="f-avatar-img" src="{!! $p->curUser->avatar !!}" alt="{{ $p->curUser->username }}"> @endsection
 @section ('signature') @if ($p->signatureSection){!! $p->curUser->htmlSign !!} @endif @endsection
 @extends ('layouts/main')

+ 1 - 13
app/templates/report.forkbb.php

@@ -1,16 +1,4 @@
-@section ('crumbs')
-      <ul class="f-crumbs">
-    @foreach ($p->crumbs as $cur)
-        <li class="f-crumb"><!-- inline -->
-        @if ($cur[0])
-          <a href="{!! $cur[0] !!}" @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</a>
-        @else
-          <span @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</span>
-        @endif
-        </li><!-- endinline -->
-    @endforeach
-      </ul>
-@endsection
+@include ('layouts/crumbs')
 @extends ('layouts/main')
     <div class="f-nav-links">
 @yield ('crumbs')

+ 1 - 13
app/templates/rules.forkbb.php

@@ -1,16 +1,4 @@
-@section ('crumbs')
-      <ul class="f-crumbs">
-    @foreach ($p->crumbs as $cur)
-        <li class="f-crumb"><!-- inline -->
-        @if ($cur[0])
-          <a href="{!! $cur[0] !!}" @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</a>
-        @else
-          <span @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</span>
-        @endif
-        </li><!-- endinline -->
-    @endforeach
-      </ul>
-@endsection
+@include ('layouts/crumbs')
 @extends ('layouts/main')
     <div class="f-nav-links">
 @yield ('crumbs')

+ 1 - 13
app/templates/search.forkbb.php

@@ -1,16 +1,4 @@
-@section ('crumbs')
-      <ul class="f-crumbs">
-    @foreach ($p->crumbs as $cur)
-        <li class="f-crumb"><!-- inline -->
-        @if ($cur[0])
-          <a href="{!! $cur[0] !!}" @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</a>
-        @else
-          <span @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</span>
-        @endif
-        </li><!-- endinline -->
-    @endforeach
-      </ul>
-@endsection
+@include ('layouts/crumbs')
 @extends ('layouts/main')
     <div class="f-nav-links">
 @yield ('crumbs')

+ 1 - 13
app/templates/topic.forkbb.php

@@ -1,16 +1,4 @@
-@section ('crumbs')
-      <ul class="f-crumbs">
-    @foreach ($p->crumbs as $cur)
-        <li class="f-crumb"><!-- inline -->
-        @if ($cur[0])
-          <a href="{!! $cur[0] !!}" @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</a>
-        @else
-          <span @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</span>
-        @endif
-        </li><!-- endinline -->
-    @endforeach
-      </ul>
-@endsection
+@include ('layouts/crumbs')
 @section ('pagination')
     @if ($p->model->pagination)
         <nav class="f-pages">

+ 1 - 13
app/templates/topic_in_search.forkbb.php

@@ -1,16 +1,4 @@
-@section ('crumbs')
-      <ul class="f-crumbs">
-    @foreach ($p->crumbs as $cur)
-        <li class="f-crumb"><!-- inline -->
-        @if ($cur[0])
-          <a href="{!! $cur[0] !!}" @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</a>
-        @else
-          <span @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</span>
-        @endif
-        </li><!-- endinline -->
-    @endforeach
-      </ul>
-@endsection
+@include ('layouts/crumbs')
 @section ('pagination')
     @if ($p->model->pagination)
         <nav class="f-pages">

+ 1 - 13
app/templates/userlist.forkbb.php

@@ -1,16 +1,4 @@
-@section ('crumbs')
-      <ul class="f-crumbs">
-    @foreach ($p->crumbs as $cur)
-        <li class="f-crumb"><!-- inline -->
-        @if ($cur[0])
-          <a href="{!! $cur[0] !!}" @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</a>
-        @else
-          <span @if ($cur[2]) class="active" @endif>{{ $cur[1] }}</span>
-        @endif
-        </li><!-- endinline -->
-    @endforeach
-      </ul>
-@endsection
+@include ('layouts/crumbs')
 @section ('pagination')
     @if ($p->pagination)
         <nav class="f-pages">

+ 8 - 0
public/style/ForkBB/style.css

@@ -826,6 +826,14 @@ body,
   content: "/ ";
 }
 
+#fork .f-subscribed > a:after {
+  font-family: "FontAwesomeFree";
+  font-weight: 900;
+  content: "\f06e";
+  /* font-size: 0.875rem; */
+  padding-left: 0.3125rem;
+}
+
 #fork .f-crumb a:not(.active) {
   border-bottom: 0.0625rem solid;
 }