UPDATE
- Top Werber hinzugefügt @Indepently
- Update Box hinzugefügt @Indepently
- Housekeeping Button fix
- Meine Seite erweitert
- Neue Messages hinzugefügt
- Login Bonus hinzugefügt
- Eingeladene Users recodet & Pagination eingefügt
- Index Boxen animiert
- Home verändert
- Community verändert
- Support Antwort hinzugefügt
- Language files erweitert
- Rechtschreibfehler behoben
Ein etwas grösseres Update. Die Top Werber wurden hinzugefügt. Die Updates in der Update box kann man in der Datenbank eintragen. Der Housekeeping Button ist jetzt nur für User mit Rank 4 oder höher sichtbar. Meine Seite wurde erweitert, nicht viel nur das jetzt der User Background sichtbar ist den man in den Einstellungen einstellen kann. Neue Messages wie wenn jemand Geburtstag hat oder das Support Ticket bearbeitet wurde, wurden hinzugefügt. Ein Tägliche Login Bonus wurde hinzugefügt. Die normalen User bekommen 1000 Taler und 250 Duckets. VIP bekommen das Doppelte. Aber alles ist einstellbar in der Config. Bei den Eingeladenen Users wurde eine Pagination eingefügt damit die Seite nicht so lange wird. Wenn beim Support Ticket das Ticket bearbeitet wurde, wird auf der Home eine Meldung eingeblendet, und bei der Support Seite wird dann das Ticket angezeigt. Ich habe die Datenbank nochmal gelöscht, da es so viele Probleme gab beim Livedemo.
Da die Mehrheit dagegen ist, dass ich es jetzt release, werde ich bei zirka 80% releasen. Es fehlen noch viele wichtige dinge wie z.B. ein Housekeeping. Und ausserdem möchte ich nicht das ich es jetzt release und dann, eh schon alle das CMS besitzen und editieren und weis ich was machen, bevor es einigermassen fertig ist.
Noch was zum Easter Egg. Ihr könnt es sehen wenn ihr bei der Home im Voting eingibt: come here kitty
Ihr könnt ja ein cooles Gewinnspiel oder so draus machen
Screens (Besser Livedemo)
Spoiler anzeigen
Snippets
Spoiler anzeigen
<?php
class Community
{
public $err = '';
public $success = false;
public $result = '';
private $imager;
private $config;
private $connection;
public function __construct($config, $connection, $url)
{
$this->imager = new Imager($config, $connection);
$this->config = $config;
$this->connection = $connection;
}
public function getUpdates()
{
$query = $this->connection->prepare('SELECT * FROM sync_updates WHERE name = :name');
$query->execute([':name' => 'SYNC-BUILD' . $this->config['app']['build'] . '-' . $this->config['app']['version']]);
if($query->rowCount()) {
while($r = $query->fetchObject()) {
echo '<li>' . $r->update . '</li>';
}
}
}
public function getNewest()
{
$query = $this->connection->prepare('SELECT username, account_created FROM users ORDER BY account_created DESC LIMIT 6');
$query->execute();
if($query->rowCount()) {
$i = 1;
while($r = $query->fetchObject()) {
if($i % 4 == 1) {
$class = ' class="no-left-margin"';
} else {
$class = '';
}
echo '<li' . $class . '><a href="' . $this->config['website']['url'] . '/profile/' . $r->username . '">
<div class="avatar">' . $this->imager->Generate('user=' . $r->username) . '</div>
<div class="info">
<div class="name">' . $r->username . '</div>
<div class="motto">' . date('d.m.Y - H:i', $r->account_created) . '.</div>
</div>
</a></li>';
}
}
}
public function getUsers()
{
$query = $this->connection->prepare('SELECT username FROM users');
$query->execute();
if($query->rowCount()) {
return $query->rowCount();
} else {
return 0;
}
}
public function getRooms()
{
$query = $this->connection->prepare('SELECT id FROM rooms_data');
$query->execute();
if($query->rowCount()) {
return $query->rowCount();
} else {
return 0;
}
}
public function getItems()
{
$query = $this->connection->prepare('SELECT id FROM catalog_items');
$query->execute();
if($query->rowCount()) {
return $query->rowCount();
} else {
return 0;
}
}
public function getBadges()
{
$query = $this->connection->prepare('SELECT badge_id FROM users_badges');
$query->execute();
if($query->rowCount()) {
return $query->rowCount();
} else {
return 0;
}
}
public function getBans()
{
$query = $this->connection->prepare('SELECT id FROM bans');
$query->execute();
if($query->rowCount()) {
return $query->rowCount();
} else {
return 0;
}
}
public function SearchUser($user)
{
if(empty($user)) {
$this->err = 'Gib die Anfangsbuchstaben ein.';
} else {
$query = $this->connection->prepare('SELECT username, motto FROM users WHERE username LIKE :user');
$query->execute([':user' => '%' . $user . '%']);
if($query->rowCount()) {
while($r = $query->fetchObject()) {
$this->result .= '<li><a href="' . $this->config['website']['url'] . '/profile/' . $r->username . '">
<div class="avatar">' . $this->imager->Generate('user=' . $r->username) . '</div>
<div class="info">
<div class="name">' . $r->username . '</div>
<div class="motto">' . $r->motto . '</div>
</div>
</a></li>';
}
} else {
$this->err = 'Keine Users gefunden.';
}
}
}
public function getActiveRooms()
{
$query = $this->connection->prepare('SELECT id, caption, description, users_now FROM rooms_data WHERE users_now > :users_now ORDER BY users_now DESC');
$query->execute([':users_now' => 0]);
if($query->rowCount()) {
while($r = $query->fetchObject()) {
if(empty($r->description)) {
$description = 'Keine Beschreibung verfügbar';
} else {
$description = $r->description;
}
if($r->id > 3) {
$img = '';
} else {
$img = '<img src="' . $this->config['website']['url'] . '/Public/Images/Room.gif">';
}
echo '<li>
<a href="' . $this->config['website']['url'] . '/client" target="_blank">
' . $img .'
<div class="content">
<div class="name">' . $r->caption . '</div>
<div class="desc">' . $description . '</div>
<span>' . $r->users_now . '</span><div class="online"></div>
</div>
</a>
</li>';
}
} else {
echo '<li>
<a href="' . $this->config['website']['url'] . '/client" target="_blank">
<img src="' . $this->config['website']['url'] . '/Public/Images/Room.gif">
<div class="content">
<div class="name">Keine Räume gefunden.</div>
<div class="desc">Keine Beschreibung verfügbar.</div>
<span>0</span><div class="online"></div>
</div>
</a>
</li>';
}
}
public function getEvents()
{
$query = $this->connection->prepare('SELECT id, title, time, room FROM sync_events WHERE time > :time ORDER BY time DESC');
$query->execute([':time' => time()]);
if($query->rowCount()) {
while($r = $query->fetchObject()) {
if($r->id > 3) {
$img = '';
} else {
$img = '<img src="' . $this->config['website']['url'] . '/Public/Images/Clock.png">';
}
echo '<li>
<a href="' . $this->config['website']['url'] . '/client" target="_blank">
' . $img .'
<div class="content">
<div class="name">' . $r->title . '</div>
<div class="desc">Um ' . date('H:i', $r->time) . ' Uhr, im Raum: ' . $r->room . '</div>
</div>
</a>
</li>';
}
} else {
echo '<li>
<a href="' . $this->config['website']['url'] . '/client" target="_blank">
<img src="' . $this->config['website']['url'] . '/Public/Images/Clock.png">
<div class="content">
<div class="name">Keine Events gefunden.</div>
<div class="desc">Keine Uhrzeit verfügbar.</div>
</div>
</a>
</li>';
}
}
public function __destruct()
{
$this->err = null;
$this->imager = null;
$this->config = null;
$this->result = null;
$this->success = null;
$this->connection = null;
}
}
?>
Alles anzeigen
#ThreadUpdate
Freundliche Grüsse,
Synergy
EDIT
Es kann sein das es verbuggt aussieht, das liegt an Cloudflare da es die Website cachen tut.