So leider hatte ich dann nicht eher die Zeit es fertig zu machen, aber hier mal.
Habs mehr oder weniger nochmal neu gemacht.
install_ampcycle.php
<?php
//Mapcycle Vorschläge
//by Mairu
$name = 'Mapcycle';
$version = 'beta';
$readme = <<<README
Mapcycle ohne Readme ;)
ACHTUNG: Alte mapcycle Tabelle wird gelöscht!!!
README;
$name2 = htmlentities(preg_replace('%([^/s])%', '$1 ', $name . ' (' . $version. ')'));
$name = htmlentities($name);
$rows = substr_count($readme, "\n");
if ($rows > 45) $rows = 45;
?>
<html>
<head><title>... ::: [ I n s t a l l a t i o n f ü r <?php echo $name2;?> f ü r i l c h 1 . 1 M] ::: ...</title>
<link rel="stylesheet" href="include/designs/ilchClan/style.css" type="text/css">
</head>
<body>
<form method="post">
<table width="70%" class="border" border="0" cellspacing="0" cellpadding="25" align="center">
<tr><th class="Chead" align="center">... ::: [ I n s t a l l a t i o n f ü r <u style="white-space:pre;"><?php echo $name2;?></u> f ü r i l c h 1 . 1 M] ::: ...</th></tr>
<tr>
<td class="Cmite">
<?php
if ( empty ($_POST['step']) ) {
?>
<div align="center">
<h2>Readme</h2>
<textarea cols="120" rows="<?php echo $rows; ?>"><?php echo htmlentities($readme); ?></textarea><br /><br />
Dieses Script soll die nötigen Datanbankändernungen für das <strong><?php echo $name; ?></strong> - Modul machen<br />
<br />
<input type="hidden" name="step" value="2" />
<input type="submit" value="Installieren" />
</div>
<?php
} elseif ($_POST['step'] == 2) {
define ( 'main' , TRUE );
require_once('include/includes/config.php');
require_once('include/includes/func/db/mysql.php');
db_connect();
$sql_statements = array();
$sql_statements[] = "DROP TABLE `prefix_mapcycle`";
$sql_statements[] = "CREATE TABLE `prefix_mapcycle` (`id` MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY,`uid` MEDIUMINT NOT NULL, `server` VARCHAR( 50 ) NOT NULL , `mapname` VARCHAR( 50 ) NOT NULL, `dllink` VARCHAR( 255 ) NOT NULL) ENGINE = MYISAM";
$errors = 0;
foreach ( $sql_statements as $sql_statement ) {
if ( trim($sql_statement) != '' ) {
echo '<pre>'.$sql_statement.'</pre>';
$e = db_query($sql_statement);
if (!$e) {
$errors++;
echo '<font color="#FF0000"><b>Es ist ein Fehler aufgetreten</b></font>:<div style="border: 1px dashed grey; padding: 5px; background-color: #EEEEEE">'. mysql_error().'<hr>'.$sql_statement.'</div>';
}
echo '<hr>';
}
}
if ($errors > 0) {
echo '<font color="#FF0000"><b>Es ist ein Fehler aufgetreten</b></font>, bitte alles auf dieser Seite kopieren und auf ilch.de oder mairu.ilch.net im Forum fragen...:<br /><span style="font-weight:bold;font-size:3em;">Es sei denn,</span> es ist ein Fehler mit <i>duplicate entry</i> oder <i>already exists</i> aufgetreten, das liegt einfach nur daran, dass du die Updatedatei mehrmals ausgeführt hast.<br />';
} else {
echo '<br /><br />Es scheinen keine Fehler aufgetreten und die Installation ohne Probleme verlaufen sein. Du solltest die <strong>'.$_SERVER['SCRIPT_NAME'].'</strong> nun vom Webspace löschen.';
}
}
?>
</td></tr></table>
</form>
</body>
</html>
include/contents/mapcycle.php
<?php
//Mapcycle Vorschläge
//by Mairu
//Hier Servernamen und Mapprefixe angeben
$servers = array('Server1', 'Server2', 'Server3');
$maptypen = array('de', 'cs', 'fy');
//ab hier nix mehr ändern
defined ('main') or die ( 'no direct access' );
$title = $allgAr['title'].' :: Mapcycle';
$hmenu = 'Mapcycle';
$design = new design ( $title , $hmenu );
$design->header();
if (!loggedin()) {
echo 'Nur für angemeldete Benutzer.<br />';
$design->footer(1);
}
$msg = '';
if ( isset($_POST['mc_submit']) ) {
$server = escape($_POST['server'], 'string');
$mapname = escape($_POST['mapprefix'],'string').'_'.escape($_POST['mapname'],'string');
$dllink = escape($_POST['dllink'], 'string');
if ( !empty($server) && $mapname != '_' && !empty($dllink)) {
db_query('INSERT INTO `prefix_mapcycle` (`uid`, `server`, `mapname`, `dllink`) VALUES ( '.$_SESSION['authid'].', "'.$server.'" , "'.$mapname.'" , "'.$dllink.'" )' );
$msg = 'Eintrag erfolgreich hinzugefügt.<br /><a href="?mapcyclearch">Vorschläge ansehen</a>';
} else {
$msg = 'Nicht alle Felder ausgefüllt.';
}
}
if (!empty($msg)) {
$msg = '<div style="border: 1px dashed #204A87; padding: 5px; margin: 10px;">'.$msg.'</div>';
}
$row = array('msg' => $msg);
$row['selectserver'] = '';
foreach ($servers as $s){
$row['selectserver'] .= '<option value="'.$s.'">'.$s.'</option>';
}
$row['selectmt'] = '';
foreach ($maptypen as $mt){
$row['selectmt'] .= '<option value="'.$mt.'">'.$mt.'</option>';
}
$tpl = new tpl('mapcycle');
$tpl->set_ar_out($row, 0);
$design->footer();
?>
include/contents/mapcyclearch.php
<?php
//Mapcycle Vorschläge
//by Mairu
defined ('main') or die ( 'no direct access' );
$title = $allgAr['title'].' :: Mapcycle '.$lang['archiv'];
$hmenu = 'Mapcycle '.$lang['archiv'];
$design = new design ( $title , $hmenu );
$design->header();
if ($_SESSION['authright'] <= -9) {
# delete
if ($menu->getA(1) == 'd' AND is_numeric($menu->getE(1))) {
db_query("DELETE FROM prefix_mapcycle WHERE id = ".$menu->getE(1));
}
# delete all
if ($menu->get(1) == 'delall') {
if (is_numeric($menu->get(2))) {
$anz = db_result(db_query("SELECT COUNT(*) FROM `prefix_mapcycle`"),0) - $menu->get(2);
if ($anz > 0) {
db_query("DELETE FROM `prefix_mapcycle` LIMIT $anz");
}
}
else { db_query("DELETE FROM `prefix_mapcycle`"); }
}
}
$tpl = new tpl('mapcyclearch');
$tpl->out(0);
$class = 'Cnorm';
$erg = db_query('SELECT mc.*, u.name AS username FROM `prefix_mapcycle` mc LEFT JOIN prefix_user u ON mc.uid = u.id ORDER BY mc.server, mc.id DESC');
while ($row = db_fetch_assoc($erg) ) {
$class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
$row['class'] = $class;
$row['delete'] = $_SESSION['authright'] <= -8 ? '<a href="index.php?mapcyclearch-d'.$row['id'].'"><img src="include/images/icons/del.gif" alt="'.$lang['delete'].'" title="'.$lang['delete'].'"></a>' : '';
$tpl->set_ar_out($row, 1);
}
$tpl->out(2);
if ($_SESSION['authright'] <= -9) {
echo '<a href="javascript:del();">Mapcycle Leeren</a>';
}
$design->footer();
?>
include/templates/mapcyclearch.htm
<script type="text/javascript">
function del() {
if (anz = prompt("Wieviele Einträge sollen erhalten bleiben?\\n(Es werden die zuletzt geschriebenen erhalten)", "0")) {
if (anz >= 0) { window.location.href = "index.php?mapcyclearch-delall-"+anz; }
else alert("Du musst eine Zahl größer gleich 0 eingeben");
}
}
</script>
<table width="100%" align="center" class="border" cellpadding="2" cellspacing="1" border="0">
<tr class="Chead"><td colspan="4" style="text-align:center; font-size:1.3em"><b>Mapcyclevorschläge</b></td></tr>
<tr class="Chead"><td><b>Server</b></td><td><b>Map</b></td><td><b>vorgeschlagen von</b></td><td></td></tr>
{EXPLODE}
<tr class="{class}"><td><b>{server}</b></td><td><b>{mapname} <a href="{dllink}">Download</a></b></td><td><b><a href="?user-details-{uid}">{username}</a></b></td><td>{delete}</td></tr>
{EXPLODE}
</table>
include/templates/mapcycle.htm
{msg}
<form action="index.php?mapcycle" method="POST">
<table class="border" cellpadding="2" cellspacing="1" width="98%">
<tr>
<td class="Chead" colspan="2"><b>Mapcyclevorschlag abgeben</b></td>
</tr>
<tr>
<td class="Cmite">Für welchen Server?</td>
<td class="Cnorm"><select name="server">{selectserver}</select></td>
</tr>
<tr>
<td class="Cmite">Mapname</td>
<td class="Cnorm"><select name="mapprefix">{selectmt}</select><input type="text" name="mapname" size="30"/></td>
</tr>
<tr>
<td class="Cmite">Downloadlink der Map</td>
<td class="Cnorm"><input type="text" size="45" name="dllink" /></td>
</tr>
<tr>
<td class="Cdark" colspan="2"><input type="submit" value="{_lang_formsub}" name="mc_submit"></td>
</tr>
</table>
</form>
Zuletzt modifiziert von Mairu am 10.04.2009 - 18:41:44