function lookup($id, $filterId = 0) { return $id && is_numeric($id) && ($r = new FilterRule($id, $filterId)) && $r->getId() == $id ? $r : null; }
} } elseif ($_POST['disable']) { $sql = 'UPDATE ' . EMAIL_FILTER_RULE_TABLE . ' SET isactive=0 WHERE filter_id=' . db_input($filter->getId()) . ' AND id IN (' . implode(',', db_input($_POST['ids'])) . ')'; if (db_query($sql) && ($num = db_affected_rows())) { if ($num == $count) { $msg = 'Selected emails ban status set to disabled'; } else { $warn = "{$num} of {$count} selected emails ban status set to disabled"; } } else { $errors['err'] = 'Unable to disable selected emails'; } } elseif ($_POST['delete']) { $i = 0; foreach ($_POST['ids'] as $k => $v) { if (($r = FilterRule::lookup($v)) && $r->delete()) { $i++; } } if ($i && $i == $count) { $msg = 'Selected emailes deleted successfully'; } elseif ($i > 0) { $warn = "{$i} of {$count} selected emails deleted"; } elseif (!$errors['err']) { $errors['err'] = 'Unable to delete selected emails'; } } else { $errors['err'] = 'Unknown action'; } } break;
case 'disable': $sql = 'UPDATE ' . FILTER_RULE_TABLE . ' SET isactive=0 ' . ' WHERE filter_id=' . db_input($filter->getId()) . ' AND id IN (' . implode(',', db_input($_POST['ids'])) . ')'; if (db_query($sql) && ($num = db_affected_rows())) { if ($num == $count) { $msg = 'Selected emails ban status set to disabled'; } else { $warn = "{$num} of {$count} selected emails ban status set to disabled"; } } else { $errors['err'] = 'Unable to disable selected emails'; } break; case 'delete': $i = 0; foreach ($_POST['ids'] as $k => $v) { if (($r = FilterRule::lookup($v)) && $r->getFilterId() == $filter->getId() && $r->delete()) { $i++; } } if ($i && $i == $count) { $msg = 'Selected emails deleted from banlist successfully'; } elseif ($i > 0) { $warn = "{$i} of {$count} selected emails deleted from banlist"; } elseif (!$errors['err']) { $errors['err'] = 'Unable to delete selected emails'; } break; default: $errors['err'] = 'Unknown action - get technical help'; } }
/** * Rebuild the array from a filter rule. * * @param FilterRule $filterRule The filter rule. * * @return array */ public function createRuleArray(FilterRule $filterRule) { return ['platform' => $filterRule->getPlatform(), 'system' => $filterRule->getSystem(), 'browser' => $filterRule->getBrowser(), 'comparator' => $filterRule->getComparator(), 'browser_version' => $filterRule->getVersion(), 'invert' => $filterRule->isInvert()]; }