예제 #1
0
/**
 * Elimina una categoría de la base de datos.
 * Las subcategorías pertenecientes a esta categoría no son eliminadas,
 * sino que son asignadas a la categoría superior.
 */
function deleteCatego()
{
    global $db, $xoopsModule, $xoopsSecurity;
    $ids = rmc_server_var($_POST, 'ids', array());
    if (!$xoopsSecurity->check()) {
        redirectMsg('cats.php', __('Session token expired!', 'qpages'), 1);
        die;
    }
    if (!is_array($ids)) {
        redirectMsg('cats.php', __('No category has been selected!', 'qpages'), 1);
        die;
    }
    $errors = '';
    foreach ($ids as $id) {
        if ($id <= 0) {
            $errors .= sprintf(__('ID "%s" is not valid!', 'qpages'), $id) . '<br />';
            continue;
        }
        $catego = new QPCategory($id);
        if ($catego->isNew) {
            $errors .= sprintf(__('Category with ID "%s" does not exists!', 'qpages'), $id) . '<br />';
            continue;
        }
        if ($catego->delete()) {
            continue;
        } else {
            $errors .= sprintf(__('Category "%s" could not be deleted!', 'qpages'), $catego->getName()) . '<br />';
            continue;
        }
    }
    if ($errors != '') {
        redirectMsg('cats.php', __('Errors ocurred while trying to delete categories', 'qpages') . '<br />' . $errors, 1);
    } else {
        redirectMsg('cats.php', __('Categories deleted successfully!', 'qpages'));
    }
}