예제 #1
0
function tapatalk_push_tag()
{
    global $mybb, $db, $tid, $pid, $visible, $thread, $post, $thread_info, $new_thread;
    if (!empty($new_thread)) {
        $pid = $thread_info['pid'];
        $thread = $new_thread;
        $post = $new_thread;
    }
    if (!($tid && $pid && $visible == 1 && $db->table_exists('tapatalk_users'))) {
        return false;
    }
    if (!empty($post['message'])) {
        $matches = tt_get_tag_list($post['message']);
        foreach ($matches as $username) {
            $username = $db->escape_string($username);
            $query = $db->query("SELECT tu.*,u.uid FROM " . TABLE_PREFIX . "tapatalk_users AS tu LEFT JOIN\r\n            " . TABLE_PREFIX . "users AS u ON tu.userid = u.uid  WHERE u.username = '******'");
            $user = $db->fetch_array($query);
            if (ingnore_user_push($user)) {
                continue;
            }
            $ttp_push_data = array();
            $ttp_data[] = array('userid' => $user['uid'], 'type' => 'tag', 'id' => $tid, 'subid' => $pid, 'title' => tt_push_clean($thread['subject']), 'author' => tt_push_clean($mybb->user['username']), 'dateline' => TIME_NOW);
            tt_insert_push_data($ttp_data[count($ttp_data) - 1]);
            if ($user['tag'] == 1) {
                $ttp_push_data[] = $ttp_data[count($ttp_data) - 1];
            }
        }
        if (!empty($ttp_push_data)) {
            $ttp_post_data = array('url' => $mybb->settings['bburl'], 'data' => base64_encode(serialize($ttp_push_data)));
            $return_status = tt_do_post_request($ttp_post_data);
            return true;
        }
    }
    return false;
}
<?php

if (!isset($tapatalk_push_run)) {
    $tapatalk_push_run = true;
}
if ($url && $post_approval && $tapatalk_push_run) {
    $config['tapatalkdir'] = !empty($config['tapatalkdir']) ? $config['tapatalkdir'] : 'mobiquo';
    require_once $phpbb_root_path . $config['tapatalkdir'] . '/push_hook.' . $phpEx;
    $user_name_tag_arr = tt_get_tag_list($data['message']);
    switch ($mode) {
        case 'reply':
            tapatalk_push_reply($data);
            tapatalk_push_quote($data, $user_name_tag_arr, 'tag');
            break;
        case 'post':
            tapatalk_push_newtopic($data);
            tapatalk_push_quote($data, $user_name_tag_arr, 'tag');
            break;
        case 'quote':
            preg_match_all('/quote=&quot;(.*?)&quot;/is', $data['message'], $matches);
            $user_name_arr = array_unique($matches[1]);
            unset($matches);
            tapatalk_push_reply($data);
            tapatalk_push_quote($data, $user_name_arr, 'quote');
            tapatalk_push_quote($data, $user_name_tag_arr, 'tag');
            break;
    }
}
$tapatalk_push_run = false;