/** * @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); }
/** * @desc Notifica al grupo de administradores la creación de un nuevo tema no aprobado * @param {@link } Objetos de Foro, Tema y mensaje * @param int edit indica si es la edición de un mensaje o un nuevo tema no aprobado **/ public function notifyAdmin($moderators, BBForum &$forum, BBTopic &$topic, BBPost &$post, $edit = 0) { global $db, $xoopsModule, $rmc_config; $bxf = bXFunctions::get(); $mhand = new XoopsMemberHandler($db); $configCat = new XoopsConfigCategory('mailer', 'mailer'); $config =& $configCat->getConfigs(3); $users = $moderators; if (!$edit) { if (file_exists(XOOPS_ROOT_PATH . '/modules/bxpress/lang/' . RMCLANG . '/admin_notify.tpl')) { $tpldir = XOOPS_ROOT_PATH . '/modules/bxpress/lang/' . RMCLANG; } else { $tpldir = XOOPS_ROOT_PATH . '/modules/bxpress/lang/en'; } } else { if (file_exists(XOOPS_ROOT_PATH . '/modules/bxpress/lang/' . RMCLANG . '/admin_notify_post.tpl')) { $tpldir = XOOPS_ROOT_PATH . '/modules/bxpress/lang/' . RMCLANG; } else { $tpldir = XOOPS_ROOT_PATH . '/modules/bxpress/lang/en'; } } foreach ($users as $k) { $xoopsMailer =& getMailer(); $xoopsMailer->setFromEmail($config['from']); $xoopsMailer->setFromName($config['fromname']); $xoopsMailer->setTemplateDir($tpldir); if (!$edit) { $xoopsMailer->setSubject(sprintf(__('New topic created', 'bxpress'), $forum->name())); $xoopsMailer->setTemplate('admin_notify.tpl'); } else { $xoopsMailer->setSubject(sprintf(__('A unapproved message has been edited', 'dtransport'), $topic->title())); $xoopsMailer->setTemplate('admin_notify_post.tpl'); } $xoopsMailer->assign('FORUM_NAME', $forum->name()); $xoopsMailer->assign('FORUM_MODNAME', $xoopsModule->name()); $xoopsMailer->assign('TOPIC_UNAME', $topic->posterName()); $xoopsMailer->assign('TOPIC_NAME', $topic->title()); $xoopsMailer->assign('TOPIC_APPROVED', $topic->approved() ? _YES : _NO); $xoopsMailer->assign('TOPIC_LINK', $bxf->url() . '/moderate.php?id=' . $forum->id()); $xoopsMailer->assign('POST_UNAME', $post->uname()); $xoopsMailer->assign('POST_LINK', $post->permalink()); $user = new XoopsUser($k); $xoopsMailer->setToUsers($user); $xoopsMailer->isMail = $user->getVar('notify_method') == 2; $xoopsMailer->isPM = $user->getVar('notify_method') == 1; $xoopsMailer->send(true); $xoopsMailer->clearAddresses(); } echo $xoopsMailer->getErrors(); }