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'));
   }
 }
Ejemplo n.º 5
0
 protected function configure(sfEvent $event)
 {
     $this->name = $event->getName();
     $this->subject = $event->getSubject();
     $this->arguments = $event->getParameters();
     if (!$this->isEnabledForCurrentProject()) {
         return false;
     }
     return true;
 }
Ejemplo n.º 6
0
 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);
     }
 }
Ejemplo n.º 9
0
 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);
     }
 }
Ejemplo n.º 11
0
 /**
  * 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;
 }
Ejemplo n.º 14
0
 /**
  * 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;
 }
Ejemplo n.º 17
0
 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);
 }
Ejemplo n.º 21
0
 */
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];
 }