Skip to content

Instantly share code, notes, and snippets.

@newsomc
Created June 4, 2009 19:09
Show Gist options
  • Save newsomc/123779 to your computer and use it in GitHub Desktop.
Save newsomc/123779 to your computer and use it in GitHub Desktop.
<?php
if(!$_REQUEST['event_type_id'] || ($_REQUEST['event_type_id'] != 'IMAX' && $_REQUEST['event_type_id'] != "SPACESHOWS")){
//Open the db connection
db_connect();
//start building the SQL statement
$sql = "SELECT a.event_id, a.event_code, a.event_title, a.event_desc, a.event_short_desc, a.event_location, a.event_time_desc, a.event_price_data, a.event_note,
a.event_tag, a.event_img_filename, a.event_img_caption, a.event_img_credit, a.is_members_only, a.is_member_event, a.ticket_code,
a.show_buy_button, a.event_code2, a.ticket_code2, a.event_time_desc2, a.show_buy_button2, a.access_chair, a.access_audio, a.access_tty, a.access_largeprint, a.access_cc, a.access_sign, a.access_braille, a.access_touch,
b.event_img_path, b.event_type_desc, b.banner_filename, b.event_type_note,
c.event_date, c.show_event_date_flag, HOUR(c.event_start_time) as hour, c.event_start_time2,
d.event_subtype_desc, d.event_subtype_note,
e.event_sub_subtype_id, e.event_sub_subtype_desc, e.event_sub_subtype_note,
f.event_type_id, f.event_subtype_id, f.event_sub_subtype_id
FROM event a, event_type b, event_schedule c, event_subtype d, event_sub_subtype e, event_event_type f
WHERE a.is_event_active = 1
AND a.event_id = c.event_id
AND a.event_id = f.event_id
AND b.event_type_id = f.event_type_id
AND f.event_subtype_id = d.event_subtype_id
AND f.event_sub_subtype_id = e.event_sub_subtype_id ";
//show today's events if there are any in the database.
if ($_GET['today']){
$today = date('Y-m-d');
$sql .= "AND c.event_date = '$today' ";
}
$sql .= "AND c.event_date >= now() ";
//member is 1 if true and 0 if not
if (isset($_GET['member']) && $_GET['member'] == 'true')
{
$memberheader = 1;
$sql .= "AND a.is_member_event = 1 ";
}
if (isset($_REQUEST['event_type_id']) && $_REQUEST['event_type_id'] == 'member')
{
$memberheader = 1;
$sql .= "AND a.is_member_event = 1 ";
}
else
{
$sql .= "AND a.is_members_only = 0 ";
}
if(!$_GET['bytype']){
if(isset($_GET['date']) && ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $_GET['date']) && !$_POST['keywords'])//get events for a specific date
{
$date = $_GET['date'];
#$sql .= "AND YEAR(c.event_date) c.event_date = '{$date}' ";
$year = substr($date, 0, 4);
$day = substr($date, 8, 2);
$month = gmdate('F',gmmktime(0,0,0,substr($date, 5, 2),1,$year));
$month_num = substr($date, 5, 2);
$sql .= "AND MONTH(c.event_date) = '{$month_num}' AND YEAR(c.event_date) = '{$year}' AND DAYOFMONTH(c.event_date) = '{$day}' ";
//$headline = "$month $day, $year";
$headline = "Events for $month $day, $year";
}elseif(!$_POST['keywords']){
if(isset($_GET['month']) && isset($_GET['year'])){//get events for month
$month = $_GET['month'];
$year = $_GET['year'];
$sql .= "AND MONTH(c.event_date) = '{$month}' AND YEAR(c.event_date) = '{$year}' ";
$headlinemonth=gmdate('F',gmmktime(0,0,0,$month,1,$year));
//this is the headline for the top of the page
//$headline = "$headlinemonth $year";
$headline = "Events for $headlinemonth $year";
}else{//get events for next 30 days
//$year=gmdate('Y',time());
//$month=gmdate('m',time());
//$day=gmdate('d',time());
//$sql .= "AND MONTH(c.event_date) = '{$month}' AND YEAR(c.event_date) = '{$year}' ";
$today = date('Y-m-d', time());
//$plus30 = date('Y-m-d', strtotime('+1 month'));
$sql .= "AND DATEDIFF(c.event_date,'{$today}')<31 ";
$headline = "Upcoming Events";
}
}
if (isset($_GET['member']) && $_GET['member'] != 0)
{
$memberheader = 1;
$sql .= "AND a.is_member_event = 1 ";
}
if (isset($_REQUEST['event_type_id']) && $_REQUEST['event_type_id']=='member')
{
$memberheader = 1;
$sql .= "AND a.is_member_event = 1 ";
$sql .= "AND c.event_date >= now()";
}
//get event types from URL or else use all
if (isset($_REQUEST['event_type_id']) && $_REQUEST['event_type_id'] != 0)
{
$event_type_id_list = $_REQUEST['event_type_id'];
$headline = "Events by Type";
$sql .= "AND f.event_type_id IN ($event_type_id_list) ";
$sql .= "AND c.event_date >= now()";
}
}else{//events by type without regard to date*/
$headline = "Events by Type";
if(isset($_GET['event_type_id'])){
$sql .= " AND f.event_type_id IN (".$_GET['event_type_id'].")";
}
if(isset($_GET['event_subtype_id'])){
$sql .= " AND f.event_subtype_id IN (".$_GET['event_subtype_id'].")";
}
if(isset($_GET['event_sub_subtype_id'])){
$sql .= " AND f.event_sub_subtype_id IN (".$_GET['event_sub_subtype_id'].")";
}
}
//filter by accessibility options
if($_GET['ao']){
$access = $_GET['ao'];
if($access == 'access'){
$sql .= " AND (a.access_chair=1 OR a.access_audio=1 OR a.access_tty=1 OR a.access_largeprint=1 OR a.access_cc=1 OR a.access_sign=1 OR a.access_braille=1 OR a.access_touch=1)";
}else{
$sql .= " AND a.access_".substr($access,0,11)." = 1";
}
}
//include search terms
if($_POST['keywords'] && strlen(trim($_POST['keywords'])) > 0)
{
$search_strings = explode(" ",addslashes(substr($_POST['keywords'], 0, 40)));
//print_r($search_strings); die;
$sql .= " AND (";
foreach($search_strings as $keyword){
$sql .= "a.event_title LIKE '%{$keyword}%' OR ";
$sql .= "a.event_desc LIKE '%{$keyword}%' OR ";
}
$sql = substr($sql, 0, strlen($sql) - 4).") ";
$headline = "Search Results for \"" . stripslashes($search_strings[0]) . "\"";
}
if($_REQUEST['event_tag'] && strlen(trim($_REQUEST['event_tag'])) > 0){
$sql .= " AND a.event_tag = '" . substr(trim($_REQUEST['event_tag']),0,40) . "'";
$headline = "Search Results for \"" . substr(trim($_REQUEST['event_tag']),0,40) . "\"";
}
//ORDER BY
$sql .= " ORDER BY b.event_type_desc, d.event_subtype_desc, e.event_sub_subtype_id, c.event_date, hour, a.event_title, a.event_code";
//echo "<span style='color:white;'>".$sql."</span>"; //die;
//run query
$query = mysql_query($sql) or die (mysql_error());
}else{
$headline = "Events by Type";
}//end if request event type is neither IMAX nor SPACE SHOWS
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment