get_results( "SELECT * FROM {$wpdb->prefix}wppm_project_statuses" ); $categories = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_project_categories" ); $proj_per_page = 20; $page_no = (isset($_POST['page_no'])) ? intval(sanitize_text_field($_POST['page_no'])): '0'; $search_tag = isset($_POST['project_search']) ? sanitize_text_field($_POST['project_search']) : ''; $order = isset($_POST['order']) ? sanitize_text_field($_POST['order']) :"ASC"; $sort_by = isset($_POST['sort_by']) ? sanitize_text_field($_POST['sort_by']):"project_name"; $filters = array( 'sort_by' => $sort_by, 'order' => $order, 'search' => $search_tag ); $pl_filters = isset( $_COOKIE['wppm_proj_filters'] ) ? sanitize_text_field( wp_unslash( $_COOKIE['wppm_proj_filters'] ) ) : $filters; if(!is_array($pl_filters)){ $pl_filters = json_decode($pl_filters); $pl_filters_arr = (array) $pl_filters; } else{ $pl_filters_arr = $filters; } $search_tag = isset($_POST['project_search']) ? sanitize_text_field($_POST['project_search']) : $pl_filters_arr['search']; $order = isset($_POST['order']) ? sanitize_text_field($_POST['order']) :$pl_filters_arr['order']; $sort_by = isset($_POST['sort_by']) ? sanitize_text_field($_POST['sort_by']):$pl_filters_arr['sort_by']; if($sort_by == ""){ $sort_by = 'project_name'; } $filters = array( 'sort_by' => $sort_by, 'order' => $order, 'search'=>$search_tag ); setcookie('wppm_proj_filters',wp_json_encode( $filters ),time() + 3600); if($pl_filters_arr['sort_by']=='status'){ $sort_by = 'proj_statuses.name'; } if($pl_filters_arr['sort_by']=='category'){ $sort_by = 'proj_categories.name'; } if($pl_filters_arr['sort_by']=='start_date'){ $sort_by = 'start_date'; } if($pl_filters_arr['sort_by']=='end_date'){ $sort_by = 'end_date'; } $wppm_project_time = get_option('wppm_project_time'); $wppm_default_project_date = get_option('wppm_default_project_date'); if(!empty($search_tag)){ $search_tag_text = '%'.$search_tag.'%'; if($current_user->has_cap('manage_options')){ $query = ("SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.ID,Project.users)>0) AND (user.display_name LIKE '$search_tag_text') where Project.project_name LIKE '$search_tag_text' OR proj_statuses.name LIKE '$search_tag_text' OR proj_categories.name LIKE '$search_tag_text' OR ( user.display_name LIKE '$search_tag_text') Group by Project.id ORDER BY $sort_by $order"); $no_of_rows = ("SELECT count(*) FROM (SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.ID,Project.users)>0) AND (user.display_name LIKE '$search_tag_text') where Project.project_name LIKE '$search_tag_text' OR proj_statuses.name LIKE '$search_tag_text' OR proj_categories.name LIKE '$search_tag_text' OR ( user.display_name LIKE '$search_tag_text') Group by Project.id) AS Project" ); }else{ $query = ("SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.ID,Project.users)>0) AND (user.display_name LIKE '$search_tag_text') where (Project.project_name LIKE '$search_tag_text' OR proj_statuses.name LIKE '$search_tag_text' OR proj_categories.name LIKE '$search_tag_text' OR ( user.display_name LIKE '$search_tag_text')) AND (FIND_IN_SET('$current_user->ID',Project.users)>0) Group by Project.id ORDER BY $sort_by $order"); $no_of_rows = ("SELECT count(*) FROM (SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.ID,Project.users)>0) AND (user.display_name LIKE '$search_tag_text') where (Project.project_name LIKE '$search_tag_text' OR proj_statuses.name LIKE '$search_tag_text' OR proj_categories.name LIKE '$search_tag_text' OR ( user.display_name LIKE '$search_tag_text')) AND (FIND_IN_SET('$current_user->ID',Project.users)>0) Group by Project.id) AS Project" ); } }else{ if($current_user->has_cap('manage_options')){ if($sort_by=='project_name'|| $sort_by=='start_date' || $sort_by=='end_date'){ $query = ( "SELECT * FROM {$wpdb->prefix}wppm_project ORDER BY $sort_by $order" ); $no_of_rows = ( "SELECT count(*) FROM {$wpdb->prefix}wppm_project" ); } else{ $query = ( "SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id ORDER BY $sort_by $order "); $no_of_rows = ( "SELECT count(*) FROM (SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id) AS Project"); } //$no_of_rows = ( "SELECT count(*) FROM {$wpdb->prefix}wppm_project" ); }else{ if($sort_by=='project_name'|| $sort_by=='start_date' || $sort_by=='end_date'){ $query = ( "SELECT * FROM {$wpdb->prefix}wppm_project where (FIND_IN_SET('$current_user->ID',users)>0) ORDER BY $sort_by $order "); $no_of_rows = ( "SELECT count(*) FROM {$wpdb->prefix}wppm_project where (FIND_IN_SET('$current_user->ID',users)>0) "); } else{ $query = ( "SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id where (FIND_IN_SET('$current_user->ID',Project.users)>0) ORDER BY $sort_by $order "); $no_of_rows = ( "SELECT count(*) FROM (SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id where (FIND_IN_SET('$current_user->ID',Project.users)>0)) AS Project"); } } } $no_of_rows = apply_filters('wppm_project_list_no_of_rows',$no_of_rows); $totalrows = $wpdb->get_var( $no_of_rows ); $query = apply_filters('wppm_project_list_query',$query); $limit_start=$page_no*$proj_per_page; $limit="\n LIMIT ".$limit_start.",".$proj_per_page." "; $query = $query.$limit; $wppm_fillter = $wpdb->get_results($query); ?>