2 require_once 'modules/Emails/Email.php';
4 class SugarTestEmailUtilities
6 private static $_createdEmails = array();
8 private function __construct() {}
10 public static function createEmail($id = '', $override = array())
17 $email->name = $name . $time;
19 $email->status = 'sent';
20 $email->date_sent = $timedate->to_display_date_time(gmdate("Y-m-d H:i:s", (gmmktime() - (3600 * 24 * 2) ))) ; // Two days ago
23 $email->new_with_id = true;
26 foreach($override as $key => $value)
28 $email->$key = $value;
31 if(!empty($override['parent_id']) && !empty($override['parent_type']))
33 self::createEmailsBeansRelationship($email->id, $override['parent_type'], $override['parent_id']);
35 self::$_createdEmails[] = $email;
39 public static function removeAllCreatedEmails()
41 $email_ids = self::getCreatedEmailIds();
42 $GLOBALS['db']->query('DELETE FROM emails WHERE id IN (\'' . implode("', '", $email_ids) . '\')');
43 self::removeCreatedEmailBeansRelationships();
46 private static function createEmailsBeansRelationship($email_id, $parent_type, $parent_id)
48 $unique_id = create_guid();
49 $GLOBALS['db']->query("INSERT INTO emails_beans SET id = '{$unique_id}', email_id = '{$email_id}', bean_id = '{$parent_id}', ".
50 "bean_module = '{$parent_type}', date_modified = '".gmdate('Y-m-d H:i:s')."', deleted = 0");
53 private static function removeCreatedEmailBeansRelationships(){
54 $email_ids = self::getCreatedEmailIds();
55 $GLOBALS['db']->query('DELETE FROM emails_beans WHERE email_id IN (\'' . implode("', '", $email_ids) . '\')');
58 public static function getCreatedEmailIds()
61 foreach (self::$_createdEmails as $email) {
62 $email_ids[] = $email->id;