/** * Logs the current user out * function login_logout(){ global $ssc_user; _login_kill_session(); session_regenerate_id(true); $ssc_user = _login_anonymous(); } /** * Destroys an active session */ function _login_kill_session() { // Empty variables $_SESSION = array(); // Remove remote SID if (isset($_COOKIE[session_name()])) { ssc_cookie(session_name(), '', -3600); } // Destroy the session session_destroy(); }
/** * Comment submission */ function blog_guest_comment_submit() { global $ssc_database, $ssc_site_url; $details['n'] = $_POST['n']; $details['s'] = $_POST['s']; $details['e'] = $_POST['e']; ssc_cookie('comment_details', serialize($details), 15552000); // Load antispam if (ssc_load_library('sscAkismet')) { $spam = new sscAkismet($ssc_site_url, ssc_var_get('wordpress_api', '')); if (!$spam) { // No API key - submit but mark for moderation $is_spam = SSC_BLOG_COMMENT_SPAM; } else { $spam->setContent($_POST['c'], 'comment'); $spam->setAuthor($_POST['n'], $_POST['e'], $_POST['s']); $spam->setRemote($_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT']); $spam->setBlog($_POST['perma']); $is_spam = $spam->isSpam() ? SSC_BLOG_COMMENT_SPAM | SSC_BLOG_COMMENT_CAN_SPAM : SSC_BLOG_COMMENT_CAN_SPAM; // Increment caught count if ($is_spam & SSC_BLOG_COMMENT_SPAM) { ssc_var_set('akismet_count', (int) ssc_var_get('akismet_count', 1) + 1); } } } else { // No Akismet library - submit but mark for moderation $is_spam = SSC_BLOG_COMMENT_SPAM; } if ($is_spam & SSC_BLOG_COMMENT_SPAM && ssc_var_get('blog.discard_spam', false)) { ssc_add_message(SSC_MSG_WARN, t('Your post was marked as spam and permanently discarded - please try to reduce it\'s "spammyness" and try again')); $_POST['spammed'] = true; } else { $_POST['spammed'] = false; $result = $ssc_database->query("INSERT INTO #__blog_comment (post_id, author, email, site, created, status, body, ip)\n\t\t\tVALUES (%d, '%s', '%s', '%s', %d, %d, '%s', '%s')", $_POST['i'], $_POST['n'], $_POST['e'], $_POST['s'], time(), $is_spam, $_POST['c'], $_SERVER['REMOTE_ADDR']); // Result tree if ($result) { // Submission successful if ($is_spam & SSC_BLOG_COMMENT_SPAM) { // Comment was marked as spam if ($is_spam & SSC_BLOG_COMMENT_CAN_SPAM) { // ... by Akismet ssc_add_message(SSC_MSG_WARN, t('Your comment has been submitted but marked as spam and queued for moderation. Do not resubmit your comment.')); } else { // Akisment unavailable - manual moderation ssc_add_message(SSC_MSG_INFO, t('Your comment has been submitted and queued for moderation. Do not resubmit as it should be checked soon.')); } } else { ssc_add_message(SSC_MSG_INFO, t('Your comment was successfully added')); } } else { ssc_add_message(SSC_MSG_CRIT, t('There was a server error encountered while submitting your comment')); } } }