/** * {@inheritdoc} */ public function write(Profile $profile) { $db = $this->initDb(); $args = array(':token' => $profile->getToken(), ':parent' => $profile->getParent() ? $profile->getParent()->getToken() : '', ':data' => base64_encode(serialize($profile->getCollectors())), ':ip' => $profile->getIp(), ':url' => $profile->getUrl(), ':time' => $profile->getTime(), ':created_at' => time()); try { $this->exec($db, 'INSERT INTO sf_profiler_data (token, parent, data, ip, url, time, created_at) VALUES (:token, :parent, :data, :ip, :url, :time, :created_at)', $args); $this->cleanup(); $status = true; } catch (\Exception $e) { $status = false; } $this->close($db); return $status; }
/** * {@inheritdoc} */ public function write(Profile $profile) { $args = ['token' => $profile->getToken(), 'parent' => $profile->getParentToken(), 'data' => base64_encode(serialize($profile->getCollectors())), 'ip' => $profile->getIp(), 'method' => $profile->getMethod(), 'url' => $profile->getUrl(), 'time' => $profile->getTime(), 'created_at' => time()]; try { $query = $this->database->select('webprofiler', 'w')->fields('w', ['token']); $query->condition('token', $profile->getToken()); $count = $query->countQuery()->execute()->fetchAssoc(); if ($count['expression']) { $this->database->update('webprofiler')->fields($args)->condition('token', $profile->getToken())->execute(); } else { $this->database->insert('webprofiler')->fields($args)->execute(); } $status = TRUE; } catch (\Exception $e) { $status = FALSE; } return $status; }
/** * {@inheritdoc} */ public function write(Profile $profile) { $data = array('token' => $profile->getToken(), 'parent' => $profile->getParentToken(), 'children' => array_map(function ($p) { return $p->getToken(); }, $profile->getChildren()), 'data' => $profile->getCollectors(), 'ip' => $profile->getIp(), 'method' => $profile->getMethod(), 'url' => $profile->getUrl(), 'time' => $profile->getTime()); if ($this->setValue($this->getItemName($profile->getToken()), $data, $this->lifetime, self::REDIS_SERIALIZER_PHP)) { // Add to index $indexName = $this->getIndexName(); $indexRow = implode("\t", array($profile->getToken(), $profile->getIp(), $profile->getMethod(), $profile->getUrl(), $profile->getTime(), $profile->getParentToken())) . "\n"; return $this->appendValue($indexName, $indexRow, $this->lifetime); } return false; }
/** * @param Profile $profile * @param FilterResponseEvent $event * @return array */ protected function extractInformation(Profile $profile, FilterResponseEvent $event) { $debugInformation = ['tokenUrl' => $this->getTokenLink($event), 'ip' => $profile->getIp(), 'method' => $profile->getMethod(), 'url' => $profile->getUrl(), 'time' => date('c', $profile->getTime()), 'statusCode' => $profile->getStatusCode()]; foreach ($profile->getCollectors() as $collector) { $debugInformation = array_merge($debugInformation, $this->convertCollector($collector)); } return $debugInformation; }