Ejemplo n.º 1
0
 function getDomain()
 {
     // 予約されたドメインを使用(不正)
     if (is_ReservedTLD($this->host)) {
         return '';
     }
     $idx = isset($this->TLD[$this->reverse[0]]) ? $this->TLD[$this->reverse[0]] : 2;
     // 本来あるべき長さに達していない
     if (count($this->reverse) < $idx) {
         return '';
     }
     $rc = '';
     for ($i = $idx; $i >= 0; $i--) {
         $rc .= $this->reverse[$i];
         if ($i > 0) {
             $rc .= '.';
         }
     }
     return $rc;
 }
Ejemplo n.º 2
0
function tb_send($page, $links)
{
    global $trackback, $page_title;
    if (!$trackback) {
        return;
    }
    // No link, END
    if (!is_array($links) || empty($links)) {
        return;
    }
    $script = get_script_uri();
    // PROHIBITION OF INVALID TRANSMISSION
    $url = parse_url($script);
    $host = empty($url['host']) ? $script : $url['host'];
    if (is_ipaddr($host)) {
        if (is_localIP($host)) {
            return;
        }
    } else {
        if (is_ReservedTLD($host)) {
            return;
        }
    }
    if (is_ignore_page($page)) {
        return;
    }
    // Disable 'max execution time' (php.ini: max_execution_time)
    if (ini_get('safe_mode') == '0') {
        set_time_limit(0);
    }
    $r_page = rawurlencode($page);
    $excerpt = strip_htmltag(convert_html(get_source($page)));
    // Sender's information
    $putdata = array('title' => $page, 'url' => $script . '?' . $r_page, 'excerpt' => mb_strimwidth(preg_replace("/[\r\n]/", ' ', $excerpt), 0, 255, '...'), 'blog_name' => $page_title . ' (' . PLUGIN_TRACKBACK_VERSION . ')', 'charset' => SOURCE_ENCODING);
    foreach ($links as $link) {
        if (path_check($script, $link)) {
            continue;
        }
        // Same Site
        $tb_id = tb_get_url($link);
        // Get Trackback ID from the URL
        if (empty($tb_id)) {
            continue;
        }
        // Trackback is not supported
        $result = http_request($tb_id, 'POST', '', $putdata, 2, CONTENT_CHARSET);
        // FIXME: Create warning notification space at pukiwiki.skin!
    }
}