Pommo_Groups::delete PHP Méthode

delete() public static méthode

returns the # of deleted groups (int). 0 (false) if none.
public static delete ( $id )
    public static function delete($id)
    {
        $dbo =& Pommo::$_dbo;
        $query = "\n            DELETE\n            FROM " . $dbo->table['groups'] . "\n            WHERE group_id IN(%c)";
        $query = $dbo->prepare($query, array($id));
        $affected = $dbo->affected($query);
        // remove rules referencing this group
        $query = "\n            DELETE FROM " . $dbo->table['group_rules'] . "\n            WHERE\n                group_id IN (%c)\n                OR (logic='is_in' AND value IN (%c))\n                OR (logic='not_in' AND value IN (%c))";
        $dbo->query($dbo->prepare($query, array($id, $id, $id)));
        return $affected;
    }

Usage Example

        $group = Pommo_Groups::make(array('name' => $_POST['group_name']));
        $id = Pommo_Groups::add($group);
        $id ? Pommo::redirect("groups_edit.php?group={$id}") : $logger->addMsg(Pommo::_T('Error with addition.'));
    }
}
if (!empty($_GET['delete'])) {
    // make sure it is a valid group
    $group = current(Pommo_Groups::get(array('id' => $_GET['group_id'])));
    if (empty($group)) {
        Pommo::redirect($_SERVER['PHP_SELF']);
    }
    $affected = Pommo_Groups::rulesAffected($group['id']);
    // See if this change will affect any subscribers, if so, confirm the change.
    if ($affected > 1 && empty($_GET['dVal-force'])) {
        $smarty->assign('confirm', array('title' => Pommo::_T('Confirm Action'), 'nourl' => $_SERVER['PHP_SELF'] . '?group_id=' . $_GET['group_id'], 'yesurl' => $_SERVER['PHP_SELF'] . '?group_id=' . $_GET['group_id'] . '&delete=TRUE&dVal-force=TRUE', 'msg' => sprintf(Pommo::_T('%1$s filters belong this group . Are you sure you want to remove %2$s?'), '<b>' . $affected . '</b>', '<b>' . $group['name'] . '</b>')));
        $smarty->display('admin/confirm.tpl');
        Pommo::kill();
    } else {
        // delete group
        if (!Pommo_Groups::delete($group['id'])) {
            $logger->addMsg(Pommo::_T('Group cannot be deleted.'));
        } else {
            $logger->addMsg(sprintf(Pommo::_T('%s deleted.'), $group['name']));
        }
    }
}
// Get array of mailing groups. Key is ID, value is name
$groups = Pommo_Groups::getNames();
$smarty->assign('groups', $groups);
$smarty->display('admin/subscribers/subscribers_groups.tpl');
Pommo::kill();