This commit is contained in:
Neerholt 2020-08-10 11:06:41 +02:00
commit 1d8d89d299
4 changed files with 57 additions and 10 deletions

View File

@ -82,7 +82,7 @@ class EventController extends Controller
$news->name = "Ny aktivitet"; $news->name = "Ny aktivitet";
$news->subname = $event->name; $news->subname = $event->name;
$news->content = "<p>" . substr($event->description, 0, 300) . "</p>" . $news->content = "<p>" . $this->closetags(substr($event->description, 0, 300)) . "</p>" .
'<div class="row align-items-center">'. '<div class="row align-items-center">'.
'<a style="width: 33%; margin: 0; padding: 0; font-weight: 700;" class="sde-blue" href="'. route("userevents.create", ["event_id" => $event->id ]) .'">Tilmeld</a>'. '<a style="width: 33%; margin: 0; padding: 0; font-weight: 700;" class="sde-blue" href="'. route("userevents.create", ["event_id" => $event->id ]) .'">Tilmeld</a>'.
'<a style="width: 33%; margin: 0; padding: 0; text-align: center; font-weight: 700;" class="sde-blue" href="'. route("events.show", ["event" => $event->id ]) .'">Læs mere...</a>'. '<a style="width: 33%; margin: 0; padding: 0; text-align: center; font-weight: 700;" class="sde-blue" href="'. route("events.show", ["event" => $event->id ]) .'">Læs mere...</a>'.
@ -179,11 +179,11 @@ class EventController extends Controller
$news->name = "Aktivitet opdateret"; $news->name = "Aktivitet opdateret";
$news->subname = $event->name; $news->subname = $event->name;
$news->content = "<p>" . substr($event->description, 0, 300). "</p>" . $news->content = "<p>" . $this->closetags(substr($event->description, 0, 300)). "</p>" .
'<div class="row align-items-center">'. '<div class="row align-items-center">'.
'<a style="width: 33%; margin: 0; padding: 0; font-weight: 700;" class="sde-blue" href="'. route("userevents.create", ["event_id" => $event->id ]) .'">Tilmeld</a>'. '<a style="width: 33%; margin: 0; padding: 0; font-weight: 700;" class="sde-blue" href="'. route("userevents.create", ["event_id" => $event->id ]) .'">Tilmeld</a>'.
'<a style="width: 33%; margin: 0; padding: 0; text-align: center; font-weight: 700;" class="sde-blue" href="'. route("events.show", ["event" => $event->id ]) .'">Læs mere...</a>'. '<a style="width: 33%; margin: 0; padding: 0; text-align: center; font-weight: 700;" class="sde-blue" href="'. route("events.show", ["event" => $event->id ]) .'">Læs mere...</a>'.
'<a style="width: 33%; margin: 0; padding: 0; text-align: end; font-weight: 700;" class="sde-blue" href="'. route("events.signups", ["event" => $event->id ]) .'">Se deltagere</a>'. '<a style="width: 33%; margin: 0; padding: 0; text-align: end; font-weight: 700;" class="sde-blue" href="'. route("events.accountsignups", ["event" => $event->id ]) .'">Se deltagere</a>'.
'</div>'; '</div>';
$news->save(); $news->save();
} }
@ -263,7 +263,25 @@ class EventController extends Controller
} }
public function closetags($html) {
preg_match_all('#<(?!meta|img|br|hr|input\b)\b([a-z]+)(?: .*)?(?<![/|/ ])>#iU', $html, $result);
$openedtags = $result[1];
preg_match_all('#</([a-z]+)>#iU', $html, $result);
$closedtags = $result[1];
$len_opened = count($openedtags);
if (count($closedtags) == $len_opened) {
return $html;
}
$openedtags = array_reverse($openedtags);
for ($i=0; $i < $len_opened; $i++) {
if (!in_array($openedtags[$i], $closedtags)) {
$html .= '</'.$openedtags[$i].'>';
} else {
unset($closedtags[array_search($openedtags[$i], $closedtags)]);
}
}
return $html;
}
} }

