}
// check for dupe
$lookupID = current(Pommo_Subscribers::getIDByEmail($subscriber['email'], array(1, 2)));
if ($lookupID && $lookupID != $subscriber['id']) {
$json->fail(Pommo::_T('Email address already exists. Duplicates are not allowed.'));
}
if (!Pommo_Validate::subscriberData($subscriber['data'], $validateOptions) && !isset($_REQUEST['force'])) {
$json->addErr(Pommo::_T('Fields failed validation') . " >>> ");
$json->addErr($logger->getAll());
$json->fail(Pommo::_T('Error updating subscriber.'));
}
if (!Pommo_Subscribers::update($subscriber, 'REPLACE_ALL')) {
$json->fail(Pommo::_T('Error updating subscriber.'));
}
// subscriber updated successfully, build output
$out = array('email' => $subscriber['email'], 'id' => $subscriber['id']);
// return human readable date formatting
require_once Pommo::$_baseDir . 'classes/Pommo_Fields.php';
$dateFields = Pommo_Fields::getByType('date');
foreach ($subscriber['data'] as $k => $val) {
$out['d' . $k] = in_array($k, $dateFields) ? Pommo_Helper::timeToStr($val) : htmlspecialchars($val);
}
$json->add('callbackFunction', 'editSubscriber');
$json->add('callbackParams', $out);
$json->addMsg(Pommo::_T('Subscriber Updated'));
break;
default:
die('invalid request passed to ' . __FILE__);
break;
}
$json->success();