function forum_post_new($forum_id, $topic_id, $topic_title, $post_body, $new_topic = false) { global $database, $user, $actions, $notify, $url; $is_error = 0; $nowdate = time(); // SET ERRORS if (trim(str_replace("<p>", "", str_replace("</p>", "", $post_body))) == "") { $is_error = 6000067; } // IF NO ERROR, ADD POST if ($is_error == 0) { // UPLOAD FORUM MEDIA $forummedia_id = $this->forum_media_new($topic_id); // CLEAN, CENSOR, ETC $post_body = $this->forum_bbcode_parse_clean($post_body); // CREATE EXCERPT $excerpt = $this->forum_excerpt($post_body); // INSERT INTO FORUM POST TABLE $database->database_query("INSERT INTO se_forumposts (forumpost_forumtopic_id, forumpost_authoruser_id, forumpost_date, forumpost_excerpt, forumpost_body, forumpost_forummedia_id) VALUES ('{$topic_id}', '{$user->user_info[user_id]}', '{$nowdate}', '{$excerpt}', '{$post_body}', '{$forummedia_id}')") or die(mysql_error()); $forumpost_id = $database->database_insert_id(); // IF NEW TOPIC, UPDATE FORUM TABLE if ($new_topic) { $database->database_query("UPDATE se_forums SET forum_totaltopics=forum_totaltopics+1 WHERE forum_id='{$forum_id}'"); // IF REPLY, UPDATE FORUM AND FORUMTOPIC TABLE } else { $database->database_query("UPDATE se_forums SET forum_totalreplies=forum_totalreplies+1 WHERE forum_id='{$forum_id}'"); $database->database_query("UPDATE se_forumtopics SET forumtopic_date='{$nowdate}', forumtopic_totalreplies=forumtopic_totalreplies+1 WHERE forumtopic_id='{$topic_id}' AND forumtopic_forum_id='{$forum_id}'"); // ADD ACTION if ($user->user_exists) { $actions->actions_add($user, "forumpost", array($user->user_info['user_username'], $user->user_displayname, $forum_id, $topic_id, $topic_title, $forumpost_id, $excerpt), array(), 0, false, 'forum', $forum_id, 0); } // SEND NOTIFICATION if ($user->user_exists) { $poster = $user->user_displayname; } else { $poster = SE_Language::get(835); } // SEND REPLY NOTIFICATION $topic_starter = $database->database_fetch_assoc($database->database_query("SELECT se_forumposts.forumpost_authoruser_id FROM se_forumposts WHERE forumpost_forumtopic_id='{$topic_id}' ORDER BY forumpost_id ASC LIMIT 1")); if ($topic_starter['forumpost_authoruser_id'] != $user->user_info['user_id']) { $starter = new se_user(array($topic_starter['forumpost_authoruser_id'])); if ($starter->user_exists) { $notifytype = $notify->notify_add($starter->user_info[user_id], 'forumreply', $topic_id, array($forum_id, $topic_id, $forumpost_id), array($topic_title)); $object_url = $url->url_base . vsprintf($notifytype[notifytype_url], array($forum_id, $topic_id, $forumpost_id)); $starter->user_settings(); if ($starter->usersetting_info['usersetting_notify_forumreply']) { send_systememail("forumreply", $starter->user_info['user_email'], array($starter->user_displayname, $poster, $topic_title, "<a href=\"{$object_url}\">{$object_url}</a>")); } } } } // UPDATE USER'S TOTAL POSTS $database->database_query("INSERT INTO se_forumusers (forumuser_user_id, forumuser_totalposts) VALUES ('{$user->user_info[user_id]}', 1) ON DUPLICATE KEY UPDATE forumuser_totalposts=forumuser_totalposts+1") or die(mysql_error()); } return array('is_error' => $is_error, 'post_id' => $forumpost_id); }
$grouppost_body_encoded = strip_tags($grouppost_body, '<br>'); if (strlen($grouppost_body_encoded) > 250) { $grouppost_body_encoded = substr($grouppost_body_encoded, 0, 247) . "..."; } $actions->actions_add($user, "grouppost", array($user->user_info['user_username'], $user->user_displayname, $group->group_info['group_id'], $grouptopic_info['grouptopic_id'], $grouptopic_info['grouptopic_subject'], $post_id, $grouppost_body_encoded), array(), 0, false, 'group', $group->group_info['group_id'], $group->group_info['group_privacy']); } else { SE_Language::_preload(835); SE_Language::load(); $poster = SE_Language::_get(835); } // SEND GROUP POST NOTIFICATION IF COMMENTER IS NOT OWNER if ($group->group_info['group_user_id'] != $user->user_info['user_id']) { $groupowner = new se_user(array($group->group_info['group_user_id'])); $notifytype = $notify->notify_add($group->group_info['group_user_id'], 'grouppost', $group->group_info['group_id'], array($group->group_info['group_id']), array($group->group_info['group_title'])); $object_url = $url->url_base . vsprintf($notifytype[notifytype_url], array($group->group_info[group_id])); $groupowner->user_settings(); if ($groupowner->usersetting_info['usersetting_notify_grouppost']) { send_systememail("grouppost", $groupowner->user_info['user_email'], array($groupowner->user_displayname, $poster, "<a href=\"{$object_url}\">{$object_url}</a>")); } } $group->group_lastupdate(); echo "window.parent.location.href = '" . $url->url_create('group_discussion_post', NULL, $group->group_info['group_id'], $grouptopic_id, $post_id) . "';"; } echo "</script></head><body></body></html>"; exit; } // GET CUSTOM GROUP STYLE IF ALLOWED if ($group->groupowner_level_info['level_group_style']) { $groupstyle_info = $database->database_fetch_assoc($database->database_query("SELECT groupstyle_css FROM se_groupstyles WHERE groupstyle_group_id='{$group->group_info['group_id']}' LIMIT 1")); $global_css = $groupstyle_info['groupstyle_css']; }
} if ($mediatag_y + $mediatag_width > $media_info['media_width']) { $mediatag_y = $mediatag_y - ($mediatag_y + $mediatag_width - $media_info['media_width']); } $database->database_query("\r\n INSERT INTO `se_{$type}mediatags` (\r\n `{$type}mediatag_{$type}media_id`,\r\n `{$type}mediatag_user_id`,\r\n `{$type}mediatag_x`,\r\n `{$type}mediatag_y`,\r\n `{$type}mediatag_height`,\r\n `{$type}mediatag_width`,\r\n `{$type}mediatag_text`,\r\n `{$type}mediatag_date`\r\n ) VALUES (\r\n '" . $media_info[$type . 'media_id'] . "',\r\n '{$mediatag_user_id}',\r\n '{$mediatag_x}',\r\n '{$mediatag_y}',\r\n '{$mediatag_height}',\r\n '{$mediatag_width}',\r\n '{$mediatag_text}',\r\n '" . time() . "'\r\n )\r\n "); $mediatag_id = $database->database_insert_id(); // SET OBJECT TITLE $object_title = $media_info[$type . 'media_title']; if ($object_title == "") { $object_title = SE_Language::get(589); } // SEND NOTIFICATION TO OWNER if ($owner_user->user_info['user_id'] != $user->user_info['user_id']) { $notifytype = $notify->notify_add($owner_user->user_info['user_id'], $type . 'mediatag', $media_info[$type . 'media_id'], array($owner_user->user_info['user_username'], $media_info[$type . 'media_id'], $object_owner_id), array($object_title)); $object_url = $url->url_base . vsprintf($notifytype['notifytype_url'], array($owner_iden, $media_info[$type . 'media_id'])); $owner_user->user_settings(); if ($owner_user->usersetting_info['usersetting_notify_' . $type . 'mediatag']) { send_systememail($type . 'mediatag', $owner_user->user_info['user_email'], array($owner_user->user_displayname, $user->user_displayname, "<a href=\"" . $object_url . "\">" . $object_url . "</a>")); } } // INSERT ACTION AND SEND NOTIFICATION TO TAGGED USER if ($taggeduser->user_exists == 1) { // ENSURE USER ISN'T ALREADY TAGGED IN THIS PHOTO if ($database->database_num_rows($database->database_query("SELECT `{$type}mediatag_id` FROM `se_{$type}mediatags` WHERE `{$type}mediatag_{$type}media_id`='" . $media_info[$type . 'media_id'] . "' AND `{$type}mediatag_user_id`='{$taggeduser->user_info['user_id']}'")) == 1) { $media_path = $media_dir . $media_info[$type . 'media_id'] . "_thumb.jpg"; $media_width = $misc->photo_size($media_path, "100", "100", "w"); $media_height = $misc->photo_size($media_path, "100", "100", "h"); $action_media[] = array('media_link' => "profile_photos_file.php?user={$taggeduser->user_info['user_username']}&type={$type}media&media_id=" . $media_info[$type . 'media_id'], 'media_path' => $media_path, 'media_width' => $media_width, 'media_height' => $media_height); $actions->actions_add($taggeduser, "new{$type}tag", array($taggeduser->user_info['user_username'], $taggeduser->user_displayname), $action_media, 600, false, "user", $taggeduser->user_info['user_id'], $taggeduser->user_info['user_privacy']); } if ($taggeduser->user_info['user_id'] != $owner_user->user_info['user_id'] && $taggeduser->user_info['user_id'] != $user->user_info['user_id']) {
<? $page = "user_article_settings"; include "header.php"; if($user->level_info[level_article_allow] == 0) { header("Location: user_home.php"); exit(); } if(isset($_POST['task'])) { $task = $_POST['task']; } elseif(isset($_GET['task'])) { $task = $_GET['task']; } else { $task = "main"; } // SET VARS $result = 0; // SAVE NEW SETTINGS if($task == "dosave") { $usersetting_notify_articlecomment = $_POST['usersetting_notify_articlecomment'] ? 1 : 0; $usersetting_notify_articlemediacomment = $_POST['usersetting_notify_articlemediacomment'] ? 1 : 0; // UPDATE DATABASE $database->database_query("UPDATE se_usersettings SET usersetting_notify_articlecomment='$usersetting_notify_articlecomment', usersetting_notify_articlemediacomment='$usersetting_notify_articlemediacomment' WHERE usersetting_user_id='".$user->user_info[user_id]."'"); $user = new se_user(Array($user->user_info[user_id])); $result = 1; } // ASSIGN USER SETTINGS $user->user_settings(); // ASSIGN VARIABLES AND INCLUDE FOOTER $smarty->assign('result', $result); include "footer.php"; ?>