. */ 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 `id` FROM `applications` 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 people 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("

"); echoln(" "); echoln(" "); echoln(" "); echoln(" "); echoln(" "); echoln(" "); echoln(" "); echoln(" "); echoln(" "); echoln("
Title:
Leader(s):
Timeslot:"); echoln("       "); echoln("
URL:
Number of places:
Workshop description:

"); ///// Show buttons ///// if( $cmd=="new" ) { echoln("   "); echoln(" "); }else { echoln("   "); echoln(" "); } 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(" "); echoln(" "); echoln(" "); echoln(" "); echoln(" "); echoln(" "); $i=0; while( $row=mysql_fetch_array($res) ) { $i++; if( ($i%2)==1 ) echoln(" "); else echoln(" "); echoln(" "); echoln(" "); echoln(" "); echoln(" "); echoln(" "); echoln(" "); } echoln("
TitleLeaderTimeslotPlaces 
".$row["title"]."".$row["leader"]."".$row["slot"]."".$row["places"].""); echoln(" Edit  "); echoln(" Delete"); echoln("
"); }else { echoln("

No workshops found.

"); } } } admin_footer(); ?>