function se_getengine($tmpdir, $enc, $use_kakasi) { $_query = array_merge($_POST, $_GET); $_query = HypCommonFunc::stripslashes_gpc($_query); $query = isset($_query['query']) ? $_query['query'] : ''; if ($query) { $query = preg_replace('/^("|\')(.+)\\1$/', '$2', $query); } if (!$query) { $query = isset($_query['word']) ? $_query['word'] : ''; } if (!$query) { $query = isset($_query['mes']) ? $_query['mes'] : ''; } $query2 = $se_name = ''; //Default if (!$query) { $reffer = ''; if (isset($_SERVER['HTTP_REFERER'])) { $reffer = $_SERVER['HTTP_REFERER']; } if ($reffer) { $reffer = rtrim($reffer, '/'); $se = file(dirname(__FILE__) . '/dat/hyp_search_engines.dat'); $found = 0; foreach ($se as $linea) { $linea = trim($linea); if ($linea && $linea[0] !== '/') { //$reffer=strtolower($reffer); $tmp = explode('|', $linea); if (HypGetQueryWord::se_search($reffer, $tmp[1])) { if (strpos($reffer, rtrim($tmp[2])) !== false) { $se_name = $tmp[0]; $found = 1; break; } } } } if ($found == 1) { $vars = explode('?', $reffer); if (count($vars) > 1) { $query = explode(rtrim($tmp[2]), $vars[1]); if (count($query) > 1) { $query = explode('&', $query[1]); $query = $query[0]; } } } } } if ($query) { //デコード関数 by nao-pon $encfrom = isset($_GET['encode_hint']) && function_exists('mb_detect_encoding') ? mb_detect_encoding($_GET['encode_hint']) : "AUTO"; $query = HypGetQueryWord::se_urldecode_euc($query, $enc, $encfrom); //Googleのキャッシュからの場合 $query = preg_replace('/^cache\\:[^ ]+ /', '', $query); if (function_exists('mb_convert_kana')) { $query = mb_convert_kana($query, 'KVas', $enc); } //$query = preg_replace("/( |\+|,|、|・)+/"," ",$query); $query2 = $query; if ($use_kakasi && $query2) { // 分かち書き include_once dirname(__FILE__) . '/hyp_kakasi.php'; $kakasi = new Hyp_KAKASHI(); $kakasi->encoding = $enc; if ($tmpdir && is_writable($tmpdir)) { $kakasi->tmp_dir = $tmpdir; } $kakasi->get_wakatigaki($query2); } } return array($se_name, $query, $query2); }
} else { if (file_exists(XOOPS_TRUST_PATH . '/libs/' . $lib . '/index.php')) { include XOOPS_TRUST_PATH . '/libs/' . $lib . '/index.php'; } else { die('wrong request'); } } } else { $constpref = '_MI_' . strtoupper($mydirname); // load language files (main.php & admin.php) $langman->read('modinfo.php', $mydirname, $mytrustdirname); if (!empty($_POST)) { if (!$xoopsGTicket->check(true, $mydirname)) { redirect_header(XOOPS_URL . '/', 3, $xoopsGTicket->getErrors()); } HypCommonFunc::stripslashes_gpc($_POST); if (isset($_POST['page'])) { $_GET['page'] = $_POST['page']; } } // fork each pages of this module $page = preg_replace('/[^a-zA-Z0-9_-]/', '', @$_GET['page']); if (file_exists("{$mytrustdirpath}/admin/{$page}.php")) { // load $config include "{$mytrustdirpath}/admin/{$page}.php"; $op = ''; if (isset($_POST) && isset($_POST['op'])) { $op = $_POST['op']; } if ($op === 'save') { hypconfSaveConf($config);