Example #1
0
function tapatalk_push_post($post_id, $newTopic = false)
{
    global $user_info, $db_prefix, $boardurl, $modSettings, $topic, $board, $ID_MEMBER;
    //subscribe push
    $pushed_user_ids = array();
    if ($topic && $post_id && (function_exists('curl_init') || ini_get('allow_url_fopen'))) {
        if ($newTopic) {
            $request = db_query("\n                SELECT ln.id_member\n                FROM {$db_prefix}log_notify ln, {$db_prefix}tapatalk_users tu\n                WHERE ln.id_member=tu.uid AND ln.id_board = " . intval($board), __FILE__, __LINE__);
        } else {
            $request = db_query("\n                SELECT ln.id_member\n                FROM {$db_prefix}log_notify ln, {$db_prefix}tapatalk_users tu\n                WHERE ln.id_member=tu.uid AND ln.id_topic = " . intval($topic), __FILE__, __LINE__);
        }
        $userids = '';
        while ($row = mysql_fetch_assoc($request)) {
            if ($row['id_member'] == $user_info['id']) {
                continue;
            }
            $userids = empty($userids) ? $row['id_member'] : $userids . ',' . $row['id_member'];
            $pushed_user_ids[] = $row['id_member'];
        }
        $ttp_data = array('userid' => $userids, 'type' => $newTopic ? 'newtopic' : 'sub', 'id' => $topic, 'subid' => $post_id, 'title' => tt_push_clean($_POST['subject']), 'author' => tt_push_clean($user_info['name']), 'authorid' => $ID_MEMBER, 'dateline' => time());
        //store_as_alert($ttp_data);
        $ttp_post_data = array('url' => $boardurl, 'data' => base64_encode(serialize(array($ttp_data))));
        //if(isset($modSettings['tp_push_key']) && !empty($modSettings['tp_push_key']))
        //$ttp_post_data['key'] = $modSettings['tp_push_key'];
        $return_status = tt_do_post_request($ttp_post_data);
    }
    tapatalk_push_quote_tag($post_id, false, $pushed_user_ids);
}
Example #2
0
function tapatalk_push_reply($post_id)
{
    global $user_info, $context, $smcFunc, $boardurl, $modSettings;
    //subscribe push
    $pushed_user_ids = array();
    if ($context['current_topic'] && $post_id && (function_exists('curl_init') || ini_get('allow_url_fopen'))) {
        $ttp_data = array('type' => 'sub', 'id' => $context['current_topic'], 'subid' => $post_id, 'subfid' => $_GET['board'], 'title' => tt_push_clean($_POST['subject']), 'author' => tt_push_clean($user_info['name']), 'authorid' => $user_info['id'], 'author_postcount' => $user_info['posts'], 'dateline' => time());
        if (!empty($ttp_data['subfid'])) {
            $request = $smcFunc['db_query']('', '
            SELECT b.name
            FROM {db_prefix}boards as b
            WHERE b.id_board = {int:subfid}', array('subfid' => intval($ttp_data['subfid'])));
            $row = $smcFunc['db_fetch_assoc']($request);
            if (!empty($row)) {
                $ttp_data['sub_forum_name'] = tt_push_clean($row['name']);
            }
        }
        $message = $_POST['message'];
        $request = $smcFunc['db_query']('', '
            SELECT ts.id_member
            FROM {db_prefix}log_notify ts
            LEFT JOIN {db_prefix}tapatalk_users tu ON (ts.id_member=tu.userid)
            WHERE ts.id_topic = {int:topic_id}', array('topic_id' => $context['current_topic']));
        if (isset($modSettings['tp_push_notifications']) && $modSettings['tp_push_notifications'] == 1) {
            $ttp_data['content'] = handle_content($message);
        }
        tapatalk_push_quote_tag($post_id, $ttp_data, false, $pushed_user_ids);
        $userids = '';
        while ($row = $smcFunc['db_fetch_assoc']($request)) {
            if ($row['id_member'] == $user_info['id']) {
                continue;
            }
            if (in_array($row['id_member'], $pushed_user_ids)) {
                continue;
            }
            if (!tapatalk_user_can_receive_push_topic($row['id_member'], $ttp_data['subfid'], $ttp_data['id'])) {
                continue;
            }
            $userids = empty($userids) ? $row['id_member'] : $userids . ',' . $row['id_member'];
            $pushed_user_ids[] = $row['id_member'];
            $ttp_data['userid'] = $row['id_member'];
            store_as_alert($ttp_data);
        }
        $ttp_data['userid'] = $userids;
        $return_status = tt_do_post_request($ttp_data);
    }
}