Archived
1
0

Database refactoring and improving blog comments, blog post history and more

This commit is contained in:
Marcel
2019-01-08 22:42:54 +01:00
parent 56aed78b00
commit 7f887a99b0
67 changed files with 3076 additions and 1755 deletions

View File

@@ -0,0 +1,10 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?>
<div class="card">
<div class="card-body">
<h5 class="card-title">Titel</h5>
<p class="card-text"></p>
</div>
</div>

View File

@@ -125,9 +125,8 @@ defined('BASEPATH') OR exit('No direct script access allowed');
</style>
<input type="hidden" value="<?= $postID ?>" id="postID">
<input type="hidden" value="<?= isset($contents[$postLanguage]) ? $contents[$postLanguage] : $contents['de'] ?>" id="contentID">
<input type="hidden" value="<?= $translations[$postLanguage] ?>" id="translationID">
<input type="hidden" value="<?= $postLanguage ?>" id="postLanguage">
<input type="hidden" value="<?= isset($versions[$lang]) ? $versions[$lang] : $versions['de'] ?>" id="versionID">
<input type="hidden" value="<?= $lang ?>" id="postLanguage">
<input type="hidden" value="" id="uploadedImage">
<div class="col-sm-12">
<div class="blog">
@@ -157,11 +156,11 @@ defined('BASEPATH') OR exit('No direct script access allowed');
<div>
<i class="fa fa-folder-open"></i>
<div class="category-select" style="display: inline-block;">
<select class="form-control" id="postCategory">
<select class="form-control" id="postCategory" multiple>
<option value="new-category">-- Neue Kategorie --</option>
<?php foreach ($categories as $category) { ?>
<option value="<?= $category['ID'] ?>">
<?= $category['display_name'] ?>
<?= $category['displayname'] ?>
</option>
<?php } ?>
</select>
@@ -244,13 +243,13 @@ defined('BASEPATH') OR exit('No direct script access allowed');
</div>
<div class="x_content">
<ul class="nav nav-pills nav-stacked" id="switchLanguages">
<li role="presentation" class="<?= $postLanguage == 'de' ? 'active' : '' ?>" data-lang="de" data-translationID="<?= $translations['de'] ?>" data-contentID="<?= $contents['de'] ?>">
<li role="presentation" class="<?= $lang == 'de' ? 'active' : '' ?>" data-lang="de" data-versionID="<?= $versions['de'] ?>">
<span class="flag-icon flag-icon-de"></span> Deutsch
</li>
<li role="presentation" class="<?= $postLanguage == 'en' ? 'active' : '' ?>" data-lang="en" data-translationID="<?= isset($translations['en']) ? $translations['en'] : -1 ?>" data-contentID="<?= isset($contents['en']) ? $contents['en'] : -1 ?>">
<li role="presentation" class="<?= $lang == 'en' ? 'active' : '' ?>" data-lang="en" data-versionID="<?= isset($versions['en']) ? $versions['en'] : -1 ?>">
<span class="flag-icon flag-icon-us"></span> Englisch
</li>
<li role="presentation" class="<?= $postLanguage == 'fr' ? 'active' : '' ?>" data-lang="fr" data-translationID="<?= isset($translations['fr']) ? $translations['fr'] : -1 ?>" data-contentID="<?= isset($contents['fr']) ? $contents['fr'] : -1 ?>">
<li role="presentation" class="<?= $lang == 'fr' ? 'active' : '' ?>" data-lang="fr" data-versionID="<?= isset($versions['fr']) ? $versions['fr'] : -1 ?>">
<span class="flag-icon flag-icon-fr"></span> Französisch
</li>
</ul>

View File

