Skip to content

Commit

Permalink
Moved project functions to project.php file.
Browse files Browse the repository at this point in the history
  • Loading branch information
remcotolsma committed May 31, 2013
1 parent f40016e commit 3ac237e
Show file tree
Hide file tree
Showing 3 changed files with 97 additions and 33 deletions.
1 change: 1 addition & 0 deletions classes/orbis-core-plugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ public function __construct( $file ) {
$this->plugin_include( 'includes/deprecated.php' );
$this->plugin_include( 'includes/administration.php' );
$this->plugin_include( 'includes/post.php' );
$this->plugin_include( 'includes/project.php' );
$this->plugin_include( 'includes/template.php' );
$this->plugin_include( 'includes/project-template.php' );

Expand Down
96 changes: 96 additions & 0 deletions includes/project.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
<?php

/**
* Query vars
*
* @param array $query_vars
* @return array
*/
function orbis_project_query_vars( $query_vars ) {
$query_vars[] = 'orbis_project_principal';
$query_vars[] = 'orbis_project_invoice_number';

return $query_vars;
}

add_filter( 'query_vars', 'orbis_project_query_vars' );

//////////////////////////////////////////////////

/**
* Parse query
*
* @param WP_Query $query
*/
function orbis_project_parse_query( $query ) {

}

add_action( 'parse_query', 'orbis_project_parse_query' );

/**
* Posts clauses
*
* http://codex.wordpress.org/WordPress_Query_Vars
* http://codex.wordpress.org/Custom_Queries
*
* @param array $pieces
* @param WP_Query $query
* @return string
*/
function orbis_projects_posts_clauses( $pieces, $query ) {
global $wpdb;

$post_type = $query->get( 'post_type' );

if ( $post_type == 'orbis_project' ) {
// Fields
$fields = ",
project.number_seconds AS project_number_seconds,
project.finished AS project_is_finished,
project.invoiced AS project_is_invoiced,
principal.id AS principal_id,
principal.name AS principal_name,
principal.post_id AS principal_post_id
";

// Join
$join = "
LEFT JOIN
$wpdb->orbis_projects AS project
ON $wpdb->posts.ID = project.post_id
LEFT JOIN
$wpdb->orbis_companies AS principal
ON project.principal_id = principal.id
";

// Where
$where = '';

$principal = $query->get( 'orbis_project_principal' );

if ( ! empty( $principal ) ) {
$n = '%';
$term = esc_sql( like_escape( $principal ) );

$where = "AND principal.name LIKE '{$n}{$term}{$n}'";
}

$invoice_number = $query->get( 'orbis_project_invoice_number' );

if ( ! empty( $invoice_number ) ) {
$n = '%';
$term = esc_sql( like_escape( $invoice_number ) );

$where = "AND project.invoice_number LIKE '{$n}{$term}{$n}'";
}

$pieces['join'] .= $join;
$pieces['fields'] .= $fields;
$pieces['where'] .= $where;
}

return $pieces;
}

add_filter( 'posts_clauses', 'orbis_projects_posts_clauses', 10, 2 );
33 changes: 0 additions & 33 deletions orbis.php
Original file line number Diff line number Diff line change
Expand Up @@ -247,36 +247,3 @@ public static function queryVars($queryVars) {
}

Orbis::bootstrap( __FILE__ );

function orbis_projects_posts_clauses( $pieces, $query ) {
global $wpdb;

$post_type = $query->get( 'post_type' );

if ( $post_type == 'orbis_project' ) {
$fields = ",
project.number_seconds AS project_number_seconds,
project.finished AS project_is_finished,
project.invoiced AS project_is_invoiced,
principal.id AS principal_id,
principal.name AS principal_name,
principal.post_id AS principal_post_id
";

$join = "
LEFT JOIN
$wpdb->orbis_projects AS project
ON $wpdb->posts.ID = project.post_id
LEFT JOIN
$wpdb->orbis_companies AS principal
ON project.principal_id = principal.id
";

$pieces['join'] .= $join;
$pieces['fields'] .= $fields;
}

return $pieces;
}

add_filter( 'posts_clauses', 'orbis_projects_posts_clauses', 10, 2 );

0 comments on commit 3ac237e

Please sign in to comment.