Esempio 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);
}
Esempio n. 2
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();
 }