<?php /* ***** Orca Search - Javascript Writer Extension ********* */ include "config.php"; /* ****************************************************************** ******** Javascript File Write *********************************** */ header("Orcascript: Search_JWriter"); if (!isset($_REQUEST['key']) || $_REQUEST['key'] != $GLOBALS['VDATA']['jw.key']) { $_JDATA['error'][] = $_LANG['0o2']; } else { if (!isset($_REQUEST['linkback'])) { $_JDATA['error'][] = $_LANG['0o3']; } else { @set_time_limit(0); OS_setData("jw.key", ""); $_JDATA['stripBaseURIs'] = array_filter(array_map("trim", explode("\n", $GLOBALS['VDATA']['jw.remuri']))); $_JDATA['md5'] = md5(microtime()); $_JDATA['indextable'] = mysql_fetch_assoc(mysql_query("SHOW TABLE STATUS LIKE '{$_DDATA['tablename']}';", $_DDATA['link'])); $_JDATA['isize'] = (int) ($_JDATA['indextable']['Data_length'] / 1024); $_JDATA['entities'] = array("&" => "&", ">" => ">", "<" => "<", "\"" => """); $lq = $GLOBALS['VDATA']['s.orphans'] == "show" ? " AND (`status`='OK' OR `status`='Orphan')" : " AND `status`='OK'"; $nq = ""; $sData['noSearch'] = array_filter(array_map("trim", explode("\n", $GLOBALS['VDATA']['s.ignore']))); foreach ($sData['noSearch'] as $noSearch) { $nq .= " AND `uri` NOT " . ($noSearch[0] == "*" ? "REGEXP '" . substr($noSearch, 1) . "'" : " LIKE '%{$noSearch}%'"); } $date = date("r"); $template = str_replace("\n", '\\n', addslashes($GLOBALS['VDATA']['jw.template'])); /* ***** Language Strings for HEREDOC Insertion **************** */ $_JLANG = array(); $_JLANG['000'] = sprintf(addslashes($_LANG['0o4']), '" + os_start + "', '" + os_end + "', '" + os_matches.length + "', '" + os_keyring + "', $_JDATA['md5']);
OS_clearCache(); } else { if ($GLOBALS["VDATA"]['s.cachegzip'] != "disabled" && (!$_SDATA['zlib'] || !$_SDATA['4.3.0'])) { OS_setData("s.cachegzip", "disabled"); OS_clearCache(); } } $_SDATA['sp.type.index'] = array_filter(array_unique(explode(" ", $GLOBALS["VDATA"]['sp.type.index']))); foreach ($_SDATA['sp.type.index'] as $key => $mimeindex) { if (!isset($_MIME->ctype[$mimeindex])) { unset($_SDATA['sp.type.index'][$key]); } } if (OS_setData("sp.type.index", trim(implode(" ", array_values($_SDATA['sp.type.index']))))) { $_SDATA['sp.type.index'] = array_filter(array_unique(explode(" ", $GLOBALS["VDATA"]['sp.type.index']))); OS_setData("sp.fullscan", "true"); } //$_MIME->verify(); $_MIME->verify($_SDATA['sp.type.index']); /* HVZM */ $mimeAccept = array_filter(array_map("trim", array_unique(explode("\n", $GLOBALS["VDATA"]['sp.type.accept'])))); foreach ($mimeAccept as $accepted) { $_MIME->ctype['none']->mtypes[] = $accepted; } $_MIME->ctype['none']->mtypes = array_filter(array_unique($_MIME->ctype['none']->mtypes)); } else { $GLOBALS["DDATA"]["errno"] = $_DDATA['errno'] = mysql_errno(); } /* ****************************************************************** ******** Do not cache this page ********************************** */ header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
function OS_spiderError($errno, $errstr, $errfile, $errline) { global $_LOG, $_LANG, $page, $mData, $_XDATA; // $_VDATA if ($errno < 2048 && error_reporting() != 0) { OS_setData("sp.lock", "false"); $merror = ""; if ($merror = mysql_error()) { $merror = "<br>\nMySQL error: {$merror}"; } $errtxt = <<<ERR <br> {$_LANG['0q6']} {$page->uri}<br> {$_LANG['0q7']}<br> {$_LANG['0q8']}: {$errno}<br> {$_LANG['0q9']}: {$errstr}<br> {$_LANG['0qa']}: {$errline}{$merror}<br> ERR; if ($_SERVER['REQUEST_METHOD'] != "CRON") { ?> <style type="text/css">form#canceller input { display:none; }</style><?php echo $errtxt; ?> <hr> <a href="<?php echo htmlspecialchars($_XDATA['linkback']); ?> " id="goback"><?php echo $_LANG['0q1']; ?> </a> </body></html><?php if ($GLOBALS['VDATA']['sp.email'] && !$_XDATA['reindex']) { $address = explode(" ", preg_replace("/[\"<>]/", "", trim($GLOBALS['VDATA']['sp.email']))); while (count($address) > 2) { $str = array_shift($address); $address[0] = $str + $address[0]; } if (count($address) == 1) { array_unshift($address, ""); } $mail->AddAddress($address[1], $address[0]); $mail->Subject = "{$_LANG['0q5']}: {$GLOBALS['VDATA']['sp.pathto']}"; $mail->Body = implode("\n", $_LOG) . strip_tags($errtxt); $mail->Send(); // @mail($GLOBALS['VDATA']['sp.email'], "{$_LANG['0q5']}: {$GLOBALS['VDATA']['sp.pathto']}", implode("\n", $_LOG).strip_tags($errtxt), $mData['headers']); } } else { echo strip_tags($errtxt); } if ($_XDATA['needtemp'] && !@unlink($_XDATA['tempfile'])) { die(sprintf($_LANG['03o'], $_XDATA['tempfile'])); } exit; } }
" `hits`=`hits`+1," . " `results`=".count($_RESULTS)."," . " `astyped`='".addslashes($GLOBALS["QUERY"]['original'])."'," . " `lasthit`=UNIX_TIMESTAMP()," . " `cache`='".$rStore."' " . "WHERE `query`='".$GLOBALS['QUERY']['sorted']."';"; $update = mysql_query($sql, $_DDATA['link']); } */ } else { // -------------------- // -- Return empty result if the database is locked or no seamless search allowed // -------------------- $_RESULTS = NULL; if ($GLOBALS["VDATA"]['sp.progress'] < time() - 60) { OS_setData("sp.lock", "false"); } } /* } else { // -------------------- // -- If result for this query has been cached, fetch $_RESULT[] from cache // -------------------- $_RESULTS = mysql_result($_SDATA['count'], 0, "cache"); $_RESULTS = unserialize(($GLOBALS["VDATA"]['s.cachegzip'] == "on") ? gzuncompress($_RESULTS) : stripslashes($_RESULTS)); if (!isset($_REQUEST['start'])) { $sql =
while ($row = mysql_fetch_assoc($select)) { $_CDATA['categories'][] = $row['category']; } if ($GLOBALS["VDATA"]['cf.category'] != "-" && !in_array($GLOBALS["VDATA"]['cf.category'], $_CDATA['categories'])) { $_CDATA['categories'][] = $GLOBALS["VDATA"]['cf.category']; } if ($_CDATA['command'] != "add" && $_CDATA['command'] != "edit" && ($_CDATA['command'] != "action" || $_CDATA['input'] != "category" && $_CDATA['input'] != "sm.priority")) { /* ***** Sorting ***************************************** */ if (isset($_REQUEST['column']) && in_array($_REQUEST['column'], array("title", "uri"))) { OS_setData("c.column", $_REQUEST['column']); OS_setData("c.sortby", "col1"); OS_setData("cf.textexclude", ""); OS_setData("cf.textmatch", ""); } if (isset($_REQUEST['sortby']) && in_array($_REQUEST['sortby'], array("col1", "col2"))) { OS_setData("c.sortby", $_REQUEST['sortby']); } $sqlData['orderby'] = " ORDER BY " . ($GLOBALS["VDATA"]['c.sortby'] == "col2" ? "`category`, " : "") . "`" . $GLOBALS["VDATA"]['c.column'] . "`"; $_SDATA['orderby1'] = "<em>%1\$s</em>"; $_SDATA['orderby2'] = "<a href=\"?sortby=%2\$s\">%1\$s</a>"; $_SDATA['orderby3'] = "<a href=\"?column=%2\$s\"><small>%1\$s</small></a>"; /* ***** Filters ***************************************** */ list($_CDATA['new']) = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM `{$_DDATA['tablename']}` WHERE `new`='true';", $_DDATA['link'])); $sqlData['filters'] = ""; if ($GLOBALS["VDATA"]['cf.textexclude']) { $sqlData['filters'] .= " `{$GLOBALS['VDATA']['c.column']}` NOT LIKE '%" . addslashes(stripslashes($GLOBALS['VDATA']['cf.textexclude'])) . "%' AND"; } if ($GLOBALS['VDATA']['cf.textmatch']) { $sqlData['filters'] .= " `{$GLOBALS['VDATA']['c.column']}` LIKE '%" . addslashes(stripslashes($GLOBALS['VDATA']['cf.textmatch'])) . "%' AND"; } if ($GLOBALS['VDATA']['cf.category'] != "-") {