Ejemplo n.º 1
0
/**
* @desc Publica o no los trabajos
**/
function publicWorks($pub = 0)
{
    global $xoopsSecurity;
    $ids = isset($_REQUEST['ids']) ? $_REQUEST['ids'] : 0;
    $page = isset($_REQUEST['pag']) ? $_REQUEST['pag'] : '';
    $show = rmc_server_var($_POST, 'show', 1);
    $ruta = "page={$page}&show={$show}";
    //Verificamos que nos hayan proporcionado un trabajo para publicar
    if (!is_array($ids)) {
        redirectMsg('./works.php?' . $ruta, __('You must specify a work ID', 'works'), 1);
        die;
    }
    if (!$xoopsSecurity->check()) {
        redirectMsg('./works.php?' . $ruta, __('Session token expired!', 'works'), 1);
        die;
    }
    $errors = '';
    foreach ($ids as $k) {
        //Verificamos si el trabajo es válido
        if ($k <= 0) {
            $errors .= sprintf(__('Work ID "%s" is not valid!', 'works'), $k);
            continue;
        }
        //Verificamos si el trabajo existe
        $work = new PWWork($k);
        if ($work->isNew()) {
            $errors .= sprintf(__('Work with ID "%s" does not exists!', 'works'), $k);
            continue;
        }
        $work->setPublic($pub);
        if (!$work->save()) {
            $errors .= sprintf(__('Work "%s" could not be saved!', 'works'), $k);
        }
    }
    if ($errors != '') {
        redirectMsg('./works.php?' . $ruta, __('Errors ocurred while trying to update works') . '<br />' . $errors, 1);
        die;
    } else {
        redirectMsg('./works.php?' . $ruta, __('Works updated successfully!', 'works'), 0);
        die;
    }
}