parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

как все круто :)

Misha v.3 07.07.2004 13:52

1.
$us[^table::sql{SELECT client_id FROM client}]
^us.menu{
  ^if(${form:[usr_${us.client_id}]}){
    ^wheres.append{${us.client_id}}
  }
}
может если это админ, то достаточно у всех чекбоксов пользователей поставить одно name и $where[$form:tables.user] ?

2.
$emails[^table::sql{
  SELECT DISTINCT
    name,
    email
  FROM
    client
  WHERE ^wheres.menu{client_id = $wheres.client_id}[ OR ]
}]
->
$emails[^table::sql{
  SELECT DISTINCT
    name,
    email
  FROM
    client
  WHERE client_id IN (^wheres.menu{$wheres.client_id}[,])
}]
3. второй запрос по доставанию email тоже править, left join в нем нафиг не нужен.

4.
Может у sendmail'а есть какой-то тестовый режим, когда он делает все за исключением непосредственно отправки письма?
угу, есть тестовый режим, включается так:
$cfg[
  $.from[site.ru <maillist@site.ru>]
  ^if($is_debug){
    $.to[subscriber <kent404@mail.ru>]
  }{
    $.to[subscriber <test@site.ru>]
  }
  $.subject[site.RU Maillist: $form:title]
  $.text[maillist text] 
]
в принципе этот код подготовки списка подписчиков не должен отжирать много памяти, хотя мне не нравится конструкция $cfg.to[...] т.к. тут будет модифицироваться переменная...
может так:
$cfg[
  $.from[site.ru <maillist@site.ru>]
  $.subject[site.RU Maillist: $form:title]
  $.text[maillist text] 
]
^emails.menu{
  ^mail:send[
    $cfg
    $.to[$emails.name <$emails.email>]
  ]
}
ну и + compact.
к тому-же можно поиграться с rusage и посмотреть сколько памяти отжирает сам mail:send.