.
*/
include("./include/include.php");
admin_header();
if( !in_array("workshop_view", $_SESSION['sess_functions']) ) {
echoln("You are not authorized to see this page.");
}else {
echoln("
Administrate workshops
");
$Cancel_process= !in_array("workshop_edit", $_SESSION['sess_functions']);
$id = get_int('id');
if( isset($_REQUEST['cmd']) ) {
$cmd = $_REQUEST['cmd'];
}else {
$cmd = "";
}
if( $cmd=="new" AND !$Cancel_process ) {
// This is new entry, so ID is not avail.
$id = 0;
$title = "";
$leader = "";
$slot = "both";
if( !isset($url) || $url=="" ) $url="http://";
$places = "";
$description = "";
}
if( $cmd=="edit" AND !$Cancel_process ) {
#################
### Load Data ###
#################
$query="SELECT `id`, `title`, `description`, `leader`, `slot`, `url`, `places`
FROM `workshops` WHERE `id`=".addslashes($id);
if( @mysql_num_rows( $res=doquery($query) )==1 ) {
// Ok, load data
$row = mysql_fetch_array($res);
$title = $row['title'];
$description = $row['description'];
$leader = $row['leader'];
$slot = $row['slot'];
$url = $row['url'];
$places = $row['places'];
}else {
// No result, error loading data
echoln("Error: unable to load the data for this workshop. Please try again later.
");
$Cancel_process=true;
}
}
if( $cmd=="delete" AND !$Cancel_process ) {
##############
### DELETE ###
##############
$query="SELECT `PersonID` FROM `persons`
WHERE `workshopID1`=".addslashes($id)." OR `workshopID2`=".addslashes($id)." OR `workshopID3`=".addslashes($id)." OR `workshopID4`=".addslashes($id)." OR
`WorkshopStrategy`=".addslashes($id)." OR `workshopIDSlot1`=".addslashes($id)." OR `workshopIDSlot2`=".addslashes($id);
if( @mysql_num_rows(doquery($query)) ) {
echoln("Unable to delete workshop, there are already persons subscribed to this workshop.");
$cmd = "";
}else {
$query="SELECT `title` FROM `workshops` WHERE `id`=".addslashes($id);
if( $row=@mysql_fetch_array(doquery($query)) ) {
if( get_var('confirm')=="yes" ) {
// Delete this workshop
$query="DELETE FROM `workshops` WHERE `id`=".addslashes($id);
if( doquery($query) ) {
// Successfull
echoln("Successfully deleted workshop '".$row['title']."'.");
}else {
// Error
echoln("Unable to delete workshop '".$row['title']."'. Please try again.");
}
$cmd = "";
}else {
// Ask for confirmation
echoln("Are you sure you want to delete workshop '".$row["title"]."'?");
echoln("Yes ");
echoln("No
");
}
}else {
echoln("Workshop not found, unable to delete.");
$cmd = "";
}
}
}
if( $cmd=="save" AND !$Cancel_process ) {
###################
### ERROR CHECK ###
###################
$Error=false;
// Check for errors before saving
//Title
$title=get_var('title');
if( strlen($title)<3 ) {
echoln("Please fill in a title for the workshop.
");
$Error_Title=true; $Error=true;
}
//Description
$description=get_var('description');
//Leader
$leader=get_var('leader');
if( strlen($leader)<2 ) {
echoln("Please fill in a workshop leader.
");
$Error_Leader=true; $Error=true;
}
//Slot
$slot=get_var('slot');
if( $slot!="first" AND $slot!="second" AND $slot!="both" AND $slot!="strategy" ) {
echoln("Please select the timeslot of the workshop.
");
$error_Slot=true; $Error=true;
}
//URL
$url=get_var('url');
$re="/(^http(s)?:\/\/(\w|-|_)+(\.(\w|-|_)+)*\.[a-zA-Z]{2,4}(\/(\w|\-|_|\?|\&|\&|#|\.|=)+)*(\/)?$)/";
if( $url=="http://" ) $url = "";
if( !preg_match($re, $url) AND strlen($url)>0 ) {
echoln("The url specified is not valid.
");
$error_URL=true; $Error=true;
}
//Places
$places=get_int('places');
if( $places<-1 OR $places>100 OR $places==0 ) {
echoln("Please fill in a valid number of available places (between 1 and 100 or -1 for no free places left (this will disable the workshop for new applications)).
");
$error_Places=true; $Error=true;
}
if( !$Error ) {
#################
### SAVE DATA ###
#################
if( $id<1 ) {
// New entry, insert
$query="INSERT INTO `workshops` (`title`, `description`, `leader`, `slot`, `url`, `places`)
VALUES ('".addslashes($title)."', '".addslashes($description)."', '".addslashes($leader)."', '".addslashes($slot)."', '".addslashes($url)."', ".addslashes($places).")";
if( doquery($query) ) {
// Saving succeeded
echoln("New workshop saved successfully.");
}else {
// Saving failed
echoln("Saving of new workshop failed. Please try again.");
}
}else {
// Edited entry, update
$query="UPDATE `workshops` SET `title`='".addslashes($title)."', `description`='".addslashes($description)."', `leader`='".addslashes($leader)."',
`slot`='".addslashes($slot)."', `url`='".addslashes($url)."', `places`=".addslashes($places)." WHERE `id`=".addslashes($id);
if( doquery($query) ) {
// Saving succeeded
echoln("Workshop saved successfully.");
}else {
// Saving failed
echoln("Saving of workshop failed. Please try again.");
}
}
}else {
// Error found, reshow form
if( $id>0 ) {
$cmd = "edit"; // id avail, so this was an edit
}else {
$cmd = "new"; // id unavailable, so this was a new entry
}
}
}elseif( !$Cancel_process ) {
// Not save action, so there were no errors
$Error=false;
}
if( ($cmd=="new" OR $cmd=="edit") AND !$Cancel_process ) {
#################
### Show form ###
#################
echoln("Back");
echoln("");
}elseif( $cmd!="delete" || ( $cmd=="delete" && isset($_GET['confirm']) && $_GET['confirm']=="yes" ) ) {
#################
### Show list ###
#################
$query="SELECT `id`, `title`, `leader`, `slot`, `places`
FROM `workshops` ORDER BY `title`";
echoln("Add new workshop");
if( @mysql_num_rows( $res=doquery($query) )>0 ) {
echoln("");
echoln(" ");
echoln(" | Title | ");
echoln(" Leader | ");
echoln(" Timeslot | ");
echoln(" Places | ");
echoln(" | ");
echoln("
");
$i=0;
while( $row=mysql_fetch_array($res) ) {
$i++;
if( ($i%2)==1 )
echoln(" ");
else
echoln("
");
echoln(" | ".$row["title"]." | ");
echoln(" ".$row["leader"]." | ");
echoln(" ".$row["slot"]." | ");
echoln(" ".$row["places"]." | ");
echoln(" ");
echoln(" Edit ");
echoln(" Delete");
echoln(" | ");
echoln("
");
}
echoln("
");
}else {
echoln("No workshops found.
");
}
}
}
admin_footer();
?>