/** * Convert options to strings. At the moment, it just implodes export * columns to be comma separated * * @return string[] */ protected function getOptionsAsStrings() { $options = $this->request->getUrlParameters(); if (isset($options['export_columns'])) { $options['export_columns'] = implode(",", $options['export_columns']); } return $options; }
public function testRequest() { $date = '20150115'; $columns = [Column::COLUMN_OVERVIEW_ADWORDS_BUDGET, Column::COLUMN_OVERVIEW_ADWORDS_KEYWORDS]; $options = ['key' => $this->key, 'domain' => $this->domain, 'display_date' => $date, 'database' => Database::DATABASE_GOOGLE_UK, 'export_columns' => $columns, 'display_limit' => 12]; $request = new Request(Type::TYPE_DOMAIN_RANK_HISTORY, $options); $options['type'] = Type::TYPE_DOMAIN_RANK_HISTORY; $options['export_escape'] = "1"; $this->assertEquals($options, $request->getUrlParameters()); }
/** * Serialise the request * * @param Request $request * @return string */ public function serialise(Request $request) { $parameters = $request->getUrlParameters(); ksort($parameters); $string = ""; array_walk($parameters, function ($value, $key) use(&$string) { if (is_array($value)) { $value = implode("", $value); } $string .= $key . $value; }); return md5($string); }