X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=bin%2Fcron%2Fprofile_modification.php;h=ef7cbdf6952328caeee291b16dcb74e5394bc327;hb=4d9b63f8ec02d84eabd554234a32718758bf9e21;hp=0aa2172034033eb8945ec7e3542aa6399871630d;hpb=4abb0fe4bcefc73a18891e9768640d8811a09acc;p=platal.git diff --git a/bin/cron/profile_modification.php b/bin/cron/profile_modification.php index 0aa2172..ef7cbdf 100755 --- a/bin/cron/profile_modification.php +++ b/bin/cron/profile_modification.php @@ -31,58 +31,62 @@ $res = XDB::iterator('SELECT p.hrpid, pm.pid, a.full_name, pm.field, pm.oldText INNER JOIN profile_display AS pd ON (pm.pid = pd.pid) INNER JOIN account_profiles AS ap ON (pm.pid = ap.pid AND FIND_IN_SET(\'owner\', ap.perms)) INNER JOIN aliases AS al ON (ap.uid = al.uid AND FIND_IN_SET(\'bestalias\', al.flags)) - ORDER BY pm.pid, pm.field'); + WHERE pm.type = \'third_party\' AND pm.field != \'deathdate\' + ORDER BY pm.pid, pm.field, pm.timestamp'); -$date = time(); -$values = $res->next(); +if ($res->total() > 0) { + $date = time(); + $values = $res->next(); -$pid = $values['pid']; -$sex = ($values['sex'] == 'female') ? 1 : 0; -$yourself = $values['yourself']; -$alias = $values['alias']; -$hrpid = $values['hrpid']; -$modifications = array(); -$modifications[] = array( - 'full_name' => $values['full_name'], - 'field' => $values['field'], - 'oldText' => $values['oldText'], - 'newText' => $values['newText'], -); - -while ($values = $res->next()) { - if ($values['pid'] != $pid) { - $mailer = new PlMailer('profile/notification.mail.tpl'); - $mailer->addTo($alias . '@' . $globals->mail->domain); - $mailer->assign('modifications', $modifications); - $mailer->assign('yourself', $yourself); - $mailer->assign('hrpid', $hrpid); - $mailer->assign('sex', $sex); - $mailer->assign('date', $date); - $mailer->send(); - $modifications = array(); - } $pid = $values['pid']; $sex = ($values['sex'] == 'female') ? 1 : 0; $yourself = $values['yourself']; $alias = $values['alias']; $hrpid = $values['hrpid']; + $modifications = array(); $modifications[] = array( 'full_name' => $values['full_name'], 'field' => $values['field'], 'oldText' => $values['oldText'], 'newText' => $values['newText'], ); -} -$mailer = new PlMailer('profile/notification.mail.tpl'); -$mailer->addTo($alias . '@' . $globals->mail->domain); -$mailer->assign('modifications', $modifications); -$mailer->assign('yourself', $yourself); -$mailer->assign('hrpid', $hrpid); -$mailer->assign('sex', $sex); -$mailer->assign('date', $date); -$mailer->send(); -XDB::execute('DELETE FROM profile_modifications'); + while ($values = $res->next()) { + if ($values['pid'] != $pid) { + $mailer = new PlMailer('profile/notification.mail.tpl'); + $mailer->addTo($alias . '@' . $globals->mail->domain); + $mailer->assign('modifications', $modifications); + $mailer->assign('yourself', $yourself); + $mailer->assign('hrpid', $hrpid); + $mailer->assign('sex', $sex); + $mailer->assign('date', $date); + $mailer->send(); + $modifications = array(); + } + $pid = $values['pid']; + $sex = ($values['sex'] == 'female') ? 1 : 0; + $yourself = $values['yourself']; + $alias = $values['alias']; + $hrpid = $values['hrpid']; + $modifications[] = array( + 'full_name' => $values['full_name'], + 'field' => $values['field'], + 'oldText' => $values['oldText'], + 'newText' => $values['newText'], + ); + } + $mailer = new PlMailer('profile/notification.mail.tpl'); + $mailer->addTo($alias . '@' . $globals->mail->domain); + $mailer->assign('modifications', $modifications); + $mailer->assign('yourself', $yourself); + $mailer->assign('hrpid', $hrpid); + $mailer->assign('sex', $sex); + $mailer->assign('date', $date); + $mailer->send(); + + XDB::execute('DELETE FROM profile_modifications + WHERE type = \'third_party\''); +} // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: ?>