Website Remake - SapphireFlyff (aktuelles Skript, inkompatibel mit v1)
Das versprochene Remake der SapphireFlyff-Website ist nun erhältlich. Diese Version ist nicht mit v1 kompatibel, es handelt sich sozusagen um eine ähnliche, aber doch komplett andere Website.
_____________________________________________
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Konkrete Veränderungen gegenüber der ersten Version:
- verbesserte Sicherheit
- überarbeitetes Voteskript
- neuer Webshop
- noch weniger Datenbankabfragen, ergo noch bessere Reaktionszeit
- ein eigenes Panel für Gamemaster
Features:
- bei Problemen kann man mich jederzeit kontaktieren
- eingebautes Ticketsystem
- Geheimfrage/-antwort und "Passwort vergessen"-Funktion für maximale Accountsicherheit
- Einsatz von intelligenten Captchas
- mannigfaltige Ranglisten
(normale Spielerrangliste, Serverstatistiken, Userzahlen, [...])
- Spendensystem von der Datenbank teilweise entkoppelt: PSC-Codes werden an eine E-Mail Addresse geschickt, Verwaltung nach wie vor über Adminpanel / Direktlink in den E-Mails
_____________________________________________
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Screenshots und Livedemos:
•
[Only registered and activated users can see links. Click Here To Register...]
•
[Only registered and activated users can see links. Click Here To Register...]
•
[Only registered and activated users can see links. Click Here To Register...]
_____________________________________________
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Download des kompletten Cronjob-Websitepakets:
┌
[Only registered and activated users can see links. Click Here To Register...] ┬
[Only registered and activated users can see links. Click Here To Register...]
├ VT ┼
[Only registered and activated users can see links. Click Here To Register...]
(Passwort für den Download/das Entpacken: [Only registered and activated users can see links. Click Here To Register...])
Updates und Patches:
┌ VT ┬
[Only registered and activated users can see links. Click Here To Register...]
(Passwort für den Download/das Entpacken: [Only registered and activated users can see links. Click Here To Register...])
_____________________________________________
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Download des kompletten Non-Cronjob-Websitepakets:
┌
[Only registered and activated users can see links. Click Here To Register...] ┬
[Only registered and activated users can see links. Click Here To Register...]
(Passwort für den Download/das Entpacken: [Only registered and activated users can see links. Click Here To Register...])
Updates und Patches:
(Passwort für den Download/das Entpacken: [Only registered and activated users can see links. Click Here To Register...])
Unterschiede zur "Cronjob"-Version sind
[Only registered and activated users can see links. Click Here To Register...] nachzulesen.
_____________________________________________
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Bugfixes und oft gestellte Fragen zur Website:Legende / Farbenerklärung:
Grau = Bugfix, der im aktuellsten Download/Update bereits enthalten ist
Schwarz = Aktuelle Bugfixes, die man einbinden sollte
- Beheben von Funktionsfehlern
Manuelles Freischalten von Registrationen zum Laufen bringen
• Öffne im Admin- sowie im GM-Backend die ajax.phps, suche nach "acceptValidation" und ersetze dort im unteren Abschnitt das [usp_createNewAccount] mit [usp_createAccount].
Votepoints nach dem Abstimmen automatisch addieren lassen
• Öffne dazu die includes/xinc_votescript.php und ersetze den gesamten Inhalt mit diesem:
PHP Code:
<?php if (!defined('access')) {die("Die gesuchte Ressource wurde entfernt oder umbenannt, oder sie steht vorübergehend nicht zur Verfügung.");} ?>
<?php
if ($_CONFIG['vote_enabled'] AND count($_CONFIG['vote_toplists']) > 0) {
foreach ($_CONFIG['vote_toplists'] as $intTopListID => $mixedTopListArray) {
if(isset($_POST['submitVote'.$intTopListID])) {
$strVoteErrorArray = array();
$intRecheckIPVotingTime = time() - $mixedTopListArray['timeLimit'];
$intTimestampOfLastVoteBeforeVote = @odbc_exec($odbc_connect, 'SELECT TOP 1 [timestamp] FROM [' . $_CONFIG['db_databases']['web'] . '].[dbo].[VOTE] WHERE [ip] = \'' . $_SERVER['REMOTE_ADDR'] . '\' AND [account] = \'' . cleanSqlInput($_SESSION['user']) . '\' AND [toplist] = ' . $intTopListID . ' AND [timestamp] > ' . $intRecheckIPVotingTime . ' ORDER BY [id] DESC');
$intRecheckIP = @odbc_num_rows($intTimestampOfLastVoteBeforeVote);
if(isSpamming($_POST['inputCheckTimestamp'], $_POST['inputCheckKey'], $_SESSION['inputCheckKey'])) {
$strVoteErrorArray[] = 'Du hast den Spamschutz aktiviert. Bitte versuche es erneut.';
}
if($intRecheckIP > 0) {
$strVoteErrorArray[] = 'Du hast bereits für diese Toplist gestimmt.';
}
if(count($strVoteErrorArray) > 0) {
echo createMessage($strVoteErrorArray, 'fail');
}
else {
if( @odbc_exec($odbc_connect, '
INSERT INTO [' . $_CONFIG['db_databases']['web'] . '].[dbo].[LOG_VOTE] (
[account],
[ip],
[toplist],
[timestamp],
[character]
) VALUES (
\''.cleanSqlInput($_SESSION['user']).'\',
\''.$_SERVER['REMOTE_ADDR'].'\',
'.$intTopListID.',
'.time().',
\'\'
)
')
) {
sleep($_CONFIG['vote_timedelay']);
if(isset($_SESSION['user'])) {
$_SESSION['votepoints'] = $_SESSION['votepoints'] + $mixedTopListArray['earnVotePoints'];
@odbc_exec($odbc_connect, '
UPDATE [' . $_CONFIG['db_databases']['acc'] . '].[dbo].[ACCOUNT_TBL]
SET [votepoints] = [votepoints] + ' . $mixedTopListArray['earnVotePoints'] . '
WHERE [account] = \'' . cleanSqlInput($_SESSION['user']) . '\'
');
}
echo createMessage('Vielen Dank für deine Stimme.', 'success');
}
else {
echo createMessage('Dir konnten die Punkte nicht gutgeschrieben werden.', 'fail');
}
}
}
$intCheckIPVotingTime = time() - $mixedTopListArray['timeLimit'];
$intTimestampOfLastVote = @odbc_exec($odbc_connect, '
SELECT TOP 1 [timestamp]
FROM [' . $_CONFIG['db_databases']['web'] . '].[dbo].[LOG_VOTE]
WHERE [ip] = \'' . $_SERVER['REMOTE_ADDR'] . '\' AND
[toplist] = ' . $intTopListID . ' AND
[timestamp] > ' . $intCheckIPVotingTime . '
ORDER BY [id] DESC
');
$checkIP = @odbc_num_rows($intTimestampOfLastVote);
if($checkIP < 1) {
$strVoteButtonText = 'Vote auf ' . $mixedTopListArray['name'];
$strVoteButtonDisabled = '';
$strVoteButtonOnclick = 'id="voteFormOpener' . $intTopListID . '" onclick="switching(\'voteForm'.$intTopListID.'\');"';
}
else {
$strVoteButtonText = 'Erneuter Vote um ' . date($_CONFIG['web_date_format']['hours'], $mixedTopListArray['timeLimit'] + @odbc_result($intTimestampOfLastVote, 'timestamp')) . ' Uhr';
$strVoteButtonDisabled = 'disabled="disabled"';
$strVoteButtonOnclick = '';
}
echo '<input ' . $strVoteButtonOnclick . ' type="submit" class="p100" value="' . $strVoteButtonText . '" style="margin:2px auto;" ' . $strVoteButtonDisabled . '/>';
if($checkIP < 1) {
echo '
<p id="voteFormWaiting' . $intTopListID . '" class="center" style="display:none; margin-bottom: 15px;">
Warte auf Antwort von ' . $mixedTopListArray['name'] . '
<br /><img src="http://www.elitepvpers.com/forum/images/icons/misc/loading.gif" title="Warte auf Codeeingabe" alt=""/>
</p>
<form method="post" id="voteForm' . $intTopListID . '" style="display:none; margin-bottom: 15px;">
<input type="hidden" name="inputCheckTimestamp" value="' . time() . '" />
<input type="hidden" name="inputCheckKey" value="' . random_string() . '" />';
if(isset($_SESSION['user'])) {echo '
<p style="margin: 10px 0;" class="x02 right">
<span class="span">Du erhältst:</span>' . $mixedTopListArray['earnVotePoints'] . ' VPs
</p>';
}echo '
<div>
<input class="votebutton" style="margin-right: 6px; margin-top: 6px;" type="submit" value="Abstimmen" name="submitVote' . $intTopListID . '" onclick="openVoteSite(\'' . $mixedTopListArray['link'] . '\'); switching(\'voteForm' . $intTopListID . '\'); switching(\'voteFormWaiting' . $intTopListID . '\'); jQuery(\'#voteFormOpener' . $intTopListID . '\').attr(\'onclick\',\'\').unbind(\'click\');"/>
<p class="zehn voteNotice">Die VPs werden dir gut*ge*schrie*ben, wenn du das Capt*cha im neuen Fenster eingibst.</p>
</div>
</form>';
}
$intTopListID++;
}
}
else {
echo createMessage('Das Voteskript ist derzeit deaktiviert.', 'hint');
}
Newskategorien editier- und löschbar machen
• Öffne dazu die panels/<Adminpanel>/js/functions.js und füge folgenden Inhalt hinein:
PHP Code:
function category_edit(catid) {
document.getElementById('box2').style.display = 'block';
$.ajax({
url: 'ajax.php?a=category_edit&catid=' + catid,
type: 'GET',
dataType: 'php',
timeout: 1000,
success: function(response){
$("#box2").html(response);
}
});
}
function category_delete(catid) {
$.ajax({
url: 'ajax.php?a=category_delete&catid=' + catid,
type: 'GET',
dataType: 'php',
timeout: 1000,
success: function(response){
$("#text2").html(response);
}
});
document.getElementById('catid_' + catid).style.display = 'none';
}
Überarbeitung der xinc_detection.php
• Öffne dazu die includes/xinc_detection.php und ersetze den gesamten Inhalt mit diesem:
PHP Code:
<?php
if(isset($_POST) OR isset($_GET)) {
require_once('xinc_config.php');
function getCurrentLogfile($directory) {
$intTimestamp = 0;
$strCurrentLogfile = '';
if($dir = opendir($directory)) {
while($fileName = readdir($dir)) {
if(strlen($fileName) > 2) {
$pathToFile = $directory . $fileName;
if(filemtime($pathToFile) > $intTimestamp) {
$intTimestamp = filemtime($pathToFile);
$strCurrentLogfile = $fileName;
}
}
}
closedir($dir);
}
return $strCurrentLogfile;
}
function checkLogfileSize($directory, $strCurrentLogfile) {
GLOBAL $_CONFIG;
if(filesize($directory.$strCurrentLogfile) > 8388608) {
preg_match("/[0-9]+/", $strCurrentLogfile, $test);
$test[0] = $test[0] + 1;
$createNewInjectionFile = fopen($directory.'injections_' . $test[0] . '.txt', 'a+');
fclose($createNewInjectionFile);
}
}
if(strpos($_SERVER['REQUEST_URI'], 'panels') === false) {
$strFolderPath = 'includes/' . $_CONFIG['website_cronjob_folder'] . '/security/';
}
else {
$strFolderPath = '../../includes/' . $_CONFIG['website_cronjob_folder'] . '/security/';
}
$ip = $_SERVER['REMOTE_ADDR'];
$time = date('d.m.Y, H:i:s');
$script = 'index.php?' . $_SERVER['QUERY_STRING'];
$strBlacklistedWords = array(strtolower($_CONFIG['db_databases']['acc']), strtolower($_CONFIG['db_databases']['chr']), strtolower($_CONFIG['db_databases']['log']), strtolower($_CONFIG['db_databases']['web']), 'ranking_dbf', 'sysobjects', 'shutdown', 'delete ', 'truncate ', 'update ', 'select ', 'insert ', 'drop ', 'union ');
checkLogfileSize($strFolderPath, getCurrentLogfile($strFolderPath));
$strFilePath = $strFolderPath . getCurrentLogfile($strFolderPath);
$fp = fopen($strFilePath, 'a+');
$GET_KEY = array_keys($_GET);
for($i=0; $i<count($GET_KEY); $i++) {
$real_get[$i] = str_replace($strBlacklistedWords, '', strtolower($_GET[$GET_KEY[$i]]));
$echoGetString = $_GET[$GET_KEY[$i]];
$echoGetCleanString = $real_get[$i];
if($real_get[$i] != strtolower($_GET[$GET_KEY[$i]])) {
fwrite ($fp, "\r\n" . "$time | [GET] | $script | $echoGetString => $echoGetCleanString | $ip |");
$_GET[$GET_KEY[$i]] = $real_get[$i];
}
}
$POST_KEY = array_keys($_POST);
for($i=0;$i<count($POST_KEY);$i++) {
$real_post[$i] = str_replace($strBlacklistedWords, '', strtolower($_POST[$POST_KEY[$i]]));
$echoPostString = $_POST[$POST_KEY[$i]];
$echoPostCleanString = $real_post[$i];
if($real_post[$i] != strtolower($_POST[$POST_KEY[$i]])) {
fwrite ($fp, "\r\n" . "$time | [POST] | $script | $echoPostString => $echoPostCleanString | $ip |" );
$_POST[$POST_KEY[$i]] = $real_post[$i];
}
}
fclose ($fp);
}
WICHTIG: Überarbeitung des Voteskripts (include/box_votescript.php; in 1.2 NC bereits behoben)
• Folgendes steht in Zeile 10:
PHP Code:
$intTimestampOfLastVoteBeforeVote = @odbc_exec($odbc_connect, 'SELECT TOP 1 [timestamp] FROM [' . $_CONFIG['db_databases']['web'] . '].[dbo].[VOTE] WHERE [ip] = \'' . $_SERVER['REMOTE_ADDR'] . '\' AND [account] = \'' . cleanSqlInput($_SESSION['user']) . '\' AND [toplist] = ' . $intTopListID . ' AND [timestamp] > ' . $intRecheckIPVotingTime . ' ORDER BY [id] DESC');
Das bitte in das Folgende umändern:
PHP Code:
$intTimestampOfLastVoteBeforeVote = @odbc_exec($odbc_connect, 'SELECT TOP 1 [timestamp] FROM [' . $_CONFIG['db_databases']['web'] . '].[dbo].[LOG_VOTE] WHERE [ip] = \'' . $_SERVER['REMOTE_ADDR'] . '\' AND [account] = \'' . cleanSqlInput($_SESSION['user']) . '\' AND [toplist] = ' . $intTopListID . ' AND [timestamp] > ' . $intRecheckIPVotingTime . ' ORDER BY [id] DESC');
1.2 NC: Problem auf der Spendenseite, wenn Paymntwall aktiviert ist (site/donate.php)
• Grund des Fehlers war ein falsch gesetzter else-Fall. Hier der Fix für dieses Problem: [Only registered and activated users can see links. Click Here To Register...].
- Layout-Bugfixes
In der "style.css" nach ".website .page .contents .col .socialNetworks a" suchen
und diese Klasse um ein vertical-align: top; ergänzen.
- Fragen, Tutorials und Sonstiges
"Wo finde ich dein Cronjob-Tutorial?"
• In [Only registered and activated users can see links. Click Here To Register...] habe ich ein relativ kleinschrittiges und somit theoretisch einfach nachvollziehbares Tutorial veröffentlicht. Allerdings ist dieses Tutorial bis jetzt im Betastatus, weil ich noch niemanden habe, der es getestet hat. Bevor ich das allerdings mir überlegte, schrieb ich [Only registered and activated users can see links. Click Here To Register...]. Das ist aber nicht länger empfehlenswert, weil sich hier der Browser nicht selbstständig schließt.
"Wie kann ich den Slider auf allen Seiten anzeigen lassen?"
• Die Antwort darauf ist in [Only registered and activated users can see links. Click Here To Register...] zu finden.
"Wie ist das jetzt mit den Cronjobs und dem Mailserver?"
• In [Only registered and activated users can see links. Click Here To Register...] habe ich nochmal ein paar Worte über die Cronjobs und den Mailserver verloren.
"Gibt es ein Registrationsskript ohne Mailbestätigung?"
• Ja. Hier ist es:
PHP Code:
#sites/regist.php, das else{} in Zeile 68 mit Folgendem ersetzen:
# ...
#Zeile 65 if(count($strOutputErrorArray) > 0) {
#Zeile 66 echo createMessage($strOutputErrorArray, 'fail');
#Zeile 67 }
else {
if(odbc_exec($odbc_connect, '
EXEC [' . $_CONFIG['db_databases']['acc'] . '].[dbo].[usp_createAccount] @account=\'' . $account . '\', @pw=\''.$md5pw.'\', @email=\''.$email.'\', @gefra=\''.$gefra.'\', @geant=\''.md5($_CONFIG['security_secretAnswerSalt'].$geant).'\', @birthday=\''.date($_CONFIG['web_date_format']['date'], strtotime($birthday)).'\', @ip = \'' . $_SERVER['REMOTE_ADDR'] . '\', @lang=\'' . $_CONFIG['web_default_lang'] . '\'
')) {
$_SESSION['user'] = strtolower($account);
$_SESSION['votepoints'] = 0;
$_SESSION['cash'] = 0;
echo createMessage('Der Account ' . cleanHtmlOutput($account) . ' wurde erfolgreich registriert.', 'success');
}
else {
echo createMessage('Der Account konnte nicht in die Datenbank geschrieben werden.', 'fail');
}
}
_____________________________________________
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Anmerkungen und Hinweise:
Diese Website funktionierte unter IIS 7.0 und PHP 5.3.XX einwandfrei, mit Xampp wurde sie nie getestet. Diese Website nutzt die Zeichenkodierung UTF-8. Eine Datenbankanbindung wird für diese Website vorrausgesetzt. Die Website ist im für diese Sektion gewohnten Spaghetticode-Prinzip programmiert.
Außerdem sind Cronjobs und ein funktionierender Mailversand von zentraler Bedeutung:
Cronjobs werden benötigt, damit die Seiteninhalte sich automatisch aktualisieren. Selbstverständlich ist eine manuelle Aktualisierung über das Backend ebenfalls möglich, allerdings ist es dank Cronjobs deutlich komfortabler
(kurze Erklärung: Ein Cronjob rufen schlicht und ergreifend zu vorher eingestellten Zeitpunkten einen vorher eingestellten Link auf. Wenn der Link aufgerufen wird, passiert irgendetwas - im konkreten Fall dieser Website wird dann beispielsweise der Itemshop oder die Newsseite mit neuem, aktuellen Inhalt gefüttert).
E-Mail Versand wird benötigt, damit Registrationsmails sowie Spendenbestätigungen ankommen. Unter Windowssservern hat sich das Programm "
[Only registered and activated users can see links. Click Here To Register...]" als tüchtig erwiesen, andere SMTP-Server sollten aber auch problemlos funktionieren.
Wenn ihr keinen eigenen Cronjobservice habt, so könnt ihr mich danach fragen. Wenn ihr die Config fertigt bearbeitet habt, schreibt mir eine PM mit dem Link zur Newsaktualisierung und ich trage den Cronjob ein. Wenn ihr ein anderes zeitliches Updateintervall möchtet
(bspw. "Datenbankbackup soll nur einmal täglich sein" oder "Die Newsseite bitte immer um 12:30 aktualisieren"), schreibt dies in die PM mit hinein.
Und lest die ReadMe-Datei, dort sind einige für die Website wichtige Funktionen erklärt.
Ich bin auf die Cronjobs und die Mailserverinstallation
[Only registered and activated users can see links. Click Here To Register...] nochmal ausführlicher eingegangen. Außerdem ist ein
[Only registered and activated users can see links. Click Here To Register...] zu finden.
_____________________________________________
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Nutzungsbedingungen:
Die einzige Verpflichtung des Nutzers ist, die entsprechenden Anmerkungen im Footer als Zeichen des Respekts an diejenigen, die an der Website direkt oder indirekt mitwirkten, unberührt zu lassen. Wenn der Footer verändert wird, erlischt einerseits mein versprochener Support, andererseits werde ich, sollte man mich um Cronjobeinrichtung gebeten haben, die automatischen Cronjobs für die entsprechende Seite deaktivieren.
_____________________________________________
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Website v1 - SapphireFlyff (nicht länger von mir unterstützt)
Hiermit veröffentliche ich die Website des ehemaligen pServers SapphireFlyff.
_____________________________________________
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Nennenswerte Features:
- neues, eigenständiges Voteskript, dass die Anfragen überprüft
- eingebautes Ticketsystem
- Geheimfrage/-antwort und "Passwort vergessen"-Funktion für maximale Accountsicherheit
- Einsatz von intelligenten Captchas
- mannigfaltige Ranglisten
(normale Spielerrangliste, Serverstatistiken, Userzahlen, [...])
- Spendensystem von der Datenbank teilweise entkoppelt: PSC-Codes werden an eine E-Mail Addresse geschickt, Verwaltung nach wie vor über Adminpanel / Direktlink in den E-Mails
- wenige Datenbankabfragen, ergo eine kurze Reaktionszeit
- für die Website benötigte Datenbank muss nicht WEBSITE_DBF heißen => eine womöglich bereits bestehende Website bleibt funktionstüchtig
_____________________________________________
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Screenshots und Livedemos:
•
[Only registered and activated users can see links. Click Here To Register...]
•
[Only registered and activated users can see links. Click Here To Register...]
_____________________________________________
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Personen, die neben mir an der Website in-/direkt mitwirkten:
[Only registered and activated users can see links. Click Here To Register...]: Idee des Imagesliders. Schade, dass er nie richtig eingesetzt wurde.
Chyukasame: Designvorlage. Auch, wenn es am Ende deutlich anders aussieht.
[Only registered and activated users can see links. Click Here To Register...]: Snippets, bspw. die Validierungsliste für E-Mails.
[Only registered and activated users can see links. Click Here To Register...]: Ganz großes Dankeschön, dass du die Downloads gesichert und das als oben angebotenes Gesamtpaket Anderen zur Verfügung gestellt hast.
_____________________________________________
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Downloadlinks:
├ VT ┤ ├
[Only registered and activated users can see links. Click Here To Register...] ┤
├
[Only registered and activated users can see links. Click Here To Register...] ┤ ├
[Only registered and activated users can see links. Click Here To Register...] ┤
├
[Only registered and activated users can see links. Click Here To Register...] ┤ ├
[Only registered and activated users can see links. Click Here To Register...] ┤
├
[Only registered and activated users can see links. Click Here To Register...] ┤ ├
[Only registered and activated users can see links. Click Here To Register...] ┤
├
[Only registered and activated users can see links. Click Here To Register...] ┤ ├
[Only registered and activated users can see links. Click Here To Register...] ┤
├
[Only registered and activated users can see links. Click Here To Register...] ┤ ├
[Only registered and activated users can see links. Click Here To Register...] ┤
(Passwort für den Download/das Entpacken: [Only registered and activated users can see links. Click Here To Register...])
Updates / Erweiterungen / Fixes:
├
[Only registered and activated users can see links. Click Here To Register...] ┤ ├ Update 01:
[Only registered and activated users can see links. Click Here To Register...] /
[Only registered and activated users can see links. Click Here To Register...] ┤
├
[Only registered and activated users can see links. Click Here To Register...] ┤ ├ Update 02:
[Only registered and activated users can see links. Click Here To Register...] /
[Only registered and activated users can see links. Click Here To Register...] ┤
(Passwort für den Download/das Entpacken: [Only registered and activated users can see links. Click Here To Register...])
_____________________________________________
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Anmerkungen und Hinweise:
Diese Website funktionierte unter IIS 7.0 und PHP 5.3.XX einwandfrei, mit Xampp wurde sie nie getestet. Desweiteren wird ein SMTP-Server benötigt
(bspw. Standardversion des Programms "MailEnable"). Außerdem wird die Standartdatenbank einer jeden LostCrusade-Website benötigt, da die Website auf diese angepasst worden ist. Zusätzlich ist die Website auf die westeuropäische Zeichenkodierung ISO-8859-1 ausgelegt; um UTF-8 zu nutzen, müssen neben den Dateien auch die Angaben in den Headern angepasst werden
(wer das aber ändern möchte, wird ohnehin 'nen Plan haben, wie das realisierbar ist).
Eine Datenbankanbindung wird für die Homepage vorrausgesetzt. Im Detail benötigen folgende Elemente derzeit Einspeisungen von der Datenbank: Voteskript, Downloads, Teamansicht, Shop, Ticketsystem, Login und Accountinformationen, Admin- und GM-Panel. Eventuell wird unter Anderem in kommenden Updates das Voteskript, die Downloads, der Shop sowie die Teamansicht ebenfalls noch in externe Dateien ausgelagert. Gerade das Voteskript ist mir noch ein Dorn im Auge, da ebendieses mit jedem Seitenaufruf die Daten immer neu lädt.
_____________________________________________
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Nutzungsbedingungen:
-
_____________________________________________
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Mögliche (Einrichtungs)Probleme mit der Website - bitte um Rückmeldungen:
-
[Behoben] Shop: könnte unter Umständen nicht ganz funktionieren
-
[Behoben] Rangliste, Allgemeine Serverstatistik: Votepunkte können mit
[Only registered and activated users can see links. Click Here To Register...] angepasst werden
-
[Behoben] Regeln: Inhalt fehlt komplett
-
[Behoben] Spenden, Paypal: Entsprechende Paypal-Seite muss angepasst werden
-
[Behoben] In der xinc_config.php bei der Definition
MSSQL_HOST: KEIN /SQLEXPRESS dranhängen!
-
[Behoben] Ein
session_start(); in der index2.php vor dem include('config.php'); zu Beginn ergänzt
-
[Behoben] Sicherheitslücke: NULL Byte Methode bei der Seitenauswahl