function add(&$in) { $dbo = Pommo::$_dbo; // set the start time if not provided if (empty($in['start'])) { $in['start'] = time(); } if (empty($in['sent'])) { $in['sent'] = 0; } if (!Pommo_Mailing::validate($in)) { return false; } // Add image to track views if (1 == $in['track']) { $in['body'] .= '<img src="http://' . $_SERVER['SERVER_NAME'] . Pommo::$_baseUrl . 'track-[[!mailing_id]]-[[!subscriber_id]]' . '.png">'; } $query = "INSERT INTO " . $dbo->table['mailings'] . "\n SET\n [fromname='%S',]\n [fromemail='%S',]\n [frombounce='%S',]\n [subject='%S',]\n [body='%S',]\n [altbody='%S',]\n [ishtml='%S',]\n [mailgroup='%S',]\n [subscriberCount=%I,]\n [finished=FROM_UNIXTIME(%I),]\n [sent=%I,]\n [charset='%S',]\n [status=%I,]\n [track=%I,]\n started=FROM_UNIXTIME(%i)"; $query = $dbo->prepare($query, @array($in['fromname'], $in['fromemail'], $in['frombounce'], $in['subject'], $in['body'], $in['altbody'], $in['ishtml'], $in['group'], $in['tally'], $in['end'], $in['sent'], $in['charset'], $in['status'], $in['track'], $in['start'])); // fetch new mailing_id $id = $dbo->lastId($query); if (!$id) { return false; } // Save the attachments if ($in['attachments']) { $attach = explode(',', $in['attachments']); foreach ($attach as $key => $attachment) { $query = "INSERT INTO " . $dbo->table['mailings_attachments'] . "\n SET\n [mailing_id='%I',]\n [file_id='%I']"; $query = $dbo->prepare($query, @array($id, $attachment)); $dbo->query($query); } } // insert current if applicable if (!empty($in['status']) && $in['status'] == 1) { if (empty($in['code'])) { $in['code'] = Pommo_Helper::makeCode(); } $query = "INSERT INTO " . $dbo->table['mailing_current'] . "\n SET\n [command='%S',]\n [serial=%I,]\n [securityCode='%S',]\n [current_status='%S',]\n current_id=%i"; $query = $dbo->prepare($query, @array($in['command'], $in['serial'], $in['code'], $in['current_status'], $id)); if (!$dbo->query($query)) { return false; } return $in['code']; } return $id; }
function add(&$in) { $dbo =& Pommo::$_dbo; // set the start time if not provided if (empty($in['start'])) { $in['start'] = time(); } if (empty($in['sent'])) { $in['sent'] = 0; } if (!Pommo_Mailing::validate($in)) { return false; } $query = "\n\t\t\tINSERT INTO " . $dbo->table['mailings'] . "\n\t\t\tSET\n\t\t\t[fromname='%S',]\n\t\t\t[fromemail='%S',]\n\t\t\t[frombounce='%S',]\n\t\t\t[subject='%S',]\n\t\t\t[body='%S',]\n\t\t\t[altbody='%S',]\n\t\t\t[ishtml='%S',]\n\t\t\t[mailgroup='%S',]\n\t\t\t[subscriberCount=%I,]\n\t\t\t[finished=FROM_UNIXTIME(%I),]\n\t\t\t[sent=%I,]\n\t\t\t[charset='%S',]\n\t\t\t[status=%I,]\n\t\t\tstarted=FROM_UNIXTIME(%i)"; $query = $dbo->prepare($query, @array($in['fromname'], $in['fromemail'], $in['frombounce'], $in['subject'], $in['body'], $in['altbody'], $in['ishtml'], $in['group'], $in['tally'], $in['end'], $in['sent'], $in['charset'], $in['status'], $in['start'])); // fetch new subscriber's ID $id = $dbo->lastId($query); if (!$id) { return false; } // insert current if applicable if (!empty($in['status']) && $in['status'] == 1) { if (empty($in['code'])) { $in['code'] = Pommo_Helper::makeCode(); } $query = "\n\t\t\tINSERT INTO " . $dbo->table['mailing_current'] . "\n\t\t\tSET\n\t\t\t[command='%S',]\n\t\t\t[serial=%I,]\n\t\t\t[securityCode='%S',]\n\t\t\t[current_status='%S',]\n\t\t\tcurrent_id=%i"; $query = $dbo->prepare($query, @array($in['command'], $in['serial'], $in['code'], $in['current_status'], $id)); if (!$dbo->query($query)) { return false; } return $in['code']; } return $id; }