Пример #1
0
function prep_archives_query($q)
{
    global $wpdb;
    if (isset($_GET["pc"])) {
        $offset = $_GET["pc"] - 1;
        $offset = $offset * 10;
    } else {
        $offset = 0;
    }
    if (isset($_GET['pf-see']) && 'archive-only' == $_GET['pf-see']) {
        $pagefull = 20;
        $relate = new PF_RSS_Import_Relationship();
        $rt = $relate->table_name;
        $user_id = get_current_user_id();
        $read_id = pf_get_relationship_type_id('archive');
        $q = $wpdb->prepare("\n\t\t\t\tSELECT {$wpdb->posts}.*, {$wpdb->postmeta}.* \n\t\t\t\tFROM {$wpdb->posts}, {$wpdb->postmeta}\n\t\t\t\tWHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id\t\n\t\t\t\tAND {$wpdb->posts}.post_type = %s\n\t\t\t\tAND {$wpdb->posts}.post_status = 'draft'\n\t\t\t\tAND {$wpdb->postmeta}.meta_key = 'sortable_item_date'\n\t\t\t\tAND {$wpdb->postmeta}.meta_value > 0\n\t\t\t\tAND {$wpdb->posts}.ID \n\t\t\t\tIN (\n\t\t\t\t\tSELECT item_id \n\t\t\t\t\tFROM {$rt} \n\t\t\t\t\tWHERE {$rt}.user_id = {$user_id} \n\t\t\t\t\tAND {$rt}.relationship_type = {$read_id} \n\t\t\t\t\tAND {$rt}.value = 1\n\t\t\t\t)\n\t\t\t\tGROUP BY {$wpdb->posts}.ID\n\t\t\t\tORDER BY {$wpdb->postmeta}.meta_value DESC\n\t\t\t\tLIMIT {$pagefull} OFFSET {$offset}\n\t\t\t ", 'nomination');
    } elseif (isset($_GET['action']) && isset($_POST['search-terms'])) {
        $pagefull = 20;
        $relate = new PF_RSS_Import_Relationship();
        $rt = $relate->table_name;
        $user_id = get_current_user_id();
        $read_id = pf_get_relationship_type_id('archive');
        $search = $_POST['search-terms'];
        $q = $wpdb->prepare("\n\t\t\t\tSELECT {$wpdb->posts}.*, {$wpdb->postmeta}.* \n\t\t\t\tFROM {$wpdb->posts}, {$wpdb->postmeta}\n\t\t\t\tWHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id\t\n\t\t\t\tAND {$wpdb->postmeta}.meta_key = 'sortable_item_date'\n\t\t\t\tAND {$wpdb->postmeta}.meta_value > 0\n\t\t\t\tAND {$wpdb->posts}.post_type = %s\n\t\t\t\tAND {$wpdb->posts}.post_status = 'draft'\n\t\t\t\tAND ((({$wpdb->posts}.post_title LIKE '%s') OR ({$wpdb->posts}.post_content LIKE '%s')))\n\t\t\t\tGROUP BY {$wpdb->posts}.ID\n\t\t\t\tORDER BY {$wpdb->postmeta}.meta_value DESC\n\t\t\t\tLIMIT {$pagefull} OFFSET {$offset}\n\t\t\t ", 'nomination', '%' . $search . '%', '%' . $search . '%');
    }
    #$archivalposts = $wpdb->get_results($dquerystr, OBJECT);
    #return $archivalposts;
    return $q;
}
Пример #2
0
/**
 * Generic function for getting relationships of a given type for a given user
 *
 * @param string $relationship_type
 * @param int $user_id
 */
function pf_get_relationships_for_user($relationship_type, $user_id)
{
    $relationship = new PF_RSS_Import_Relationship();
    $relationship_type_id = pf_get_relationship_type_id($relationship_type);
    $rs = $relationship->get(array('relationship_type' => $relationship_type_id, 'user_id' => $user_id));
    return $rs;
}