function get_search_query_terms($engine = 'google') { global $s, $s_array, $blog_charset; if (isset($_SERVER['HTTP_REFERER'])) { $referer = urldecode($_SERVER['HTTP_REFERER']); } else { $referer = ''; } $query_array = array(); switch ($engine) { case 'google': // Google query parsing code adapted from Dean Allen's // Google Hilite 0.3. http://textism.com $query_terms = preg_replace('/^.*q=([^&]+)&?.*$/i', '$1', $referer); $query_terms = preg_replace('/\'|"/', '', $query_terms); $query_terms = mb_conv($query_terms, $blog_charset, "auto"); $query_array = preg_split("/[\\s,\\+\\.]+/", $query_terms); break; case 'lycos': $query_terms = preg_replace('/^.*query=([^&]+)&?.*$/i', '$1', $referer); $query_terms = preg_replace('/\'|"/', '', $query_terms); $query_terms = mb_conv($query_terms, $blog_charset, "auto"); $query_array = preg_split("/[\\s,\\+\\.]+/", $query_terms); break; case 'yahoo': $query_terms = preg_replace('/^.*p=([^&]+)&?.*$/i', '$1', $referer); $query_terms = preg_replace('/\'|"/', '', $query_terms); $query_terms = mb_conv($query_terms, $blog_charset, "auto"); $query_array = preg_split("/[\\s,\\+\\.]+/", $query_terms); break; case 'wordpress': // Check the search form vars if the search terms // aren't in the referer. if (isset($s_array)) { $query_array = $s_array; break; } else { if (isset($s)) { $query_array = array($s); break; } else { if (preg_match('/^.*s=/i', $referer)) { $query_terms = preg_replace('/^.*s=([^&]+)&?.*$/i', '$1', $referer); $query_terms = preg_replace('/\'|"/', '', $query_terms); $query_array = preg_split("/[\\s,\\+\\.]+/", $query_terms); } } } break; } return $query_array; }
function add_referer() { global $single, $post_meta_cache, $wp_post_id, $wp_id, $blog_charset, $siteurl; if ($single) { if (isset($_SERVER["HTTP_REFERER"])) { $url = $_SERVER["HTTP_REFERER"]; if (not_excluded($url)) { if ($referer = fopen($url, "rb")) { $page = ''; while (!feof($referer)) { $page .= fread($referer, 8192); } fclose($referer); $matched = false; $page = mb_conv($page, $blog_charset, "auto"); if (preg_match_all("/<a\\s[^>]*?href=[\"\\']([^\"\\']*?)[\"\\'][^>]*>/", $page, $matches, PREG_PATTERN_ORDER)) { foreach ($matches[1] as $match) { if (strstr($match, $siteurl)) { $matched = true; } } } if (!$matched) { return; } preg_match("/<title>(.+)<\\/title>/is", $page, $title); $title = $title[1]; } if (!$title) { preg_match("/^(http:\\/\\/)?([^\\/]+)/i", $url, $matches); $host = $matches[2]; preg_match("/[^\\.\\/]+\\.[^\\.\\/]+\$/", $host, $matches); $title = $matches[0]; } $new_entry = addslashes($title . ":!-!:" . $url); add_post_meta($wp_post_id, 'wp-refer', $new_entry); $post_meta_cache[$wp_id][$wp_post_id]['wp-refer'][] = $new_entry; } } } }
function add_referer() { if (!empty($GLOBALS['single'])) { if (isset($_SERVER['HTTP_REFERER'])) { $url = $_SERVER['HTTP_REFERER']; if (not_excluded($url)) { require_once XOOPS_ROOT_PATH . '/class/snoopy.php'; $snoopy = new Snoopy(); if ($snoopy->fetch($url)) { $page = $snoopy->results; $matched = false; $page = mb_conv($page, $GLOBALS['blog_charset'], 'auto'); if (preg_match_all('/<a\\s[^>]*?href=[\\"\']([^\\"\']*?)[\\"\'][^>]*>/', $page, $matches, PREG_PATTERN_ORDER)) { foreach ($matches[1] as $match) { if (strstr($match, wp_siteurl())) { $matched = true; } } } if (!$matched) { return; } preg_match('/<title>(.+)<\\/title>/is', $page, $title); $title = $title[1]; if (!$title) { preg_match('/^(http:\\/\\/)?([^\\/]+)/i', $url, $matches); $host = $matches[2]; preg_match('/[^\\.\\/]+\\.[^\\.\\/]+$/', $host, $matches); $title = $matches[0]; } $new_entry = addslashes($title . ":!-!:" . $url); add_post_meta($GLOBALS['wp_post_id'], 'wp-refer', $new_entry); $GLOBALS['post_meta_cache'][wp_id()][$GLOBALS['wp_post_id']]['wp-refer'][] = $new_entry; } } } } }
function wp_getattach($content, $prefix = "", $create_thumbs = 0) { $contents = explode("\r\n\r\n", $content); $subtype = preg_match("/Content-Type: [^\\/]*\\/([^\\;]*);/", $contents[0], $matches); if ($subtype) { $subtype = strtolower($matches[1]); } $temp_file = ""; if (in_array($subtype, array("gif", "jpg", "jpeg", "png"))) { if (eregi("name=\"?([^\"]+)\"?", $contents[0], $filereg)) { $filename = ereg_replace("[\t\r\n]", "", $filereg[1]); if (function_exists('mb_convert_encoding')) { $temp_file = mb_conv(mb_decode_mimeheader($filename), get_settings('blog_charset'), "auto"); } else { $temp_file = $filename; } } // 添付データをデコードして保存 if (eregi("Content-Transfer-Encoding:.*base64", $contents[0])) { $tmp = base64_decode($contents[1]); if (!$temp_file) { $temp_file_base = $prefix . "_" . time(); } else { $temp_file_info = pathinfo($temp_file); if (in_array($temp_file_info["extension"], array("gif", "jpg", "jpeg", "png"))) { $subtype = $temp_file_info["extension"]; } $temp_file_base = basename($temp_file, "." . $temp_file_info["extension"]); } $i = 0; $temp_file = $temp_file_base . ".{$subtype}"; while (file_exists(get_settings('fileupload_realpath') . '/' . $temp_file)) { $temp_file = $temp_file_base . "-" . $i . ".{$subtype}"; $i++; } if (!($temp_fp = fopen(get_settings('fileupload_realpath') . '/' . $temp_file, "wb"))) { echo "Error : Could not write attatched file.<br />\n"; return false; } fputs($temp_fp, $tmp); fclose($temp_fp); if ($create_thumbs) { wp_create_thumbnail(get_settings('fileupload_realpath') . '/' . $temp_file, 180, ""); } } echo "{$temp_file} <br />\n"; return $temp_file; } return false; }
function wp_convert_rss_charset($srcstr) { return mb_conv($srcstr, wp_get_rss_charset(), $GLOBALS['blog_charset']); }
function mt_getpost($params) { // ($postid, $user, $pass) global $xmlrpcerruser; $xpostid = $params->getParam(0); $xuser = $params->getParam(1); $xpass = $params->getParam(2); $post_ID = $xpostid->scalarval(); $username = $xuser->scalarval(); $password = $xpass->scalarval(); // Check login if (user_pass_ok($username, $password)) { $postdata = get_postdata($post_ID); if ($postdata["Date"] != "") { // why were we converting to GMT here? spec doesn't call for that. //$post_date = mysql2date("U", $postdata["Date"]); //$post_date = gmdate("Ymd", $post_date)."T".gmdate("H:i:s", $post_date); $post_date = strtotime($postdata['Date']); $post_date = date("Ymd", $post_date) . "T" . date("H:i:s", $post_date); $catids = wp_get_post_cats('1', $post_ID); logIO("O", "CateGory No:" . count($catids)); foreach ($catids as $catid) { $catname = get_cat_name($catid); logIO("O", "CateGory:" . $catname); $catnameenc = new xmlrpcval(mb_conv($catname, "UTF-8", "auto")); $catlist[] = $catnameenc; } $post = get_extended($postdata['Content']); $allow_comments = 'open' == $postdata['comment_status'] ? 1 : 0; $allow_pings = 'open' == $postdata['ping_status'] ? 1 : 0; $resp = array('link' => new xmlrpcval(post_permalink($post_ID)), 'title' => new xmlrpcval(mb_conv($postdata["Title"], "UTF-8", "auto")), 'description' => new xmlrpcval(mb_conv($post['main'], "UTF-8", "auto")), 'dateCreated' => new xmlrpcval($post_date, 'dateTime.iso8601'), 'userid' => new xmlrpcval($postdata["Author_ID"]), 'postid' => new xmlrpcval($postdata["ID"]), 'content' => new xmlrpcval(mb_conv($postdata["Content"], "UTF-8", "auto")), 'permalink' => new xmlrpcval(post_permalink($post_ID)), 'categories' => new xmlrpcval($catlist, 'array'), 'mt_keywords' => new xmlrpcval("{$catids[0]}"), 'mt_excerpt' => new xmlrpcval(mb_conv($postdata['Excerpt'], "UTF-8", "auto")), 'mt_allow_comments' => new xmlrpcval($allow_comments, 'int'), 'mt_allow_pings' => new xmlrpcval($allow_pings, 'int'), 'mt_convert_breaks' => new xmlrpcval('true'), 'mt_text_more' => new xmlrpcval(mb_conv($post['extended'], "UTF-8", "auto"))); $resp = new xmlrpcval($resp, 'struct'); return new xmlrpcresp($resp); } else { return new xmlrpcresp(0, $xmlrpcerruser + 3, "No such post #{$post_ID}"); } } else { return new xmlrpcresp(0, $xmlrpcerruser + 3, 'Wrong username/password combination ' . $username . ' / ' . starify($password)); } }
?> </link> <description><?php bloginfo_rss('description'); ?> </description> <dc:language><?php echo get_settings('rss_language') ? get_settings('rss_language') : 'en'; ?> </dc:language> <dc:date><?php echo gmdate('Y-m-d\\TH:i:s'); ?> </dc:date> <dc:creator><?php echo antispambot(mb_conv(get_settings('admin_email'), $_rss_charset, $GLOBALS['blog_charset'])); ?> </dc:creator> <admin:generatorAgent rdf:resource="http://wordpress.xwd.jp/?v=<?php echo $GLOBALS['wp_version']; ?> "/> <admin:errorReportsTo rdf:resource="mailto:<?php echo antispambot(get_settings('admin_email')); ?> "/> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase> <items> <rdf:Seq>
function pingback_ping($m) { // original code by Mort // (http://mort.mine.nu:8080) global $wpdb; global $wp_version; if (!get_settings('use_pingback')) { return new xmlrpcresp(new xmlrpcval('Sorry, this weblog does not allow you to pingback its posts.')); } $title = ''; $pagelinkedfrom = $m->getParam(0); $pagelinkedfrom = $pagelinkedfrom->scalarval(); $pagelinkedto = $m->getParam(1); $pagelinkedto = $pagelinkedto->scalarval(); $pagelinkedfrom = addslashes(str_replace('&', '&', $pagelinkedfrom)); $pagelinkedto = preg_replace('#&([^amp\\;])#is', '&$1', $pagelinkedto); $messages = array(htmlentities('Pingback from ' . $pagelinkedfrom . ' to ' . $pagelinkedto . ' registered. Keep the web talking! :-)'), htmlentities("We can't find the URL to the post you are trying to " . "link to in your entry. Please check how you wrote the post's permalink in your entry."), htmlentities("We can't find the post you are trying to link to." . " Please check the post's permalink.")); $message = $messages[0]; // Check if the page linked to is in our site $pos1 = strpos($pagelinkedto, str_replace('http://', '', str_replace('www.', '', wp_siteurl()))); if ($pos1) { // let's find which post is linked to $urltest = parse_url($pagelinkedto); if ($post_ID = url_to_postid($pagelinkedto)) { $way = 'url_to_postid()'; } elseif (preg_match('#p/[0-9]{1,}#', $urltest['path'], $match)) { // the path defines the post_ID (archives/p/XXXX) $blah = explode('/', $match[0]); $post_ID = $blah[1]; $way = 'from the path'; } elseif (preg_match('#p=[0-9]{1,}#', $urltest['query'], $match)) { // the querystring defines the post_ID (?p=XXXX) $blah = explode('=', $match[0]); $post_ID = $blah[1]; $way = 'from the querystring'; } elseif (isset($urltest['fragment'])) { // an #anchor is there, it's either... if (intval($urltest['fragment'])) { // ...an integer #XXXX (simpliest case) $post_ID = $urltest['fragment']; $way = 'from the fragment (numeric)'; } elseif (preg_match('/post-[0-9]+/', $urltest['fragment'])) { // ...a post id in the form 'post-###' $post_ID = preg_replace('/[^0-9]+/', '', $urltest['fragment']); $way = 'from the fragment (post-###)'; } elseif (is_string($urltest['fragment'])) { // ...or a string #title, a little more complicated $title = preg_replace('/[^a-zA-Z0-9]/', '.', $urltest['fragment']); $sql = "SELECT ID FROM " . wp_table('posts') . " WHERE post_title RLIKE '" . addslashes($title) . "'"; $post_ID = $wpdb->get_var($sql) or die("Query: {$sql}\n\nError: "); $way = 'from the fragment (title)'; } } else { // TODO: Attempt to extract a post ID from the given URL $post_ID = -1; $way = 'no match'; } logIO('O', "(PB) URI='{$pagelinkedto}' ID='{$post_ID}' Found='{$way}'"); $sql = "SELECT post_author FROM " . wp_table('posts') . " WHERE ID = {$post_ID}"; $result = $wpdb->get_results($sql); if ($wpdb->num_rows) { // Let's check that the remote site didn't already pingback this entry $sql = 'SELECT * FROM ' . wp_table('comments') . ' WHERE comment_post_ID = ' . $post_ID . ' AND comment_author_url = \'' . $pagelinkedfrom . '\' AND comment_content LIKE \'%<pingback />%\''; $result = $wpdb->get_results($sql); if ($wpdb->num_rows || 1 == 1) { // very stupid, but gives time to the 'from' server to publish ! sleep(1); // Let's check the remote site require_once XOOPS_ROOT_PATH . '/class/snoopy.php'; $snoopy = new Snoopy(); if ($snoopy->fetch($pagelinkedfrom)) { $linea = $snoopy->results; } else { $linea = ''; } logIO('O', "(PB) CHARSET='" . $GLOBALS['blog_charset']); $linea = mb_conv($linea, $GLOBALS['blog_charset'], 'auto'); // Work around bug in strip_tags(): $linea = str_replace('<!DOCTYPE', '<DOCTYPE', $linea); $linea = strip_tags($linea, '<title><a>'); $linea = strip_all_but_one_link($linea, $pagelinkedto); // I don't think we need this? -- emc3 if (empty($matchtitle)) { preg_match('|<title>([^<]*?)</title>|is', $linea, $matchtitle); } $pos2 = strpos($linea, $pagelinkedto); $pos3 = strpos($linea, str_replace('http://www.', 'http://', $pagelinkedto)); logIO('O', "(PB) POS='{$pos2}, {$pos3}'"); if (is_integer($pos2) || is_integer($pos3)) { //debug_fwrite($log, 'The page really links to us :)'."\n"); $pos4 = is_integer($pos2) ? $pos2 : $pos3; $start = $pos4 - 50; if (function_exists('mb_convert_encoding')) { $tmp1 = mb_strcut($linea, 0, $start, $GLOBALS['blog_charset']); } else { $tmp1 = substr($linea, 0, $start); } if (preg_match('/<[^>]*?$/', $tmp1, $match)) { logIO('O', "(PB) MATCH='{$match[0]}"); $offset = strlen($match[0]); } else { $offset = 0; } if (function_exists('mb_convert_encoding')) { $context = mb_strcut($linea, $start - $offset, 150 + $offset, $GLOBALS['blog_charset']); } else { $context = substr($linea, $star - $offsett, 150 + $offset); } $context = str_replace("\n", ' ', $context); $context = str_replace('&', '&', $context); logIO('O', "(PB) CONTENT='{$context}"); } else { logIO('O', "(PB) CONTEXT=The page doesn't link to us, here's an excerpt"); exit; } // fclose($fp); if (!empty($context)) { // Check if pings are on, inelegant exit $pingstatus = $wpdb->get_var("SELECT ping_status FROM " . wp_table('posts') . " WHERE ID = {$post_ID}"); if ('closed' == $pingstatus) { logIO('O', '(PB) Sorry, pings are turned off for this post.'); exit; } $pagelinkedfrom = preg_replace('#&([^amp\\;])#is', '&$1', $pagelinkedfrom); $title = !strlen($matchtitle[1]) ? $pagelinkedfrom : $matchtitle[1]; $context = strip_tags($context); $context = '<pingback />[...] ' . htmlspecialchars(trim($context)) . ' [...]'; $context = format_to_post($context); $original_pagelinkedfrom = $pagelinkedfrom; $pagelinkedfrom = addslashes($pagelinkedfrom); $original_title = $title; $title = addslashes(strip_tags(trim($title))); $now = current_time('mysql', 0); if (get_settings('comment_moderation') == 'manual') { $approved = 0; } else { if (get_settings('comment_moderation') == 'auto') { $approved = 0; } else { // none $approved = 1; } } $consulta = $wpdb->query("INSERT INTO " . wp_table('comments') . " \n\t\t\t\t\t\t(comment_post_ID, comment_author, comment_author_url, comment_date, comment_content,comment_approved, comment_type) \n\t\t\t\t\t\tVALUES \n\t\t\t\t\t\t({$post_ID}, '{$title}', '{$pagelinkedfrom}', '{$now}', '{$context}', '{$approved}', 'pingback')\n\t\t\t\t\t\t"); $comment_ID = $wpdb->get_var('SELECT last_insert_id()'); do_action('pingback_post', $comment_ID); if (get_settings('moderation_notify') && !$approved) { wp_notify_moderator($comment_ID, 'pingback'); } if (get_settings('comments_notify') && $approved) { wp_notify_postauthor($comment_ID, 'pingback'); } } else { // URL pattern not found $message = "Page linked to: {$pagelinkedto}\nPage linked from:" . " {$pagelinkedfrom}\nTitle: {$title}\nContext: {$context}\n\n" . $messages[1]; } } else { // We already have a Pingback from this URL $message = "Sorry, you already did a pingback to {$pagelinkedto} from {$pagelinkedfrom}."; } } else { // Post_ID not found $message = $messages[2]; //debug_fwrite($log, 'Post doesn\'t exist'."\n"); } } return new xmlrpcresp(new xmlrpcval($message)); }
function wp_notify_postauthor($comment_id, $comment_type = 'comment') { $commentHandler =& wp_handler('Comment'); if (!($commentObject =& $commentHandler->get($comment_id))) { return false; } $comment =& $commentObject->exportWpObject(); $postHandler =& wp_handler('Post'); if (!($postObject =& $postHandler->get($comment->comment_post_ID))) { return false; } $post =& $postObject->exportWpObject(); $userHandler =& wp_handler('User'); if (!($userObject =& $userHandler->get($post->post_author))) { return false; } $user = $userObject->exportWpObject; if ($user->user_email == '') { return false; } // If there's no email to send the comment to $comment_author_domain = gethostbyaddr($comment->comment_author_IP); $blogname = get_settings('blogname'); if ($comment_type == 'comment') { $notify_message = _LANG_F_NEW_COMMENT . " #{$comment->comment_post_ID} " . $post->post_title . "\r\n\r\n"; $notify_message .= "Author : {$comment->comment_author} (IP: {$comment->comment_author_IP} , {$comment_author_domain})\r\n"; $notify_message .= "E-mail : {$comment->comment_author_email}\r\n"; $notify_message .= "URI\t : {$comment->comment_author_url}\r\n"; $notify_message .= "Whois : http://ws.arin.net/cgi-bin/whois.pl?queryinput={$comment->comment_author_IP}\r\n"; $notify_message .= "Comment:\r\n" . mb_conv($comment->comment_content, $GLOBALS['blog_charset'], 'auto') . "\r\n\r\n"; $notify_message .= _LANG_F_ALL_COMMENTS . " \r\n"; $subject = '[' . $blogname . '] Comment: "' . $post->post_title . '"'; } elseif ($comment_type == 'trackback') { $notify_message = _LANG_F_NEW_TRACKBACK . " #{$comment->comment_post_ID} " . $post->post_title . "\r\n\r\n"; $notify_message .= "Website: " . mb_conv($comment->comment_author, $GLOBALS['blog_charset'], "auto") . " (IP: {$comment->comment_author_IP} , {$comment_author_domain})\r\n"; $notify_message .= "URI\t : {$comment->comment_author_url}\r\n"; $notify_message .= "Comment:\r\n" . mb_conv($comment->comment_content, $GLOBALS['blog_charset'], "auto") . "\r\n\r\n"; $notify_message .= _LANG_F_ALL_TRACKBACKS . " \r\n"; $subject = '[' . $blogname . '] Trackback: "' . $post->post_title . '"'; } elseif ($comment_type == 'pingback') { $notify_message = _LANG_F_NEW_PINGBACK . " #{$comment->comment_post_ID} " . $post->post_title . "\r\n\r\n"; $notify_message .= "Website: {$comment->comment_author}\r\n"; $notify_message .= "URI\t : {$comment->comment_author_url}\r\n"; $notify_message .= "Excerpt: \n[...] " . mb_conv($original_context, $GLOBALS['blog_charset'], "auto") . " [...]\r\n\r\n"; $notify_message .= _LANG_F_ALL_PINGBACKS . " \r\n"; $subject = '[' . $blogname . '] Pingback: "' . $post->post_title . '"'; } $notify_message .= get_permalink($comment->comment_post_ID, false) . '#comments'; if ('' == $comment->comment_author_email || '' == $comment->comment_author) { if (function_exists('mb_convert_encoding')) { $from = "From: \"" . mb_encode_mimeheader(mb_conv($blogname, "JIS", "auto")) . "\" <wordpress@" . $_SERVER['SERVER_NAME'] . '>'; } else { $from = "From: \"" . $blogname . "\" <wordpress@" . $_SERVER['SERVER_NAME'] . '>'; } } else { if (function_exists('mb_convert_encoding')) { $from = 'From: "' . mb_encode_mimeheader(mb_conv($comment->comment_author, "JIS", "auto")) . "\" <{$comment->comment_author_email}>"; } else { $from = 'From: "' . $comment->comment_author . "\" <{$comment->comment_author_email}>"; } } if (defined('XOOPS_URL')) { $xoopsMailer =& getMailer(); $xoopsMailer->useMail(); $xoopsMailer->setToEmails($user->user_email); $xoopsMailer->setFromEmail($comment->comment_author_email); $xoopsMailer->setFromName($comment->comment_author); $xoopsMailer->setSubject($subject); $xoopsMailer->setBody($notify_message); $xoopsMailer->send(true); } else { if (function_exists('mb_send_mail')) { mb_send_mail($user->user_email, $subject, $notify_message, $from); } else { @mail($user->user_email, $subject, $notify_message, $from); } } return true; }
function convert_content($content, $charest, $encoding) { if ($charset == "" || trim(strtoupper($charset)) == "ISO-2022-JP") { $charset = "JIS"; } if (trim(strtoupper($charset)) == "SHIFT_JIS") { $charset = "SJIS"; } if ($encoding == 'quoted-printable') { $content = preg_replace('/\\=[\\n\\r]+/', '', $content); $content = preg_replace('/\\=([0-9a-fA-F]{2,2})/e', "pack('c',base_convert('\\1',16,10))", $content); } $content = mb_conv($content, $GLOBALS['blog_charset'], $charset); return $content; }
function wp_getattach(&$content, $prefix = "", $create_thumbs = 0) { $allowedtypes = explode(' ', trim(get_settings('fileupload_allowedtypes'))); $allowedimage = array_intersect($allowedtypes, array('gig', 'jpg', 'jpeg', 'png')); $subtype = $content['subtype']; if (!empty($content['name'])) { $origname = $content['name']; if (function_exists('mb_convert_encoding')) { $origname = mb_conv(mb_decode_mimeheader($origname), $GLOBALS['blog_charset'], "auto"); } $filename_info = pathinfo($origname); $subtype = $filename_info["extension"]; // $filename_base = basename($filename, "." . $filename_info["extension"]); } $filename_base = $prefix . "_" . time(); if (in_array($subtype, $allowedtypes)) { if (!empty($content['encodings']) && $content['encodings'] == 'base64') { $tmp = base64_decode($content['body']); $i = 0; $filename = $filename_base . ".{$subtype}"; while (file_exists(get_settings('fileupload_realpath') . '/' . $filename)) { $filename = $filename_base . "-" . $i . ".{$subtype}"; $i++; } if (!($fp = fopen(get_settings('fileupload_realpath') . '/' . $filename, "wb"))) { echo "Error : Could not write attatched file.<br />\n"; return false; } fputs($fp, $tmp); fclose($fp); if (in_array($subtype, $allowedimage)) { if ($create_thumbs) { wp_create_thumbnail(get_settings('fileupload_realpath') . '/' . $filename, 180, ""); } } } echo "{$filename} <br />\n"; return array($filename, in_array($subtype, $allowedimage), $origname); } return false; }
} trackback_response(1, 'Sorry, your contents does not contain any URL of my site.'); } } if (function_exists('mb_convert_encoding')) { if ($_charset != "" && (mb_http_input("P") == "" || strtolower(ini_get("mbstring.http_input")) == "pass")) { $_charset = strtoupper(trim($_charset)); } else { $_charset = "auto"; } if ($_charset == "auto") { $_charset = mb_detect_encoding($_title . $_excerpt . $_blog_name, $_charset); } $_title = mb_conv($_title, $blog_charset, $_charset); $_excerpt = mb_conv($_excerpt, $blog_charset, $_charset); $_blog_name = mb_conv($_blog_name, $blog_charset, $_charset); if ($GLOBALS['wp_debug']) { fwrite($_fp, "Title(Conv) ={$_title}\n"); fwrite($_fp, "Excerpt(Conv) ={$_excerpt}\n"); fwrite($_fp, "BlogName(Conv) ={$_blog_name}\n"); fwrite($_fp, "CharSet(Conv) ={$_charset}\n"); fwrite($_fp, "\n\n"); fclose($_fp); } } $_title = strip_tags($_title); $_title = strlen($_title) > 255 ? substr($_title, 0, 252) . '...' : $_title; $_excerpt = strip_tags($_excerpt); $_excerpt = strlen($_excerpt) > 255 ? substr($_excerpt, 0, 252) . '...' : $_excerpt; $_blog_name = htmlspecialchars($_blog_name); $_blog_name = strlen($_blog_name) > 255 ? substr($_blog_name, 0, 252) . '...' : $_blog_name;
function &title_sort(&$posts) { $enable_kakasi = $GLOBALS['xoopsModuleConfig']['wp_use_kakasi_for_archive']; $kakasi = $GLOBALS['xoopsModuleConfig']['wp_kakasi_path']; $kakasi_encode = $GLOBALS['xoopsModuleConfig']['wp_kakasi_charset']; $blog_charset = $GLOBALS['blog_charset']; if (_LANGCODE == 'ja') { if ($enable_kakasi) { $descriptorspec = array(0 => array('pipe', 'r'), 1 => array('pipe', 'w'), 2 => array('pipe', 'w')); // Precheck for kakasi (file_exists cannot be used in safemode); $process = proc_open($kakasi . " -?", $descriptorspec, $pipes); if (is_resource($process)) { if (!preg_match('/^KAKASI /', fgets($pipes[2]))) { $enable_kakasi = false; } proc_close($process); } if ($enable_kakasi) { $process = proc_open($kakasi . ' -kH -KH -JH', $descriptorspec, $pipes); if (is_resource($process)) { for ($i = 0; $i < count($posts); $i++) { fputs($pipes[0], mb_conv($posts[$i]->post_title . "\n", $kakasi_encode, $blog_charset)); } fclose($pipes[0]); for ($i = 0; $i < count($posts); $i++) { $posts[$i]->yomi = mb_conv(fgets($pipes[1]), $blog_charset, $kakasi_encode); $posts[$i]->yomi = preg_replace('/[\\r\\n]*$/', '', $posts[$i]->yomi); } fclose($pipes[1]); $return_value = proc_close($process); } } else { if (function_exists('mb_convert_kana')) { for ($i = 0; $i < count($posts); $i++) { $posts[$i]->yomi = mb_convert_kana($posts[$i]->post_title, 'KcV', $blog_charset); } } else { for ($i = 0; $i < count($posts); $i++) { $posts[$i]->yomi = $posts[$i]->post_title; } } } } else { if (function_exists('mb_convert_kana')) { for ($i = 0; $i < count($posts); $i++) { $posts[$i]->yomi = mb_convert_kana($posts[$i]->post_title, 'KcV', $blog_charset); } } else { for ($i = 0; $i < count($posts); $i++) { $posts[$i]->yomi = $posts[$i]->post_title; } } } } else { for ($i = 0; $i < count($posts); $i++) { $posts[$i]->yomi = $posts[$i]->post_title; } } usort($posts, 'title_ja_cmp'); return $posts; }
?> </link> <description><?php bloginfo_rss('description'); ?> </description> <dc:language><?php echo get_settings('rss_language') ? get_settings('rss_language') : 'en'; ?> </dc:language> <dc:date><?php echo gmdate('Y-m-d\\TH:i:s'); ?> </dc:date> <dc:creator><?php echo antispambot(mb_conv(get_settings('admin_email'), $rss_charset, $blog_charset)); ?> </dc:creator> <admin:generatorAgent rdf:resource="http://wordpress.xwd.jp/?v=<?php echo $wp_version; ?> "/> <admin:errorReportsTo rdf:resource="mailto:<?php echo antispambot(get_settings('admin_email')); ?> "/> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase> <items> <rdf:Seq>
?> " /> </form> <?php if ($_GET["orderby"] == 'title') { if (_LANGCODE == 'ja') { if ($enable_kakasi) { $descriptorspec = array(0 => array("pipe", "r"), 1 => array("pipe", "w")); $process = proc_open($kakasi . " -kH -KH -JH", $descriptorspec, $pipes); if (is_resource($process)) { for ($i = 0; $i < count($posts); $i++) { fputs($pipes[0], mb_conv($posts[$i]->post_title . "\n", $kakasi_encode, $GLOBALS['blog_charset'])); } fclose($pipes[0]); for ($i = 0; $i < count($posts); $i++) { $posts[$i]->yomi = mb_conv(fgets($pipes[1]), $GLOBALS['blog_charset'], $kakasi_encode); } fclose($pipes[1]); $return_value = proc_close($process); } } else { for ($i = 0; $i < count($posts); $i++) { $posts[$i]->yomi = mb_convert_kana($posts[$i]->post_title, "KcV", $GLOBALS['blog_charset']); } } } else { for ($i = 0; $i < count($posts); $i++) { $posts[$i]->yomi = $posts[$i]->post_title; } } usort($posts, "cmp");
function wp_notify_postauthor($comment_id, $comment_type = 'comment') { global $blog_charset; global $wpdb; global $siteurl, $wp_id; $comment = $wpdb->get_row("SELECT * FROM {$wpdb->comments[$wp_id]} WHERE comment_ID='{$comment_id}' LIMIT 1"); $post = $wpdb->get_row("SELECT * FROM {$wpdb->posts[$wp_id]} WHERE ID='{$comment->comment_post_ID}' LIMIT 1"); $user = $wpdb->get_row("SELECT * FROM {$wpdb->users[$wp_id]} WHERE ID='{$post->post_author}' LIMIT 1"); if ('' == $user->user_email) { return false; } // If there's no email to send the comment to $comment_author_domain = gethostbyaddr($comment->comment_author_IP); $blogname = stripslashes(get_settings('blogname')); if ('comment' == $comment_type) { $notify_message = _LANG_F_NEW_COMMENT . " #{$comment->comment_post_ID} " . stripslashes($post->post_title) . "\r\n\r\n"; $notify_message .= "Author : {$comment->comment_author} (IP: {$comment->comment_author_IP} , {$comment_author_domain})\r\n"; $notify_message .= "E-mail : {$comment->comment_author_email}\r\n"; $notify_message .= "URI\t : {$comment->comment_author_url}\r\n"; $notify_message .= "Whois : http://ws.arin.net/cgi-bin/whois.pl?queryinput={$comment->comment_author_IP}\r\n"; $notify_message .= "Comment:\r\n" . stripslashes(mb_conv($comment->comment_content, $blog_charset, "auto")) . "\r\n\r\n"; $notify_message .= _LANG_F_ALL_COMMENTS . " \r\n"; $subject = '[' . $blogname . '] Comment: "' . stripslashes($post->post_title) . '"'; } elseif ('trackback' == $comment_type) { $notify_message = _LANG_F_NEW_TRACKBACK . " #{$comment->comment_post_ID} " . stripslashes($post->post_title) . "\r\n\r\n"; $notify_message .= "Website: " . mb_conv($comment->comment_author, $blog_charset, "auto") . " (IP: {$comment->comment_author_IP} , {$comment_author_domain})\r\n"; $notify_message .= "URI\t : {$comment->comment_author_url}\r\n"; $notify_message .= "Comment:\r\n" . stripslashes(mb_conv($comment->comment_content, $blog_charset, "auto")) . "\r\n\r\n"; $notify_message .= _LANG_F_ALL_TRACKBACKS . " \r\n"; $subject = '[' . $blogname . '] Trackback: "' . stripslashes($post->post_title) . '"'; } elseif ('pingback' == $comment_type) { $notify_message = _LANG_F_NEW_PINGBACK . " #{$comment->comment_post_ID} " . stripslashes($post->post_title) . "\r\n\r\n"; $notify_message .= "Website: {$comment->comment_author}\r\n"; $notify_message .= "URI\t : {$comment->comment_author_url}\r\n"; $notify_message .= "Excerpt: \n[...] " . mb_conv($original_context, $blog_charset, "auto") . " [...]\r\n\r\n"; $notify_message .= _LANG_F_ALL_PINGBACKS . " \r\n"; $subject = '[' . $blogname . '] Pingback: "' . stripslashes($post->post_title) . '"'; } $notify_message .= get_permalink($comment->comment_post_ID, false) . '#comments'; if ('' == $comment->comment_author_email || '' == $comment->comment_author) { if (function_exists('mb_convert_encoding')) { $from = "From: \"" . mb_encode_mimeheader(mb_conv($blogname, "JIS", "auto")) . "\" <wordpress@" . $_SERVER['SERVER_NAME'] . '>'; } else { $from = "From: \"" . $blogname . "\" <wordpress@" . $_SERVER['SERVER_NAME'] . '>'; } } else { if (function_exists('mb_convert_encoding')) { $from = 'From: "' . stripslashes(mb_encode_mimeheader(mb_conv($comment->comment_author, "JIS", "auto"))) . "\" <{$comment->comment_author_email}>"; } else { $from = 'From: "' . stripslashes($comment->comment_author) . "\" <{$comment->comment_author_email}>"; } } if (defined('XOOPS_URL')) { $xoopsMailer =& getMailer(); $xoopsMailer->useMail(); $xoopsMailer->setToEmails($user->user_email); $xoopsMailer->setFromEmail($comment->comment_author_email); $xoopsMailer->setFromName(stripslashes($comment->comment_author)); $xoopsMailer->setSubject($subject); $xoopsMailer->setBody($notify_message); $xoopsMailer->send(true); } else { if (function_exists('mb_send_mail')) { mb_send_mail($user->user_email, $subject, $notify_message, $from); } else { @mail($user->user_email, $subject, $notify_message, $from); } } return true; }