Esempio n. 1
0
/**
* @desc Almacena en la base de datos todos los datos del album
**/
function saveAlbums($edit = 0)
{
    global $xoopsSecurity, $xoopsUser;
    $db = Database::getInstance();
    foreach ($_POST as $k => $v) {
        ${$k} = $v;
    }
    if (!isset($owner) || $owner <= 0) {
        $owner = $xoopsUser->uid();
    }
    $ruta = "pag={$page}&sort={$sort}&mode={$mode}&search={$search}";
    $op = $op = 'save' ? 'new' : 'edit';
    if (!$xoopsSecurity->check()) {
        redirectMsg('./sets.php?op=' . $op . '&' . $ruta, __('Session token expired!', 'galleries'), 1);
        die;
    }
    if ($edit) {
        //Verificamos que el album sea válido
        if ($id <= 0) {
            redirectMsg('./sets.php?' . $ruta, __('Please provide a valid ID!', 'galleries'), 1);
            die;
        }
        //Verificamos que el album exista
        $set = new GSSet($id);
        if ($set->isNew()) {
            redirectMsg('./sets.php?' . $ruta, __('Specified album does not exists!', 'galleries'), 1);
            die;
        }
        $sql = "SELECT COUNT(*) FROM " . $db->prefix('gs_sets') . " WHERE title='{$title}' AND owner={$owner} AND id_set<>" . $set->id();
        list($num) = $db->fetchRow($db->query($sql));
        if ($num > 0) {
            redirectMsg('./sets.php?op=edit&id=' . $set->id() . '&' . $ruta, __('You have another album with same name. Please specify a different name.', 'galleries'), 1);
            die;
        }
    } else {
        //Verificamos que el titulo del album no exista
        $sql = "SELECT COUNT(*) FROM " . $db->prefix('gs_sets') . " WHERE title='{$title}' AND owner={$owner}";
        list($num) = $db->fetchRow($db->query($sql));
        if ($num > 0) {
            redirectMsg('./sets.php?' . $op . '&' . $ruta, __('You have another album with same name. Please specify a different name.', 'galleries'), 1);
            die;
        }
        $set = new GSSet();
    }
    $set->setTitle($title);
    $set->setVar('description', $description);
    $set->setPublic($public);
    $set->setDate(time());
    $set->setOwner($owner);
    $xu = new XoopsUser($owner);
    $set->setUname($xu->uname());
    $new = $set->isNew();
    if (!$set->save()) {
        redirectMsg('./sets.php?' . $ruta, __('Database could not be updated!', 'galleries') . '<br />' . $set->errors(), 1);
        die;
    } else {
        //Incrementamos el número de albums del usuario
        if ($new) {
            $user = new GSUser($set->owner(), 1);
            $user->addSet();
        }
        redirectMsg('./sets.php?' . $ruta, __('Database updated successfully!', 'galleries'), 0);
        die;
    }
}