set_dimension_id(); $this->generate(); } /** * Putting $this->data and $this->mapping and give them back as a json encoded string * * @return string */ public function get_json() { $return = array( 'data' => $this->escape_strings_array( $this->data ), ); return json_encode( $return ); } /** * Filtering the current data to eliminate all values which are not in given period * * @param integer $google_data * * @return integer */ protected function filter_google_data( $google_data ) { return $google_data['value']; } /** * Setting the dimension_id for current request. Based on dimension_id the graph_type will be set, this to * handle the request correctly */ private function set_dimension_id() { $this->dimension_id = filter_input( INPUT_GET, 'dimension_id' ); if ( ! empty( $this->dimension_id ) ) { $this->graph_type = 'ga:dimension' . $this->dimension_id; } else { $this->graph_type = $this->graph_type; } } /** * Generate the data for the frontend based on the $google_data */ private function generate() { $google_data = $this->get_google_data(); $this->data = is_array( $google_data ) ? array_values( $google_data ) : array(); } }