Exemplo n.º 1
0
/**
* Gets a Clearbase controller
*
* @param string $selector
* @return mixed|Clearbase_View_Controller|null
*/
function clearbase_get_controller($selector = '', $traverse = true)
{
    $controllers = clearbase_get_controllers();
    if (empty($selector) || is_numeric($selector) || $selector instanceof WP_Post) {
        //attempt to load a controller from a folder;
        $folder = clearbase_load_folder($selector);
        $controller_id = clearbase_get_value('postmeta.clearbase_controller', '', $folder);
        while ($traverse && empty($id) && !is_wp_error($folder) && 0 != $folder->post_parent) {
            $folder = clearbase_load_folder($folder->post_parent);
            $controller_id = clearbase_get_value('postmeta.clearbase_controller', '', $folder);
        }
        $selector = $controller_id;
    }
    $controller = $controllers[$selector];
    return apply_filters('clearbase_get_controller', $controller, $selector);
}
Exemplo n.º 2
0
function clearbase_get_first_attachment($type = '', $folder_id = null)
{
    $folder = clearbase_load_folder($folder_id);
    if (is_wp_error($folder)) {
        return $folder;
    }
    global $wpdb;
    $folder_id = absint($folder->ID);
    $order = clearbase_get_value('postmeta.attachment_order', 'DESC', $folder);
    if ('ASC' == $order || 'DESC' == $order) {
        $order = 'DESC';
    }
    //force a proper sorting order
    $and_where_mime = wp_post_mime_type_where($type);
    $attachment = $wpdb->get_row("SELECT * FROM {$wpdb->posts} WHERE post_parent = {$folder_id} \n      AND post_type='attachment' {$and_where_mime} ORDER BY menu_order {$order} LIMIT 1");
    return $attachment ? new WP_Post($attachment) : null;
}
Exemplo n.º 3
0
function clearbase_default_folder_image_src($folder_id = null, $image_size = 'thumbnail')
{
    $folder = clearbase_load_folder($folder_id);
    if (is_wp_error($folder)) {
        return $folder;
    }
    if ('full' == $image_size) {
        $image_src = array(CLEARBASE_URL . '/images/folder150x150.png', 150, 150);
    } else {
        $image_src = array(CLEARBASE_URL . '/images/folder40x40.png', 40, 40);
    }
    if ($attachment = clearbase_get_first_attachment('image', $folder)) {
        $image_src = wp_get_attachment_image_src($attachment->ID, $image_size);
    }
    return apply_filters('clearbase_default_folder_image_src', $image_src, $folder, $image_size);
}