/**
  * Отправить уведомление
  *
  * @param  OperationNotification $notification
  * @return bool
  */
 public function run(OperationNotification $notification)
 {
     $message = $this->_makeMessage($notification->getOperation());
     $fails = array();
     $this->_mailer->send($message, $fails);
     return !(bool) $fails;
 }
 /**
  * Отправить уведомление
  *
  * @param  OperationNotification $notification
  * @return bool
  */
 public function run(OperationNotification $notification)
 {
     $operation = $notification->getOperation();
     // Получить телефон
     $phone = $this->_getPhone($operation->getUser());
     if (!$phone) {
         return false;
     }
     // Обращаемся к сервису
     $params = $this->_prepareHttpQuery($phone, $operation);
     $result = $this->_sendRequest(sfConfig::get('app_notification_sms_url'), $params);
     // Проверим результат
     $matches = array();
     preg_match("/error_num=(.+)/im", $result, $matches);
     if (!isset($matches[1]) || trim($matches[1]) != 'OK') {
         // Ошибка при отправке SMS
         return false;
     }
     return true;
 }