@@ -1,5 +1,8 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
require_once './vendor/Diff/htmLawed.php';
require_once './vendor/Diff/class.Diff.php';
?>
<div class="right_col" role="main">
<div class="">
@@ -12,37 +15,64 @@
</div>
<div class="x_content">
<div class="row">
<div class="compare-items-container">
<div class="compare-items row">
</div>
<div class="row">
<a href="#" class="btn btn-sm btn-primary compare-btn" disabled="">Vergleichen</a>
</div>
</div>
</div>
<div class="row" style="width: auto; overflow-x:scroll;">
<?php foreach ($content as $language => $items): ?>
<div class="col-sm-3">
<div class="col-12">
<h3><?= $language ?></h3>
<!-- --><?php //echo Diff::toHTML(Diff::compare("Hallo!\n Peter Enis\nFotze", "Hallo.\n Peter Penis\nFotze")) ?>
<ul class="list-unstyled timeline">
<?php foreach ($items as $item): ?>
<?php foreach ($items as $i => $item): ?>
<li>
<div class="block">
<div class="tags">
<?php if ($item['isActive'] == 1): ?>
<?php if ($item['active'] == 1): ?>
<a class="tag">
<span>Aktiv</span>
</a>
<?php endif; ?>
<?php if ($item['isNativePost'] == 1): ?>
<a class="tag">
<span>Original-Version</span>
</a>
<?php endif; ?>
</div>
<div class="block_content">
<h2 class="title">
<?= $item['versionMessage'] ?>
<span class="badge badge-default"><?= substr($item['hashID'], 0, 8) ?></span>
<?= $item['changes'] ?>
</h2>
<div class="byline">
<span><?= date("d.m.Y \u\m H:i", strtotime($item['contentDate'])) ?> Uhr</span>
<span><?= date("d.m.Y \u\m H:i", strtotime($item['edited'])) ?> Uhr</span>
von
<?php $author = $this->BlogModel->getAuthorData($item['contentAuthorID']) ?>
<?php $author = $this->BlogModel->getAuthorData($item['authorID']) ?>
<a href="/user/<?= $author['username'] ?>"><?= $author['displayname'] ?></a>
</div>
<p class="excerpt"><?= $item['content'] ?>
<p class="excerpt">
Titel:
<i><?= $item['title'] ?></i>
<br>
Beschreibung:
<i><?= $item['description'] ?></i>
</p>
<div class="actions">
<button class="btn btn-sm btn-primary">
Ansehen
</button>
<button class="btn btn-sm btn-default history-compare" data-hashID="<?= $item['hashID'] ?>">
Vergleichen mit...
</button>
<?php if (!$item['active']): ?>
<button class="btn btn-sm btn-default">
Aktivieren
</button>
<?php endif; ?>
</div>
</div>
</div>
</li>

View File

