Вставить значение в зависимости от времени

Всем привет! :)

Вопрос вот какой: допустим, есть форма, которая по заполнении отправляется на определенную почту. Сама форма выводится плагином FormIt. Есть ли возможность отправлять на различные адреса в зависимости от времени?

Например: if ($time < 21.00 && $time > 03.00) then example2@test.ru
else
if ($time >= 21.00 && $time < 03.00) example1@test.ru

Заранее благодарен.
Wassi Wassinen
05 февраля 2013, 17:35
modx.pro
1
1 488
0

Комментарии: 20

Алексей Добряков
05 февраля 2013, 22:12
0
[[!FormIt? &emailTo=`[[!emailTime]]`]]
emailTime сниплет:
$timelive = new DateTime();
$time=$timelive->format("H.i");
If($time>='21.00' && $time<='03.00'){
echo 'example1@test.ru';
}else{
echo 'example2@test.ru';
};
Что то типа того
    Wassi Wassinen
    05 февраля 2013, 23:10
    0
    От спасибо! ))
      Алексей Добряков
      05 февраля 2013, 23:22
      0
      Работает?
        Wassi Wassinen
        06 февраля 2013, 23:39
        0
        К сожалению не было времени проверить. Сегодня-завтра займусь и напишу по результатам. В обязательном порядке. Спасибо еще раз.
          Wassi Wassinen
          09 февраля 2013, 00:07
          0
          Хм, не работает. Выставляет второе значение.
            Wassi Wassinen
            09 февраля 2013, 00:12
            0
            Может быть
              Wassi Wassinen
              11 февраля 2013, 01:36
              0
              Алексей, может быть с проверкой времени что-то не так?
                Алексей Добряков
                11 февраля 2013, 02:18
                0
                вот работает:
                $timelive = new DateTime();
                $time=$timelive->format("G");
                If($time>=21 || $time<=3){
                echo 'example1@test.ru';
                }else{
                echo 'example2@test.ru';
                };
                  Wassi Wassinen
                  11 февраля 2013, 02:40
                  0
                  Так, наверное, несовсемправильно, потому что число 22 больше 21, но не меньше 3. Поэтому в заданный промежуток попадать не будет.
                    Алексей Добряков
                    11 февраля 2013, 02:52
                    0
                    Ничего не вижу не правильного, самое главное всё работал и что бы ты не сомневался проверил с 22 всё супер!
                      Wassi Wassinen
                      11 февраля 2013, 03:10
                      0
                      Если вы сейчас выполните этот код на странице, то получите example1@test.ru, вместо второго варианта, который должен выводиться после трех. Правильного тут мало. )
                        Алексей Добряков
                        11 февраля 2013, 03:40
                        0
                        $timelive = new DateTime();
                        $time=$timelive->format("G");
                        If($time>=21 || $time<=2){
                        echo 'example1@test.ru';
                        }else{
                        echo 'example2@test.ru';
                        };
                        Тогда проста вот так и всё
                          Wassi Wassinen
                          11 февраля 2013, 03:54
                          0
                          Одно и то же. Нужно вместо «G» — «G:i». А логические операторы должны обрабатывать «x:xx». Тогда всё будет корректно отрабатываться.
                            Алексей Добряков
                            11 февраля 2013, 11:43
                            0
                            Так он и так всё обрабатывает на почту example1@test.ru будет приходить с 21:00 до 2:59, не страдайте всякой фигнёй.
          Wassi Wassinen
          11 февраля 2013, 02:18
          0
          Нужно пользоваться выводом «G», а не «H».
            Алексей Добряков
            11 февраля 2013, 02:21
            0
            Ну видишь сам догадался у меня проста времени не было проверять
              Wassi Wassinen
              11 февраля 2013, 02:27
              0
              Обманул я Вас, прошу прощения. Отчего-то все равно не отрабатывает.
              Wassi Wassinen
              11 февраля 2013, 02:32
              0
              А вот теперь, кажется, догадался) Как я понял, парсер не воспринимает строку как время, если разделитель точка.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        20