Example #1
0
 /**
  * Sends updated actions to the list table view
  *
  * @todo Fix reliability issues with sidebar widgets
  *
  * @uses gather_updated_items
  * @uses generate_row
  *
  * @param array $response Response to heartbeat
  * @param array $data     Data from heartbeat
  *
  * @return array Data sent to heartbeat
  */
 public function live_update($response, $data)
 {
     unset($response);
     if (!isset($data['wp-stream-heartbeat-last-time'])) {
         return array();
     }
     $last_time = $data['wp-stream-heartbeat-last-time'];
     $query = $data['wp-stream-heartbeat-query'];
     if (empty($query)) {
         $query = array();
     }
     // Decode the query
     $query = json_decode(wp_kses_stripslashes($query));
     $updated_items = $this->gather_updated_items($last_time, (array) $query);
     if (!empty($updated_items)) {
         ob_start();
         foreach ($updated_items as $item) {
             $this->list_table->single_row($item);
         }
         $send = ob_get_clean();
     } else {
         $send = '';
     }
     return $send;
 }