Yep, I gave up on it. This was some SQL written by a friend who's no longer around. I went and rewrote the whole mess in about 1/5 as many lines and replaced the whole thing. I have NO idea why he made it so damn complicated.
You should see some of the SQL this guy wrote...it's super odd and convoluted...he does a complex query, then uses that result
in a variable as part of another query, and so on. And not a single line is commented. Here's an example, this is one of his simpler functions below.
Caution: looking at this may make your eyes bleed. Highlight Mode: (MySQL)
$event_start = calculate_date('b.res','a.event_start_imon','a.event_start_iday','a.event_start_ihr','a.event_start_imin');
$event_stop = calculate_date('b.res','a.event_stop_imon','a.event_stop_iday','a.event_stop_ihr','a.event_stop_imin');
$qi = 0;
$qs0 = array();
foreach
($events
as $event_id
=> $event
) {
$start = $event['start'];
$stop = $event['stop'];
$date_ids = $event['ids'];
$date_id_list
= join(',',$date_ids
); $qs0[$qi++] = "
select a.event_id event_id, b.id date_id,b.res res, a.event_min, a.event_max
, $event_start event_start
, $event_stop event_stop
, event_min
, event_max
from pdc_calendar a, pdc_period b
where a.event_id = $event_id
and b.id in ($date_id_list)
";
}
$qs1
= join("\nunion\n",$qs0
);
#D print "<pre>\nget_month_events:\n$qs1\n</pre>\n";
$qs2 = "
select event_id, event_start, event_stop, event_min, event_max from (
$qs1
) a
where event_start < '$year-$month-31' + interval 1 day
and event_stop > '$year-$month-01' - interval 1 day
and event_start >= event_min
and event_stop <= event_max
";
$qr1 = mysql_query($qs2);
#D print "<pre>\n$qs2\n</pre>\n";
return $rtn;
}
# printf("min(%s) max(%s)\n",$start,$stop);
$i = 0;
$qa3 = array();
while ($row = mysql_fetch_assoc($qr1)) {
$qa3[$i++] = sprintf("
select a.res, extract(day from a.res) event_day, '%s' event_start, '%s' event_stop
, b.is_public, b.event_title, b.event_type, b.event_location, b.event_text, b.event_flags
, b.form_data, b.hr_dates, b.pplan_event
, b.event_id, b.event_color
from pdc_period a, pdc_calendar b
where a.res between '%s' and '%s'
and event_id = %d
",$row['event_start'],$row['event_stop'],$row['event_start'],$row['event_stop'],$row['event_id']
);
}
return $rtn;
}
$qs3
= sprintf
("select * from (%s) a where res between '$year-$month-01' and '$year-$month-31'\n",join("\nunion\n",$qa3
));
#D print "\n<pre>\n$qs3\n</pre>\n>";
$qr3 = mysql_query($qs3);
while ($row = mysql_fetch_assoc($qr3)) {
if (! is_array
($rtn
[$row
['event_day']])) { $rtn[$row['event_day']] = array();
}