Skip to content

Instantly share code, notes, and snippets.

@bMinaise
Created September 19, 2013 16:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bMinaise/6626085 to your computer and use it in GitHub Desktop.
Save bMinaise/6626085 to your computer and use it in GitHub Desktop.
Get Unread Form Summary From http://www.gravityhelp.com/other-resources/
public static function get_form_summary(){
global $wpdb;
$form_table_name = self::get_form_table_name();
$lead_table_name = self::get_lead_table_name();
$sql = "SELECT l.form_id, count(l.id) as unread_count
FROM $lead_table_name l
WHERE is_read=0 AND status='active'
GROUP BY form_id";
//getting number of unread and total leads for all forms
$unread_results = $wpdb->get_results($sql, ARRAY_A);
$sql = "SELECT l.form_id, max(l.date_created) as last_lead_date, count(l.id) as total_leads
FROM $lead_table_name l
WHERE status='active'
GROUP BY form_id";
$lead_date_results = $wpdb->get_results($sql, ARRAY_A);
$sql = "SELECT id, title, '' as last_lead_date, 0 as unread_count
FROM $form_table_name
WHERE is_active=1
ORDER BY title";
$forms = $wpdb->get_results($sql, ARRAY_A);
for($i=0; $count = sizeof($forms), $i<$count; $i++){
if(is_array($unread_results)){
foreach($unread_results as $unread_result){
if($unread_result["form_id"] == $forms[$i]["id"]){
$forms[$i]["unread_count"] = $unread_result["unread_count"];
break;
}
}
}
if(is_array($lead_date_results)){
foreach($lead_date_results as $lead_date_result){
if($lead_date_result["form_id"] == $forms[$i]["id"]){
$forms[$i]["last_lead_date"] = $lead_date_result["last_lead_date"];
$forms[$i]["total_leads"] = $lead_date_result["total_leads"];
break;
}
}
}
}
return $forms;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment