Ejemplo n.º 1
0
 /**
  * Parses quotes with post id and/or dateline.
  *
  * @param string The message to be parsed
  * @param string The username to be parsed
  * @param boolean Are we formatting as text?
  * @return string The parsed message.
  */
 function mycode_parse_post_quotes($message, $username, $text_only = false)
 {
     global $lang, $templates, $theme, $mybb;
     $linkback = $date = "";
     $message = trim($message);
     $message = preg_replace("#(^<br(\\s?)(\\/?)>|<br(\\s?)(\\/?)>\$)#i", "", $message);
     if (!$message) {
         return '';
     }
     $message = str_replace('\\"', '"', $message);
     $username = str_replace('\\"', '"', $username) . "'";
     $delete_quote = true;
     preg_match("#pid=(?:&quot;|\"|')?([0-9]+)[\"']?(?:&quot;|\"|')?#i", $username, $match);
     if (intval($match[1])) {
         $pid = intval($match[1]);
         $url = $mybb->settings['bburl'] . "/" . get_post_link($pid) . "#pid{$pid}";
         if (defined("IN_ARCHIVE")) {
             $linkback = " <a href=\"{$url}\">[ -> ]</a>";
         } else {
             eval("\$linkback = \" " . $templates->get("postbit_gotopost", 1, 0) . "\";");
         }
         $username = preg_replace("#(?:&quot;|\"|')? pid=(?:&quot;|\"|')?[0-9]+[\"']?(?:&quot;|\"|')?#i", '', $username);
         $delete_quote = false;
     }
     unset($match);
     preg_match("#dateline=(?:&quot;|\"|')?([0-9]+)(?:&quot;|\"|')?#i", $username, $match);
     if (intval($match[1])) {
         $dateline = intval($match[1]);
         if ($match[1] < TIME_NOW) {
             $postdate = my_date($mybb->settings['dateformat'], intval($match[1]));
             $posttime = my_date($mybb->settings['timeformat'], intval($match[1]));
             $date = " ({$postdate} {$posttime})";
         }
         $username = preg_replace("#(?:&quot;|\"|')? dateline=(?:&quot;|\"|')?[0-9]+(?:&quot;|\"|')?#i", '', $username);
         $delete_quote = false;
     }
     if ($delete_quote) {
         $username = my_substr($username, 0, my_strlen($username) - 1);
     }
     if ($text_only) {
         return "\n" . htmlspecialchars_uni($username) . " {$lang->wrote}{$date}\n--\n{$message}\n--\n";
     } else {
         $span = "";
         if (!$delete_quote) {
             $span = "<span>{$date}</span>";
         }
         $username = preg_replace('/^\\\'/is', '', $username);
         $userinfo = tt_get_user_id_by_name($username);
         if (!empty($userinfo)) {
             $uid = $userinfo['uid'];
         }
         return "[quote " . (isset($uid) ? "uid={$uid} " : '') . (!empty($username) ? "name=\"{$username}\" " : '') . (isset($pid) ? "post={$pid} " : '') . (isset($dateline) ? "timestamp={$dateline}" : '') . "]{$message}[/quote]\n";
     }
 }
Ejemplo n.º 2
0
if (!empty($_POST['session']) && !empty($_POST['api_key']) && !empty($_POST['subject']) && !empty($_POST['body'])) {
    $error = '';
    $push_url = "http://tapatalk.com/forum_owner_invite.php?PHPSESSID={$_POST['session']}&api_key={$_POST['api_key']}&url=" . urlencode($furl) . "&action=verify";
    $response = getContentFromRemoteServer($push_url, 10, $error, 'GET');
    if ($response) {
        $result = @json_decode($response, true);
    }
    if (empty($result) || empty($result['result'])) {
        if (preg_match('/\\{"result":true/', $response)) {
            $result = array('result' => true);
        }
    }
    $_POST['username'] = isset($_POST['username']) ? trim($_POST['username']) : '';
    if (isset($result) && isset($result['result']) && $result['result']) {
        if (!empty($_POST['username'])) {
            $userinfo = tt_get_user_id_by_name($_POST['username']);
            if (empty($userinfo)) {
                $invite_response['result_text'] = $lang->error_no_users;
            } else {
                $send_result = send_mass_email($_POST['subject'], $_POST['body'], $userinfo['email']);
            }
        } else {
            $send_result = send_mass_email($_POST['subject'], $_POST['body']);
        }
        if (is_numeric($send_result)) {
            $invite_response['result'] = true;
            $invite_response['result_text'] = $lang->success_mass_mail_saved;
            $invite_response['number'] = $send_result;
        } else {
            $invite_response['result_text'] = $send_result;
        }