function saveEdit() { global $db, $util, $xoopsUser; foreach ($_POST as $k => $v) { ${$k} = $v; } if (!$util->validateToken()) { redirectMsg('edits.php?op=edit&id=' . $id, _AS_AH_SESSINVALID, 1); die; } if ($id <= 0) { redirectMsg('./edits.php', _AS_AH_NOID, 1); die; } $edit = new AHEdit($id); if ($edit->isNew()) { redirectMsg('./edits.php', _AS_AH_NOTEXISTS, 1); die; } $sec = new AHSection($edit->section()); if ($sec->isNew()) { redirectMsg('./edits.php', _AS_AH_NOTEXISTSSEC, 1); die; } //Comprueba que el título de la sección no exista $sql = "SELECT COUNT(*) FROM " . $db->prefix('pa_sections') . " WHERE title='{$title}' AND id_res='" . $sec->resource() . "' AND id_sec<>'" . $sec->id() . "'"; list($num) = $db->fetchRow($db->queryF($sql)); if ($num > 0) { redirectMsg('./edits.php?op=edit&id=' . $edit->id(), _AS_AH_ERRTITLE, 1); die; } //Genera $nameid Nombre identificador $found = false; $i = 0; do { $nameid = $util->sweetstring($title) . ($found ? $i : ''); $sql = "SELECT COUNT(*) FROM " . $db->prefix('pa_sections') . " WHERE nameid = '{$nameid}'"; list($num) = $db->fetchRow($db->queryF($sql)); if ($num > 0) { $found = true; $i++; } else { $found = false; } } while ($found == true); $sec->setTitle($title); $sec->setContent($content); $sec->setOrder($order); $sec->setNameId($nameid); $sec->setParent($parent); $sec->setVar('dohtml', isset($dohtml) ? 1 : 0); $sec->setVar('doxcode', isset($doxcode) ? 1 : 0); $sec->setVar('dobr', isset($dobr) ? 1 : 0); $sec->setVar('dosmiley', isset($dosmiley) ? 1 : 0); $sec->setVar('doimage', isset($dosmiley) ? 1 : 0); if (!isset($uid)) { $sec->setUid($xoopsUser->uid()); $sec->setUname($xoopsUser->uname()); } else { $xu = new XoopsUser($uid); if ($xu->isNew()) { $sec->setUid($xoopsUser->uid()); $sec->setUname($xoopsUser->uname()); } else { $sec->setUid($uid); $sec->setUname($xu->uname()); } } $sec->setModified(time()); if (!$sec->save()) { redirectMsg('edits.php', _AS_AH_DBERROR . '<br />' . $sec->errors(), 1); die; } $edit->delete(); redirectMsg('edits.php', _AS_AH_DBOK, 0); }