@@ -36,33 +36,33 @@
</thead>
<tbody>
<?php foreach ($posts as $post) { ?>
<tr id="post-<?= $post['postID'] ?>">
<tr id="post-<?= $post['ID'] ?>">
<td>
<?= $post['postID'] ?>
<?= $post['ID'] ?>
</td>
<td>
<a href="<?= base_url('blog/post/' . $post['postUrl']) ?>" target="_blank"><?= $post['postTitle'] ?></a>
<a href="<?= base_url('blog/post/' . $post['url']) ?>" target="_blank"><?= $post['title'] ?></a>
</td>
<td>
<?= $post['postDesc'] ?>
<?= substr($post['description'], 0, 40) ?>...
</td>
<td>
<?= $post['postStateDisplay'] ?>
<?= $post['stateName'] ?>
</td>
<td>
<?= date('d.m.Y H:i', strtotime($post['postPublishDate'])) ?>
<?= date('d.m.Y H:i', strtotime($post['initialRelease'])) ?>
</td>
<td>
<?= date('d.m.Y H:i', strtotime($post['postLastEdit'])) ?>
<?= date('d.m.Y H:i', strtotime($post['lastEdit'])) ?>
</td>
<td>
<a href="<?= base_url('user/' . $post['postAuthorUsername']) ?>" target="_blank"><?= $post['postAuthorDisplayname'] ?></a>
<a href="<?= base_url('user/' . $post['author']['displayname']) ?>" target="_blank"><?= $post['author']['displayname'] ?></a>
</td>
<td>
<a href="<?= base_url('blog/category/' . $post['categoryName']) ?>" target="_blank"><?= $post['categoryDisplayName'] ?></a>
<!-- <a href="--><?//= base_url('blog/category/' . $post['categoryName']) ?><!--" target="_blank">--><?//= $post['categoryDisplayName'] ?><!--</a>-->
</td>
<td>
<?= $post['postViews'] ?>
<?= $post['views'] ?>
<i class="fa fa-eye"></i>
</td>
<td>
@@ -75,30 +75,30 @@
</td>
<?php if (isset($trashbin) && $trashbin): ?>
<td>
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="Bearbeiten" href="<?= base_url('admin/blog/edit/' . $post['postID']) ?>" target="_blank" class="btn btn-xs btn-default">
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="Bearbeiten" href="<?= base_url('admin/blog/edit/' . $post['ID']) ?>" target="_blank" class="btn btn-xs btn-default">
<i class="fa fa-edit"></i>
</a>
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="History" href="<?= base_url('admin/blog/history/' . $post['postID']) ?>" target="_blank" class="btn btn-xs btn-default">
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="History" href="<?= base_url('admin/blog/history/' . $post['ID']) ?>" target="_blank" class="btn btn-xs btn-default">
<i class="fa fa-history"></i>
</a>
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="Wiederherstellen" onclick="restorePost(<?= $post['postID'] ?>)" class="btn btn-xs btn-green">
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="Wiederherstellen" onclick="restorePost(<?= $post['ID'] ?>)" class="btn btn-xs btn-green">
<i class="fa fa-undo"></i>
</a>
<a href="" data-toggle="tooltip" data-placement="top" title="Endgültig löschen">
<button type="button" class="btn btn-xs btn-red" data-toggle="modal" data-target="#deleteModal" data-type="Blog-Post" data-title="<?= $post['postTitle'] ?>" data-id="<?= $post['postID'] ?>">
<button type="button" class="btn btn-xs btn-red" data-toggle="modal" data-target="#deleteModal" data-type="Blog-Post" data-title="<?= $post['title'] ?>" data-id="<?= $post['ID'] ?>">
<i class="fa fa-trash"></i>
</button>
</a>
</td>
<?php else: ?>
<td>
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="Bearbeiten" href="<?= base_url('admin/blog/edit/' . $post['postID'] . '/') ?>" target="_blank" class="btn btn-xs btn-default">
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="Bearbeiten" href="<?= base_url('admin/blog/edit/' . $post['ID'] . '/') ?>" target="_blank" class="btn btn-xs btn-default">
<i class="fa fa-edit"></i>
</a>
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="History" href="<?= base_url('admin/blog/history/' . $post['postID']) ?>" target="_blank" class="btn btn-xs btn-default">
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="History" href="<?= base_url('admin/blog/history/' . $post['ID']) ?>" target="_blank" class="btn btn-xs btn-default">
<i class="fa fa-history"></i>
</a>
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="Löschen" onclick="deletePost(<?= $post['postID'] ?>)" class="btn btn-xs btn-red">
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="Löschen" onclick="deletePost(<?= $post['ID'] ?>)" class="btn btn-xs btn-red">
<i class="fa fa-trash"></i>
</a>
</td>

View File

@@ -90,23 +90,37 @@
<table id="datatable-fixed-header" class="table table-striped table-bordered">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Titel - Deutsch</th>
<th>Titel - English</th>
<th>Titel - Französisch</th>
<th>Anzahl Einträge</th>
<th>Tools</th>
<th rowspan="2">ID</th>
<th colspan="3">Name</th>
<th colspan="3">Titel</th>
<th rowspan="2">Anzahl Einträge</th>
<th rowspan="2">Tools</th>
</tr>
<tr>
<th>Deutsch</th>
<th>Englisch</th>
<th>Französisch</th>
<th>Deutsch</th>
<th>Englisch</th>
<th>Französisch</th>
</tr>
</thead>
<tbody>
<?php foreach ($categories as $c) { ?>
<?php foreach ($categories as $c) {
$names = explode(',', $c['name']);
$displaynames = explode(',', $c['displayname']);
?>
<tr id="category-<?= $c['ID'] ?>">
<td><?= $c['ID'] ?></td>
<td><?= $c['collection'] ?></td>
<td><?= $c['displayname'] ?></td>
<td><?= $c['displaynameEnglish'] ?></td>
<td><?= $c['displaynameFrench'] ?></td>
<td><?= isset($names[0]) ? $names[0] : '' ?></td>
<td><?= isset($names[1]) ? $names[1] : '' ?></td>
<td><?= isset($names[2]) ? $names[2] : '' ?></td>
<td><?= isset($displaynames[0]) ? $displaynames[0] : '' ?></td>
<td><?= isset($displaynames[1]) ? $displaynames[1] : '' ?></td>
<td><?= isset($displaynames[2]) ? $displaynames[2] : '' ?></td>
<td><?= $c['count'] ?></td>
<td>
<button type="button" class="btn btn-xs btn-red" data-toggle="modal" data-target="#deleteModal" data-type="Projekt-Kategorie" data-title="<?= $c['displayname'] ?>" data-id="<?= $c['ID'] ?>">

View File

@@ -16,18 +16,18 @@ use Coduo\PHPHumanizer\DateTimeHumanizer;
<div class="x_content">
<div class="row">
<div class="col-sm-2">
<img src="<?= $user['profile_picture'] ?>" class="img-fluid">
<img src="<?= $user['profilePicture'] ?>" class="img-fluid">
</div>
<div class="col-sm-10">
<h3><a href="<?= base_url('user/' . $user['username']) ?>"
target="_blank"><?= $user['displayname'] ?></a></h3>
<?php $created_at = strtotime($user['date_created']); ?>
<?php $created_at = strtotime($user['dateCreated']); ?>
<p>
<b>Account erstellt: </b>
<?= DateTimeHumanizer::difference(new \DateTime(), new \DateTime("@$created_at"), "de_DE") ?>
<i>(<?= date("d.m.Y H:i", $created_at) ?>)</i>
</p>
<p><b>Originaler Name:</b> <?= $user['original_name'] ?></p>
<p><b>Originaler Name:</b> <?= $user['originalName'] ?></p>
</div>
</div>
<div class="row col-sm-12">
@@ -55,7 +55,7 @@ use Coduo\PHPHumanizer\DateTimeHumanizer;
</p>
<p>
<b>Aktiviert?</b>
<?= $user['is_activated'] ? '<i class="fa fa-check-circle-o"></i> Ja' : '<i class="fa fa-times-circle-o"></i>Nein' ?>
<?= $user['activated'] ? '<i class="fa fa-check-circle-o"></i> Ja' : '<i class="fa fa-times-circle-o"></i>Nein' ?>
</p>
<p>
<b>Zeige Werbung?</b>

View File

@@ -53,9 +53,9 @@
2 => "Twitter",
3 => "GitHub"
];
$loginMethod = $loginMethods[$user['login_method']];
$loginMethod = $loginMethods[$user['loginMethod']];
$dateCreated = strtotime($user['date_created']);
$dateCreated = strtotime($user['dateCreated']);
$lastLogin = strtotime($user['lastLogin']);
$dateCreatedStr = DateTimeHumanizer::difference(new \DateTime(), new \DateTime("@$dateCreated"), "de_DE");
if($lastLogin)
@@ -82,12 +82,12 @@
(<?= date("d.m.Y H:i", $dateCreated) ?>)
</td>
<td>
<img src="<?= $user['profile_picture'] ?>?w=50" class="img-fluid rounded"
<img src="<?= $user['profilePicture'] ?>?w=50" class="img-fluid rounded"
alt="Profilbild"
style="max-height: 50px;">
</td>
<td>
<?= $user['is_activated'] ? "<i class='fa fa-check-circle'></i> Ja" : "<i class='fa fa-times-circle'></i> Nein" ?>
<?= $user['activated'] ? "<i class='fa fa-check-circle'></i> Ja" : "<i class='fa fa-times-circle'></i> Nein" ?>
</td>
<td>
<?= $user['showAds'] ? '<i class="fa fa-check-circle"></i> Ja' : '<i class="fa fa-times-circle"></i> Nein' ?>
@@ -128,7 +128,7 @@
<?php endif; ?>
<?php if(get_instance()->hasPermission('user.ban')): ?>
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="Account löschen" onclick="showDeleteModal(<?= $user['ID'] ?>. <?= $user['username'] ?>)" target="_blank" class="btn btn-xs btn-red">
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="Account löschen" onclick="showDeleteModal(<?= $user['ID'] ?>.; <?= $user['username'] ?>)" target="_blank" class="btn btn-xs btn-red">
<i class="fas fa-user-slash"></i>
</a>
<?php endif; ?>