View File

@ -6,6 +6,7 @@ use App\Guide;
use App\News; use App\News;
use Illuminate\Http\Response; use Illuminate\Http\Response;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use tidy;
class GuideController extends Controller class GuideController extends Controller
{ {
@ -75,7 +76,8 @@ class GuideController extends Controller
$news->name = "Ny Vejledning"; $news->name = "Ny Vejledning";
$news->subname = $guide->name; $news->subname = $guide->name;
$news->content = substr($guide->guide_articles, 0, 300). '<br><br><a href="' . route("guides.show", ["guide" => $guide]). '" class="sde-blue ">Læse mere...</a>';
$news->content = $this->closetags(substr($guide->guide_articles, 0, 300)). '<br><a style="font-weight: 700;" href="' . route("guides.show", ["guide" => $guide]). '" class="sde-blue ">Læse mere...</a>';
$news->save(); $news->save();
@ -136,7 +138,8 @@ class GuideController extends Controller
$news->name = "Vejledning opdateret"; $news->name = "Vejledning opdateret";
$news->subname = $guidee->name; $news->subname = $guidee->name;
$news->content = substr($guidee->guide_articles, 0, 300). '<br><br><a href="' . route("guides.show", ["guide" => $guide]). '" class="sde-blue ">Læse mere...</a>';
$news->content = $this->closetags(substr($guidee->guide_articles, 0, 300)). '<br><a style="font-weight: 700;" href="' . route("guides.show", ["guide" => $guide]). '" class="sde-blue ">Læse mere...</a>';
$news->save(); $news->save();
} }
@ -158,4 +161,25 @@ class GuideController extends Controller
return redirect()->route("guides.index"); return redirect()->route("guides.index");
} }
public function closetags($html) {
preg_match_all('#<(?!meta|img|br|hr|input\b)\b([a-z]+)(?: .*)?(?<![/|/ ])>#iU', $html, $result);
$openedtags = $result[1];
preg_match_all('#</([a-z]+)>#iU', $html, $result);
$closedtags = $result[1];
$len_opened = count($openedtags);
if (count($closedtags) == $len_opened) {
return $html;
}
$openedtags = array_reverse($openedtags);
for ($i=0; $i < $len_opened; $i++) {
if (!in_array($openedtags[$i], $closedtags)) {
$html .= '</'.$openedtags[$i].'>';
} else {
unset($closedtags[array_search($openedtags[$i], $closedtags)]);
}
}
return $html;
}
} }

View File

@ -17,7 +17,8 @@
"laravel/tinker": "^2.0", "laravel/tinker": "^2.0",
"laravel/ui": "^2.0", "laravel/ui": "^2.0",
"laravelcollective/html": "^6.1", "laravelcollective/html": "^6.1",
"spatie/laravel-permission": "^3.13" "spatie/laravel-permission": "^3.13",
"ext-tidy": "*"
}, },
"require-dev": { "require-dev": {
"facade/ignition": "^2.0", "facade/ignition": "^2.0",

View File

@ -71,16 +71,20 @@
div.header { div.header {
background-color: #00788a; background-color: #00788a;
color: white; color: white;
padding: 1px; padding: 8px;
font-size: 10px; font-size: 10px;
text-align: center; text-align: center;
} }
div.container { div.container {
padding: 5px; padding: 8px;
text-align: justify; text-align: justify;
line-height: 1.5; line-height: 1.5;
} }
ol {
padding-right: 8px;
}
</style> </style>
<main> <main>
@ -88,7 +92,7 @@
<div class="card"> <div class="card">
<div class="header"> <div class="header">
<p><b>{{ $new->name }}</b></p> <p><b>{{ $new->name }}</b></p>
<h1>{{ $new->subname }}</h1> <h3>{{ $new->subname }}</h3>
</div> </div>
<div class="container"> <div class="container">