/** * Log a cache fetch in the data collector * @param string $type The type of the fetched model * @param int $id The ID of the fetched model */ public static function logCacheFetch($type, $id) { if (\Service::isDebug() && \Service::getContainer()) { $collector = \Service::getContainer()->get('data_collector.bzion_database_collector', null); if ($collector) { $collector->logCacheFetch($type, $id); } } }
/** * {@inheritDoc} */ protected function build($builder) { $emailConstraints = array(new Length(array('max' => 255))); if (!\Service::isDebug()) { // Don't validate e-mails when developing, for example to allow // messaging anyone@localhost $emailConstraints[] = new Email(); } $builder->add('description', 'textarea', array('constraints' => new Length(array('max' => 8000)), 'data' => $this->editing->getDescription(), 'required' => false))->add('avatar', 'file', array('constraints' => new Image(array('minWidth' => 50, 'minHeight' => 50, 'maxSize' => '4M')), 'required' => false))->add('delete_avatar', 'submit')->add('country', 'choice', array('choices' => \Country::getCountriesWithISO(), 'data' => $this->editing->getCountry()->getISO(), 'required' => false))->add('email', 'email', array('constraints' => $emailConstraints, 'data' => $this->editing->getEmailAddress(), 'label' => 'E-Mail Address', 'required' => false))->add('receive', 'choice', array('choices' => array('nothing' => 'Nothing', 'messages' => 'Messages only', 'everything' => 'Everything'), 'data' => $this->editing->getReceives(), 'label' => 'Receive notifications about', 'expanded' => true, 'placeholder' => false, 'required' => false))->add('timezone', new TimezoneType($this->editing->getTimezone()), array('constraints' => new NotBlank(), 'data' => $this->editing->getTimezone()))->add('enter', 'submit'); $address = $this->editing->getEmailAddress(); if (!$this->editingSelf && !empty($address) && !$this->editing->isVerified()) { // Show a button to verify an unverified user's e-mail address to // admins $builder->add('verify_email', 'submit', array('attr' => array('class' => 'c-button--grey'), 'label' => 'Verify E-Mail address')); } return $builder; }
/** * Mark a query as finished * * @param mixed $return The returned values of the query * @return void */ public function finish(&$return) { $duration = Debug::finishStopwatch($this->eventName); Debug::log("Database {$this->queryType} query", array("query" => $this->query, "params" => $this->params, "duration" => "{$duration} ms"), 'mysql'); if (\Service::isDebug()) { $this->finishTime = microtime(true); $this->duration = ($this->finishTime - $this->startTime) * self::MICROSECONDS_IN_SECOND; $this->results = $return; $collector = \Service::getContainer()->get('data_collector.bzion_database_collector', null); if ($collector) { $collector->logQuery($this); } } }