public function configureDoctrineConnection(sfEvent $event) { $parameters = $event->getParameters(); if ('doctrine2' === $parameters['connection']->getName()) { $parameters['connection']->setAttribute(Doctrine_Core::ATTR_VALIDATE, false); } }
public function configureDoctrineConnection(sfEvent $event) { $parameters = $event->getParameters(); $con = $parameters['connection']; /* @var $con Doctrine_Connection */ $con->setAttribute(Doctrine_Core::ATTR_QUERY_CACHE, new Doctrine_Cache_Array()); $con->setAttribute(Doctrine_Core::ATTR_QUERY_CACHE_LIFESPAN, 3600); }
function applicationLog(sfEvent $event) { $subject = $event->getSubject(); if ($subject instanceof sfPropelLogger) { $parameters = $event->getParameters(); $logMessage = $parameters[0]; $this->queries[] = $logMessage; } else { if ($subject instanceof sfResponse) { $parameters = $event->getParameters(); $logMessage = $parameters[0]; if (preg_match('/^Send content/s', $logMessage, $match)) { $this->sendLogs(); } } } }
public static function loadBackendTheme(sfEvent $event) { $parameters = $event->getParameters(); $action = $event->getSubject()->getAction($parameters['module'], $parameters['action']); if ($action->isSecure()) { $action->loadTheme(sfConfig::get('app_sfSimpleBlog_admin_theme', 'backend_theme')); } }
protected function configure(sfEvent $event) { $this->name = $event->getName(); $this->subject = $event->getSubject(); $this->arguments = $event->getParameters(); if (!$this->isEnabledForCurrentProject()) { return false; } return true; }
public function listen(sfEvent $event) { $logger = Logger::getLogger('recruitment.recruitmentmailer'); $logger->debug('Email event triggered.'); $eventData = $event->getParameters(); $emailType = 'recruitment.apply'; $recipientRole = array('hiring_manager', 'candidate'); $performerRole = null; $this->getEmailService()->sendEmailNotifications($emailType, $recipientRole, $eventData, strtolower($performerRole)); }
public function passoff(sfEvent $event) { $params = $event->getParameters(); $string = call_user_func_array('sprintf', $params); if ($this->section) { $string = $this->formatter->formatSection($this->section, $string, $this->size); } else { $string = $this->formatter->format($string); } $this->target->notify(new sfEvent($event->getSubject(), $this->targetName, array($string))); }
public function listenToMethodNotFound(sfEvent $event) { $parameters = $event->getParameters(); if ($parameters['method'] == 'defineCombinedAssets') { $this->loaded_assets = count($parameters['arguments']) > 0 ? $parameters['arguments'][0] : array(); $event->setProcessed(true); } if ($parameters['method'] == 'getCombinedAssets') { $event->setReturnValue($this->loaded_assets); $event->setProcessed(true); } }
public function listenToLogEvent(sfEvent $event) { $priority = isset($event['priority']) ? $event['priority'] : self::INFO; $subject = $event->getSubject(); $subject = is_object($subject) ? get_class($subject) : (is_string($subject) ? $subject : 'main'); foreach ($event->getParameters() as $key => $message) { if ('priority' === $key) { continue; } $this->log(sprintf('{%s} %s', $subject, $message), $priority); //$this->log(sprintf('%s', $message), $priority); } }
public static function writeLoginHistory(sfEvent $event) { $sessionUser = $event->getSubject(); $params = $event->getParameters(); if (true === $params['authenticated']) { $userId = $sessionUser->getGuardUser()->id; $sessionUser->setAttribute('user_id', $userId, 'sfDoctrineGuardLoginHistoryPlugin'); self::createHistoryEntry('login', $userId); } else { $userId = $sessionUser->getAttributeHolder()->remove('user_id', null, 'sfDoctrineGuardLoginHistoryPlugin'); self::createHistoryEntry('logout', $userId); } }
/** * Listens to command.log events. * * @param sfEvent $event An sfEvent instance */ public function listenToLogEvent(sfEvent $event) { $priority = isset($event['priority']) ? $event['priority'] : self::INFO; $prefix = ''; if ('application.log' == $event->getName()) { $subject = $event->getSubject(); $subject = is_object($subject) ? get_class($subject) : (is_string($subject) ? $subject : 'main'); $prefix = '>> ' . $subject . ' '; } foreach ($event->getParameters() as $message) { $this->log(sprintf('%s%s', $prefix, $message), $priority); } }
/** * Handle the events * * @param sfEvent $event The event being handled * @return bool TRUE if the audit trail for the transaction is saved sucessfully, FALSE otherwise */ function auditTransactionEventHandler($event) { $audit_trail = new AuditTrail(); $audit_trail->processPost($event->getParameters()); try { $audit_trail->save(); } catch (Exception $e) { $logger = Zend_Registry::get("logger"); $logger->err($e->getMessage()); return false; } return true; }
public function listenToContextMethodNotFoundEvent(sfEvent $event) { $parameters = $event->getParameters(); if ('getFacebook' != $parameters['method']) { return false; } if ($this->_facebook instanceof sfFacebook) { $event->setReturnValue($this->_facebook); return true; } $this->_facebook = new sfFacebook($this->dispatcher); $event->setReturnValue($this->_facebook); $this->dispatcher->notify(new sfEvent($this, 'facebook.configure')); return true; }
/** * Executed when a privmsg command comes in * * @param Event $event */ public function privmsg(sfEvent $event) { /* @var $s pResponse */ $s = $event->getSubject(); $p = $this->getContainer()->getParameters(); $request = $event->getParameters(); if (preg_match('/^!say\\s/i', $s->getTrailing()) && in_array($s->getUsername(), $p['users.trusted'])) { $c = preg_replace('/^(!say\\s)/i', '', $s->getTrailing()); $whatToSay = trim(strstr($c, ' ')); $whereToSay = strstr($c, ' ', true); // var_dump($c, $request, $whatToSay, $whereToSay); if ($whereToSay && $whatToSay) { $this->sendCommand(sprintf('PRIVMSG %s :%s', $whereToSay, $whatToSay)); } } }
/** * Обрабатывает событие из dispatcher */ public function listenToLogEvent(sfEvent $event) { $subject = $event->getSubject(); $parameters = $event->getParameters(); try { $record = new myDoctrineLoggerEvent(); } catch (Exception $e) { new sfDatabaseManager(ProjectConfiguration::getActive()); $record = new myDoctrineLoggerEvent(); } // Статус: fail, info, notice, warning if (isset($parameters['state'])) { $definition = Doctrine_Core::getTable('myDoctrineLoggerEvent')->getColumnDefinition('state'); $states = $definition['values']; if (in_array($parameters['state'], $states)) { $record->setState($parameters['state']); } } // Идентификатор связанного объекта, если есть if (isset($parameters['object'])) { $record->setModelId((int) $parameters['object']); } // Идентификатор пользователя - инициатора события, если есть if (isset($parameters['user'])) { if (is_object($parameters['user']) && $parameters['user'] instanceof Doctrine_Record) { $parameters['user'] = $parameters['user']->getId(); } $record->setUserId((int) $parameters['user']); } // Компонент приложения $record->setComponent(isset($parameters['component']) ? (string) $parameters['component'] : 'UNKNOWN'); // Название события if (!isset($parameters['name'])) { throw new sfException('Необходимо назвать событие: заполнить параметр ["name"]'); } $record->setLabel((string) $parameters['name']); // расшифровка результата if (!isset($parameters['description'])) { throw new sfException('Необходимо назвать событие: заполнить параметр ["description"]'); } $record->setResult((string) $parameters['description']); // Данные события if (isset($parameters['env'])) { $record->setContext((string) $parameters['env']); } $record->save(); }
/** * Загружает объект обменника валют */ public static function getMyCurrencyExchange(sfEvent $event) { $params = $event->getParameters(); if ($params['method'] != 'getMyCurrencyExchange') { return false; } if (!self::$myCurrencyExchange) { self::$myCurrencyExchange = new myCurrencyExchange(); $currencies = Doctrine::getTable('Currency')->createQuery()->execute(array(), Doctrine::HYDRATE_ARRAY); foreach ($currencies as $currency) { // такого не должно быть по идее, но есть :-( if ($currency['rate'] != 0) { self::$myCurrencyExchange->setRate($currency['id'], $currency['rate'], myCurrencyExchange::BASE_CURRENCY); } } } // set return value and stop chain $event->setReturnValue(self::$myCurrencyExchange); return true; }
public function listen(sfEvent $event) { $logger = Logger::getLogger('leave.leavemailer'); $eventData = $event->getParameters(); if ($logger->isDebugEnabled()) { $logger->debug('Got event'); } if (isset($eventData['workFlow']) && ($eventData['workFlow'] instanceof WorkflowStateMachine || is_array($eventData['workFlow']) && count($eventData['workFlow']) > 0)) { $recipientRoles = array(); $performerRole = null; $workFlow = $eventData['workFlow']; if (is_array($workFlow)) { // Multiple workflows if ($logger->isDebugEnabled()) { $logger->debug("Multiple workflows in event"); } $emailType = 'leave.change'; $firstFlow = array_shift(array_values($workFlow)); $performerRole = $firstFlow->getRole(); foreach ($workFlow as $item) { $roles = $item->getRolesToNotifyAsArray(); $recipientRoles = array_unique($recipientRoles + $roles); } } else { $recipientRoles = $workFlow->getRolesToNotifyAsArray(); $performerRole = $workFlow->getRole(); $emailType = 'leave.' . strtolower($workFlow->getAction()); } if ($logger->isDebugEnabled()) { $logger->debug("Email type: {$emailType}, Roles: " . print_r($recipientRoles, true)); } if (count($recipientRoles) > 0) { $this->getEmailService()->sendEmailNotifications($emailType, $recipientRoles, $eventData, strtolower($performerRole)); } } else { $logger->warn('event did not contain valid workFlow'); } }
public function filterParametersEvent(sfEvent $event, $parameters) { $context = $event->getParameters(); $this->options['context'] = $context; if (false === ($params = $this->parse($event['path_info']))) { return $parameters; } return array_merge($parameters, $params); }
public function passoff(sfEvent $event) { $this->target->notify(new sfEvent($event->getSubject(), $this->targetName, $event->getParameters())); }
public function handleEventMessage(sfEvent $event) { $message = $this->notifier()->decoratedMessage($event->getSubject()); $message->addSection('Message Details', $event->getParameters()); $message->addSection('Server', $this->notifier()->helper()->formatServer()); $this->dispatcher->notify(new sfEvent($message, 'notify.decorate_message')); $this->notifier()->driver()->notify($message); }
*/ require_once dirname(__FILE__) . '/../lime/lime.php'; require_once dirname(__FILE__) . '/../../lib/sfEvent.php'; $t = new lime_test(11); $subject = new stdClass(); $parameters = array('foo' => 'bar'); $event = new sfEvent($subject, 'name', $parameters); // ->getSubject() $t->diag('->getSubject()'); $t->is($event->getSubject(), $subject, '->getSubject() returns the event subject'); // ->getName() $t->diag('->getName()'); $t->is($event->getName(), 'name', '->getName() returns the event name'); // ->getParameters() $t->diag('->getParameters()'); $t->is($event->getParameters(), $parameters, '->getParameters() returns the event parameters'); // ->getReturnValue() ->setReturnValue() $t->diag('->getReturnValue() ->setReturnValue()'); $event->setReturnValue('foo'); $t->is($event->getReturnValue(), 'foo', '->getReturnValue() returns the return value of the event'); // ->setProcessed() ->isProcessed() $t->diag('->setProcessed() ->isProcessed()'); $event->setProcessed(true); $t->is($event->isProcessed(), true, '->isProcessed() returns true if the event has been processed'); $event->setProcessed(false); $t->is($event->isProcessed(), false, '->setProcessed() changes the processed status'); // ArrayAccess interface $t->diag('ArrayAccess interface'); $t->is($event['foo'], 'bar', 'sfEvent implements the ArrayAccess interface'); $event['foo'] = 'foo'; $t->is($event['foo'], 'foo', 'sfEvent implements the ArrayAccess interface');
/** * Removes all generated thumbnails for given asset when a new contentAsset is published * * @static * @param sfEvent $event Event object as passed by symfony event system * * @return void */ public static function removeOldThumbnails(sfEvent $event) { $options = $event->getParameters(); if (!array_key_exists('sf_route', $options)) { throw new sfImageTransformExtraPluginConfigurationException('Could not read the "sf_route" parameter from event!'); } $routeName = $options['sf_route']; unset($options['sf_route']); $route = self::getRoute($routeName); $route->preassemblePattern($options); self::getCache()->removePattern($route); }
public static function listenToRequestParametersFilterEvent(sfEvent $event, $value) { $params = $event->getParameters(); if (!aPollToolkit::getCaptchaDoDisplay($params['poll_type'])) { return array(); } $captcha = array('recaptcha_challenge_field' => isset($value['recaptcha_challenge_field']) ? $value['recaptcha_challenge_field'] : null, 'recaptcha_response_field' => isset($value['recaptcha_response_field']) ? $value['recaptcha_response_field'] : null); return array('captcha' => $captcha); }
/** * Обработчик логов таска. * Сохраняет все, что таск выводит в пользователю */ public function handleTaskLogs(sfEvent $event) { $this->_logs = array_merge($this->_logs, $event->getParameters()); }
public function logTask(sfEvent $event) { $params = $event->getParameters(); $this->taskLog[] = $params[0]; }