Esempio n. 1
0
 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'];
}
Esempio n. 3
0
 }
 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";
?>