Bir eşiğe göre bir Drupal Kuralı (veya herhangi bir PHP mantık) Ateşleme

1 Cevap php

Ben "onaylanmış" gönüllü saat 8 katları ulaştığınızda bir kişiyi bildirmek için D6 bir kuralı oluşturma. Saatleri sayısal CCK alanı ile özel bir içerik türü olarak kaydedilir, ve bir bayrak "onaylanmış". Ben bir modül 8 hesaplama yapıyor ama bu yeterli olmayacaktır gerçekleşmiştir. Bir kullanıcı 7 onayladı saat ve başka 2'de koyar varsa, Kural yanlış döndürür ve bildirim gönderilmez. Burada bir düğüm bayraklı her harekete geçerli Kural kodu:

$result = db_result(db_query("SELECT 
SUM(vol_hours.field_hours_worked_value) AS TotalHours 
FROM node 
INNER JOIN content_type_volunteer_log vol_hours ON node.vid = vol_hours.vid
INNER JOIN flag_content ON node.vid = flag_content.content_id AND flag_content.fid = 3
WHERE node.uid = '%d'
AND YEAR(field_date_worked_value) = YEAR(NOW())" , $node->uid));

if ($result % 8 == 0) {
return TRUE;
}
else {
return FALSE;
}

Bu çözmek için nasıl herhangi bir tavsiye? Ben her eşiği geçtikten sonra, belki bir tarifeli Kural yerine bir tetikleme kuralı olarak, artırır "8 katına" ek Bayrağı tip gerekir mı?

1 Cevap

Ben "last_checked_value" depolamak ve bir olayı tetiklemek istiyorum zaman kat (current_value / 8)> kat (last_checked_value / 8)