) ENGINE=MyISAM DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS {$db_prefix}relationships; CREATE TABLE {$db_prefix}relationships ( cid mediumint(8) unsigned NOT NULL DEFAULT '0', mid mediumint(8) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (cid,mid) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; EOT; //添加新表 runquery($add); $query = $DB->query("SELECT cid, name, displayorder FROM {$db_prefix}categories"); while ($cate = $DB->fetch_array($query)) { $DB->query("INSERT INTO {$db_prefix}metas (name, type, displayorder) VALUES ('" . addslashes($cate['name']) . "', 'category', '" . addslashes($cate['displayorder']) . "')"); $mid = $DB->insert_id(); $articles = $DB->query("SELECT articleid, visible FROM {$db_prefix}articles WHERE cid='" . $cate['cid'] . "'"); while ($article = $DB->fetch_array($articles)) { $r = $DB->fetch_one_array("SELECT cid FROM {$db_prefix}relationships WHERE mid='{$mid}' LIMIT 1"); if (!$r) { $DB->query("INSERT INTO {$db_prefix}relationships (cid,mid) VALUES ('" . $article['articleid'] . "', '{$mid}')"); } else { if ($article['articleid'] != $r['cid']) { $DB->query("INSERT INTO {$db_prefix}relationships (cid,mid) VALUES ('" . $article['articleid'] . "', '{$mid}')"); } } if ($article['visible']) { $DB->unbuffered_query("UPDATE {$db_prefix}metas SET count=count+1 WHERE mid='{$mid}' AND type='category'"); } } }
// spam_words if ($options['spam_words'] && $cur_user['flag'] < 99) { $spam_words_arr = explode(",", $options['spam_words']); $check_con = ' ' . $c_content; foreach ($spam_words_arr as $spam) { if (strpos($check_con, $spam)) { // has spam word $DBM->unbuffered_query("UPDATE `yunbbs_users` SET `flag`='0' WHERE `id`='{$cur_uid}'"); $MMC->delete('u_' . $cur_uid); exit('403: dont post any spam.'); } } } $c_content = htmlspecialchars($c_content); $DBM->query("INSERT INTO `yunbbs_comments` (`id`,`articleid`,`uid`,`addtime`,`content`) VALUES (null,{$tid}, {$cur_uid}, {$timestamp}, '{$c_content}')"); $new_rid = $DBM->insert_id(); $DBM->unbuffered_query("UPDATE `yunbbs_articles` SET `ruid`='{$cur_uid}',`edittime`='{$timestamp}',`comments`=`comments`+1 WHERE `id`='{$tid}'"); $DBM->unbuffered_query("UPDATE `yunbbs_users` SET `replies`=`replies`+1,`lastreplytime`='{$timestamp}' WHERE `id`='{$cur_uid}'"); // 更新u_code $new_ucode = md5($cur_uid . $cur_user['password'] . $cur_user['regtime'] . $cur_user['lastposttime'] . $timestamp); if ($cur_user['expires']) { $cookie_ex = $cur_user['expires']; } else { $cookie_ex = $timestamp + 86400 * 365; } setcookie("cur_uid", $cur_uid, $cookie_ex, '/'); setcookie("cur_uname", $cur_uname, $cookie_ex, '/'); setcookie("cur_ucode", $new_ucode, $cookie_ex, '/'); $MMC->delete('u_' . $cur_uid); // del cache $MMC->delete('t-' . $tid);
} } else { $errors[] = '用户名、密码、重复密码、验证码 必填'; } //// if (!$errors) { $pwmd5 = md5($pw); $DBM = new DB_MySQL(); $DBM->connect($servername_m, $dbport, $dbusername, $dbpassword, $dbname); if ($options['register_review']) { $flag = 1; } else { $flag = 5; } $DBM->query("INSERT INTO `yunbbs_users` (`id`,`name`,`flag`,`password`,`regtime`) VALUES (null,'{$name}', {$flag}, '{$pwmd5}', {$timestamp})"); $new_uid = $DBM->insert_id(); if ($new_uid == 1) { $DBM->unbuffered_query("UPDATE `yunbbs_users` SET `flag` = '99' WHERE `id`='1'"); } $MMC->delete('site_infos'); // 记录已注册ip $MMC->set('regip_' . $onlineip, '1', 0, intval($options['reg_ip_space'])); //设置cookie $db_ucode = md5($new_uid . $pwmd5 . $timestamp . '00'); $cur_uid = $new_uid; setcookie("cur_uid", $cur_uid, $timestamp + 86400 * 365, '/'); setcookie("cur_uname", $name, $timestamp + 86400 * 365, '/'); setcookie("cur_ucode", $db_ucode, $timestamp + 86400 * 365, '/'); header('location: /'); exit; }
exit; } } if ($timestamp - $cur_user['lastposttime'] > $options['article_post_space']) { if ($p_title) { if (mb_strlen($p_title, 'utf-8') <= $options['article_title_max_len'] && mb_strlen($p_content, 'utf-8') <= $options['article_content_max_len']) { $conmd5 = md5($p_title . $p_content); if ($MMC->get('cm_' . $conmd5)) { $tip = '请勿发布相同的内容 或 灌水'; } else { $DBM = new DB_MySQL(); $DBM->connect($servername_m, $dbport, $dbusername, $dbpassword, $dbname); $p_title = htmlspecialchars($p_title); $p_content = htmlspecialchars($p_content); $DBM->query("INSERT INTO `yunbbs_articles` (`id`,`cid`,`uid`,`title`,`content`,`addtime`,`edittime`) VALUES (null,{$cid},{$cur_uid}, '{$p_title}', '{$p_content}', {$timestamp}, {$timestamp})"); $new_aid = $DBM->insert_id(); $DBM->unbuffered_query("UPDATE `yunbbs_categories` SET `articles`=`articles`+1 WHERE `id`='{$cid}'"); $DBM->unbuffered_query("UPDATE `yunbbs_users` SET `articles`=`articles`+1, `lastposttime`={$timestamp} WHERE `id`='{$cur_uid}'"); // 更新u_code $cur_user['lastposttime'] = $timestamp; // $MMC->delete('u_' . $cur_uid); $new_ucode = md5($cur_uid . $cur_user['password'] . $cur_user['regtime'] . $cur_user['lastposttime'] . $cur_user['lastreplytime']); if ($cur_user['expires']) { $cookie_ex = $cur_user['expires']; } else { $cookie_ex = $timestamp + 86400 * 365; } setcookie("cur_uid", $cur_uid, $cookie_ex, '/'); setcookie("cur_uname", $cur_uname, $cookie_ex, '/'); setcookie("cur_ucode", $new_ucode, $cookie_ex, '/');