_costs'][ $based_on ] ) ) { $tracker_data['additional_costs'][ $based_on ] = 0; } $tracker_data['additional_costs'][ $based_on ] ++; } return $tracker_data; } /** * @param array $tracker_data . * @param string $special_action . * * @return array */ private function append_special_action_data( $tracker_data, $special_action ) { if ( ! isset( $tracker_data['special_actions'] ) ) { $tracker_data['special_actions'] = array(); } if ( ! isset( $tracker_data['special_actions'][ $special_action ] ) ) { $tracker_data['special_actions'][ $special_action ] = 0; } $tracker_data['special_actions'][ $special_action ]++; if ( in_array( $special_action, array( 'stop', 'cancel' ), true ) ) { $tracker_data[ $special_action . '_count' ]++; } return $tracker_data; } /** * @param array $condition . * @param array $tracker_data . * @param string $condition_id . * * @return array */ private function append_operator_data( $condition, array $tracker_data, $condition_id ) { if ( ! empty( $condition[ self::FIELD_OPERATOR ] ) ) { $operator = $condition[ self::FIELD_OPERATOR ]; if ( ! isset( $tracker_data[ self::FIELD_OPERATOR_COUNT ] ) ) { $tracker_data[ self::FIELD_OPERATOR_COUNT ] = array(); } if ( ! isset( $tracker_data[ self::FIELD_OPERATOR_COUNT ][ $operator ] ) ) { $tracker_data[ self::FIELD_OPERATOR_COUNT ][ $operator ] = 0; } $tracker_data[ self::FIELD_OPERATOR_COUNT ][ $operator ] ++; if ( ! isset( $tracker_data[ self::FIELD_CONDITION_OPERATOR_COUNT ] ) ) { $tracker_data[ self::FIELD_CONDITION_OPERATOR_COUNT ] = array(); } $condition_operator = $condition_id . '-' . $operator; if ( ! isset( $tracker_data[ self::FIELD_CONDITION_OPERATOR_COUNT ][ $condition_operator ] ) ) { $tracker_data[ self::FIELD_CONDITION_OPERATOR_COUNT ][ $condition_operator ] = 0; } $tracker_data[ self::FIELD_CONDITION_OPERATOR_COUNT ][ $condition_operator ] ++; } return $tracker_data; } }