Exemplo n.º 1
0
/**
* @desc Elimina los temas especificados
**/
function deleteTopics()
{
    global $xoopsSecurity;
    foreach ($_POST as $k => $v) {
        ${$k} = $v;
    }
    if (!$xoopsSecurity->check()) {
        redirectMsg('prune.php', __('Session token expired!', 'bxpress'), 0);
        die;
    }
    $db = XoopsDatabaseFactory::getDatabaseConnection();
    $sql = "SELECT id_topic FROM " . $db->prefix('bxpress_topics') . " WHERE ";
    $sql .= $forums == 0 ? '' : "id_forum='{$forums}' ";
    //Determinamos de que foro se va a limpiar temas
    $sql .= $forums ? " AND date<" . (time() - $days * 86400) : " date<" . (time() - $days * 86400);
    //Determinamos los temas con los dias de antigüedad especificados
    $sql .= $option == 2 ? " AND replies=0" : '';
    //Determinamos los temas a eliminar
    $sql .= $fixed ? " AND sticky=1 " : ' AND sticky=0';
    //Temas fijos
    $result = $db->queryF($sql);
    $num = $db->getRowsNum($result);
    while ($rows = $db->fetchArray($result)) {
        $topic = new BBTopic();
        $topic->assignVars($rows);
        $topic->delete();
    }
    redirectMsg('prune.php', sprintf(__('Prune done! %u topics deleted', 'bxpress'), $num), 0);
}