danielebarchiesi@0: definition['formula'])) { danielebarchiesi@0: $this->formula = $this->definition['formula']; danielebarchiesi@0: } danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: function get_formula() { danielebarchiesi@0: return str_replace('***table***', $this->table_alias, $this->formula); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Build the summary query based on a formula danielebarchiesi@0: */ danielebarchiesi@0: function summary_query() { danielebarchiesi@0: $this->ensure_my_table(); danielebarchiesi@0: // Now that our table is secure, get our formula. danielebarchiesi@0: $formula = $this->get_formula(); danielebarchiesi@0: danielebarchiesi@0: // Add the field. danielebarchiesi@0: $this->base_alias = $this->name_alias = $this->query->add_field(NULL, $formula, $this->field); danielebarchiesi@0: $this->query->set_count_field(NULL, $formula, $this->field); danielebarchiesi@0: danielebarchiesi@0: return $this->summary_basics(FALSE); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Build the query based upon the formula danielebarchiesi@0: */ danielebarchiesi@0: function query($group_by = FALSE) { danielebarchiesi@0: $this->ensure_my_table(); danielebarchiesi@0: // Now that our table is secure, get our formula. danielebarchiesi@0: $placeholder = $this->placeholder(); danielebarchiesi@0: $formula = $this->get_formula() .' = ' . $placeholder; danielebarchiesi@0: $placeholders = array( danielebarchiesi@0: $placeholder => $this->argument, danielebarchiesi@0: ); danielebarchiesi@0: $this->query->add_where(0, $formula, $placeholders, 'formula'); danielebarchiesi@0: } danielebarchiesi@0: }