function mail_on_page_load() { //check if have outbox mails $usu = logged_user(); $accounts = MailAccounts::instance()->getMailAccountsByUser($usu); $account_ids = array(); foreach ($accounts as $acc) { $account_ids[] = $acc->getId(); } if (count($account_ids) == 0) { return; } $accounts_sql = " AND account_id IN (" . implode(',', $account_ids) . ")"; $user_pg_ids = $usu->getPermissionGroupIds(); if (count($user_pg_ids) == 0) { return; } $permissions_sql = " AND EXISTS (SELECT sh.group_id FROM " . TABLE_PREFIX . "sharing_table sh WHERE sh.object_id=o.id AND sh.group_id IN (" . implode(',', $user_pg_ids) . "))"; $conditions = array("conditions" => array("`state` >= 200 AND (`state`%2 = 0) AND `archived_on`=0 AND `trashed_on`=0 {$accounts_sql} {$permissions_sql} AND `created_by_id` =" . $usu->getId())); $outbox_mails = MailContents::findAll($conditions); if ($outbox_mails != null) { if (count($outbox_mails) >= 1) { $arguments = array("conditions" => array("`context` LIKE 'mails_in_outbox%' AND `contact_id` = " . $usu->getId() . ";")); $exist_reminder = ObjectReminders::find($arguments); if (!(count($exist_reminder) > 0)) { $reminder = new ObjectReminder(); $minutes = 0; $reminder->setMinutesBefore($minutes); $reminder->setType("reminder_popup"); $reminder->setContext("mails_in_outbox " . count($outbox_mails)); $reminder->setObject($usu); $reminder->setUserId($usu->getId()); $reminder->setDate(DateTimeValueLib::now()); $reminder->save(); } } } }