/**
 * Sets up a query for a particular entry type.
 * @param QUERY $query
 * @param string $type
 * @access private
 */
function project_query_set_type($query, $type)
{
    $table_names = $query->app->table_names;
    switch ($type) {
        case 'change':
            $query->add_select('chng.*');
            $query->add_table($table_names->changes . ' chng', 'chng.entry_id = entry.id');
            break;
        case 'job':
            $query->add_select('job.*');
            $query->add_table($table_names->jobs . ' job', 'job.entry_id = entry.id');
            break;
        default:
            $query->add_select('chng.*, job.*');
            $query->add_table($table_names->changes . ' chng', 'chng.entry_id = entry.id', 'LEFT');
            $query->add_table($table_names->jobs . ' job', 'job.entry_id = entry.id', 'LEFT');
            break;
    }
    $query->order_by_recent();
}
/**
 * Sets up a query for a particular entry type.
 * @param QUERY $query
 * @param string $type
 * @access private
 */
function album_query_set_type($query, $type)
{
    /** @var ALBUM_APPLICATION_TABLE_NAMES $table_names */
    $table_names = $query->app->table_names;
    switch ($type) {
        case 'picture':
            $query->add_select('pic.*');
            $query->add_table($table_names->pictures . ' pic', 'pic.entry_id = entry.id');
            break;
        case 'journal':
            $query->add_select('jrnl.*');
            $query->add_table($table_names->journals . ' jrnl', 'jrnl.entry_id = entry.id');
            break;
        default:
            $query->add_select('jrnl.*, pic.*');
            $query->add_table($table_names->journals . ' jrnl', 'jrnl.entry_id = entry.id', 'LEFT');
            $query->add_table($table_names->pictures . ' pic', 'pic.entry_id = entry.id', 'LEFT');
            break;
    }
    $query->order_by_day('ASC');
}