$D->message = '@' . $tmp->username . ' '; } if (isset($_POST['message'])) { $D->submit = TRUE; $D->message = trim($_POST['message']); $D->message = preg_replace('/\\s+/ius', ' ', $D->message); $D->message = trim($D->message); if (mb_strlen($D->message) > $C->POST_MAX_SYMBOLS) { $D->message = mb_substr($D->message, 0, $C->POST_MAX_SYMBOLS); } $D->message = trim($D->message); $p = new newpost(); $p->set_api_id($C->API_ID); $p->set_message($D->message); if (!$D->error && $to_user) { if (!$p->set_to_user($to_user->id)) { $D->error = TRUE; $D->errmsg = 'newpost_err_system'; } } if (!$D->error && $to_group) { if (!$p->set_group_id($to_group->id)) { $D->error = TRUE; $D->errmsg = 'newpost_err_system'; } } if (!$D->error && empty($D->message)) { $D->error = TRUE; $D->errmsg = 'newpost_err_emptymsg'; } if (isset($_FILES['attach']) && is_uploaded_file($_FILES['attach']['tmp_name']) && ($C->ATTACH_IMAGE_DISABLED == 0 || $C->ATTACH_FILE_DISABLED == 0)) {
exit; } if ($message = $this->db2->fetch_field('SELECT message FROM posts_pr WHERE user_id="' . intval($this->db2->e($user->id)) . '" ORDER BY id DESC LIMIT 1')) { if ($message == $_POST['text']) { if (!isset($_POST['suppress_response_codes'])) { header('HTTP/1.1 304 Not Modified'); } else { echo generate_error($api_session->format, 'Provide a different message.', $_SERVER['REQUEST_URI'], $api_session->callback); } exit; } } $newpost = new newpost(); $ok = $newpost->set_api_id($app_id); if ($ok) { $ok = $newpost->set_to_user($to_id); } if ($ok) { $newpost->set_message($_POST['text']); $ok = $newpost->save(); } if (!$ok) { if (!isset($_POST['suppress_response_codes'])) { header('HTTP/1.1 500 Internal Server Error'); } else { echo generate_error($api_session->format, 'Server error (Stage N2).', $_SERVER['REQUEST_URI'], $api_session->callback); } exit; } else { $p_id = explode("_", $ok); if (!($res = $this->db2->query('SELECT id AS pid, user_id, to_user, message, date FROM posts_pr WHERE id="' . intval($this->db2->e($p_id[0])) . '" LIMIT 1'))) {
} $p->set_attached($a); $res = $p->save(); if (!$res) { echo '<result><status>ERROR</status><message>' . $this->lang('pf_msgerr_sys') . '</message></result>'; exit; } $p->remove_post_cache(); echo '<result><status>OK</status><message>' . $this->lang('pf_msgok_edited') . '</message></result>'; exit; } else { $p = new newpost(); $p->set_api_id(0); if (isset($_POST['username'])) { $uid = $this->network->get_user_by_username($_POST['username'], FALSE, TRUE); $r = $p->set_to_user($uid); if (!$r) { echo '<result><status>ERROR</status><message>' . $this->lang('pf_msgerr_user') . $this->lang('pf_msgerr_user2') . '</message></result>'; exit; } } elseif (isset($_POST['groupname'])) { $gid = $this->network->get_group_by_name($_POST['groupname'], FALSE, TRUE); $r = $p->set_group_id($gid); if (!$r) { echo '<result><status>ERROR</status><message>' . $this->lang('pf_msgerr_group') . '</message></result>'; exit; } } if (isset($_POST['at_link']) && $_POST['at_link'] == "-1") { $a = $p->get_attached(); $tmp = $post_temp->get_attached();
$p = new newpost(); $p->set_attached($a); $p->set_api_id($C->API_ID); $p->set_message($message); if (preg_match('/^group\\:(.*)$/iu', $sharewith, $m)) { if ($g = $this->network->get_group_by_name($m[1])) { if (!$p->set_group_id($g->id)) { $D->error = TRUE; } $redirect = $C->SITE_URL . $g->groupname; } else { $D->error = TRUE; } } elseif ($sharewith == 'user') { if ($u = $this->network->get_user_by_username($sharewithx)) { if (!$p->set_to_user($u->id)) { $D->error = TRUE; } $redirect = $C->SITE_URL . 'dashboard/show:private'; } else { $D->error = TRUE; } } elseif ($sharewith != 'all') { $D->error = TRUE; } } if (!$D->error) { if (!$p->save()) { $D->error = TRUE; } else { $this->redirect($redirect);