sub callbacks_for_today {
my $username = shift or confess 'must supply username';
["
SELECT
*
FROM
call_schedule
INNER JOIN person ON (user_people_id=people.id)
WHERE
DATE_FORMAT( `callback_time` , '%Y-%m-%d' ) = DATE_FORMAT( NOW( ) , '%Y-%m-%d' ) -- date_clause
AND staff_people_id = users.people_id
AND username =", \$username,
"
ORDER BY
callback_time DESC
"]
}
####
sub swap_sql {
my ($sql_fragment, $sub_hint, $sub_expr) = @_;
$sub_hint = "^.+-- $sub_hint";
# return data structures as is
ref $sql_fragment and return $sql_fragment;
$sql_fragment =~ s/$sub_hint/$sub_expr/m ;
$sql_fragment;
}
####
sub callbacks_for_tomorrow {
my $username = shift or confess 'must supply username';
my $today_sql = callbacks_for_today($username);
my $tomorrow_date_str = "DATE_FORMAT( `callback_time` , '%Y-%m-%d' ) = DATE_FORMAT( DATE_ADD(NOW( ), INTERVAL 1 DAY) , '%Y-%m-%d' ) -- date_clause";
my @tomorrow_sql = map (swap_sql($_, 'date_clause', $tomorrow_date_str), @$today_sql);
\@tomorrow_sql;
}