if ($this->_date == '0000-00-00') {
$this->_date = 0;
}
- $this->_subset_to = preg_split("/\n/", $this->_subset_to);
+ $this->_subset_to = ($this->_subset_to ? explode("\n", $this->_subset_to) : null);
$this->_subset = (count($this->_subset_to) > 0);
}
return XDB::execute("DELETE FROM axletter_rights WHERE user_id = {?}", $uid);
}
- protected function subsetJoin()
- {
- if ($this->_subset) {
- return "INNER JOIN axletter_subsets AS c ON (c.letter_id = ".XDB::escape($this->_id)." AND ni.user_id = c.uid)";
- }
- return '';
- }
-
protected function subscriptionWhere()
{
if (!$this->_promo_min && !$this->_promo_max && !$this->_subset) {
}
if ($this->_subset) {
require_once("emails.inc.php");
- print_r($this->_subset_to);
- $ids = idsFromMails($this->_subset_to);
- print_r($ids);
+ $ids = ids_from_mails($this->_subset_to);
$ids_list = implode(',', $ids);
- $where[] = "ni.user_id IN ($ids_list)";
- // TODO : force use of the adresses given by AX, not "canonical" ones ?
+ if(count($ids) > 0) {
+ $where[] = "ni.user_id IN ($ids_list)";
+ } else {
+ // No valid email
+ $where[] = "0";
+ }
}
return implode(' AND ', $where);
}