- $tree = collect($headers)->map(function($header) {
- $text = trim(str_replace("\xc2\xa0", '', $header->nodeValue));
- if (strlen($text) > 30) {
- $text = substr($text, 0, 27) . '...';
- }
-
- return [
- 'nodeName' => strtolower($header->nodeName),
- 'level' => intval(str_replace('h', '', $header->nodeName)),
- 'link' => '#' . $header->getAttribute('id'),
- 'text' => $text,
- ];
- })->filter(function($header) {
- return strlen($header['text']) > 0;
- });
-
- // Normalise headers if only smaller headers have been used
- $minLevel = $tree->pluck('level')->min();
- $tree = $tree->map(function ($header) use ($minLevel) {
- $header['level'] -= ($minLevel - 2);
- return $header;
- });
-
- return $tree->toArray();
+ $revisionsToDelete = PageRevision::query()
+ ->where('page_id', '=', $page->id)
+ ->orderBy('created_at', 'desc')
+ ->skip(intval($revisionLimit))
+ ->take(10)
+ ->get(['id']);
+ if ($revisionsToDelete->count() > 0) {
+ PageRevision::query()->whereIn('id', $revisionsToDelete->pluck('id'))->delete();
+ }