Files
2017-03-02 20:30:40 -06:00

577 lines
17 KiB
PHP
Executable File

<?php
$admin_digest = $_COOKIE['bobsleddigest'];
$digest = "b8939260fa537f7c975aaad60c951aaf5bbb7a9f";
$phrase = file_get_contents('../../../data/bobsledphrase.txt');
if( $admin_digest == "" or ($_POST['user'] and $_POST['password']) )
{
$admin_digest = sha1("{$_POST['user']}^{$_POST['password']}^$phrase");
setcookie('bobsleddigest',$admin_digest,time() + (30*60),'/bobsled/admin','.rameydesign.net');
}
include "../header.php";
if( $admin_digest == $digest )
{
if( $_POST['cmd'] == 'add_picture' )
{ print "<div class='alert'>" . AddPicture() . "</div>"; }
else if( $_POST['cmd'] == 'add_event' )
{ print "<div class='alert'>" . AddEvent() . "</div>"; }
else if( $_POST['cmd'] == 'add_team' )
{ print "<div class='alert'>" . AddTeam() . "</div>"; }
else if( $_POST['cmd'] == 'delete_team' )
{ print "<div class='alert'>" . DeleteTeam() . "</div>"; }
else if( $_POST['cmd'] == 'delete_event' )
{ print "<div class='alert'>" . DeleteEvent() . "</div>"; }
else if( $_POST['cmd'] == 'delete_picture' )
{ print "<div class='alert'>" . DeletePicture() . "</div>"; }
PrintAdminIndex();
}
else { PrintLoginPage(); }
?>
</div>
</div>
</div>
</body>
</html>
<?php
function AddTeam()
{
$team = str_replace(".","_",$_POST['teamname']);
$team = str_replace("/","_",$team);
$team = str_replace(" ","_",$team);
$team = escapeshellcmd($team);
print `mkdir "../pictures/$team/"`;
$newfolder = opendir("../pictures/$team/");
if( $newfolder )
{ $message = "Team $team successfully added."; closedir($newfolder); }
else
{ $message = "Team $team could not be added, please try again."; }
return $message;
}
function AddEvent()
{
$team = str_replace(".","_",$_POST['teamname']);
$team = str_replace("/","_",$team);
$team = str_replace(" ","_",$team);
$team = escapeshellcmd($team);
$event = str_replace(".","_",$_POST['eventname']);
$event = str_replace("/","_",$event);
$event = str_replace(" ","_",$event);
$event = escapeshellcmd($event);
print `mkdir "../pictures/$team/$event/"`;
$newfolder = opendir("../pictures/$team/$event/");
if( $newfolder )
{ $message = "Event $event for $team successfully added."; closedir($newfolder); }
else
{ $message = "Event $event for $team could not be added, please try again."; }
return $message;
}
function AddPicture()
{
$team = str_replace(".","_",$_POST['teamname']);
$team = str_replace("/","_",$team);
$team = str_replace(" ","_",$team);
$team = escapeshellcmd($team);
$event = str_replace(".","_",$_POST['eventname']);
$event = str_replace("/","_",$event);
$event = str_replace(" ","_",$event);
$event = escapeshellcmd($event);
$name = $_FILES['picture']['name'];
$description = addslashes($_POST['description']);
$price = addslashes($_POST['price']);
if( move_uploaded_file($_FILES['picture']['tmp_name'],"../pictures/$team/$event/$name") )
{
if( file_put_contents("../pictures/$team/$event/$name.txt","$price\n$description") )
{ $message = "Picture $name successfully added to team $team for $event."; }
}
else { $message = "Picture $name could not be added to team $team for $event, please try again."; }
return $message;
}
function DeleteTeam()
{
$team = str_replace(".","_",$_POST['teamname']);
$team = str_replace("/","_",$team);
$team = str_replace(" ","_",$team);
$team = escapeshellcmd($team);
$team_folder = scandir("../pictures/$team");
foreach($team_folder as $file)
{
$event_folder = scandir("../pictures/$team/$file");
foreach($event_folder as $file2)
{ print `rm "../pictures/$team/$file/$file2"`; }
print `rmdir "../pictures/$team/$file"`;
}
print `rmdir "../pictures/$team"`;
if( file_exists("../pictures/$team") )
{ $message = "Could not delete team."; }
else { $message = "Team deleted successfully."; }
return $message;
}
function DeleteEvent()
{
$team = str_replace(".","_",$_POST['teamname']);
$team = str_replace("/","_",$team);
$team = str_replace(" ","_",$team);
$team = escapeshellcmd($team);
$event = str_replace(".","_",$_POST['eventname']);
$event = str_replace("/","_",$event);
$event = str_replace(" ","_",$event);
$event = escapeshellcmd($event);
$event_folder = scandir("../pictures/$team/$event");
foreach($event_folder as $file)
{ print `rm "../pictures/$team/$event/$file"`; }
print `rmdir "../pictures/$team/$event"`;
if( file_exists("../pictures/$team/$event") )
{ $message = "Could not delete event."; }
else { $message = "Event deleted successfully."; }
return $message;
}
function DeletePicture()
{
$team = str_replace(".","_",$_POST['teamname']);
$team = str_replace("/","_",$team);
$team = str_replace(" ","_",$team);
$team = escapeshellcmd($team);
$event = str_replace(".","_",$_POST['eventname']);
$event = str_replace("/","_",$event);
$event = str_replace(" ","_",$event);
$event = escapeshellcmd($event);
$picture = str_replace("/","_",$_POST['picturename']);
$picture = str_replace(" ","_",$picture);
$picture = escapeshellcmd($picture);
print `rm "../pictures/$team/$event/$picture"`;
print `rm "../pictures/$team/$event/$picture.txt"`;
if( file_exists("../pictures/$team/$event/$picture") )
{ $message = "Could not delete picture."; }
else { $message = "Picture deleted successfully."; }
if( file_exists("../pictures/$team/$event/$picture.txt") )
{ $message .= " Could not delete picture details file."; }
else { $message .= " Picture details file delete successfully."; }
return $message;
}
function PrintAdminIndex()
{
$teams = scandir('../pictures');
$teams_html = "";
$events_js = "";
$pictures_js = "";
if($teams)
{
foreach($teams as $file)
{
if( $file != '.' and $file != "..")
{
$teams_html .= "<option value='$file'>$file</option>\n";
$var_name = str_replace(" ","_",$file);
$events_counter = 0;
$events_js .= "\nvar $var_name = new Array();";
$events = scandir("../pictures/$file");
if($events)
{
foreach($events as $file2)
{
if($file2 != '.' and $file2 != "..")
{
$file_name = addslashes($file2);
$events_js .= "\n $var_name" . "[$events_counter] = '$file2';";
$events_counter++;
$var_name2 = str_replace(" ","_",$file2);
$pictures_counter = 0;
$pictures_js .= "\nvar $var_name$var_name2 = new Array();";
$pictures = scandir("../pictures/$file/$file2");
if($pictures)
{
$counter2 = 0;
foreach($pictures as $file3)
{
if($file3 != '.' and $file3 != '..' and !(true == strpos($file3,".txt")))
{
$file_name2 = addslashes($file3);
$pictures_js .= "\n $var_name$var_name2" . "[$pictures_counter] = '$file_name2';";
$pictures_counter++;
}
}
}
}
}
}
}
}
}
?>
<strong>Admin Panel</strong>
<br /> <br />
<!--ADD TEAM-->
<form action='index.php' method='post'>
<input type='hidden' name='cmd' value='add_team' />
<div class='admin_section'>Add a new bobsled team</div>
<div class='indented_para'>
<table cellpadding='4' cellspacing='0' border='0'>
<tr>
<td align='right'>Team name:</td>
<td><input type='text' size='30' name='teamname' /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type='submit' value='Add Team' /></td>
</tr>
</table>
</div>
</form>
<br /> <br />
<!--ADD EVENT-->
<form action='index.php' method='post'>
<input type='hidden' name='cmd' value='add_event' />
<div class='admin_section'>Add a new event to an existing team</div>
<div class='indented_para'>
<table cellpadding='4' cellspacing='0' border='0'>
<tr>
<td align='right'>Select Team:</td>
<td>
<select name='teamname'>
<option>Select a Team</option>
<?php print $teams_html;
?>
</select>
</td>
</tr>
<tr>
<td align='right'>Event name:</td>
<td><input type='text' size='30' name='eventname' /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type='submit' value='Add Event' /></td>
</tr>
</table>
</div>
</form>
<br /> <br />
<!--ADD PICTURE-->
<form action='index.php' method='post' enctype="multipart/form-data">
<input type='hidden' name='cmd' value='add_picture' />
<div class='admin_section'>Add a new picture to an existing team's event</div>
<div class='indented_para'>
<table cellpadding='4' cellspacing='0' border='0'>
<tr>
<td align='right'>Select Team:</td>
<td>
<select name='teamname' id='add_teams_select' onchange="SetEventsHTML('add')">
<option>Select a Team</option>
<?php print $teams_html;
?>
</select>
</td>
</tr>
<tr>
<td align='right'>Select Event:</td>
<td>
<select id='add_events_select' style='visibility:hidden'>
<option>Select an Event</option>
</select>
</td>
</tr>
<tr>
<td align='right'>Browse for picture:</td>
<td><input type='file' name='picture' /></td>
</tr>
<tr>
<td align='right'>Picture description:</td>
<td><input type='text' size='50' name='description' /></td>
</tr>
<tr>
<td align='right'>Picture price:</td>
<td><input type='text' size='5' name='price' /> (no dollar sign)</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type='submit' value='Add Picture' /></td>
</tr>
</table>
</div>
</form>
<script type='text/javascript' language='javascript'>
<!--
<?php print $events_js . "\n\n" . $pictures_js;
?>
function SetEventsHTML(id_prefix)
{
var events_id = id_prefix + "_events_select";
var teams_id = id_prefix + "_teams_select";
//grab the HTML elements
var events_select = document.getElementById(events_id);
var team_selected = document.getElementById(teams_id).value;
//replace all spaces with an underscore
while( team_selected.indexOf(" ") > 0 )
{ team_selected = team_selected.replace(" ","_"); }
var events_array = eval(team_selected);
var array_length = events_array.length;
if( team_selected != 'Select a Team' )
{
if(id_prefix == "delete2")
{
var picture_options = document.getElementById(id_prefix + "_pictures_select").options.length - 1;
for(var c=picture_options;c>0;c--)
{ document.getElementById(id_prefix + "_pictures_select").remove(c); }
}
var num_options = events_select.options.length - 1;
for(var c=num_options;c>0;c--)
{ events_select.remove(c); }
for(var i=0;i < array_length;i++)
{
var new_option = document.createElement("OPTION");
new_option.text = events_array[i];
new_option.value = events_array[i];
events_select.style.visibility = "visible";
events_select.options.add(new_option);
}
}
}
function SetPicturesHTML()
{
//grab the HTML elements
var pictures_select = document.getElementById('delete2_pictures_select');
var event_selected = document.getElementById('delete2_events_select').value;
var team_selected = document.getElementById('delete2_teams_select').value;
//replace all spaces with an underscore
while( event_selected.indexOf(" ") > 0 )
{ event_selected = event_selected.replace(" ","_"); }
//replace all spaces with an underscore
while( team_selected.indexOf(" ") > 0 )
{ team_selected = team_selected.replace(" ","_"); }
var pictures_array = eval(team_selected + event_selected);
var array_length = pictures_array.length;
if( event_selected != 'Select an Event' )
{
var num_options = pictures_select.options.length - 1;
for(var c=num_options;c>0;c--)
{ pictures_select.remove(c); }
for(var i=0;i < array_length;i++)
{
var new_option = document.createElement("OPTION");
new_option.text = pictures_array[i];
new_option.value = pictures_array[i];
pictures_select.style.visibility = "visible";
pictures_select.options.add(new_option);
}
}
}
function ReallyDeleteTeam()
{
if( confirm("Do you really want to delete this team?") )
{ return true; }
else { return false; }
}
function ReallyDeleteEvent()
{
if( confirm("Do you really want to delete this event?") )
{ return true; }
else { return false; }
}
function ReallyDeletePicture()
{
if( confirm("Do you really want to delete this picture?") )
{ return true; }
else { return false; }
}
//-->
</script>
<br /> <hr />
<!--DELETION CAPABILITIES--->
<!--DELETE TEAM-->
<form action='index.php' method='post'>
<input type='hidden' name='cmd' value='delete_team' />
<div class='admin_section'>Delete an entire, existing team</div>
<div class='indented_para'>
<table cellpadding='4' cellspacing='0' border='0'>
<tr>
<td align='right'>Select a team:</td>
<td>
<select name='teamname'>
<option>Select a Team</option>
<?php print $teams_html;
?>
</select>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type='submit' value='Delete Team' /></td>
</tr>
</table>
</div>
</form>
<br /> <br />
<!--DELETE EVENT-->
<form action='index.php' method='post'>
<input type='hidden' name='cmd' value='delete_event' />
<div class='admin_section'>Delete an entire, existing event of an existing team</div>
<div class='indented_para'>
<table cellpadding='4' cellspacing='0' border='0'>
<tr>
<td align='right'>Select Team:</td>
<td>
<select name='teamname' id='delete_teams_select' onchange="SetEventsHTML('delete')">
<option>Select a Team</option>
<?php print $teams_html;
?>
</select>
</td>
</tr>
<tr>
<td align='right'>Select an event:</td>
<td>
<select id='delete_events_select' style='visibility:hidden'>
<option>Select an Event</option>
</select>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type='submit' value='Delete Event' onsubmit='ReallyDeleteEvent()' /></td>
</tr>
</table>
</div>
</form>
<br /> <br />
<!--DELETE PICTURE-->
<form action='index.php' method='post'>
<input type='hidden' name='cmd' value='delete_picture' />
<div class='admin_section'>Delete a picture from an existing team's event</div>
<div class='indented_para'>
<table cellpadding='4' cellspacing='0' border='0'>
<tr>
<td align='right'>Select Team:</td>
<td>
<select name='teamname' id='delete2_teams_select' onchange="SetEventsHTML('delete2')">
<option>Select a Team</option>
<?php print $teams_html;
?>
</select>
</td>
</tr>
<tr>
<td align='right'>Select Event:</td>
<td>
<select id="delete2_events_select" onchange="SetPicturesHTML()" style='visibility:hidden'>
<option>Select an Event</option>
</select>
</td>
</tr>
<tr>
<td align='right'>Select Picture:</td>
<td>
<select id="delete2_pictures_select" style='visibility:hidden'>
<option>Select a Picture</option>
</select>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type='submit' value='Delete Picture' /></td>
</tr>
</table>
</div>
</form>
<?php
}
function PrintLoginPage()
{
?>
<form action='index.php' method='post'>
<table cellpadding='4' cellspacing='0' border='0'>
<tr>
<td align='right'>Username:</td>
<td><input type='text' size='20' name='user' /></td>
</tr>
<tr>
<td align='right'>Password:</td>
<td><input type='password' size='20' name='password' /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type='submit' value='login' /></td>
</table>
</form>
<?php
}
?>