You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(10) |
Sep
(36) |
Oct
(339) |
Nov
(103) |
Dec
(152) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(141) |
Feb
(102) |
Mar
(125) |
Apr
(203) |
May
(57) |
Jun
(30) |
Jul
(139) |
Aug
(46) |
Sep
(64) |
Oct
(105) |
Nov
(34) |
Dec
(162) |
2007 |
Jan
(81) |
Feb
(57) |
Mar
(141) |
Apr
(72) |
May
(9) |
Jun
(1) |
Jul
(144) |
Aug
(88) |
Sep
(40) |
Oct
(43) |
Nov
(34) |
Dec
(20) |
2008 |
Jan
(44) |
Feb
(45) |
Mar
(16) |
Apr
(36) |
May
(8) |
Jun
(77) |
Jul
(177) |
Aug
(66) |
Sep
(8) |
Oct
(33) |
Nov
(13) |
Dec
(37) |
2009 |
Jan
(2) |
Feb
(5) |
Mar
(8) |
Apr
|
May
(36) |
Jun
(19) |
Jul
(46) |
Aug
(8) |
Sep
(1) |
Oct
(66) |
Nov
(61) |
Dec
(10) |
2010 |
Jan
(13) |
Feb
(16) |
Mar
(38) |
Apr
(76) |
May
(47) |
Jun
(32) |
Jul
(35) |
Aug
(45) |
Sep
(20) |
Oct
(61) |
Nov
(24) |
Dec
(16) |
2011 |
Jan
(22) |
Feb
(34) |
Mar
(11) |
Apr
(8) |
May
(24) |
Jun
(23) |
Jul
(11) |
Aug
(42) |
Sep
(81) |
Oct
(48) |
Nov
(21) |
Dec
(20) |
2012 |
Jan
(30) |
Feb
(25) |
Mar
(4) |
Apr
(6) |
May
(1) |
Jun
(5) |
Jul
(5) |
Aug
(8) |
Sep
(6) |
Oct
(6) |
Nov
|
Dec
|
From: Michael S. <sta...@us...> - 2005-10-04 22:59:42
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera/src/webapps/wera/lib Added Files: asearch_collections.inc asearch_languages.inc config.inc config.inc.template documentLocator.inc httpUtils.inc init.inc nls.inc time.inc timeline.inc url.inc Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: url.inc --- <?php /* * This file is part of WERA. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * WERA is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * WERA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with WERA; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * $Id: url.inc,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ */ // Various functions for manipulating urls // string stripPort(string $url) - strips portnumber from url if it is 80 (default) // string stripProtocol(string $url) - strips protocol from url http:// only // boolean isAbsolute(string $url) - returns true if url is absolute // boolean isRelative(string $url) - returns true if relative to path, false if relative to domain // string getDocname(string $url) - gets document name from url // string getDomain(string $url) - get domain from url // string getPath(string $url) - get path from url // string combineUrl(string $orig_url, string $url) - combines an absolute url with a relative link // Strips portnumber if 80 function stripPort($url) { $url = str_replace(":80/","/",$url); return $url; } // Strips http:// function stripProtocol($url) { $url = eregi_replace ("^http://","",$url); return $url; } // Example url: http://www.domain.com/path/index.html // returns true if it is :] function isAbsolute($url) { if (eregi ("^http://", $url) ) { return true; } else { return false; } } // Returns document name: index.html function getDocname($url) { eregi ("[^/]*$", $url, $matches); if ($matches != "") { #print "Matches: " . $matches[0] . "<br>\n"; return $matches[0]; } else return false; } // Returns domain-name: www.domain.com // !! Only if the URL starts with http:// function getDomain($url) { if (isAbsolute($url)) { $url = eregi_replace ("^http://", "", $url); eregi ("^[^/]*", $url, $matches); return $matches[0]; } else { return false;} } // Returns path: /path/ usage: getDomain("someurl"[,true|false][,true|false]) // Set nostartslash to true if you don't want the start slash returned // Set noendslash to true if you don't want the end slash returned // Otherwise, don't pass the the two last parameters function getPath($url,$nostartslash=FALSE, $noendslash=FALSE) { //If url field is empty - return a null field. if ($url==""){return $url;} $domain = getDomain($url); $docname = getDocname($url); #print "Domain: $domain<br>\n"; #print "Docname: $docname<br>\n"; $url = eregi_replace ( "^http://", "", $url); $url = eregi_replace ( "$domain", "", $url); if ($docname) $url = eregi_replace ( "$docname", "", $url); if ($nostartslash) { $url = eregi_replace ( "^/*", "", $url ); } if ($noendslash) { $url = eregi_replace ( "/*$", "", $url ); } #print "Returned path: $url<br>\n"; return $url; } // Returns: // -1 If absolute // 0 If url is relative to domain (starts with /) // 1 If url is relative to domain/path (doesn't start with /) function isRelative($url) { if (isAbsolute($url)) { return -1; } elseif ( eregi ( "^/", $url)) { return false; } else { return true;} } // Takes original url and a relative url and combines them to an absolute url function combineUrl($l_url,$o_url) { $query = $l_url; if (!isAbsolute($l_url)) // If relative { // Her m� det gj�res litt av hvert for � f� rett streng til s�ket. if (isRelative($l_url)) // Relative to domain/path/ { $domain = getDomain($o_url); #print "Parameter for getPath: $o_url<br>\n"; $orig_path = getPath($o_url); #print "Orig_path: $orig_path<br>\n"; while ( eregi ("^\.\.\/", $l_url)) { #print $orig_path; $orig_path = eregi_replace ("[^/]*\/$","",$orig_path); $orig_path = $orig_path . "/"; $orig_path = eregi_replace ("\/{2}","/",$orig_path); $l_url = eregi_replace ("^\.\.\/", "", $l_url); #print " -> " . $orig_path; } $l_url = eregi_replace ("^(\.\/)(\.\/)*", "", $l_url); $query = "http://" . $domain . $orig_path . $l_url; #print $query; } else // It is relative to domain only { $domain = getDomain($o_url); $orig_path = getPath($o_url); $query = "http://" . $domain . $l_url; } } return $query; } ?> --- NEW FILE: timeline.inc --- <?php /* * This file is part of WERA. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * WERA is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * WERA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with WERA; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ include_once ($conf_includepath."/time.inc"); include_once ($conf_index_file); include_once ($conf_includepath."/documentLocator.inc"); /** * Class for generating the necessary data for displaying a timeline * with the versions (with links) marked along the line * * $Id: timeline.inc,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ */ class timeline { var $dates_to_display = array (), $chosen_date, $timeline_array = array (), $resolution, $url, $encoded_url, $conf_index_class, $previous_version, $next_version, $first_version, $last_version, $number_of_versions; /** * Constructor * * @param string Resolution. Legal values: 6 (auto), 5 (years), 4 (months), 3 (days), 2 (hours), 1 (minutes), 0 (seconds) * @param string The chosen date on the timeline. Format: 'YYYYMMDDHHMISS' * @param array Url of the document to find all versions of */ function timeline($resolution = 6, $chosen_date, $url, $index_class) { $this->conf_index_class = $index_class; $this->url = $url; $this->encoded_url = index_encode($this->url); $this->resolution = $resolution; $versions = $this->getVersions(); $this->first_version = $versions[1][archival_time]; $this->last_version = $versions[$this->number_of_versions][archival_time]; if ($chosen_date == "") { $chosen_date = $this->last_version; } if ($resolution == 6) { $this->autoresolution = 'on'; $this->resolution = 5; } do { $buildstatus = $this->buildTimeline($chosen_date, $versions); if ($buildstatus == "drilldown" and $this->autoresolution == 'on') { $this->resolution--; } } while ($buildstatus == "drilldown" and $this->autoresolution == 'on'); } /** * Get data necessary to display the timeline * * @return array Timeline data */ function getTimelineData() { return $this->timeline_array; } /** * Get current resolution * If resolution is set to auto when instanciating the timeline * the method will return the resolution that the constructor drilled * down to. * * @return integer Resolution */ function getResolution() { return $this->resolution; } /** * Get number of versions * * @return integer Number of versions */ function getNumberOfVersions() { return $this->number_of_versions; } /** * Get the timestamp of the version before the chosen timestamp * * @return string timestamp (Format: 'YYYYMMDDHHMISS') */ function getPreviousVersionTimestamp() { return $this->previous_version; } /** * Get the timestamp of the version after the chosen timestamp * * @return string timestamp (Format: 'YYYYMMDDHHMISS') */ function getNextVersionTimestamp() { return $this->next_version; } /** * Get the timestamp of the first version * * @return string timestamp (Format: 'YYYYMMDDHHMISS') */ function getFirstVersionTimestamp() { return $this->first_version; } /** * Get the timestamp of the last version * * @return string timestamp (Format: 'YYYYMMDDHHMISS') */ function getLastVersionTimestamp() { return $this->last_version; } /** * Get the key of the version nearest before or equal to the * chosen timestamp * * @return string timestamp (Format: 'YYYYMMDDHHMISS') */ function getKeyOfCurrentVersion() { return $this->key_of_version_nearest_before; } // Private methods /** * Get all veresions of a given URL * * * @return array Resultset */ function getVersions() { $search = new $this->conf_index_class(); $docloc = new documentLocator(); $docloc->initialize($search, $this->url, false, 0, 'ALL'); $this->number_of_versions = $docloc->findVersions(); return $docloc->getResultSet(); } /** * Calculates the number of units on the timeline * * @return array Units to display on the timeline (units before the chosen date, and units after the chosen date) */ function getNumberOfUnitsOnTimeline() { //adapt this one to use parameters from a config file instead of the hardcoded values(?) switch ($this->resolution) { case '4' : //months $units[before] = 30; $units[after] = 30; break; case '3' : // days $units[before] = 30; $units[after] = 30; break; case '2' : // hours $units[before] = 30; $units[after] = 30; break; case '1' : // minutes $units[before] = 30; $units[after] = 30; break; case '0' : //seconds $units[before] = 30; $units[after] = 30; break; default : // years $units[before] = 5; $units[after] = 5; } return $units; } /** * Explode human date into an array * Typical retrun value (the resolution in the example below was 3): * * [base] => 20010924131555 * [second] => 55 * [minute] => 15 * [hour] => 13 * [day] => 24 * [month] => 09 * [year] => 2001 * [resolution_dependent_format] => 2001-09-24 * * @param string Timeline resolution * @param string Date to explode (Format: 'YYYYMMDDHHMISS') * @return array Exploded date */ function dateToArray($resolution, $indate) { $return_date[base] = $indate; $return_date[second] = substr($indate, 12, 2); $return_date[minute] = substr($indate, 10, 2); $return_date[hour] = substr($indate, 8, 2); $return_date[day] = substr($indate, 6, 2); $return_date[month] = substr($indate, 4, 2); $return_date[year] = substr($indate, 0, 4); switch ($resolution) { case '4' : // months $return_date[resolution_dependent_format] = $return_date[year]."-".$return_date[month]; break; case '3' : // days $return_date[resolution_dependent_format] = $return_date[year]."-".$return_date[month]."-".$return_date[day]; break; case '2' : // hours $return_date[resolution_dependent_format] = $return_date[year]."-".$return_date[month]."-".$return_date[day]." ".$return_date[hour]; break; case '1' : // minutes $return_date[resolution_dependent_format] = $return_date[year]."-".$return_date[month]."-".$return_date[day]." ".$return_date[hour].":".$return_date[minute]; break; case '0' : // seconds $return_date[resolution_dependent_format] = $return_date[year]."-".$return_date[month]."-".$return_date[day]." ".$return_date[hour].":".$return_date[minute].":".$return_date[second]; break; default : // years $return_date[resolution_dependent_format] = $return_date[year]; } return $return_date; } /** * Build the timeline * * @param string Chosen date * @versions array All the versions for the given URL * @return array Timeline data */ function buildTimeline($chosen_date, $versions) { unset ($this->chosen_date); unset ($this->timeline_array); $this->dates_to_display = $versions; $this->chosen_date = $this->dateToArray($this->resolution, $chosen_date); if (!empty ($versions)) { foreach ($this->dates_to_display as $key => $val) { $this->dates_to_display[$key] = $this->dateToArray($this->resolution, $this->dates_to_display[$key][archival_time]); } $units = $this->getNumberOfUnitsOnTimeline(); for ($n = - $units[before]; $n <= $units[after]; $n ++) { switch ($this->resolution) { case '4' : // months $unixtime = gmmktime(0, 0, 0, $this->chosen_date[month] + $n, 01, $this->chosen_date[year]); $timeformat = 'Y-m'; break; case '3' : // days $unixtime = gmmktime(0, 0, 0, $this->chosen_date[month], $this->chosen_date[day] + $n, $this->chosen_date[year]); $timeformat = 'Y-m-d'; break; case '2' : // hours $unixtime = gmmktime($this->chosen_date[hour] + $n, 0, 0, $this->chosen_date[month], $this->chosen_date[day], $this->chosen_date[year]); $timeformat = 'Y-m-d H'; break; case '1' : // minutes $unixtime = gmmktime($this->chosen_date[hour], $this->chosen_date[minute] + $n, 0, $this->chosen_date[month], $this->chosen_date[day], $this->chosen_date[year]); $timeformat = 'Y-m-d H:i'; break; case '0' : // seconds $unixtime = gmmktime($this->chosen_date[hour], $this->chosen_date[minute], $this->chosen_date[second] + $n, $this->chosen_date[month], $this->chosen_date[day], $this->chosen_date[year]); $timeformat = 'Y-m-d H:i:s'; break; default : // years $unixtime = gmmktime(0, 0, 0, 01, 01, $this->chosen_date[year] + $n); $timeformat = 'Y'; } $this->timeline_array[$n][resolution_dependent_format] = gmdate($timeformat, $unixtime); $this->timeline_array[$n][linkvalue] = gmdate('YmdHis', $unixtime); $this->timeline_array[$n][versions] = 0; foreach ($this->dates_to_display as $key => $val) { if ($this->dates_to_display[$key][resolution_dependent_format] == $this->timeline_array[$n][resolution_dependent_format]) { // There are one or more versions in this timeframe $this->timeline_array[$n][versions] = $this->timeline_array[$n][versions] + 1; $this->timeline_array[$n][version][$key] = $this->dates_to_display[$key][base]; // svb $this->timeline_array[$n][linkvalue] = $this->dates_to_display[$key][base]; if ($this->dates_to_display[$key][resolution_dependent_format] <= $this->chosen_date[resolution_dependent_format]) { $this->previous_version = $this->dates_to_display[$key -1][base]; $this->next_version = $this->dates_to_display[$key +1][base]; $this->key_of_version_nearest_before = $key; } } if ($this->timeline_array[$n][versions] > 1 and $this->timeline_array[$n][resolution_dependent_format] == $this->chosen_date[resolution_dependent_format]) { $retval = "drilldown"; } } } if ($timeline_array[$n][versions] > 0) { $this->timeline_array[$n][linkvalue] = $this->timeline_array[$n][version][1]; //svb } } if ($chosen_date < $this->dates_to_display[1]['base']) { $this->previous_version = ""; if ($this->number_of_versions > 1) { $this->next_version = $this->dates_to_display[2][base]; } else { $this->next_version = ""; } $this->key_of_version_nearest_before = ""; } return $retval; } } ?> --- NEW FILE: httpUtils.inc --- <?php /* * This file is part of WERA. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * WERA is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * WERA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with WERA; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * * $Id: httpUtils.inc,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ */ /** * This function is meant for url fetching and display. * Ensures that the mime type is relayed properly, * which is not the case when using fopen and print. * * $Id: httpUtils.inc,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ */ function fetchAndPrintUrl( $url ) { $url_parsed = parse_url($url); $host = $url_parsed["host"]; $port = $url_parsed["port"]; if ($port==0) { $port = 80; } $path = $url_parsed["path"]; if ($url_parsed["query"] != "") { $path .= "?".$url_parsed["query"]; } $out = "GET $path HTTP/1.0\r\nHost: $host\r\n\r\n"; $fp = fsockopen($host, $port, $errno, $errstr, 30); fwrite($fp, $out); $body = false; while (!feof($fp)) { $s = fgets($fp, 1024); if ( $body ) { $in .= $s; } else { if (stristr($s, 'content-type')) { header($s); } } if ( $s == "\r\n" ) { $body = true; } } fclose($fp); print $in; } ?> --- NEW FILE: asearch_languages.inc --- <?php /* * This file is part of WERA. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * WERA is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * WERA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with WERA; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* * $Id: asearch_languages.inc,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ */ $languages = array ( "Czech" => "cs", "Danish" => "dk", "English" => "en", "Finish" => "fi", "Icelandic" => "is", "Italian" => "it", "Norwegian" => "n*", "Swedish" => "se" ); ?> --- NEW FILE: nls.inc --- <?php /* * This file is part of WERA. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * WERA is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * WERA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with WERA; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * Functions for National Language Support (NLS) * * $Id: nls.inc,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ */ if(!isset($NLS_LOCALE)) { $NLS_LOCALE = ""; } if(!isset($NLS_CONTEXT)) { $NLS_CONTEXT = ""; } if(!isset($NLS_PATH)) { $NLS_PATH = "$conf_includepath/nls"; } /** * Translates a string to the current locale. * * @param string String to translate * @param context Overrides current context. * @param locale Overrides current locale. * @returns Returns the translated string or $string if no translation was found. */ function nls ($string, $context="", $locale="") { global $NLS_LOCALE, $NLS_PATH, $NLS_LANGUAGE_ARRAY; $context = nls_getcontext($context); $localelist = nls_getlocale($locale); $localenum = count($localelist); for($i=0; $i<$localenum; $i++) { $NLS_FILES[$i] = $NLS_PATH . "/" . $localelist[$i] . "/" . $context . ".nls"; $arrayindex[$i] = $context . '�' . $localelist[$i]; } for($i=0; $i<$localenum; $i++) { if ($NLS_LANGUAGE_ARRAY[$arrayindex[$i]] == "" && file_exists($NLS_FILES[$i])) { eval("\$NLS_LANGUAGE_ARRAY['" . $arrayindex[$i] . "'] = array (" . (join(', ', array_unique(file($NLS_FILES[$i])))) . ");"); } if (isset($NLS_LANGUAGE_ARRAY[$arrayindex[$i]][$string])) { return $NLS_LANGUAGE_ARRAY[$arrayindex[$i]][$string]; } } if($i == $localenum) { return $string; } } /** * Translates a string to the current locale. * * @param string String to translate * @param varlist array of parameters to substitute for placeholders * @param context Overrides current context. * @param locale Overrides current locale. * @returns Returns the translated string or $string if no translation was found. */ function nlsf ($string, $varlist, $context="", $locale="") { $string = nls($string, $context, $locale); $pattern = '/(?<!\\\)%([^;]*);/e'; $subst = "_format_data('$1', \$varlist)"; $string = preg_replace($pattern, $subst, $string); return $string; } /** * Format = %itx; * i = index * t = type (s = string, d = date, n = number, c = currency) * x = extra data */ function _format_data($command, $varlist) { preg_match('/([0-9]*)(\w)(.*)/', $command, $parts); if($parts[1] == '' || $parts[2] == '') { return ("ERROR"); } $value = $varlist[$parts[1]-1]; switch($parts[2]) { case 's': // String $result = $value; break; case 'n': // Number $result = $value; break; default: $result = 'ERROR'; } return $result; } /** * Find current locale. * Locales are searched for in the following order: * * parameter to this function. * * parameter set with nls_setlocale(). * * locale set in browser. */ function nls_getlocale ($locale="") { global $NLS_LOCALE, $HTTP_SERVER_VARS; if ($locale != "") { $result = $locale; } elseif ($NLS_LOCALE != "") { $result = $NLS_LOCALE; } else { $result = $HTTP_SERVER_VARS["HTTP_ACCEPT_LANGUAGE"]; } $result = explode(',', $result); $locale = array(); while($element = array_shift($result)) { $element = substr($element, 0, strcspn($element, ';')); $locale[] = $element; $language = nls_getlanguage($element); if($element != $language) { $locale[] = $language; } } return $locale; } /** * Set which locale to use */ function nls_setlocale ($locale) { global $NLS_LOCALE; $NLS_LOCALE = $locale; } /** * Returns the lowercase language code (ISO 639) from a locale */ function nls_getlanguage ($locale) { return strtolower(substr($locale, 0, 2)); } /** * Returns the uppercase country code (ISO 3166) from a locale */ function nls_getcountry ($locale) { return strtolower(substr($locale, 3, 2)); } /** * */ function nls_getcontext ($context="") { global $NLS_CONTEXT; if ($context != "") { return $context; } elseif ($NLS_CONTEXT != "") { return $NLS_CONTEXT; } else { return basename($_SERVER['PHP_SELF']); } } /** * */ function nls_setcontext ($context) { global $NLS_CONTEXT; $NLS_CONTEXT = $context; } ?> --- NEW FILE: init.inc --- <?php /* * This file is part of WERA. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * WERA is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * WERA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with WERA; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* * $Id: init.inc,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ */ if(isset($conf_includepath)) { ini_set("include_path",$conf_includepath.":".$conf_index_path); } // Modules that always should be included include_once("$conf_includepath/nls.inc"); ?> --- NEW FILE: config.inc.template --- <?php /* * This file is part of WERA. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * WERA is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * WERA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with WERA; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * File: config.inc.template * * This is the template file for the config.inc file which is included first in all .php files. * Copy this file to config.inc * * $Id: config.inc.template,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ */ $conf_debug = 0; // Print out some debug info // Path to includefiles $conf_rootpath = "@guiInstallDir@"; $conf_includepath = "$conf_rootpath/lib"; $conf_searchenginepath = "$conf_includepath/seal"; // What search engine to use $conf_searchengine = "@searchEngine@"; $conf_searchengine_url = "@searchEngineUrl@"; //$conf_searchengine = "fast"; //$conf_searchengine_url = "http://utvikling1.nb.no:15100/cgi-bin/asearch"; $conf_index_file = $conf_searchenginepath . "/" . $conf_searchengine . ".inc"; $conf_index_class = $conf_searchengine . "Search"; // Static texts to prepend/append to the Archive identifier returned from the // search engine. In the case of using nutchwax and the standard ARC retriever // the prefix would be the path to where the ARC files are stored and the suffix // the files extension (e.g. .arc.gz) // // TODO : Move this into the ARC Retriever $conf_aid_prefix = "@aidPrefix@/"; $conf_aid_suffix = "@aidSuffix@"; // Prefix to document retriever $document_retriever = "@retrieverUrl@"; $conf_document_retriever = "$document_retriever?reqtype=getfile&aid="; // URL of gui installation $conf_http_host = "@guiUrl@"; // Logo $conf_logo ="$conf_http_host/images/wera.png"; // URL to resultpage $conf_result_page = "$conf_http_host/result.php"; $conf_document_dispatcher = "$conf_http_host/documentDispatcher.php"; // URL of search interfaces $conf_simple_search = "$conf_http_host/index.php"; $conf_advanced_search = "$conf_http_host/asearch.php"; // GUI stylesheet $conf_gui_style = "$conf_http_host/css/style.css"; // Dummy image to display when not archived $conf_defaultimage = "$conf_rootpath/nwa/browser/html/nwa_notavail.gif"; // Mapping of MIME-types to document handler url's. The extra parameter indicates if this document-handler rewrites links or not. $conf_document_handler = array( "text/html" => "$conf_http_host/handlers/html_javascript.php parselinks", "image" => "$conf_http_host/handlers/passthrough.php nolinks", "default" => "$conf_http_host/handlers/passthrough.php nolinks"); // Site information // Location of this site $conf_location_code = "@collection@"; // Mapping to collections reciding at other hosts // Not needed when all of the indexed material is served by this installation // $conf_locations["ext1"] = "http://somewhereelse1.com/nwatoolset/result.php"; // $conf_locations["ext2"] = "http://somewhereelse2.com/nwatoolset/result.php"; // JavaScript disable/enabled for archived pages viewed in Archive Document View // values can be "on" or "off" $conf_javascript = "off"; //Help file links $conf_helplinks['search'] = array("name" =>'Help', "file" =>'help.php'); // Initialize include_once("$conf_includepath/init.inc"); ?> --- NEW FILE: time.inc --- <?php /* * This file is part of WERA. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * WERA is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * WERA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with WERA; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * $Id: time.inc,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ * * function(s) for converting time-variables * * converts a string of format * YYYY/MM/DD/HH/MM/SS-YYYY/MM/DD/HH/SS * into an ..array containing * 2 numbers.(unix-time) */ function time2one($string) { $time_array = explode ("-",$string); return $time_array; } function time2num($string) { $time_array = explode ("/",$string); return mktime($time_array[3],$time_array[4],$time_array[5],$time_array[1],$time_array[2],$time_array[0]); } // deprecated. for historical reasons :] function time2numeric($string) { $two_dates = time2one($string); $date_one = time2num($two_dates[0]); $date_two = time2num($two_dates[1]); $return_array = array($date_one, $date_two); return $return_array; } function time2str($unixtime) { return date("D, d M Y H:i:s \C\E\T", $unixtime); } function time2str_field($unixtime) { return date("Y/m/d", $unixtime); } function unix2human($unixtime) { return date("Y/m/d H:i:s", $unixtime); } --- NEW FILE: config.inc --- <?php /* * This file is part of WERA. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * WERA is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * WERA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with WERA; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * File: config.inc.template * * This is the template file for the config.inc file which is included first in all .php files. * Copy this file to config.inc * * $Id: config.inc,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ */ $conf_debug = 0; // Print out some debug info // Path to includefiles $conf_rootpath = "/opt/lampp/htdocs/werawork"; $conf_includepath = "$conf_rootpath/lib"; $conf_searchenginepath = "$conf_includepath/seal"; // What search engine to use $conf_searchengine = "nutch"; $conf_searchengine_url = "http://fast3.nb.no:8080/nutchwax/opensearch"; //$conf_searchengine = "fast"; //$conf_searchengine_url = "http://utvikling1.nb.no:15100/cgi-bin/asearch"; $conf_index_file = $conf_searchenginepath . "/" . $conf_searchengine . ".inc"; $conf_index_class = $conf_searchengine . "Search"; // Static texts to prepend/append to the Archive identifier returned from the // search engine. In the case of using nutchwax and the standard ARC retriever // the prefix would be the path to where the ARC files are stored and the suffix // the files extension (e.g. .arc.gz) // // TODO : Move this into the ARC Retriever $conf_aid_prefix = "/home/wera/arcs/"; $conf_aid_suffix = ".arc.gz"; // Prefix to document retriever $document_retriever = "http://fast3.nb.no:8080/ArcRetriever/ArcRetriever"; $conf_document_retriever = "$document_retriever?reqtype=getfile&aid="; // URL of gui installation $conf_http_host = "http://localhost/WERA/gui"; // Logo $conf_logo ="$conf_http_host/images/wera.png"; // URL to resultpage $conf_result_page = "$conf_http_host/result.php"; $conf_document_dispatcher = "$conf_http_host/documentDispatcher.php"; // URL of search interfaces $conf_simple_search = "$conf_http_host/index.php"; $conf_advanced_search = "$conf_http_host/asearch.php"; // GUI stylesheet $conf_gui_style = "$conf_http_host/css/style.css"; // Dummy image to display when not archived $conf_defaultimage = "$conf_rootpath/nwa/browser/html/nwa_notavail.gif"; // Mapping of MIME-types to document handler url's. The extra parameter indicates if this document-handler rewrites links or not. $conf_document_handler = array( "text/html" => "$conf_http_host/handlers/html_javascript.php parselinks", "image" => "$conf_http_host/handlers/passthrough.php nolinks", "default" => "$conf_http_host/handlers/passthrough.php nolinks"); // Site information // Location of this site $conf_location_code = "test"; // Mapping to collections reciding at other hosts // Not needed when all of the indexed material is served by this installation // $conf_locations["ext1"] = "http://somewhereelse1.com/nwatoolset/result.php"; // $conf_locations["ext2"] = "http://somewhereelse2.com/nwatoolset/result.php"; // JavaScript disable/enabled for archived pages viewed in Archive Document View // values can be "on" or "off" $conf_javascript = "off"; //Help file links $conf_helplinks['search'] = array("name" =>'Help', "file" =>'help.php'); // Initialize include_once("$conf_includepath/init.inc"); ?> --- NEW FILE: asearch_collections.inc --- <?php /* * This file is part of WERA. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * WERA is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * WERA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with WERA; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* * $Id: asearch_collections.inc,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ */ $collections = array ( "Norway" => "no", "Norway - Election 2001" => "no paradigma", "Norway - nb.no 2002" => "no nbvev2002", "Denmark" => "dk", "Finland" => "fi", "Iceland" => "is", "Sweden" => "se" ); ?> --- NEW FILE: documentLocator.inc --- <?php /* * This file is part of WERA. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * WERA is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * WERA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with WERA; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * Class for finding version(s) of a * document in the index. * * $Id: documentLocator.inc,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ */ class documentLocator { var $indexDriver; var $url; var $urlextend; var $time; var $querymode; var $resultset = array(); var $errormessage; var $query; /** * Initialize * * The following query modes are valid: * * EXACT - Will produce a result if, and only if exact match on time input * NEAR - Returns the match nearest to the time input * BEFORE - Returns the match nearest before or equal to the time input * AFTER - Returns the match nearest after or equal to the time input * FIRST - Returns the first match in time regardless of time input * LAST - Returns the latest match in time regardless of time input * ALL - Returns all matches regardless of time input (default) * * * @param object subclass of indexSearch * @param string url of document to find * @param boolean urlextend i.e. if true also query for url."/" (if "/" not already present at end of url) * @param string timestamp in number of seconds since the Unix Epoch * @param string query mode i.e. what the document locator should return */ function initialize($indexDriver, $url, $urlextend, $time, $querymode) { $this->indexDriver = $indexDriver; $this->url = $url; $this->urlextend = $urlextend; $this->time = $time; $this->querymode = $querymode; } /** * Execute the query * * This method builds the query string, executes * the query and populates the resultset array * (resultset[1][archiveurl], resultset[1][dcdate], resultset[1][encoding], resultset[2][archiveurl], ... * If the method returns -1 use getErrorMessage to determine why * * @return integer Number of hits, -1 if something wrong */ function findVersions() { $query_start = "nwa.url:" . $this->url; if ($this->urlextend) { if (substr($this->url,-1)!="/") { $query_start = $query_start . " ". $query_start . "/"; } } $sizeofresultset = 1; if ($this->querymode != 'NEAR') { switch ($this->querymode) { case 'EXACT': $query_end = "nwa.archival_time:" . $this->time; $sortorder = 'ascending'; break; case 'BEFORE': $query_end = sprintf("nwa.archival_time:[;%s]", $this->time); $sortorder = 'descending'; break; case 'AFTER': $query_end = sprintf("nwa.archival_time:[%s;]", $this->time); $sortorder = 'ascending'; break; case 'FIRST': $query_end = ""; $sortorder = 'ascending'; break; case 'LAST': $query_end = ""; $sortorder = 'descending'; break; default: // 'ALL' or anything else than the above $query_end = ""; $sortorder = 'ascending'; $sizeofresultset = 1000; } $this->query = $query_end . " +(" . $query_start . ")"; #print "\nQuery : " . $this->query; $this->indexDriver->setQuery($this->query); $this->indexDriver->setSortorder($sortorder); $this->indexDriver->setSizeOfResultSet($sizeofresultset); $this->indexDriver->setFieldsInResult("archival_time dcformat url encoding archiveidentifier collection"); if ($this->indexDriver->doQuery()) { $numhits = $this->indexDriver->getnumhits(); $this->resultset = $this->indexDriver->getResultSet(); } else { $numhits = -1; } #print "Queryurl: " . $this->indexDriver->queryurl; } else { // querymode = 'NEAR' $tmpdoc = new documentLocator(); $tmpdoc->initialize($this->indexDriver, $this->url, $this->urlextend, $this->time, 'BEFORE'); $numhits_before = $tmpdoc->findVersions(); if ( $numhits_before > 0) { $resultset_before = $tmpdoc->getResultSet(); } $tmpdoc->initialize($this->indexDriver, $this->url, $this->urlextend, $this->time, 'AFTER'); $numhits_after = $tmpdoc->findVersions(); if ( $numhits_after > 0) { $resultset_after = $tmpdoc->getResultSet(); } $numhits = 1; if (($numhits_before == 0) and ($numhits_after == 0)) { $numhits = 0; } elseif (($numhits_before > 0) and ($numhits_after > 0)) { if (($resultset_after[1][archival_time] - $this->time) < ($this->time - $resultset_before[1][archival_time])) { $this->resultset = $resultset_after; } else { $this->resultset = $resultset_before; } } elseif ( $numhits_before > 0 ) { $this->resultset = $resultset_before; } elseif ( $numhits_after > 0 ) { $this->resultset = $resultset_after; } else { $numhits = -1; } } return $numhits; } /** * Get the archive URI and mime class * * @return array resultset containing archiveurl, dcdate and encoding */ function getResultSet() { return $this->resultset; } /** * Get error message * * @return string error message */ function getErrorMessage() { return $this->indexDriver->getErrorMessage(); } } ?> |
From: Michael S. <sta...@us...> - 2005-10-04 22:59:42
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/lib/seal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera/src/webapps/wera/lib/seal Added Files: fast.inc indexSearch.inc indexUtils.inc nutch.inc Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: indexSearch.inc --- <?php /* * This file is part of WERA. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * WERA is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * WERA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with WERA; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * The IndexSearch class defines methods * for interfacing "any" search engine * * To interface your own search engine * use this class as the superclass. * * $Id: indexSearch.inc,v 1.1 2005/10/04 22:59:28 stack-sf Exp $ */ class indexSearch { var $query; var $numhits; var $numhitstotal; var $hitsperset; var $offset; var $timespent; var $resultfields = array(); var $resultset = array(); var $sortorder; var $errormsg; /** * Set the result set size * * Sets the number of hits returned by the * getResultSet and getXmlResultSet methods * * @param integer Number of hits to return */ function setSizeOfResultSet($hits) { $this->hitsperset = $hits; } /** * Set the offset * * Sets the offset for the result set. An offset of 10 * and a result set size of 10 will give a result * set with hits 11-20 (assuming the hitnumbers * start with 1) * * @param integer Offset */ function setOffset($offset) { $this->offset=$offset; } /** * Set the sort order * * @param string Sort order */ function setSortOrder($sortorder) { $this->sortorder=$sortorder; } /** * Get the query response time * * @return float Time spent on query */ function getTimeSpent() { return $this->timespent; } /** * Get number of hits in resultset * * @return number of hits */ function getNumHits() { return $this->numhits; } /** * Get the total number of hits * * @return number of hits */ function getNumHitsTotal() { return $this->numhitstotal; } /** * Set query string for search * * The query string must conform to the syntax * outlined below. The query string may be in * upper, lower or mixed case. * * Searching text indices: * schema.index:"word" - Word match * schema.index:"word*" - Right hand truncation, match for part of word * schema.index:"phrase" - Phrase match * * Searching integer indices: * schema.index:i - Exact match * schema.index:[i;j] - Range(including boundaries) * schema.index:[i;] - Larger than or equal to * schema.index:[;i] - Smaller than or equal to * schema.index:>i - Larger than * schema.index:<i - Smaller than * * In the context of the NWA Access Module schema will be NWA. * The index names will be defined by the NWA document format * (http://nwa.nb.no/nwa/export/1.0/). * * Boolean operators: * The NWA query language supports the boolean operators: AND, OR, ANDNOT * * Parenthesis: * The left parenthesis "(" and right parenthesis ")" are used * to dilineate one expression from another. For example, in the query * * nwa.dcdate:998690406 AND (nwa.title:"ouagadougou" * OR nwa.title:"capitol of burkina fazo"), * * parentheses group the ORs together so they are as a distinct * entity from the AND. * * @param string Query string */ function setQuery($querystring) { $this->query = $querystring; } /** * Sets which fields to include in the result * set returned by the getResultSet and * getXmlResultSet methods. * * $fields : a comma, or whitespace limited * list of result fields. * */ function setFieldsInResult($fields) { } /** * Executes the query. * * This method will populate the result set array * Returns an array of the following form: * Array([0]=>Array([dcdate]=>"2001-10-14"[dctitle]=>"Some title") * [1]=>Array([dcdate]=>"2001-10-15"[dctitle]=>"Another title")) * the fields returned in the array is determined by the * setResultFields method (e.g. setResultFields("dcdate, dctitle") * * @return boolean False if error */ function doQuery() { return true; } /** * Get the result set * * @return array Result set */ function getResultSet() { return $this->resultset; } /** * If the doQuery method returned false * use this to fetch the error message string * * @return string Error message */ function getErrorMessage() { return $this->errormsg; } /** * Get the result set * * The method will return an xml formatted result of the following form: * * <?xml version="1.0" encoding="utf-8"?> * <resultset query="query" sortorder="descending" fields="dcdate, dctitle" hits=10 totalhits="112" spanstart="1" spanend="10" timespent="0.0017489194869995"> * <doc id="1"> * <dcdate></dcdate> * <dctitle></dctitle> * </doc> * <doc id="2"> * <dcdate></dcdate> * <dctitle></dctitle> * </doc> * .. * . * </resultset> * * @return string Result set */ function getXmlResultSet() { global $HTTP_SERVER_VARS; $address = "http://" . $HTTP_SERVER_VARS["HTTP_HOST"] . $HTTP_SERVER_VARS["SCRIPT_NAME"]; $resultsetarray=$this->getResultSet(); $spanstart=$this->offset+1; if ($this->numhitstotal==0) { $spanend=""; $spanstart=""; } elseif ($this->numhits < $this->hitsperset) { $spanend=$this->offset+$this->numhits; } else { $spanend=$this->offset+$this->hitsperset; } $retval='<?xml version="1.0" encoding="utf-8"?>'."\n"; $retval.=sprintf('<resultset address="%s" query="%s" sortorder="%s" fields="%s" hits="%d" totalhits="%d" hitsperset="%d" offset="%d" spanstart="%d" spanend="%d" timespent="%s">', $address, $this->query, $this->sortorder, implode(" ", $this->resultfields), $this->numhits, $this->numhitstotal, $this->hitsperset, $this->offset, $spanstart, $spanend, $this->timespent) . "\n"; $i=$this->offset; while (list($setkey,$result)=each($this->resultset)) { $retval.=' <doc id="'.++$i.'">'."\n"; while (list($key,$val)=each($result)) { $retval.=" <".$key.">".$val."</".$key.">\n"; } $retval.=" </doc>\n"; } $retval.="</resultset>\n"; return $retval; } } ?> --- NEW FILE: indexUtils.inc --- <?php /* * This file is part of WERA. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * WERA is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * WERA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with WERA; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * Some indexers ignore non-letter characters like : / + etc. * In order to enable query for words including such * characters some parts of the documents has * to be encoded before indexing is done. * Encoding then also has to be done to the parts of the * query string that queries the encoded indexes. * * $Id: indexUtils.inc,v 1.1 2005/10/04 22:59:28 stack-sf Exp $ * */ /** * Index encoding * * URL-encode according to RFC1738 and encode also "-", "_" and "." * Replaces '%' with 'INDX' * * Make sure that your input is not already urlencoded before using this. * * @param string string to be encoded * @return string encoded string */ function index_encode($input) { $output = rawurlencode($input); $output = preg_replace(array ("/%/", "/\./", "/-/", "/_/"), array ("INDX", "INDXDOT", "INDXDASH", "INDXUNDERLINE"), $output); return $output; } /** * Index decoding * * Decode Index encoded strings * * @param string string to be decoded * @return string decoded string */ function index_decode($input) { $output = preg_replace( array("/INDXDOT/", "/INDXDASH/", "/INDXUNDERLINE/"), array(".", "-", "_"), $input); $output = rawurldecode( str_replace("INDX", "%", $output) ); return $output; } /** * Time conversion * * Converts UTC time of format YYYYMMDDHH24MISS (e.g. 20020101120000) * to integer i.e. number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT). * Use this function if your search engine supports only 32-bit unsigned integers. * * If the length of the time input string is not exactly 14 input is returned unaltered. * * @param time Time to be converted * @return string Time in seconds since unix epoch */ function convert_time_to_int($time) { if (strlen($time) == 14) { $retval= gmmktime ( substr($time, 8, 2), substr($time, 10, 2), substr($time, 12, 2), substr($time, 4, 2), substr($time, 6, 2), substr($time, 0, 4)); } else { $retval = $time; } return $retval; } ?> --- NEW FILE: fast.inc --- <?php /* * This file is part of WERA. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * WERA is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * WERA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with WERA; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * File: fast.inc * * This file is used by the fastSearch() class. * It has to reside in the $conf_index_path given in config.inc * * * $Id: fast.inc,v 1.1 2005/10/04 22:59:28 stack-sf Exp $ */ include("$conf_searchenginepath/indexSearch.inc"); include("$conf_searchenginepath/indexUtils.inc"); function HumanTimeToISOTime($time){ // Convert time string to ISO8601 // In YYYYMMDDhhmmss // Out YYYY-MM-DDThh:mm:ss $isotime = ''; if (strlen($time) == 14) { $isotime = substr($time, 0, 4) . '-' . substr($time, 4, 2) . '-' . substr($time, 6, 2) . 'T' . substr($time, 8, 2) . ':' . substr($time, 10, 2) . ':' . substr($time, 12, 2) . "Z"; } return $isotime; } /** * Class for querying FAST Data Search * * For further information about constructing * queries and setting parameters for the fastSearch * class see Fast Data Search Documentation * */ class fastSearch extends indexSearch { // Fast specific variables var $host; var $port; var $uri; var $querytype; var $hosturl; var $fastadaptedquery; var $offset; var $hitsperset; var $sort = array("byfield" => "", "sortdirection" => ""); var $resultfieldstring; /** * Constructor. * Set some initial values */ function fastSearch() { include ("fastconfig.inc"); $this->host = $fds_conf_host; $this->port = $fds_conf_port; $this->filter_query = $fds_conf_filter_query; $this->query = ""; $this->numhits = 0; $this->hitsperset = 10; $this->offset = 0; $this->timespent = 0; $this->setQueryType('adv'); } // FAST SPECIFIC FUNCTIONS /** * Set query type for search * * Set the query type to one of the following * all : all terms must be found * any : any of the query terms may give a hit * phrase : the exact phrase must be found * adv : the query is an expression in the Fast advanced query language * * @param integer Query type */ function setQueryType($querytype) { $this->querytype = $querytype; } /** * Check if ready to execute query (query string non-empty) * * @return boolean true if query string non-empty, false otherwise */ function isReady() { if ($this->query != "") { return true; } else { return false; } } function adaptQueryToFastIndex($querystring) { /* || FAST specific || ------------ || Used for adapting NWA Search Engine Abstraction Layer queries to FAST Data Search || index structure. || */ #2004-11-22T11:19:18Z; #2004-11-22-11-19-18 //print "<!-- QUERY : $querystring -->"; $querystring = preg_replace("/nwa./", "", $querystring); $querystring = preg_replace("/archival_time:/", "archivaltime:", $querystring); $querypattern1 = "/(url:|dcformat:|framelinks:|multimedialinks:|links:|archiveidentifier:)([^\ )]*)/e"; $queryreplacement1 = "'\\1'.index_encode('\\2')"; $querypattern2 = "/(archivaltime:(\[){0,1})([0-9]*)((;){0,1})([0-9]*)((\]){0,1})/e"; $queryreplacement2 = "'\\1'.HumanTimeToISOTime('\\3').'\\4'.HumanTimeToISOTime('\\6').'\\7'"; $querypattern3 = array ("/archiveidentifier:/", "/collection:/", "/INDX2A/"); $queryreplacement3 = array ("aid:","collectionname:", "*"); $querystring = preg_replace("/%20/", "INDX20", $querystring); $querystring = preg_replace("/&/", "&", $querystring); $querystring = preg_replace($querypattern1, $queryreplacement1, $querystring); $querystring = preg_replace($querypattern2, $queryreplacement2, $querystring); $querystring = preg_replace ($querypattern3, $queryreplacement3, $querystring); if ($this->filter_query != "") { $querystring = $this->filter_query . " and (" . $querystring . ")"; } return urlencode($querystring); } // FUNCTIONS OVERRIDING PARENT CLASS FUNCTIONS /** * Sets the sortorder * legal values for sortorder is: * "ascending" and "descending" * any other value will be treated as relevance ranking */ function setSortOrder($sortorder) { if ($sortorder == "ascending" or $sortorder == "descending") { $this->sort["sortdirection"] = $sortorder; $this->sort["byfield"] = "archivaltime"; } } /** * Set result set fields * * Use this to set which fields to include * in the result set returned by the getResultSet * and getXmlResultSet methods. * * @param string Fields in result set * @return boolean False if fields not defined as legal result fields . */ function setFieldsInResult($fields) { $this->resultfieldstring = " " . str_replace( ",", " ", $fields) . " "; } /** * Set query string for search * * @param string Query string */ function setQuery($querystring) { $this->query = $querystring; $this->fastadaptedquery = $this->adaptQueryToFastIndex($this->query); } function doQuery() { $retval = true; $this->uri = "http://" . $this->host . ":" . $this->port . "/cgi-bin/asearch?type=" . $this->querytype . "&query=" . $this->fastadaptedquery . "&offset=" . $this->offset . "&hits=" . $this->hitsperset; if ($this->sort["byfield"] != "") { $this->uri .= "&sortby=" . $this->sort["byfield"] . "&sortdirection=" . $this->sort["sortdirection"]; } //print "<br>uri-en : $this->uri <br>"; $lines = @file ($this->uri); if ($lines) { //print "<pre>"; //print_r($lines); //print "</pre>"; $linestartstring = substr($lines[0], 0, 4); $linenumber = 0; if ($linestartstring == "#ERC") { $errcode = substr($lines[0], 5); $errtext = substr($lines[1], 5); $this->errormsg = $errcode . " : " . $errtext; $retval = false; } else { do { $linestartstring = substr($lines[$linenumber], 0, 4); $restofline = trim(substr($lines[$linenumber], 5)); switch ($linestartstring) { case "#HTS": $this->numhits = (int)$restofline; break; case "#CNT": $this->numhitstotal = (int)$restofline; break; case "#TIM": $this->timespent = $restofline; break; case "#FIR": $firsthit = (int)$restofline; break; case "#LAS": $lasthit = (int)$restofline; break; } $linenumber++; if ($linestartstring == "###/") { break; } } while(1); if ($this->numhits > 0) { for ($i = $firsthit; $i <= $lasthit; $i++) { do { $first4chars = substr($lines[$linenumber], 0, 4); $firstspacepos = strpos($lines[$linenumber], " "); $fieldname = substr($lines[$linenumber], 1, $firstspacepos-1); $restofline = trim(substr($lines[$linenumber], $firstspacepos)); switch ($fieldname) { case "###": break; case "##/": break; case "docvector": break; case "docid": break; case "collection": break; case "aid": break; case "framelinks": break; case "multimedialinks": break; case "links": break; case "dcidentifier": break; case "dcformat"; break; case "url"; break; case "aidview": if (stristr($this->resultfieldstring, 'archiveidentifier')) { $this->resultset[$i]['archiveidentifier'] = $restofline; } break; case "urlview": if (stristr($this->resultfieldstring, 'url')) { $this->resultset[$i]['url'] = $restofline; } break; case "collectionname": if (stristr($this->resultfieldstring, 'collection')) { $this->resultset[$i]['collection'] = $restofline; } break; case "dcdate": if (stristr($this->resultfieldstring, 'dcdate')) { $tmp = str_replace('-', '', $restofline); $tmp = str_replace(':', '', $tmp); $tmp = str_replace('Z', '', $tmp); $this->resultset[$i]['dcdate'] = str_replace('T', '', $tmp); } break; case "archivaltime": if (stristr($this->resultfieldstring, 'archival_time')) { $tmp = str_replace('-', '', $restofline); $tmp = str_replace(':', '', $tmp); $tmp = str_replace('Z', '', $tmp); $this->resultset[$i]['archival_time'] = str_replace('T', '', $tmp); } break; case "dcidentifierview": if (stristr($this->resultfieldstring, 'dcidentifier')) { $this->resultset[$i]['dcidentifier'] = $restofline; } break; case "dcformatview": if (stristr($this->resultfieldstring, 'dcformat')) { $this->resultset[$i]['dcformat'] = str_replace(' ', '', $restofline); } break; case "linksview": if (stristr($this->resultfieldstring, ' links ')) { $this->resultset[$i]['links'] = $restofline; } break; case "framelinksview": if (stristr($this->resultfieldstring, 'framelinks')) { $this->resultset[$i]['framelinks'] = $restofline; } break; case "multimedialinksview": if (stristr($this->resultfieldstring, 'multimedialinks')) { $this->resultset[$i]['multimedialinks'] = $restofline; } break; case "encodingview": if (stristr($this->resultfieldstring, 'encoding')) { $this->resultset[$i]['encoding'] = $restofline; } break; default: if (stristr($this->resultfieldstring, $fieldname)) { $this->resultset[$i][$fieldname] = $restofline; } } $linenumber++; if ($first4chars == "###/") { break; } } while(1); } } } } else { $this->errormsg = "Could not connect to server: " . $this->host . ":" . $this->port; $retval = false; } //print "<!--"; //print_r($this->resultset); //print "-->"; return $retval; } } ?> --- NEW FILE: nutch.inc --- <?php /* * This file is part of WERA. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * WERA is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * WERA is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with WERA; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * Class for querying the Nutch Search Engine * implementation of http://archive-access.sourceforge.net * * $Id: nutch.inc,v 1.1 2005/10/04 22:59:28 stack-sf Exp $ */ include("$conf_searchenginepath/indexSearch.inc"); include("$conf_searchenginepath/indexUtils.inc"); /** * Simple function to replicate PHP 5 behaviour */ function microtime_float() { return array_sum(explode(" ",microtime())); } /** * Class for querying Nutch * * For further information about constructing * queries and setting parameters for the nucthSearch * class see Nutch Documentation * */ class nutchSearch extends indexSearch { // Nutch specific variables var $searchengineurl; var $ranking; var $xml_parser; // Object Reference to xml parser var $xml_elementname; var $xml_depth; var $hitno; var $queryurl; var $mime = array(); var $arc = array(); var $querytype; var $fastadaptedquery; var $sort; var $debug; var $supressduplicates; /** * Constructor. * Set some initial values */ function nutchSearch() { include ("config.inc"); $this->searchengineurl = $conf_searchengine_url; $this->aid_prefix = $conf_aid_prefix; $this->aid_suffix = $conf_aid_suffix; $this->debug = $conf_debug; $this->query = ""; $this->numhits = 0; $this->hitsperset = 10; $this->offset = 0; $this->timespent = 0; $this->ranking = 0; $this->setQueryType('adv'); $this->unsetSupressDuplicates(); } // NUTCH SPECIFIC FUNCTIONS /** * Set query type for search * * Set the query type to one of the following * all : all terms must be found * any : any of the query terms may give a hit * phrase : the exact phrase must be found * adv : the query is an expression in the Fast advanced query language * * @param integer Query type */ function setQueryType($querytype) { // Currently not in use by this class !S $this->querytype = $querytype; } /** * Check if ready to execute query (query string non-empty) * * @return boolean true if query string non-empty, false otherwise */ function isReady() { if ($this->query != "") { return true; } else { return false; } } function adaptQuery($querystring) { $querystring = str_replace("nwa.", "", $querystring); $querystring = str_replace("url:", "exacturl:", $querystring); $querystring = str_replace("archival_time:", "date:", $querystring); # date:[;20041217001244] -> date:20010909014640-20041217001244 # Strange, seems that nutch cant handle dates before 20010909014640 # date:[20041217001244;] -> date:20041217001244-[now] # date:[20041217001244;20050413121109] -> 20041217001244-20050413121109 $querystring = str_replace("[;", "20010909014640-", $querystring); $querystring = str_replace(";]", "-20100101000000", $querystring); $querystring = str_replace(";", "-", $querystring); $querystring = str_replace("[", "", $querystring); $querystring = str_replace("]", "", $querystring); $querystring = str_replace(" ", "%20", $querystring); $querystring = str_replace("?", "0x3f", $querystring); $querystring = str_replace("=", "0x3d", $querystring); $querystring = str_replace("&", "0x26", $querystring); return $querystring; } // FUNCTIONS OVERRIDING PARENT CLASS FUNCTIONS /** * Sets the sortorder * legal values for sortorder is: * "ascending" and "descending" * any other value will be treated as relevance ranking */ function setSortOrder($sortorder) { # e.g &dedupField=date&hitsPerDup=100&sort=date if ($sortorder == "ascending" or $sortorder == "descending") { $this->sort = "&dedupField=date&sort=date"; if ($sortorder == "descending") { $this->sort .= "&reverse=true"; } } } /** * Set suppress duplicate urls */ function setSupressDuplicates() { $this->supressduplicates = "&hitsPerDup=1&dedupField=exacturl"; } /** * Unset suppress duplicate urls */ function unsetSupressDuplicates() { $this->supressduplicates = "&hitsPerDup=0"; } /** * Set result set fields * * Use this to set which summary fields to include * in the result set returned by the getResultSet * and getXmlResultSet methods. * * @param string Fields in result set */ function setFieldsInResult($fields) { #print "<!-- Resultsetfields : $fields -->"; $this->resultfields = preg_split ("/[\s,]+/", trim($fields)); } /** * Set query string for search * * @param string Query string */ function setQuery($querystring) { $this->query = $querystring; //$this->fastadaptedquery = $this->adaptQueryToFastIndex($this->query); } /** * Execute the query * * @return boolean False if empty query */ function doQuery() { unset($this->resultset); $time_start = microtime_float(); $this->queryurl = $this->searchengineurl . "?query=" . $this->adaptQuery($this->query) . "&start=" . $this->offset . "&hitsPerPage=" . $this->hitsperset . $this->supressduplicates; if ($this->sort != "") { $this->queryurl .= $this->sort; } if ($this->debug == 1) { print $this->queryurl; } if ($this->isReady()) { //$this->hitno = 0; $this->hitno = $this->offset; $this->xml_parser = xml_parser_create(); xml_set_object($this->xml_parser, $this); xml_set_element_handler($this->xml_parser, "startElement", "endElement"); xml_set_character_data_handler($this->xml_parser, "characterData"); // sverreb //print "\n<!--QUERY " . $this->queryurl . "-->\n"; $data = file_get_contents($this->queryurl); if (!xml_parse($this->xml_parser, $data)) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($this->xml_parser)), xml_get_current_line_number($this->xml_parser))); } xml_parser_free($this->xml_parser); if ($this->numhitstotal > 0) { foreach ($this->resultset as $key => $val) { if (in_array("dcformat", $this->resultfields)) { $this->resultset[$key]['dcformat'] = $this->mime[$key]['primary'] . "/" . $this->mime[$key]['sub']; } if (in_array("archiveidentifier", $this->resultfields)) { $this->resultset[$key]['archiveidentifier'] = $this->arc[$key]['offset'] . "/" . $this->aid_prefix . $this->arc[$key]['name'] . $this->aid_suffix; } } } $this->timespent = (microtime_float() - $time_start); if ($this->debug == 1) { print "\n<!--"; print $this->queryurl; print_r($this->resultset); print "-->\n"; } return true; } } function startElement($parser, $name, $attrs) { $this->xml_depth[$parser]++; $this->xml_elementname = $name; if ($this->xml_elementname =="ITEM") { $this->hitno++; $this->numhits = $this->hitno; } } function endElement($parser, $name) { /* if ($this->xml_depth[$parser] == 4) { $stripout = array("-", ":", "T", "Z"); $this->resultset[$this->hitno]['archival_time'] = str_replace($stripout, "", $this->resultset[$this->hitno]['archival_time']); }*/ $this->xml_depth[$parser]--; } function characterData($parser, $data) { if (trim($data) != "") { switch ($this->xml_elementname) { case "OPENSEARCH:TOTALRESULTS": $this->numhitstotal = trim($data); break; case "OPENSEARCH:STARTINDEX": $this->offset = trim($data); break; } } if ($this->xml_depth[$parser] == 4) { switch ($this->xml_elementname) { case "TITLE": if (in_array("title", $this->resultfields)) { $this->resultset[$this->hitno]['dctitle'] .= $data; } if (in_array("teaser", $this->resultfields)) { $this->resultset[$this->hitno]['teaser'] .= $data; } break; case "NUTCH:ARCDATE": if (in_array("archival_time", $this->resultfields)) { $this->resultset[$this->hitno]['archival_time'] .= $data; } break; case "DESCRIPTION": if (in_array("description", $this->resultfields)) { $this->resultset[$this->hitno]['description'] .= $data; } break; case "LINK": if (in_array("url", $this->resultfields)) { $this->resultset[$this->hitno]['url'] .= $data; } break; case "NUTCH:ARCNAME": if (in_array("archiveidentifier", $this->resultfields)) { $this->arc[$this->hitno]['name'] .= $data; #$this->resultset[$this->hitno]['archiveidentifier'] .= $data; } break; case "NUTCH:ARCOFFSET": if (in_array("archiveidentifier", $this->resultfields)) { $this->arc[$this->hitno]['offset'] .= $data; } break; case "NUTCH:PRIMARYTYPE": if (in_array("dcformat", $this->resultfields)) { $this->mime[$this->hitno]['primary'] .= $data; } break; case "NUTCH:SUBTYPE": if (in_array("dcformat", $this->resultfields)) { $this->mime[$this->hitno]['sub'] .= $data; } break; } } } } ?> |
From: Michael S. <sta...@us...> - 2005-10-04 22:59:41
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/lib/nls/no In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera/src/webapps/wera/lib/nls/no Added Files: asearch.php.nls documentDispatcher.php.nls overview.php.nls search.php.nls top.php.nls Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: search.php.nls --- "NWA search" => "NWA Søk" "Query:" => "Spørring: " "Search" => "Søk" "Query type:" => "Type spørring:" "All words" => "Alle ordene" "Any word" => "Et av ordene" "Exact phrase" => "Eksakt frase" "Hits per page:" => "Treff per side:" "Content-type:" => "Innholdstype:" "HTML" => "HTML" "Images" => "Bilder" "Time(yyyy/mm/dd):" => "Tidspunkt(åååå/mm/dd):" "Use time:" => "Bruk tidspunkt" "No date range selected" => "Det er ikke valgt noe tidsintervall" "Showing <b>%1n;</b> of <b>%2n;</b> hits." => "Viser <b>%1n;</b> av <b>%2n;</b> treff." "Search took " => "Søket tok " " seconds" => " sekunder" "Sorry, found no documents matching" => "Fant ingen dokumenter som inneholdt" "PDF" => "PDF" "Empty query" => "Spørringen er blank" "Year" => "År" "(from - to)" => "(fra - til)" "Help" => "Hjelp" "Advanced search" => "Avansert søk" "Total number of versions found" => "Totalt antall versjoner" "Displaying web pages" => "Viser treffene" "Timeline" => "Tidsakse" "Overview" => "Oversikt" "Next" => "Neste" "Prev" => "Forrige" "Match" => "Søk etter" "Number of versions satisfying query" => "Antall versjoner som ga treff" "total number of versions" => "Antall versjoner totalt" --- NEW FILE: overview.php.nls --- "New search" => "Nytt Søk" --- NEW FILE: top.php.nls --- "Go" => "Utfør" "Search" => "Søk" "Viewing" => "Viser" "version" => "versjon" "of" => "av" "Resolution" => "Oppløsning" "Years" => "År" "Months" => "Måneder" "Days" => "Dager" "Hours" => "Timer" "Minutes" => "Minutter" "Help" => "Hjelp" --- NEW FILE: asearch.php.nls --- "NWA search" => "NWA Søk" "Query:" => "Spørring: " "Search" => "Søk" "Query type:" => "Type spørring:" "All words" => "Alle ordene" "Any word" => "Et av ordene" "Exact phrase" => "Eksakt frase" "Hits per page:" => "Treff per side:" "Sorry, found no documents matching" => "Fant ingen dokumenter som inneholdt" "Empty query" => "Spørringen er blank" "Year" => "År" "Help" => "Hjelp" "Simple search" => "Enkelt søk" "Total number of versions found" => "Totalt antall versjoner" "Displaying web pages" => "Viser treffene" "Timeline" => "Tidsakse" "Overview" => "Oversikt" "Next" => "Neste" "Prev" => "Forrige" "Match" => "Søk etter" "YYYY MM DD" => "ÅÅÅÅ MM DD" "Field" => "Felt" "Collection" => "Samling" "Language" => "Språk" "File format" => "Filformat" "Search for a document with this URL" => "Søk etter et dokument med denne URL-en" "Go" => "Utf&oring;r" "All" => "Alle" "Title" => "Tittel" "Subject" => "Emne" "Description" => "Beskrivelse" "Body" => "Body" "Danish" => "Dansk" "Finish" => "Finsk" "Icelandic" => "Islandsk" "Norwegian" => "Norsk" "Swedish" => "Svensk" "English" => "Engelsk" "All languages" => "Alle språk" "From - To" => "Fra - Til" "All collections" => "Alle samlinger" "Text files" => "Tekstfiler" "Images" => "Bilder" "Sound and music files" => "Lyd- og musikkfiler" "Number of versions satisfying query" => "Antall versjoner som ga treff" "total number of versions" => "Antall versjoner totalt" --- NEW FILE: documentDispatcher.php.nls --- "Sorry, no documents with the given uri were found" => "Beklager, fant ingen dokumenter med den gitte URI-en" |
From: Michael S. <sta...@us...> - 2005-10-04 22:59:41
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/installer In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera/src/installer Added Files: README.txt antinstall-config.xml build-wera.xml build.xml install_info.txt Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: build-wera.xml --- <?xml version="1.0"?> <!-- $Id: build-wera.xml,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ --> <project name="Create WERA Installer Zip Build" default="selfextract" basedir="."> <taskdef resource="net/sf/antcontrib/antcontrib.properties"/> <target name="selfextract" depends=""> <echo message="Starting the Wera installer build ... "/> <input message="Please enter sourceforge-username, hit enter for default [sverreb]:" addproperty="nwa.sfuser" defaultvalue="sverreb"/> <input message="Please enter CVS-TAG to build from. Note! The tag has to exist. Hit enter for default [head]:" addproperty="wera.cvstag" defaultvalue="head"/> <echo message="CVS-user: ${nwa.sfuser}"/> <!-- Properties for CVS --> <property name="cvsexport" location="${basedir}/cvsexport"/> <delete dir="${cvsexport}"/> <mkdir dir="${cvsexport}"/> <!-- Properties for generating documentation --> <property name="input.file" value="${cvsexport}/wera/doc/manual.xml"/> <property name="output.html" value="${cvsexport}/manual/manual.html"/> <property name="output.pdf" value="${cvsexport}/manual/manual.pdf"/> <property name="docbook.dir" value="/usr/share/xml/docbook" /> <property name="saxon.dir" value="/usr/share/saxon" /> <property name="fop.dir" value="/usr/share/fop/build" /> <property name="jimi.dir" value="/usr/share/fop/lib" /> <echo message="Fetching source code ... "/> <tstamp> <format property="werabuildtime" pattern="yyyyMMddHHmm"/> </tstamp> <if> <equals arg1="${wera.cvstag}" arg2="head" /> <then> <property name="werapack" value="wera-${werabuildtime}"/> <echo message="Package name: ${werapack}"/> <echo message="Retrieving most recent files from cvs"/> <cvs command="export" cvsRoot=":ext:${nwa.sfuser}@cvs.sf.net:/cvsroot/nwatoolset" package="retriever wera" date="tomorrow" dest="${cvsexport}" failonerror="true"/> </then> <elseif> <equals arg1="${wera.cvstag}" arg2="test" /> <then> <echo message="Using local files to build (TEST!)"/> <copy todir="${cvsexport}"> <fileset dir="cvslocal"/> </copy> <property name="werapack" value="wera-test-${werabuildtime}"/> </then> </elseif> <else> <echo message="Retrieving files with tag ${wera.cvstag} from cvs"/> <cvs command="export" cvsRoot=":ext:${nwa.sfuser}@cvs.sf.net:/cvsroot/nwatoolset" package="retriever wera" tag="${wera.cvstag}" dest="${cvsexport}" failonerror="true"/> <property name="werapack" value="${wera.cvstag}"/> <echo message="Package name: ${werapack}"/> </else> </if> <delete file="${cvsexport}/wera/gui/lib/config.inc"/> <echo message="Generating documentation"/> <mkdir dir="${cvsexport}/manual"/> <copy todir="${cvsexport}/manual"> <fileset dir="${cvsexport}/wera/doc"> <include name="images/*"/> <include name="RELEASE-NOTES"/> </fileset> </copy> <path id="fop.classpath"> <fileset dir="${fop.dir}"> <include name="**/*.jar"/> </fileset> <fileset dir="${jimi.dir}"> <include name="**/*.jar"/> </fileset> </path> <echo message="Creating manual.html"/> <java jar="${saxon.dir}/saxon.jar" fork="true" output="${output.html}"> <arg value="${input.file}"/> <arg value="${docbook.dir}/stylesheet/nwalsh/current/html/docbook.xsl"/> </java> <echo message="Creating manual.pdf"/> <java classname="org.apache.fop.apps.Fop" fork="true"> <classpath refid="fop.classpath"/> <arg line="-xml ${input.file}"/> <arg line="-xsl ${docbook.dir}/stylesheet/nwalsh/current/fo/docbook.xsl"/> <arg value="${output.pdf}"/> </java> <echo message="Building ARC Retriever"/> <ant dir="${cvsexport}/retriever/arcretriever"/> <zip file="./wera.zip"> <zipfileset dir="${cvsexport}"> <include name="manual/**/*"/> <include name="wera/gui/**/*"/> </zipfileset> <zipfileset dir="${cvsexport}/retriever/arcretriever"> <include name="ArcRetriever.war"/> </zipfileset> <!--<zipfileset dir="${cvsexport}/nutchwax"> <include name="archive-access-nutch.war"/> </zipfileset>--> </zip> <echo message="Building manual install package"/> <property name="manualinstalldir" location="${basedir}/manual-install"/> <delete dir="${manualinstalldir}"/> <mkdir dir="${manualinstalldir}"/> <mkdir dir="${manualinstalldir}"/> <copy todir="${manualinstalldir}/wera"> <fileset dir="${cvsexport}/wera/gui"/> </copy> <mkdir dir="${manualinstalldir}/wera/manual"/> <mkdir dir="${manualinstalldir}/wera/manual/images"/> <copy file="${cvsexport}/manual/manual.html" tofile="${manualinstalldir}/wera/manual/manual.html"/> <copy file="${cvsexport}/manual/manual.pdf" tofile="${manualinstalldir}/wera/manual/manual.pdf"/> <copy file="${cvsexport}/manual/RELEASE-NOTES" tofile="${manualinstalldir}/wera/RELEASE-NOTES"/> <copy todir="${manualinstalldir}/wera/manual/images"> <fileset dir="${cvsexport}/manual/images"/> </copy> <copy file="${cvsexport}/wera/gui/lib/config.inc.template" tofile="${manualinstalldir}/wera/lib/config.inc"/> <replace file="${manualinstalldir}/wera/lib/config.inc"> <replacefilter token="@aidPrefix@" value="/var/arcs"/> <replacefilter token="@aidSuffix@" value=".arc.gz"/> <replacefilter token="@guiInstallDir@" value="/opt/lampp/htdocs/wera"/> <replacefilter token="@hostName@" value="localhost"/> <replacefilter token="@retrieverUrl@" value="http://localhost:8080/ArcRetriever/ArcRetriever"/> <replacefilter token="@guiUrl@" value="http://localhost/wera"/> <!--<replacefilter token="@guiCollection@" value="${guiCollection}"/>--> <replacefilter token="@collection@" value="test"/> <replacefilter token="@searchEngine@" value="nutch"/> <replacefilter token="@searchEngineUrl@" value="http://localhost:8080/nutchwax/opensearch"/> </replace> <copy file="${cvsexport}/retriever/arcretriever/ArcRetriever.war" tofile="${manualinstalldir}/wera/ArcRetriever.war"/> <tar tarfile="${werapack}-manual-install.tar" basedir="${manualinstalldir}"/> <gzip zipfile="${werapack}-manual-install.tar.gz" src="${werapack}-manual-install.tar"/> <delete file="${werapack}-manual-install.tar"/> <echo message="Building Installer package"/> <mkdir dir="./selfextract"/> <unjar dest="./selfextract"> <fileset dir="installlib"> <include name="*.jar"></include> </fileset> </unjar> <copy todir="./selfextract"> <fileset dir="installclasspath"> <include name="resources/*"/> </fileset> </copy> <copy todir="./selfextract"> <fileset dir="."> <include name="build.xml"/> <include name="antinstall-config.xml"/> <include name="wera.zip"/> </fileset> </copy> <delete file="wera.zip"/> <copy todir="./selfextract"> <fileset dir="${cvsexport}/wera/installer"> <include name="install_info.txt"/> </fileset> </copy> <copy todir="./selfextract"> <fileset dir="${cvsexport}/wera/doc/images"> <include name="iipc.png"/> </fileset> </copy> <jar file="./${werapack}-installer.jar" compress="false"> <manifest> <attribute name="Manifest-Version" value="1.0"/> <attribute name="Main-Class" value="org.tp23.antinstaller.selfextract.SelfExtractor"/> <attribute name="Look-And-Feel" value="org.tp23.jgoodies.plaf.plastic.PlasticXPLookAndFeel"/> </manifest> <fileset dir="selfextract"> <include name="**/*"/> </fileset> </jar> </target> </project> --- NEW FILE: install_info.txt --- REQUIREMENTS ------------ * A JVM. * Apache http server w. PHP 4.3 or 4.4. (make sure that XML support is enabled, see end for details). WERA will NOT work properly with PHP 5, because of the new Object Model. If PHP not installed, the quickest solution may be to install XAMPP, http://www.apachefriends.org/en/xampp.html * Tomcat servlet container (http://jakarta.apache.org/tomcat/index.html). The ArcRetriever web app has been tested on v.5.0.27 and 5.0.28 * NutchWAX. A bundling of Nutch and extensions for searching Web Archive Collections (WACs) http://archive-access.sourceforge.net/projects/nutch/ THE NEXT STEPS -------------- This installer will install the following: * WERA (PHP) * The ARC Retriever (Java webapp) You will be asked to enter the directories in which to install the different components. For the installtion of the ARC retriever you need to enter the webapp directory of your Tomcat installation. You will also be asked where yuor ARC files recide. For the installation of WERA you need to enter the DocumentRoot directory of your Apache installation (e.g. /usr/local/apache/htdocs or /opt/lampp/htdocs). The installer will create the directory wera if you haven't created one on beforehand. The installer assumes that the wera directory is created in the web root and updates configuration files accordingly. If you decide to install the gui further down in the directory structure you will need to manually edit the parameter $conf_http_host in the file lib/config.inc in order to get wera to work. ADDITIONAL INFO --------------- * PHP XML support: XML support is needed by WERA to handle the search results returned from the nutchwax search engine. To verify that XML support is enabled in php simply store the following text in a php-file (e.g. info.php) and save it in the apache DocumentRoot directory <?php phpinfo(); ?> Open up http://<yourhost>/info.php in a browser and check that PHP has NOT been compiled with --disable-xml --- NEW FILE: build.xml --- <?xml version="1.0"?> <project name="Installation Build" default="" basedir="${basedir}"> <!-- $Id: build.xml,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ --> <taskdef resource="net/sf/antcontrib/antcontrib.properties"/> <!-- Required to pick up the properties generated during the install pages: --> <property file="${basedir}/ant.install.properties"/> <target name="default" depends=""> <echo message="Basedir [${basedir}]"/> <mkdir dir="${basedir}/temp"/> <unzip src="wera.zip" dest="${basedir}/temp"/> </target> <target name="tginstall" depends=""> <if> <equals arg1="${apachePort}" arg2="80" /> <then> <property name="apacheHostPort" value="${hostName}"/> </then> <elseif> <equals arg1="${apachePort}" arg2="" /> <then> <property name="apacheHostPort" value="${hostName}"/> </then> </elseif> <else> <property name="apacheHostPort" value="${hostName}:${apachePort}"/> </else> </if> <echo message="Installing GUI"/> <mkdir dir="${apacheWebRootDir}/wera"/> <copy todir="${apacheWebRootDir}/wera"> <fileset dir="${basedir}/temp/wera/gui"/> </copy> <mkdir dir="${apacheWebRootDir}/wera/manual"/> <mkdir dir="${apacheWebRootDir}/wera/manual/images"/> <copy file="${basedir}/temp/manual/manual.html" tofile="${apacheWebRootDir}/wera/manual/manual.html"/> <copy file="${basedir}/temp/manual/manual.pdf" tofile="${apacheWebRootDir}/wera/manual/manual.pdf"/> <copy file="${basedir}/temp/manual/RELEASE-NOTES" tofile="${apacheWebRootDir}/wera/RELEASE-NOTES"/> <copy todir="${apacheWebRootDir}/wera/manual/images"> <fileset dir="${basedir}/temp/manual/images"/> </copy> <copy file="${basedir}/temp/wera/gui/lib/config.inc.template" tofile="${apacheWebRootDir}/wera/lib/config.inc"/> <replace file="${apacheWebRootDir}/wera/lib/config.inc"> <replacefilter token="@aidPrefix@" value="${arcDirectory}"/> <replacefilter token="@aidSuffix@" value=".arc.gz"/> <replacefilter token="@guiInstallDir@" value="${apacheWebRootDir}/wera"/> <replacefilter token="@hostName@" value="${hostName}"/> <replacefilter token="@retrieverUrl@" value="http://${hostName}:${tomcatPort}/ArcRetriever/ArcRetriever"/> <replacefilter token="@guiUrl@" value="http://${apacheHostPort}/wera"/> <!--<replacefilter token="@guiCollection@" value="${guiCollection}"/>--> <replacefilter token="@collection@" value="test"/> <replacefilter token="@searchEngine@" value="nutch"/> <replacefilter token="@searchEngineUrl@" value="http://${hostName}:${tomcatPort}/nutchwax/opensearch"/> </replace> <echo message="Installing wera ARC Retriever"/> <copy file="${basedir}/temp/ArcRetriever.war" tofile="${tomcatWebAppDir}/ArcRetriever.war"/> <!--<echo message="Installing Nutch ARC-indexer"/> <echo message="Installing Nutch Search Web Application"/> <copy file="${basedir}/temp/archive-access-nutch.war" tofile="${tomcatWebAppDir}/archive-access-nutch.war"/>--> </target> <target name="cleanuptarget" depends=""> <delete dir="${basedir}/temp"></delete> </target> </project> --- NEW FILE: README.txt --- NwaToolset installer building In order to generate WERA packages you need to have AntInstaller, a front-end for Ant installed on the machine where you are building the installer package. Pre-requisites: Install Ant, Ant-contrib and AntInstaller http://ant.apache.org/, http://ant-contrib.sourceforge.net/, http://antinstaller.sourceforge.net/, 1. Copy (or rename) the $ANTINSTALLERHOME/wera directory to $ANTINSTALLERHOME/wera. 2. Copy ant-contrib.jar into $ANTINSTALLERHOME/wera/installlib 3. Download build-nwatoolset.xml, antinstall-config.xml and build.xml from the installer directory at sourceforge and place them in $ANTINSTALLERHOME/wera 4. cd to $ANTINSTALLERHOME/wera and execute ant -buildfile build-wera.xml 5. The installer package, wera-<tag or date>-installer.jar and wera-<tag or date>-manual-install.tar.gz is created in $ANTINSTALLERHOME/wera 6. Installation testing: java -jar wera-<tag or date>-installer.jar --- NEW FILE: antinstall-config.xml --- <?xml version="1.0"?> <!DOCTYPE installer PUBLIC "-//tp23 //DTD Ant Installer Config//EN" "http://antinstaller.sf.net/dtd/antinstall-config-0.7.dtd"><!-- $Id: antinstall-config.xml,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ --> <installer ui="swing,text" verbose="true" lookAndFeel="org.tp23.jgoodies.plaf.plastic.PlasticXPLookAndFeel" name="Wera Installer" windowIcon="/resources/gkmain_inv.png" defaultImageResource="/iipc.png" minJavaVersion="1.4"> <page type="input" name="intro" displayText="Welcome to the WERA installer program" imageResource="/iipc.png"> <comment displayText="" explanatoryText="Copyright (C) 2001-2005 Royal Library in Stockholm, Royal Library in Copenhagen, Helsinki University Library of Finland, National Library of Norway, National and University Library of Iceland."/> <comment displayText="http://nwatoolset.sourceforge.net/"/> <comment displayText="http://netpreserve.org/"/> </page> <page type="license" name="license" displayText="WERA license conditions" resource="/resources/GPL.txt"/> <page type="license" name="info" displayText="Install info" resource="/install_info.txt" target="default"/> <page type="input" name="directories" displayText="Install directories"> <directory property="apacheWebRootDir" defaultValue="/opt/lampp/htdocs" displayText="Apache Document Root dir" create="true"/> <directory property="tomcatWebAppDir" defaultValue="/usr/local/jakarta-tomcat/webapps" displayText="Tomcat web app dir" create="true"/> <comment displayText=""/> <directory property="arcDirectory" defaultValue="/var/arcs" displayText="ARC file directory:" explanatoryText="Please enter the directory where the ARC files you have indexed /plan to index with nutchwax. The ARC retriever in this release has no knowledge of where ARC files recide. When WERA retrieves a specific archived document from the retriever the request has to include the full path to the ARC file in question. This will change in later releases."/> <!--<directory property="nutchwaxDir" defaultValue="/usr/local/nutchwax" displayText="NutchWax install dir" create="true"/>--> <!--<text property="guiCollection" defaultValue="test" displayText="Collection name:"/>--> </page> <page type="input" name="settings" displayText="Verify settings" target="tginstall"> <text property="hostName" defaultValue="${env.HOSTNAME}" displayText="Host name:"/> <text property="tomcatPort" defaultValue="8080" displayText="Tomcat port number:"/> <text property="apachePort" defaultValue="80" displayText="Apache port number:"/> </page> <!-- <page type="input" name="searchengine" displayText="Nutch Search Engine" target="tginstall"> <text property="searchEngineUrl" defaultValue="http://${hostName}:${tomcatPort}/nutchwax/opensearch" displayText="Nutch A9 opensearch url:"/> </page> --> <page type="progress" name="progress" displayText="Installation progress" target="cleanuptarget"></page> </installer> |
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera/src/webapps/wera/images Added Files: 1px.gif A_L_1.gif A_L_2.gif A_L_3.gif A_R_1.gif A_R_2.gif A_R_3.gif Big_line.gif Big_line_sel.gif Line.gif Line_many.gif Line_many_sel.gif Line_sel.gif M_Line.gif Mi_Line.gif Sorry.gif TimeLine.gif TimeLine_1.gif VBig_line.gif VBig_line_sel.gif arrow_left.gif arrow_right.gif auto.gif auto_selected.gif autoon.gif autoon_selected.gif btn_location.jpg btn_nwavbrowser.gif btn_search.gif btn_update.gif fast.gif first.jpg go.gif go2.gif go2_selected.gif go_selected.gif iipc.gif iipc.png js_disabled.gif js_disabled_new.gif js_off.gif js_on.gif js_selected.gif js_selected_new.gif last.jpg line.jpg linemark.jpg mark.jpg mark_one.jpg mark_several.jpg middle_marker.gif minus.gif minus_selected.gif next.jpg nwalogo.jpg plus.gif plus_mousedownr.gif plus_selected.gif prev.jpg search.gif search2.gif search_selected.gif separator.gif top_background.gif topbar_nwalogo.gif unit_empty.gif unit_empty_first.gif unit_many.gif unit_mark.gif unit_mark_1.gif unit_mark_2.gif unit_marked.gif unit_mixed.gif unit_separator.gif varrow_first.gif varrow_last.gif varrow_next.gif varrow_prev.gif wera.png Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: arrow_right.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Line_many_sel.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: middle_marker.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: VBig_line.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: plus_selected.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: 1px.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: go2.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: js_selected.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: js_on.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Big_line_sel.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: A_L_3.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: btn_nwavbrowser.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: js_selected_new.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: plus.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: A_L_1.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: autoon_selected.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: auto_selected.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: unit_marked.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: unit_empty_first.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: varrow_prev.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: A_R_3.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: search2.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: TimeLine_1.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: go_selected.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: fast.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: arrow_left.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: separator.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: TimeLine.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: plus_mousedownr.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: js_disabled.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: topbar_nwalogo.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: btn_update.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: top_background.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: VBig_line_sel.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: auto.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: nwalogo.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: varrow_next.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: js_off.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: next.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: minus_selected.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: mark.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: first.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: btn_search.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Line.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: unit_mixed.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: autoon.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Big_line.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: go2_selected.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: minus.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: unit_separator.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: unit_empty.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: varrow_last.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Sorry.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: unit_mark.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: js_disabled_new.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: line.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: M_Line.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: unit_mark_1.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: iipc.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: mark_one.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: A_R_2.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Mi_Line.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: iipc.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: search_selected.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: varrow_first.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: A_R_1.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: btn_location.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: search.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Line_sel.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: prev.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: unit_many.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Line_many.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: wera.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: go.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: unit_mark_2.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: A_L_2.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: mark_several.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: linemark.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: last.jpg --- (This appears to be a binary file; contents omitted.) |
From: Michael S. <sta...@us...> - 2005-10-04 22:59:40
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera/src/webapps/wera Added Files: asearch.php asearch_help.html documentDispatcher.php help.php index.php info.php meta.php overview.php result.php top.php Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: help.php --- <?php /* * This file is part of The NWA Toolset. * * Copyright (C) 2001-2004 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * The NWA Toolset is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * The NWA Toolset is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with The NWA Toolset; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* * File: help.php * * $Id: help.php,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ */ include_once("lib/config.inc"); $locale_array = nls_getlocale(); $language = nls_getlanguage($locale_array[0]); $helpfile = "$conf_rootpath/help/" . $language . "_help.php"; if (!file_exists($helpfile)) { $language = "en"; $helpfile = "$conf_rootpath/help/" . $language . "_help.php"; } ?> <HTML> <HEAD> <link rel="stylesheet" href="<?php print $conf_gui_style;?>" type="text/css"> <TITLE>NwaToolset help</TITLE> </HEAD> <body><center> <?php include ($helpfile); ?> </center></body> </html> --- NEW FILE: asearch.php --- <?php /* * This file is part of The NWA Toolset. * * Copyright (C) 2001-2004 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * The NWA Toolset is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * The NWA Toolset is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with The NWA Toolset; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* * File: asearch.php * * $Id: asearch.php,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ */ header("Content-Type: text/html; charset=UTF-8"); //if register_globals is off $query = $_REQUEST['query']; $querytype = $_REQUEST['querytype']; $year_from = $_REQUEST['year_from']; $month_from = $_REQUEST['month_from']; $day_from = $_REQUEST['day_from']; $year_to = $_REQUEST['year_to']; $month_to = $_REQUEST['month_to']; $day_to = $_REQUEST['day_to']; $field = $_REQUEST['field']; $collection = $_REQUEST['collection']; $language = $_REQUEST['language']; $format = $_REQUEST['format']; $start = $_REQUEST['start']; include_once("lib/config.inc"); include($conf_index_file); include($conf_includepath . "/time.inc"); include($conf_includepath . "/url.inc"); //include($conf_includepath . "/asearch_collections.inc"); //include($conf_includepath . "/asearch_sites.inc"); include($conf_includepath . "/asearch_languages.inc"); include_once($conf_result_list); $myself = $_SERVER['PHP_SELF']; /* ------------------------------------------------------------------------------------- */ if ($year_from == "" and $year_to == "") { $query_time = ""; $month_from = ""; $day_from = ""; $month_to = ""; $day_to = ""; } else { $firstyear = "2002"; if ($year_from == "") { $from = ""; $month_from = ""; $day_from = ""; } else { //Has to be exact four digits $from = "000" . $year_from; $from = substr($from, -4); if ($from < $firstyear) { $from = $firstyear; $year_from = $firstyear; } if ($month_from != "") { $month_from = "0" . $month_from; $month_from = substr($month_from, -2); if ($month_from > 12) { $month_from = "12"; } } else { $month_from = "01"; } if ($day_from != "") { $day_from = "0" . $day_from; $day_from = substr($day_from, -2); if ($day_from > 31) { $day_from = "31"; } } else { $day_from = "01"; } $from = $from . $month_from . $day_from . "000000"; } if ($year_to == "") { $to = ""; $month_to = ""; $day_to = ""; } else { //Has to be exact four digits $to = "000" . $year_to; $to = substr($to, -4); $today = getdate(); if ($to < $firstyear) { $to = $firstyear + 1; } elseif ($to > $today['year']) { $to = $today['year'] + 1; $year_to = $to; } if ($month_to != "") { $month_to = "0" . $month_to; $month_to = substr($month_to, -2); if ($month_to > 12) { $month_to = "12"; } } else { $month_to = "01"; } if ($day_to != "") { if ($day_to > 31) { $day_to = "31"; } $day_to = "0" . $day_to; $day_to = substr($day_to, -2); } else { $day_to = "01"; } $to = date("Ymd", mktime(0, 0, 0, $month_to , $day_to, $to)) . "000000"; } if ($year_to != "" and $year_from > $year_to) { $from = ""; $year_from = ""; } $time_search = $from . ";" . $to; $query_time = "archival_time:[$time_search] "; } /* ------------------------------------------------------------------------------------- */ ?> <HTML> <HEAD> <link rel="stylesheet" href="<?php print $conf_gui_style;?>" type="text/css"> <META HTTP-EQUIV="Cache-Control" Content="must-revalidate"> <META Http-Equiv="Pragma" Content="no-cache"> <META Http-Equiv="Expires" Content="0"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> <TITLE><?php print(nls("NWA search"));?></TITLE> <script language="javascript"> </script> </HEAD> <body> <center> <table border='0' cellpadding='0' cellspacing='0' width=90%> <tr> <td class="norm" width="1" colspan="5"><img alt='' height='10' src='images/1px.gif' width="1"></td> </tr> <tr> <td class="norm" width="10"><img alt='' height='1' src='images/1px.gif' width="1"></td> <td class="norm" align="left"><img alt="" src="<?php print $conf_logo;?>"></td> <td class="norm" align="right"> <?php print "<a href=\"$conf_simple_search?query=$query&querytype=$querytype&year_from=$year_from&year_to=$year_to\">"; print nls("Simple search") . "</a>"; ?> </td> <td class="norm" width="10"><img alt='' height='1' src='images/1px.gif' width="1"></td> </tr> </table> <table border='0' cellpadding='0' cellspacing='0' width=90%> <tr> <td class="norm" colspan="5" align="left"><img alt='' height='8' src='images/1px.gif' width='1'></td> </tr> <tr> <td colspan='5' class='border'><img alt='' height='2' src='images/1px.gif' width='1'></td> </tr> <tr> <td colspan='5'><img src='images/1px.gif' width='1' height='5' alt=''></td> </tr> <tr valign="bottom"> <td class="shade" width="10"><img alt='' height='1' src='images/1px.gif' width="1"></td> <td class="shade" width="5%"><?php print(nls("Match"));?>:</td> <td class="shade"><?php print(nls("Query:"));?></td> <td class="shade" align="right"><a href="<?php print($conf_helplinks['search']['file']);?>"> <?php print(nls($conf_helplinks['search']['name']));?></a></td> <td class="shade" width="10"><img alt='' height='1' src='images/1px.gif' width="1"></td> </tr> <tr> <td class="shade" width="10"><img alt='' height='1' src='images/1px.gif' width="1"></td> <td class="shade"><form name='search' action=<? echo $_SERVER['PHP_SELF']; ?> method='get'> <?php $query=trim(stripslashes($query)); if ($querytype=="phrase") { $query = str_replace('"', '', $query); } ?> <select name='querytype'> <option value=all <?php if ($querytype=="all") print "selected"?>><?php print(nls("All words"));?> <option value=any <?php if ($querytype=="any") print "selected"?>><?php print(nls("Any word"));?> <option value=phrase <?php if ($querytype=="phrase") print "selected"?>><?php print(nls("Exact phrase"));?> </select> </td> <td class="shade" colspan="3"> <input type='text' name='query' value='<?php print $query; ?>' size="50"/> <input type='submit' value='<?php print(nls("Search"));?>' onClick="submitForm(0);"/> </td> </tr> <tr valign="bottom"> <td class="shade" width="10" height="20"><img alt='' height='1' src='images/1px.gif' width="1"></td> <td class="shade" colspan="1"> </td> <td class="shade" colspan="3"><?php print(nls("From - To"))?> (<?php print(nls("YYYY MM DD"))?>):</td> </tr> <tr> <td class="shade" width="10"><img alt='' height='1' src='images/1px.gif' width="1"></td> <td class="shade" colspan="1"> </td> <td class="shade" colspan="3"> <input name='year_from' size="4" maxlength="4" type='text' value='<?php print $year_from; ?>'> <input name='month_from' maxlength="2" value='<?php print $month_from; ?>' size=2 type="text"> <input name='day_from' maxlength="2" value='<?php print $day_from; ?>' size=2 type="text"> - <input name='year_to' maxlength="4" size=4 type="text" value='<?php print $year_to; ?>'> <input name='month_to' maxlength="2" value='<?php print $month_to; ?>' size=2 type="text"> <input name='day_to' maxlength="2" value='<?php print $day_to; ?>' size=2 type="text"> </td> </tr> <!--- Start adding selections in order to narrow the search ------> <!-- <tr valign="bottom"> <td class="shade" width="10" height="30"><img alt='' height='1' src='images/1px.gif' width="1"></td> <td class="shade" align="right"><?php print(nls("Field"))?> </td> <td colspan="3"><select name="field"> <option value=all selected <?php if ($field=="all") print "selected"?>><?php echo nls("All");?></option> <?php foreach ($fields as $name => $code) { echo "<option value=\"$code\""; if ($code == $field) { echo " selected "; } echo ">" . nls($name) . "</option>"; } ?> </select> </td> </tr> <tr valign="bottom"> <td class="shade" width="10" height="30"><img alt='' height='1' src='images/1px.gif' width="1"></td> <td class="shade" align="right"><?php echo nls("Collection");?> </td> <td class="shade" colspan="3"><select name="collection" class="shade"> <option value=all><?php echo nls("All collections")?></option> <?php foreach ($collections as $name => $code) { echo "<option value=\"$code\""; if ($code == $collection) { echo " selected "; } echo ">" . nls($name) . "</option>"; } ?> </select> </td> </tr>--> <tr valign="bottom"> <td class="shade" width="10" height="30"><img alt='' height='1' src='images/1px.gif' width="1"></td> <td class="shade" align="right"><?php echo nls("Site");?> </td> <td class="shade" colspan="3"> <!--<select name="site" class="shade"> <option value=all><?php echo nls("All sites")?></option>--> <input type='text' name='site' value='<?php print $site; ?>' size="30"/> <?php /* foreach ($sites as $name => $code) { echo "<option value=\"$code\""; if ($code == $site) { echo " selected "; } echo ">" . $name . "</option>"; } */ ?> <!--</select>--> </td> </tr> <!--<tr valign="bottom"> <td class="shade" width="10" height="30"><img alt='' height='1' src='images/1px.gif' width="1"></td> <td class="shade" align="right"><?php echo nls("Language")?> </td> <td class="shade" colspan="3"><select name="language" class="shade"> <option value="all"><?php echo nls("All languages")?></option>--> <?php /* foreach ($languages as $name => $code) { echo "<option value=\"$code\""; if ($code == $language) { echo " selected "; } echo ">" . nls($name) . "</option>"; }*/ ?> <!-- </select> </td> </tr>--> <tr valign="bottom"> <td class="shade" width="10" height="30"><img alt='' height='1' src='images/1px.gif' width="1"></td> <td class="shade" align="right"><?php echo nls("File format");?> </td> <td class="shade" colspan="3"> <select name="format" class="shade"> <option value=all <?php if ($format=="all") print "selected"?>><?php echo nls("All file formats");?></option> <option value=text <?php if ($format=="text") print "selected"?>><?php echo nls("Text files");?></option> <option value=pdf <?php if ($format=="pdf") print "selected"?>><?php echo nls("PDF files");?></option> <option value=image <?php if ($format=="image") print "selected"?>><?php echo nls("Images");?></option> <option value=sound <?php if ($format=="sound") print "selected"?>><?php echo nls("Sound and music files");?></option> </select> </td> </tr> </form> <!---------------------------------------------------------> <tr valign="bottom"> <td class="shade" width="10" height="20"><img alt='' height='1' src='images/1px.gif' width="1"></td> <td class="shade" height="10" colspan="3"><hr></td> <td class="shade" width="10"><img alt='' height='1' src='images/1px.gif' width="1"></td> </tr> <tr> <td class="shade" width="10"><img alt='' height='1' src='images/1px.gif' width="1"></td> <td class="shade" colspan="4" height="10"><?php print nls("Go directly to a document with this URL");?></td> </tr> <tr> <td class="shade" width="10"><img alt='' height='1' src='images/1px.gif' width="1"></td> <td class="shade" colspan="4"> <?php $time = date("YmdGis"); // Current data and time ?> <form name="loc" method="GET" target="_top" action="result.php"> <input name="url" type="text" size="50" value="<?php print $url; ?>" <input type="hidden" name="time" value="<?php print($time);?>"> <input type='submit' value='<?php print(nls(" Go "));?>'> </form> </td> </tr> <tr><td height="20" colspan="5"></td></tr> </table> <table align="center" class="greyborder" border="0" cellspacing="0" cellpadding="1" width="90%"> <tr> <td> <table align="center" class="resultsborder" border="0" cellspacing="0" cellpadding="10" width="100%"> <tr> <td> <?php $morequery = ""; if ($collection != "" and strcmp($collection,"all")!=0){ $morequery = " collection:\"$collection\""; } if ($site != "" and strcmp($site,"all") != 0){ $morequery = $morequery . " site:$site"; } if ($language != "" and strcmp($language,"all")!=0){ $morequery = $morequery . " language:$language"; } if (strcmp($format,"text")==0){ $morequery = $morequery . " primarytype:text"; } if (strcmp($format,"pdf")==0){ $morequery = $morequery . " subtype:application/pdf"; } if (strcmp($format,"image")==0){ $morequery = $morequery . " primarytype:image"; } if (strcmp($format,"sound")==0){ $morequery = $morequery . " primarytype:audio primarytype:sound"; } if ($query_time != "") { $morequery = $morequery . " " . $query_time; } if ($query == "" and $morequery == "") { include("./info.php"); } elseif ($query!="") { if ($querytype=="phrase") { $query = '"' . $query . '"'; $parsedquery = "$query"; } elseif ($querytype == "any" ) { $parsedquery = "($query)"; } else { $parsedquery = "$query"; } if ($morequery != "") { $querystring = $parsedquery . " " . $morequery; } else { $querystring = $parsedquery; } } if (empty($start)) { $start = 1; } $fields = "url archival_time teaser collection"; if (isset($size)) { $sizeofresultset = $size; } else { $sizeofresultset = 10; } $sortorder = "relevance"; if ( $conf_debug = 1 ) { print "Querystring : " . $querystring; print_r($curtime); } include($conf_includepath . "/searchresult.inc"); //} ?> </td> </tr> </table> </td> </tr> </table> <table border="0" class="resultsborder" width="90%" cellpadding="10"> <tr> <td align="right" class="norm"> Manual : <a href="./manual/manual.html">HTML</a> - <a href="./manual/manual.pdf">pdf</a> | <a href="./RELEASE-NOTES">Release Notes</a> </td> </tr> </table> </center> </body> </html> --- NEW FILE: info.php --- <p><b>Note!</b> <i>Please update the script info.php with the information you want displayed when no query is entered.</i></p> <p> --- NEW FILE: index.php --- <?php /* * This file is part of The NWA Toolset. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * The NWA Toolset is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * The NWA Toolset is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with The NWA Toolset; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* * File: index.php * * $Id: index.php,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ */ header("Content-Type: text/html; charset=UTF-8"); include_once ("lib/config.inc"); include ($conf_index_file); include ($conf_includepath."/time.inc"); include ($conf_includepath."/url.inc"); //if register_globals is off $time_search = $_REQUEST['time_search']; $year_from = $_REQUEST['year_from']; $year_to = $_REQUEST['year_to']; $query = $_REQUEST['query']; $querytype = $_REQUEST['querytype']; $start = $_REQUEST['start']; $debug = $_REQUEST['debug']; ?> <HTML> <HEAD> <link rel="stylesheet" href="<?php print $conf_gui_style;?>" type="text/css"> <META HTTP-EQUIV="Cache-Control" Content="must-revalidate"> <META Http-Equiv="Pragma" Content="no-cache"> <META Http-Equiv="Expires" Content="0"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> <TITLE><?php print(nls("NWA search"));?></TITLE> <script language="javascript"> function submitForm(v) { if (v == 2){ document.search.action = "<?php print $conf_advanced_search ?>"; document.search.submit(); }else{ document.search.action = "<?php print $conf_simple_search ?>"; document.search.submit(); } } </script> </HEAD> <body><center> <?php if ($year_from == "" and $year_to == "") { $query_time = ""; } else { $first_year = "2002"; $today = getdate(); $next_year = $today['year'] + 1; if ($year_from == "") { $year_from = $first_year."0101000000"; } if ($year_to == "") { $year_to = $next_year; } if ($year_from < $first_year) { $year_from = $first_year; } if ($year_to < $first_year) { $year_to = $first_year +1; } elseif ($year_to > $next_year) { $year_to = $next_year; } if ($year_from > $year_to) { $year_from = $first_year; } $query_time = "archival_time:[".$year_from."0101000000;".$year_to."0101000000] "; } ?> <table border='0' cellpadding='0' cellspacing='0' width=90%> <tr> <td class="norm" width="1" colspan="5"><img alt='' height='10' src='/images/1px.gif' width="1"></td> </tr> <tr> <td class="norm" width="10"><img alt='' height='1' src='/images/1px.gif' width="1"></td> <td class="norm" align="left"><img alt="" src="<?php print $conf_logo;?>"></td> <td class="norm" align="right"> <?php //print "<a href=\"$conf_advanced_search?query=$query&querytype=$querytype&year_from=$year_from&year_to=$year_to\">"; //print nls("Advanced search") . "</a>"; ?> </td> <td class="norm" width="10"><img alt='' height='1' src='/images/1px.gif' width="1"></td> </tr> </table> <table border='0' cellpadding='0' cellspacing='0' width=90%> <tr> <td class="norm" colspan="5" align="left"><img alt='' height='8' src='/images/1px.gif' width='1'></td> </tr> <tr> <td colspan='5' class='border'><img alt='' height='2' src='/images/1px.gif' width='1'></td> </tr> <tr> <td colspan='5'><img src='/images/1px.gif' width='1' height='5' alt=''></td> </tr> <tr> <td class="shade" width="10"><img alt='' height='1' src='/images/1px.gif' width="1"></td> <td class="shade" width="5%"><?php print(nls("Match"));?>:</td> <td class="shade"><?php print(nls("Query:"));?></td> <td class="shade" align="right"><a href="<?php print($conf_helplinks['search']['file']);?>"> <?php print(nls($conf_helplinks['search']['name']));?></a></td> <td class="shade" width="10"><img alt='' height='1' src='/images/1px.gif' width="1"></td> </tr> <tr> <td class="shade" width="10"><img alt='' height='1' src='/images/1px.gif' width="1"></td> <td class="shade"><form name='search' action=<? echo $_SERVER['PHP_SELF']; ?> method='get'> <?php $query = trim(stripslashes($query)); if ($querytype == "phrase") { $query = str_replace('"', '', $query); } ?> <select name='querytype'> <option value=all <?php if ($querytype=="all") print "selected"?>><?php print(nls("All words"));?> <option value=any <?php if ($querytype=="any") print "selected"?>><?php print(nls("Any word"));?> <option value=phrase <?php if ($querytype=="phrase") print "selected"?>><?php print(nls("Exact phrase"));?> </select> </td> <td colspan="3"> <input type='text' name='query' value='<?php print $query; ?>' class="searchtext" size="50"/> <input type='submit' value='<?php print(nls("Search"));?>' class="searchbutton" onClick="submitForm(0);"/> </td> </tr> <tr> <td class="shade" height="30" colspan="2"> </td> <td colspan="3" class="shade" valign="bottom"><?php print(nls("Year"));?> <?php print(nls("(from - to)"))?></td> </tr> <tr> <td class="shade" height="30" colspan="2"> </td> <td colspan="3"> <input name='year_from' size=4 maxlength="4" type="text" value='<?php print $year_from;?>'/> - <input name='year_to' maxlength="4" value='<?php print $year_to; ?>' size=4 type="text"/> <?php if (isset ($debug)) { print "<input type=\"hidden\" name=\"debug\" value=\"$debug\">"; } ?> </td> </tr> </form> <tr><td height="20" colspan="5"></td></tr> </table> <!-- ************************ Results: ****************************************************** --> <table align="center" class="greyborder" border="0" cellspacing="0" cellpadding="1" width="90%"> <tr> <td> <table align="center" class="resultsborder" border="0" cellspacing="0" cellpadding="10" width="100%"> <tr> <td> <?php $time_str = "Date range"; if ($query == "") { include ("./info.php"); } else { if ($querytype == "phrase") { $query = '"'.$query.'"'; } $parsedquery = $query; if ($query_time != "") { if ($parsedquery == "") { $querystring = trim($query_time); } else { $querystring = $parsedquery." ".trim($query_time); } } else { $querystring = $parsedquery; } if (empty ($start)) { $start = 1; } $fields = "url archival_time teaser dctitle"; if (isset ($size)) { $sizeofresultset = $size; } else { $sizeofresultset = 10; } $sortorder = "relevance"; if ($querystring != "") { $search = new $conf_index_class (); $search->setQuery($querystring); $search->setSortorder("relevance"); $search->setSizeOfResultSet($sizeofresultset); $search->setOffset($start -1); $search->setFieldsInResult("teaser url description"); $search->setSupressDuplicates(); if ($search->doQuery()) { $numhits = $search->getnumhits(); $total = $search->getNumHitsTotal(); $results = $search->getResultSet(); //print "<pre>"; //print_r($results); //print "</pre>"; if ($total > 0) { print (nls("Total number of versions found")." : <b>$total</b>. "); print (nls("Displaying URL's")); print " <b>$start-$numhits"; print "</td></tr>"; print "<tr><td class=\"norm\">"; $hits_in_set = 0; foreach ($results as $key => $value) { $hits_in_set++; print "<b>".$key.". ".$value['teaser']."</b> "; print "(".$value['url'].")<br>"; print "(".$value['description'].")<br>"; $search2 = new $conf_index_class (); $vquery = $query." url:".$value["url"]; $search2->setQuery($vquery); $search2->unsetSupressDuplicates(); $search2->setSortorder("descending"); $search2->setSizeOfResultSet(1); $search2->setOffset(0); $search2->setFieldsInResult(archival_time); $search2->doQuery(); $versions = $search2->getResultSet(); $numversions = $search2->getNumHitsTotal(); $search2->setQuery("url:".$value["url"]); $search2->doQuery(); $totalversions = $search2->getNumHitsTotal(); print nls("Number of versions satisfying query")." / ".nls("total number of versions")." : "; print $numversions."/".$totalversions."<br>"; $linkstring = "<a href=\"result.php?time=".$versions[1]['archival_time']."&url=".index_encode($value["url"])."\">".nls("Timeline")."</a>"; $overview = "<a href=\"overview.php?url=".index_encode($value["url"])."\" >".nls("Overview")."</a>"; print "<b>".$linkstring." | ".$overview."</b>"; print "<br> <br>"; $last_hit = $key; unset($search2); } $next_start = $start + $sizeofresultset; print "<b>Results: "; $url_querypart = "query=".urlencode($query); $url_querypart .= "&querytype=".$querytype; $url_querypart .= "&query=".$query; $url_querypart .= "&year_from=".$year_from; $url_querypart .= "&month_from=".$month_from; $url_querypart .= "&day_from=".$day_from; $url_querypart .= "&year_to=".$year_to; $url_querypart .= "&month_to=".$month_to; $url_querypart .= "&day_to=".$day_to; $url_querypart .= "&site=".$site; $url_querypart .= "&language=".$language; $url_querypart .= "&format".$format; if ($start > 1) { $prev_start = $start - $sizeofresultset; print " <a href=\"".$_SERVER['PHP_SELF']."?".$url_querypart."&start=".$prev_start." \"><< ".nls("Prev")."</a> | "; } for ($i = 1;; $i ++) { $high_lim = $i * $sizeofresultset; $low_lim = $high_lim +1 - $sizeofresultset; if ($high_lim >= $last_hit) { if ($start == $low_lim) { print $low_lim."-".$last_hit." | "; } else { print " <a href=\"".$_SERVER['PHP_SELF']."?".$url_querypart."&start=".$low_lim." \">".$low_lim."-".$last_hit."</a> | "; } break; } else { if ($start == $low_lim) { print $low_lim."-".$high_lim." | "; } else { print " <a href=\"".$_SERVER['PHP_SELF']."?".$url_querypart."&start=".$low_lim." \">".$low_lim."-".$high_lim."</a> | "; } } } if ($hits_in_set == $sizeofresultset) { print " <a href=\"".$_SERVER['PHP_SELF']."?".$url_querypart."&start=".$next_start."\">".nls("Next")." >></a>"; } } else { print "No hits!"; } } if ($conf_debug == 1) { print "Query string : ".$querystring."<br> <br>"; print "Total : ".$total."<br> <br>"; } } } ?> </td> </tr> </table> </td> </tr> </table> <table border="0" class="resultsborder" width="90%" cellpadding="10"> <tr> <td align="left" class="norm"> <a href="http://netpreserve.org"><img alt='' border='0' src='<?php print $conf_http_host;?>/images/iipc.png'></a> </td> <td align="right" class="norm"> Manual : <a href="./manual/manual.html">HTML</a> - <a href="./manual/manual.pdf">pdf</a> | <a href="./RELEASE-NOTES">Release Notes</a> | <a href="http://sourceforge.net/tracker/?group_id=118427&atid=681137">Report bugs</a> </td> </tr> </table> </center> </body> </html> --- NEW FILE: meta.php --- <?php /* * This file is part of The NWA Toolset. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * The NWA Toolset is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * The NWA Toolset is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with The NWA Toolset; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* * File: meta.php * * $Id: meta.php,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ * * meta.php fetches meta information for the document using the document_retriever. */ include_once('lib/config.inc'); include('documentLocator.inc'); include($conf_index_file); $url = $_REQUEST['url']; $time = $_REQUEST['time']; /* echo "url" . $url; echo "time" . $time; */ // Check input parameters if(!isset($url)) { // ERROR: This script needs an url to function exit(1); } $url = index_decode($url); if(!isset($time)) { // ERROR: This script needs a timestamp to function exit(1); } //*------------------------------------------------------------ //Create meta retriever link and redirect $meta_link = document_locator($url, $time, $document_retriever); header("Location: " . $meta_link); //*------------------------------------------------------------ function document_locator($url, $timestamp, $document_retriever) { global $conf_index_class; $mode = 'standalone'; $searchEngine = new $conf_index_class(); $locator = new documentLocator(); $locator->initialize($searchEngine, $url, false, $timestamp, 'NEAR'); $numhits = $locator->findVersions(); if($numhits <= 0) { // ERROR: Did not find any document exit(1); } $result = $locator->getResultSet(); $document = $result[1]; $document['dcformat'] = index_decode($document['dcformat']); $meta = $document_retriever . '?reqtype=getmeta&aid='.urlencode($conf_document_retriever . $document['archiveidentifier']); return $meta; } ?> --- NEW FILE: asearch_help.html --- <HTML> <HEAD> <style type="text/css"> body { background: #F0F1F6; color: #000000; font-family: arial,helvetica,sans-serif; margin-left:30px; margin-right:20px; font-size: 12 } h1 { font-family: arial,helvetica,sans-serif; font-size: 16; font-weight: bold; color: black } h2 { font-family: arial,helvetica,sans-serif; font-size: 14; font-weight: bold; color: black } h3 { font-family: arial,helvetica,sans-serif; font-size: 12; font-weight: bold; color: black } p { font-family: arial,helvetica,sans-serif; font-size: 12 } td { font-family: arial,helvetica,sans-serif; font-size: 12 } ul { font-family: arial,helvetica,sans-serif; font-size: 12 } input { font-family: arial,helvetica,sans-serif; font-size: 12 } textarea { font-family: arial,helvetica,sans-serif; font-size: 12 } strong { font-weight: bold } </style> <TITLE>Help page for NWA advanced search</TITLE> </HEAD> <BODY bgcolor=#F0F1F6> <font face="helvetica,arial,sans-serif"> <table border="0" cellpadding=0 align="center" width="600"> <tr> <td> <table border="0" cellspacing="0" cellpadding="0" border="0"> <tr> <td bgcolor="#aaaaaa"><img src="../images/p.gif" width=1 height=1 alt=""></td> </tr> <tr> <td height="30" valign="middle"> <b><font FACE="Arial" COLOR="66CCCC" size="+2"><</font> <font FACE="Arial" COLOR="666666" size="+2">NWA</font> <font FACE="Arial" COLOR="66CCCC" size="+2">></font></b> </td> </tr> <tr> <td bgcolor="#aaaaaa"><img src="../images/p.gif" width=1 height=1 alt=""></td> </tr> </table> </td> <td align="right"> </td> </tr> </table> <br> <table border="0" cellpadding=0 align="center" width="600"> <tr> Help for advanced search page <ul> <li><b>Query string</b><br> The query string can be a whole word or a truncated one, like <i>air*</i> for <i>airport</i> or <i>airmail</i>. <li><b>Match</b><br> You can write several query strings and require that each document in the result set contains all those words <i>(and)</i>, any of the words <i>(or)</i>, or an exact phrase. <li><b>Search period</b><br> If you want to limit result set by time, define a search period with <i>From</i> and <i>To</i> dates. Both dates can have year, month and day. Also year alone is sufficient, or year and month without day. (But month or day without year doesn't work.) If <i>From</i> or <i>To</i> are left empty, defaults are used for them instead. <li><b>Narrow the search by</b><br> <ul> <li>Field<br> You can require that the search string appears in a certain metadata field. Choices for field are Title, Subject and Links. If Links field is used, the query string could be an URL. In this case you would search for documents which point to the given URL. <li>Collection<br> If the archive consists of several collections, it's possible to make queries into one of them instead of the whole archive. (Requires that metadata has a field for collection name.) <li>Language<br> Look for documents written in a specific language. (Works if metadata contains language information.) <li>File format<br> Search among text/html documents, pictures or sound files. (Querying for pictures and sound files requires that they have been described with metadata.) </ul> <li><b>Search for a document with a given URL</b><br> Write here a whole URL if you only want to view a certain document. </ul> </tr> </table> <br> </body> </html> --- NEW FILE: documentDispatcher.php --- <?php /* * This file is part of The NWA Toolset. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * The NWA Toolset is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * The NWA Toolset is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with The NWA Toolset; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * Document dispatcher * @version $Id: documentDispatcher.php,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ * @module documentDispatcher * @modulegroup browser * * Purpose is to find reference to document thats the closest match to what * is asked for, and based on the mime-type direct execution to a document- * handler. * * Input parameters: * url - original URL of document to be parsed * time - a timestamp * mime - mime-type (mime-class[/mime-type]) optional * mode - See description for document_locator * * Outputs result to the web client */ include_once('lib/config.inc'); include('documentLocator.inc'); include('httpUtils.inc'); include($conf_index_file); $url = $_REQUEST['url']; $time = $_REQUEST['time']; $mime = $_REQUEST['mime']; $mode = $_REQUEST['mode']; /* echo "url" . $url; echo "time" . $time; echo "mime" . $mime; echo "mode" . $mode; */ // Check input parameters if(!isset($url)) { // ERROR: This script needs an url to function exit(1); } $url = index_decode($url); if(!isset($time)) { // ERROR: This script needs a timestamp to function exit(1); } if(!isset($mode)) { $mode = 'standalone'; } if(!isset($mime)) { $mime = ''; } // Find right version of the document $document = document_locator($url, $time, $mime, $mode); list($handler_url, $handler_has_links) = explode(" ", type_resolver($document, $mime)); $handler_has_links = $handler_has_links == "parselinks" ? true : false; // if ($document['collection'] == "") { // If the indexed data for some reason does not contain a collection $document['collection'] = $conf_location_code; } // Is document located at different site? if($mode != 'external' && $document['collection'] != $conf_location_code) { //if($mode != 'external' && !stristr($conf_location_code, $document['collection'])) { if (!isset($conf_locations[$document['collection']])) { print "<HTML>\n<HEAD>\n<link rel=\"stylesheet\" href=\"$conf_gui_style\" type=\"text/css\">\n</HEAD>\n<BODY>\n<p>"; print 'The variable <b>$conf_locations[' . $document['collection'] . "]</b> is not defined. Please check settings in config.inc"; print "\n</p>\n</BODY>\n</HTML>"; exit(); } $handler_url = $conf_locations[$document['collection']] . "?$QUERY_STRING&mode=external"; if($handler_has_links) { rewrite_document($handler_url, $conf_result_page, $js); } else { if ($fd = @fopen ($handler_url, "r")) { fpassthru($fd); } } exit(); } parse_document($handler_url, $document, $handler_has_links, $js); /** * document_locator * * Tries to find meta information about the document that best matches * the url and timestamp combination. * * @param $url URL for the document as it was when the document was harvested. * @param $timestamp Documents creation time (or harvest time) * @param $mime_hint What mime-type or mime-class to expect * @param $mode One of the following: * inline (e.g. images or frame content) * standalone (e.g. html-page or pdf-document) (default) * * @return array with metadata about document: * [dcdate] = datestamp * [dcformat] = mime-type * [encoding] = charcter encoding * [archiveidentifier] = uri to document in the archive */ function document_locator($url, $timestamp, $mime_hint, $mode = 'standalone') { global $conf_index_class; $searchEngine = new $conf_index_class(); $locator = new documentLocator(); $locator->initialize($searchEngine, $url, false, $timestamp, 'NEAR'); $numhits = $locator->findVersions(); if($numhits <= 0) { // No document found print "<HTML>\n<HEAD>\n<link rel=\"stylesheet\" href=\"$conf_gui_style\" type=\"text/css\">\n</HEAD>\n<BODY>\n<p>"; print nls("Sorry, no documents with the given uri were found"); print "\n</p>\n</BODY>\n</HTML>"; exit(); } $result = $locator->getResultSet(); $document = $result[1]; $document['dcformat'] = index_decode($document['dcformat']); if($document['dcformat'] == '' && $mime_hint != '') { $document['dcformat'] = $mime_hint; } return $document; } /** * type_resolver * * Returns an url to the documentHandler that best handles * the mime-type for the document. * * @param $document * @return $string containing url to document handler */ function type_resolver($document) { global $conf_document_handler; $format = $document['dcformat']; if($conf_document_handler[$format]) { return $conf_document_handler[$format]; } $format = @split($format,'/'); if($conf_document_handler[$format[0]]) { return $conf_document_handler[$format[0]]; } return $conf_document_handler['default']; } /** * parse_document * * Redirects handling of document to the document handler pointed to by * handler_url. The result from the handler is sent to the user's browser. * * @param $handler_url URL to documenthandler * @param $document Array of metadata for document as returned by the documentLocator * @param $handler_has_links Indicates that this document has links that the handler will parse */ function parse_document($handler_url, $document, $handler_has_links, $js) { global $conf_document_retriever, $conf_result_page, $mode; $handler_url .= '?aid='.urlencode($conf_document_retriever . $document['archiveidentifier']).'&time='.$document['archival_time'].'&mime='.$document['dcformat'].'&url='.$document['url']; Header("content-type: " . $document['dcformat'], false); if($handler_has_links && $mode != "external") { rewrite_document($handler_url, $conf_result_page, $js); } else { fetchAndPrintUrl($handler_url); } } /** * rewrite_document * * Rewrites the linkprefix, that the document-handler inserts, into real urls * * @param $handler_url URL to documenthandler. Preformatted with all needed parameters. * @param $result_page The URL that the linkprefix should be rewritten to. */ function rewrite_document($handler_url, $result_page, $js) { $fp = fopen ($handler_url, "r"); if($fp) { while(!feof($fp)) { $content .= fread($fp,1024); } $regex = '/\"##P#R#E#F#I#X##TIME#(\d*)##MODE#(standalone|inline)##URL#([^\"]*)##\"/e'; $replace = "format_url('$result_page', '$3', '$1', '$2')"; $content = preg_replace($regex, $replace, $content); // In case of using the document handler that inserts Javascript (client side link replacement): $content = preg_replace("/##P#R#E#F#I#X##TIME#/", "$result_page?time=", $content); //if ( $js == "off" ){ if (1 == 0) { // disabled this !! /* * $js_regex = "'<script[^>]*?>.*?</script>'si"; * $js_replace = "<script language=\"Javascript\"><!-- NWA HAS BEEN CONFIGURED TO DISABLE THIS JAVASCRIPT SECTION. --></script>"; * $content_nojs = preg_replace($js_regex,$js_replace,$content); * print($js. $content_nojs); */ $js_regex = array("'<script[^>]*?>.*?</script>'si", "'onLoad=\".*?\"'si", "'onAbort=\".*?\"'si", "'onBlur=\".*?\"'si", "'onChange=\".*?\"'si", "'onClick=\".*?\"'si", "'onError=\".*?\"'si", "'onFocus=\".*?\"'si", "'onMouseOver=\".*?\"'si", "'onMouseOut=\".*?\"'si", "'onSelect=\".*?\"'si", "'onSubmit=\".*?\"'si", "'onUnload=\".*?\"'si"); $js_replace = array("<script language=\"Javascript\"><!-- NWA HAS BEEN CONFIGURED TO DISABLE THIS JAVASCRIPT SECTION - FOR THIS PAGE. --></script>", "", "", "", "", "", "", "", "", "", "", "", ""); $content_nojs = preg_replace($js_regex,$js_replace,$content); print($content_nojs); }else { print($content); } fclose($fp); } } function format_url($result_page, $url, $time, $mode) { $res = "\"$result_page?url=" . index_encode($url) . "&time=$time&mode=$mode\""; if($mode == 'standalone') { $res .= ' target="_top"'; } return $res; } ?> --- NEW FILE: top.php --- <?php /* * This file is part of The NWA Toolset. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * The NWA Toolset is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * The NWA Toolset is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with The NWA Toolset; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* * File: top.php * * This file is the top-frame of the NWA browser. This script implements * currents the timeline. * The top.php is only referenced from the result.php script * * $Id: top.php,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ */ header("Content-Type: text/html; charset=UTF-8"); include_once("lib/config.inc"); include($conf_includepath . "/timeline.inc"); include_once($conf_searchenginepath . "/indexUtils.inc"); //if register_globals is off: $level = $_REQUEST['level']; $manlevel = $_REQUEST['manlevel']; $autoresolution = $_REQUEST['autoresolution']; $time = $_REQUEST['time']; $url = $_REQUEST['url']; $debug = $_REQUEST['debug']; // To print out the timeline datas as html comment (view source to see) set the $debug to 1; $encoded_url = $url; $url = index_decode($url); $levels = array(0 => "Seconds", 1 => "Minutes", 2 => "Hours", 3 => "Days", 4 => "Months", 5 => "Years", 6 => "Auto"); function getJavaScriptDefault($defaultvalue){ return $defaultvalue; } ?> <html> <HEAD> <link rel="stylesheet" href="<?php print $conf_gui_style;?>" type="text/css"> <META HTTP-EQUIV="Cache-Control" Content="must-revalidate"> <META Http-Equiv="Pragma" Content="no-cache"> <META Http-Equiv="Expires" Content="0"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> <title>NWA Version Browser</title> <script language="javascript"> <!-- // name - name of the cookie // value - value of the cookie // [expires] - expiration date of the cookie (defaults to end of current session) // [path] - path for which the cookie is valid (defaults to path of calling document) // [domain] - domain for which the cookie is valid (defaults to domain of calling document) // [secure] - Boolean value indicating if the cookie transmission requires a secure transmission // * an argument defaults when it is assigned null as a placeholder // * a null placeholder is not required for trailing omitted arguments function setCookie(name, value, expires, path, domain, secure) { var curCookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); document.cookie = curCookie; } // name - name of the desired cookie // * return string containing value of specified cookie or null if cookie does not exist function getCookie(name) { var dc = document.cookie; var prefix = name + "="; var begin = dc.indexOf("; " + prefix); if (begin == -1) { begin = dc.indexOf(prefix); if (begin != 0) return null; } else begin += 2; var end = document.cookie.indexOf(";", begin); if (end == -1) end = dc.length; return unescape(dc.substring(begin + prefix.length, end)); } function minusResolution() { tmp = document.timeline.autolevel.value; if(tmp > 1) { document.timeline.level.value = --tmp; document.timeline.submit() } } function plusResolution() { tmp = document.timeline.autolevel.value; if(tmp < 5) { document.timeline.level.value = ++tmp; document.timeline.submit() } } function autoResolution() { document.timeline.level.value = 6; document.timeline.submit() } function autoResolutionOff() { document.timeline.level.value = document.timeline.autolevel.value; document.timeline.submit() } function js_control() { var imagepath = document.images.js.src; var imagename = imagepath.substring(imagepath.length - 19, imagepath.length) if ( imagename == 'js_selected_new.gif') { alert('Javascript on the archived web pages will not be loaded' ); document.images.js.src = 'images/js_disabled_new.gif'; setCookie("nwabrowser","off"); } else { alert('Javascript on the archived web pages will be loaded with the page'); document.images.js.src = 'images/js_selected_new.gif'; setCookie("nwabrowser","on"); } } function getDefaultJavaScriptConfig(name, defaultvalue) { if (getCookie(name) == null) { setCookie("nwabrowser",defaultvalue); if (defaultvalue == 'on') { document.images.js.src = 'images/js_selected_new.gif'; } else { document.images.js.src = 'images/js_disabled_new.gif'; } } else { if(getCookie(name) == "on"){ document.images.js.src = 'images/js_selected_new.gif'; } else{ document.images.js.src = 'images/js_disabled_new.gif'; } } return true; } --> </script> </head> <body onLoad="getDefaultJavaScriptConfig('nwabrowser','<? echo getJavaScriptDefault($conf_javascript); ?>')"> <table width="100%" border='0' cellpadding='0' cellspacing='0'> <tr> <td colspan='2' class='border'><img alt='' height='2' src='images/1px.gif' width='1'></td> </tr> <tr> <td colspan='2'><img src='images/1px.gif' width='1' height='5' alt=''></td> </tr> <tr> <td width="1"></td> <td> <table cellspacing="0" border="0" cellpadding="0" width="100%"> <tr> <td width="1" class="shade"></td> <td align="left" valign="middle"> <span class="caption">Uri:</span> </td> <form name="loc" method="GET" target="_top" action="result.php"> <td align="left" valign="middle"> <input name="url" type="text" size="70" value="<?php print $url; ?>" class="searchtext"> <input type="hidden" name="level" value="<?php print($level);?>"> <input type="hidden" name="time" value="<?php print($time);?>"> </td> </form> <td align="left" valign="middle"> <input type='button' onClick="document.loc.submit()" value='<?php print nls("Go");?>'/> </td> <td width="50%" nowrap></td> <td align="left" valign="middle"> <span class="caption"><?php print nls("Search");?></span> </td> <form name="search" target="_top" action="<?php print $conf_simple_search ?>"> <td align="left" valign="middle" nowrap> <input type="text" size="30" name="query" value=""> <input type="hidden" name="querytype" value="all"> <input type='submit' value='<?php print(nls("Go"));?>'/> </td> </form> </tr> </table> </td> </tr> <?php $images['first'] = array ( 'name' => "images/first.jpg", 'height' => 20, 'width' => 19 ); $images['prev'] = array ( 'name' => "images/prev.jpg", 'height' => 20, 'width' => 13 ); $images['next'] = array ( 'name' => "images/next.jpg", 'height' => 20, 'width' => 13 ); $images['last'] = array ( 'name' => "images/last.jpg", 'height' => 20, 'width' => 19 ); $images['line'] = array ( 'name' => "images/line.jpg", 'height' => 16, 'width' => 7 ); $images['line_sep'] = array ( 'name' => "images/linemark.jpg", 'height' => 16, 'width' => 1 ); $images['mark_one'] = array ( 'name' => "images/mark_one.jpg", 'height' => 20, 'width' => 7 ); $images['mark_several'] = array ( 'name' => "images/mark_several.jpg", 'height' => 20, 'width' => 7 ); $images['middle'] = array ( 'name' => "images/mark.jpg", 'height' => 6, 'width' => 8 ); if (!($level >= 0 and $level <=5) || (!isset($level) || $level=="")) { $level=6; $resolution = $level; } $result_page = $conf_result_page; print "<!-- hepp level: $level-->"; $timeline = new timeline($level, $time, $url, $conf_index_class); $timeline_data = $timeline->getTimelineData(); if ($level != 6) { $resolution = $timeline->getResolution(); } $number_of_versions = $timeline->getNumberOfVersions(); $next_version = $timeline->getNextVersionTimestamp(); $previous_version = $timeline->getPreviousVersionTimestamp(); $first_version = $timeline->getFirstVersionTimestamp(); $last_version = $timeline->getLastVersionTimestamp(); if ($time == "") { $time = $last_version; } $key_of_version_nearest_before = $timeline->getKeyOfCurrentVersion(); $first_version_display = make_display_time($first_version,-1); $previous_version_display = make_display_time($previous_version,-1); $next_version_display = make_display_time($next_version,-1); $last_version_display = make_display_time($last_version,-1); $current_version_display = make_display_time($time,-1); /* Builds a date based on the resolution * * A resolution of -1 (or any value not corresponding * to a defined resolution type) will give a full date. */ function make_display_time($timestring, $resolution) { $year = substr($timestring, 0, 4); $month = substr($timestring, 4, 2); $day = substr($timestring, 6, 2); $hour = substr($timestring, 8, 2); $minute = substr($timestring, 10, 2); $second = substr($timestring, 12, 2); switch($resolution) { case 0: //Seconds return ($hour . ":" . $minute . ":" . $second); case 1: //Minutes return ($hour . ":" . $minute); case 2: //Hours return (day_format($day) . " " . $hour . ":" . $minute); case 3: //Days return (month_number_to_name($month) . ". " . day_format($day)); case 4: //Months return (month_number_to_name($month) . ". " . $year); case 5: //Years return ($year); } // else full date is return (without seconds) return (month_number_to_name($month) . ". " . day_format($day) . " " . $year . ", " . $hour . ":" . $minute); } function day_format($day) { $temp = $day; $zeroleading = true; while($temp > 10) { $temp = $temp - 10; $zeroleading = false; } if($zeroleading) { $day = substr($day,1,1); } if($temp == 1) { return $day . "st"; } if($temp == 2) { return $day . "nd"; } if($temp == 3) { return $day . "rd"; } return $day . "th"; } function month_number_to_name($month) { switch ($month) { case 1: return "Jan"; case 2: return "Feb"; case 3: return "Mar"; case 4: return "Apr"; case 5: return "May"; case 6: return "Jun"; case 7: return "Jul"; case 8: return "Aug"; case 9: return "Sep"; case 10: return "Okt"; case 11: return "Nov"; case 12: return "Des"; } return ""; } if ($debug == 1) { print "<!--"; print "\nResolution (in) : " . $level; print "\nTime (in) : " . $time; print "\nURL (in) : " . $url; print "\nResolution : " . $timeline->getResolution(); print "\nNumber of versions : " . $number_of_versions; print "\nNext version : " . $next_version; print "\nPrevious version : " . $previous_version; print "\nFirst version : " . $first_version; print "\nLast version : " . $last_version; print "\n" . '$key_of_version_nearest_before ' . $key_of_version_nearest_before; print "\nTimeline array:\n"; print_r($timeline_data); print "\nVersions:\n"; print "-->"; } /* The following is a quick fix way of limiting the size of the timeline based on the resolution. * Ideally this should be done at a lower level where the timeline info is first gathered. * This however makes changes to the interface simpler to implement. * * If there are fewer items in the timeline than $resolution_sizes specifies for that resolution * then the smaller timeline will be displayed without problems. * * The timeline is trimmed equally from both ends. We assume that the number of return variables * is odd and that the selected item is the center item. */ $resolution_sizes = array( 0 => 31, 1 => 31, 2 => 25, 3 => 31, 4 => 25, 5 => 13 ); if($resolution_sizes[$timeline->getResolution()] < count($timeline_data) ) { $first = ((count($timeline_data) - $resolution_sizes[$timeline->getResolution()])/2)+1; $last = ($first-1 + $resolution_sizes[$timeline->getResolution()]); } else { $first = 1; $last = count($timeline_data); } // Create the timeline $i = 1; if (!empty($timeline_data)) { foreach ($timeline_data as $key => $val) { if($i >= $first && $i <= $last){ $link = $result_page . "?url=" . $encoded_url . "&time=" . $timeline_data[$key][linkvalue] . "&level="; if ($i != $first) { $timelinestring .= "<!-- $i --><img border=0 width=" . $images['line_sep']['width'] . " height=" . $images['line_sep']['height'] . " src=" . $images['line_sep']['name'] . ">"; } if ($timeline_data[$key][versions] == 0) { $timelinestring .= "<a target=_top href=" . $link . $resolution . "><img border=0 width=" . $images['line']['width'] . " height=" . $images['line']['height'] . " src=" . $images['line']['name'] . " title=\"" . $timeline_data[$key][resolution_dependent_format] . "\"></a>"; } elseif ($timeline_data[$key][versions] == 1) { $timelinestring .= "<a target=_top href=" . $link . $resolution . "><img border=0 width=" . $images['mark_one']['width']. " height=" . $images['mark_one']['height'] . " src=" . $images['mark_one']['name'] . " title=\"" . make_display_time($timeline_data[$key][linkvalue],-1) . "\"></a>"; } else { if ($resolution == 6) { $tmp_resolution = $resolution; } else { $tmp_resolution = $resolution - 1; } $timelinestring .= "<a target=_top href=" . $link . $tmp_resolution . "><img border=0 width=" . $images['mark_several']['width'] . " height=" . $images['mark_several']['height'] . " src=" . $images['mark_several']['name'] . " title=\"" . $timeline_data[$key][resolution_dependent_format] . " (" . $timeline_data[$key][versions] . " versions)\"></a>"; } if($i == $first) { $firstItem = make_... [truncated message content] |
Update of /cvsroot/archive-access/archive-access/projects/wera/src/articles/images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera/src/articles/images Added Files: ArcRetrieverAidGenerator.png ArcRetrieverAidGeneratorDone.png ArcRetrieverGetmetaReply.png ArcRetrieverStartPage.png access.jpg exporting.jpg iipc.png indexerStartPage.jpg indexingProcess.jpg noHtmlParser.png overview.png retriever_getmeta_reply_nedlib.png search.png searchresult.png startIndexing.jpg testSearchInterface.jpg timeline.png Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: noHtmlParser.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: ArcRetrieverAidGenerator.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: access.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: overview.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: ArcRetrieverStartPage.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: startIndexing.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: ArcRetrieverAidGeneratorDone.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: search.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: timeline.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: indexingProcess.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: searchresult.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: indexerStartPage.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: retriever_getmeta_reply_nedlib.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: ArcRetrieverGetmetaReply.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: exporting.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: testSearchInterface.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: iipc.png --- (This appears to be a binary file; contents omitted.) |
From: Michael S. <sta...@us...> - 2005-10-04 22:59:40
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/handlers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera/src/webapps/wera/handlers Added Files: html_javascript.php html_javascript.php.js passthrough.php Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: html_javascript.php.js --- <SCRIPT language="Javascript"> <!-- // $Id: html_javascript.php.js,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ // Script inserted by WERA to ensure that links point to // WERA rather than out to the Internet // This script was contributed by the Internet Archive // Some minor WERA adaptations has been made function xResolveUrl(url) { var image = new Image(); image.src = url; return image.src; } function xLateUrl(aCollection, sProp, mode) { var i = 0; for(i = 0; i < aCollection.length; i++) { if (typeof(aCollection[i][sProp]) == "string") { if (aCollection[i][sProp].indexOf("mailto:") == -1 && aCollection[i][sProp].indexOf("javascript:") == -1) { aCollection[i]["target"] = "_top"; if(aCollection[i][sProp].indexOf("http") == 0) { aCollection[i][sProp] = sWayBackCGI + "&mode=" + mode + "&url=" + aCollection[i][sProp]; } else { aCollection[i][sProp] = sWayBackCGI + "&mode=" + mode + "&url=" + xResolveUrl(aCollection[i][sProp]); } } } } } xLateUrl(document.getElementsByTagName("IMG"),"src","inline"); xLateUrl(document.getElementsByTagName("A"),"href","standalone"); xLateUrl(document.getElementsByTagName("AREA"),"href","standalone"); xLateUrl(document.getElementsByTagName("OBJECT"),"codebase","inline"); xLateUrl(document.getElementsByTagName("OBJECT"),"data","inline"); xLateUrl(document.getElementsByTagName("APPLET"),"codebase","inline"); xLateUrl(document.getElementsByTagName("APPLET"),"archive","inline"); xLateUrl(document.getElementsByTagName("EMBED"),"src","inline"); xLateUrl(document.getElementsByTagName("BODY"),"background","inline"); var forms = document.getElementsByTagName("FORM","inline"); if (forms) { var j = 0; for (j = 0; j < forms.length; j++) { f = forms[j]; if (typeof(f.action) == "string") { if(typeof(f.method) == "string") { if(typeof(f.method) != "post") { f.action = sWayBackCGI + "&url=" + f.action; } } } } } var interceptRunAlready = false; function intercept_js_href_iawm(destination) { if(!interceptRunAlready &&top.location.href != destination) { interceptRunAlready = true; top.location.href = sWayBackCGI+xResolveUrl(destination); } } // ie triggers href_iawmWatcher = document.createElement("a"); top.location.href_iawm = top.location.href; if(href_iawmWatcher.setExpression) { href_iawmWatcher.setExpression("dummy","intercept_js_href_iawm(top.location.href_iawm)"); } // mozilla triggers function intercept_js_moz(prop,oldval,newval) { intercept_js_href_iawm(newval); return newval; } if(top.location.watch) { top.location.watch("href_iawm",intercept_js_moz); } var notice = "<div style='" + "position:relative;z-index:99999;"+ "border:1px solid;color:black;background-color:lightYellow;font-size:10px;font-family:sans-serif;padding:5px'>" + "WERA... External links, forms, and search boxes may not function within this collection. " + "[ <a style='color:blue;font-size:10px;text-decoration:underline' href=\"javascript:void(top.disclaimElem.style.display='none')\">hide</a> ]" + "</div>"; function getFrameArea(frame) { if(frame.innerWidth) return frame.innerWidth * frame.innerHeight; if(frame.document.documentElement && frame.document.documentElement.clientHeight) return frame.document.documentElement.clientWidth * frame.document.documentElement.clientHeight; if(frame.document.body) return frame.document.body.clientWidth * frame.document.body.clientHeight; return 0; } function disclaim() { if(top!=self) { largestArea = 0; largestFrame = null; for(i=0;i<top.frames.length;i++) { frame = top.frames[i]; area = getFrameArea(frame); if(area > largestArea) { largestFrame = frame; largestArea = area; } } if(self!=largestFrame) { return; } } disclaimElem = document.createElement('div'); disclaimElem.innerHTML = notice; top.disclaimElem = disclaimElem; document.body.insertBefore(disclaimElem,document.body.firstChild); } disclaim(); --> </SCRIPT> --- NEW FILE: html_javascript.php --- <?php /* * This file is part of The NWA Toolset. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * The NWA Toolset is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * The NWA Toolset is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with The NWA Toolset; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * Documenthandler that inserts a javascript into the html file * The purpose of the javascript is to make the link rewriting happen * in the browser. * The javascript is based on one of Internet Archives Wayback Machine * installations. A few modifications have been made to adapt it to the * NwaToolset url scheme. * * Please Note ! * The Javascript must be stored alongside this script, * with the same name as this script and with a '.js' extension * * @version $Id: html_javascript.php,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ * * Input parameters: * aid - The url of the document in the archive (really: $conf_document_retriever preceded by the documents unique identifier in the archive) * time - The documents timestamp * mime - The documents mime-type * url - The documents original url */ //if register_globals is off if (!isset($aid)) $aid = $_REQUEST['aid']; if (!isset($mime)) $mime = $_REQUEST['mime']; if (!isset($time)) $time = $_REQUEST['time']; if (!isset($url)) $url = $_REQUEST['url']; if ($fd = fopen ($aid, "r")) { if (isset($mime)) { Header("content-type: $mime"); } while(!feof($fd)) { $document .= fread($fd, 1024); } fclose($fd); $hrefstring = "<HEAD>\n<BASE HREF=\"$url\">\n"; // Insert the base url if (preg_match_all("/<head>/i", $document, $dummy) > 0) { $document = preg_replace("/<head>/i", $hrefstring, $document, 1); } else { // if no head present $document = preg_replace("/<html>/i", "<HTML>\n" . $hrefstring . "</HEAD>", $document, 1); } $js_to_insert = "<SCRIPT language=\"Javascript\">\n"; $js_to_insert .= "var sWayBackCGI = \"##P#R#E#F#I#X##TIME#$time\"\n"; $js_to_insert .= "</SCRIPT>\n"; $js_to_insert .= file_get_contents($_SERVER['SCRIPT_FILENAME'] . ".js"); $js_to_insert .= "</html>"; $document = preg_replace("/<\/html>/i", $js_to_insert, $document); print($document); } ?> --- NEW FILE: passthrough.php --- <?php /* * This file is part of The NWA Toolset. * * Copyright (C) 2001-2002 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * The NWA Toolset is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * The NWA Toolset is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with The NWA Toolset; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * Documenthandler that lets the document pass trough unchanged. * * $Id: passthrough.php,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ * * Input parameters: * aid - The document's identifier in the archive * time - The document's timestamp * mime - The document's mime-type * url - The document's original url */ $aid = $_REQUEST['aid']; $time = $_REQUEST['time']; $mime = $_REQUEST['mime']; $url = $_REQUEST['url']; if ($fd = @fopen ($aid, "r")) { if (isset($mime)) { Header("content-type: $mime", false); } fpassthru($fd); } ?> |
From: Michael S. <sta...@us...> - 2005-10-04 22:59:40
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/lib/nls/da In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera/src/webapps/wera/lib/nls/da Added Files: search.php.nls Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: search.php.nls --- "NWA search" => "NWA Søgning" "Query:" => "Spørgsmål:" "Search" => "Søg" "Query type:" => "Type spørgsmål:" "All words" => "Alle ord" "Any word" => "Et ord" "Exact phrase" => "præcis frase" "Hits per page:" => "Hits per side:" "Content-type:" => "Indholdstype:" "HTML" => "HTML" "Images" => "Billeder" "Time(yyyy/mm/dd):" => "Tidspunkt(åååå/mm/dd):" "Use time:" => "Brug tidspunkt" "No date range selected" => "Der er ikke valgt noget tidsinterval" "Showing <b>%1n;</b> of <b>%2n;</b> hits." => "Viser <b>%1n;</b> af <b>%2n;</b> hits." "Search took " => "Søgningen tog " " seconds" => " sekunder" "Sorry, found no documents matching" => "Fandt ingen dokumenter som indeholdt" "PDF" => "PDF" |
From: Michael S. <sta...@us...> - 2005-10-04 22:59:40
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/help In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera/src/webapps/wera/help Added Files: en_help.php no_help.php Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: en_help.php --- <?php /* * This file is part of The NWA Toolset. * * Copyright (C) 2001-2004 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * The NWA Toolset is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * The NWA Toolset is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with The NWA Toolset; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* * File: en_help.ihtml * * $Id: en_help.php,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ */ ?> <table border='0' cellpadding='0' cellspacing='0' width=90%> <tr> <td class="norm" width="1" colspan="5"><img alt='' height='10' src='/images/1px.gif' width="1"></td> </tr> <tr> <td class="norm" width="10"><img alt='' height='1' src='/images/1px.gif' width="1"></td> <td class="norm" align="left"><img alt="" src="<?php print $conf_logo;?>"></td> <td class="norm" align="right"> <a href="<?php echo $conf_simple_search; ?>">Search</a> <!--<a href="<?php echo $conf_advanced_search; ?>">Advanced search</a></td>--> <td class="norm" width="10"><img alt='' height='1' src='/images/1px.gif' width="1"></td> </tr> </table> <table border='0' cellpadding='0' cellspacing='0' width=90%> <tr> <td class="norm" colspan="5" align="left"><img alt='' height='8' src='/images/1px.gif' width='1'></td> </tr> <tr> <td colspan='5' class='border'><img alt='' height='2' src='/images/1px.gif' width='1'></td> </tr> <tr> <td class="norm" colspan='5'><img src='/images/1px.gif' width='1' height='5' alt=''></td> </tr> </table> <table align="center" class="greyborder" border="0" cellspacing="0" cellpadding="1" width="90%"> <tr> <td> <table align="center" class="resultsborder" border="0" cellspacing="0" cellpadding="10" width="100%"> <tr> <td> <!-- ********************************************************************************* --> <h1>Search</h1> <p><b>Match</b><br> You can query for several words and require that each document in the result set contains all those words <i>(and)</i>, any of the words <i>(or)</i>, or an exact phrase.</p> <p><b>Query string</b><br> The query string can be a whole word or a truncated one, like <i>air*</i> (would match e.g. <i>airport</i> or <i>airmail</i>).</p> <p><b>Search period</b><br> To limit the the results for a specific time period fill in <i>Year from</i> and/or <i>to</i>.</p> <p><b>Result list</b><br> After executing a query, a result list is presented. The result list contains hits with links to the <i>Timeline view</i> and the <i>Overview</i> (see below).</p> <h1>Overview</h1> For each hit in the search result list there is a link to the <i>Overview</i>. The overview shows all the dates for the versions found for a given URL. Click one of the dates to view a specific version in the <i>Timeline</i> view. <h1>Timeline View</h1> The Timeline view shows the different versions of a given URI displayed graphically along a timeline. When entering the Timeline View the latest version available is displayed. The actual archived web page is shown below the Timeline. All links and inline references are altered before the web page is transmitted to user (i.e. the users browser). <p><b>Url</b><br> When navigating from the Overview or the result list of a search interface, the Url of the chosen version is passed along and shown in the Url field. You may also enter a Url manually, but the Url has to be entered exactly as stored in the archive when the web page was harvested. </p> <p><b>Timeline</b><br> The different versions (dates) of a Url are displayed graphically along the timeline. You may navigate between the different versions by directly clicking a specific point on the timeline, or by using the arrown first, previous, next and last. <p><b>Resolution</b><br> When entering the timeline view the resolution is to <i>auto</i>. This means that the timeline automatically drills down to the resolution needed to display single versions along the line. The <i>Auto</i> checkbox may be unchecked in order to manually choose the resolution (choosing a different resolution when in auto also disables auto resolution.</p> <p><b>Search</b><br> To quickly perform a simple search type in a query term and press <i>Go</i>.</p> </td> </tr> </table> </td> </tr> </table> --- NEW FILE: no_help.php --- <?php /* * This file is part of The NWA Toolset. * * Copyright (C) 2001-2004 Royal Library in Stockholm, * Royal Library in Copenhagen, * Helsinki University Library of Finland, * National Library of Norway, * National and University Library of Iceland. * * The NWA Toolset is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * The NWA Toolset is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with The NWA Toolset; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* * File: en_help.ihtml * * $Id: no_help.php,v 1.1 2005/10/04 22:59:27 stack-sf Exp $ */ ?> <table border='0' cellpadding='0' cellspacing='0' width=90%> <tr> <td class="norm" width="1" colspan="5"><img alt='' height='10' src='/images/1px.gif' width="1"></td> </tr> <tr> <td class="norm" width="10"><img alt='' height='1' src='/images/1px.gif' width="1"></td> <td class="norm" align="left"><img alt="" src="<?php print $conf_logo;?>"></td> <td class="norm" align="right"> <a href="<?php echo $conf_simple_search; ?>">Søk</a> <!--<a href="<?php echo $conf_advanced_search; ?>">Avansert søk</a></td>--> <td class="norm" width="10"><img alt='' height='1' src='/images/1px.gif' width="1"></td> </tr> </table> <table border='0' cellpadding='0' cellspacing='0' width=90%> <tr> <td class="norm" colspan="5" align="left"><img alt='' height='8' src='/images/1px.gif' width='1'></td> </tr> <tr> <td colspan='5' class='border'><img alt='' height='2' src='/images/1px.gif' width='1'></td> </tr> <tr> <td class="norm" colspan='5'><img src='/images/1px.gif' width='1' height='5' alt=''></td> </tr> </table> <table align="center" class="greyborder" border="0" cellspacing="0" cellpadding="1" width="90%"> <tr> <td> <table align="center" class="resultsborder" border="0" cellspacing="0" cellpadding="10" width="100%"> <tr> <td> <!-- ********************************************************************************* --> <h1>Search</h1> <p><b>Søk etter</b><br> Du kan søke etter flere ord og kreve at alle dokumentene i resultatet inneholder alle ordene, et av ordene, eller en eksakt frase</p> <p><b>Spørring</b><br> Spørringen kan være et helt ord eller trunkert, som <i>traktor*</i> (vil gi treff på f.eks. <i>traktorsko</i> og <i>traktordekk</i>). <p><b>à r (fra - til)</b><br> For avgrense søket til en tidsperiode fyll i årstall fra og til (evt. kun et av dem for før og etter et gitt årstall). <p><b>Resultatliste</b><br> Når søket er utført, fremkommer en resultatliste. Resultatlisten inneholder enkelttreff med lenke til <i>Tidsakse</i> og <i>Oversikt</i> (se under). <h1>Overview</h1> For each hit in the search result list there is a link to the <i>Overview</i>. The overview shows all the dates for the versions found for a given URL. Click one of the dates to view a specific version in the <i>Timeline</i> view. <h1>Timeline View</h1> The Timeline view shows the different versions of a given URI displayed graphically along a timeline. When entering the Timeline View the latest version available is displayed. The actual archived web page is shown below the Timeline. All links and inline references are altered before the web page is transmitted to user (i.e. the users browser). <p><b>Url</b><br> When navigating from the Overview or the result list of a search interface, the Url of the chosen version is passed along and shown in the Url field. You may also enter a Url manually, but the Url has to be entered exactly as stored in the archive when the web page was harvested. </p> <p><b>Timeline</b><br> The different versions (dates) of a Url are displayed graphically along the timeline. You may navigate between the different versions by directly clicking a specific point on the timeline, or by using the arrown first, previous, next and last. <p><b>Resolution</b><br> When entering the timeline view the resolution is to <i>auto</i>. This means that the timeline automatically drills down to the resolution needed to display single versions along the line. The <i>Auto</i> checkbox may be unchecked in order to manually choose the resolution (choosing a different resolution when in auto also disables auto resolution.</p> <p><b>Search</b><br> To quickly perform a simple search type in a query term and press <i>Go</i>.</p> </td> </tr> </table> </td> </tr> </table> |
From: Michael S. <sta...@us...> - 2005-10-04 22:59:40
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera/src/webapps/wera/test Added Files: findversions.php Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: findversions.php --- <?php /* * Created on Aug 29, 2005 * * $Id: findversions.php,v 1.1 2005/10/04 22:59:28 stack-sf Exp $ */ ?> <html> <head> <meta http-equiv="Content-Language" content="en" /> <meta name="GENERATOR" content="PHPEclipse 1.0" /> <meta http-equiv="Content-Type" content="text/html; charset="utf-8" /> <title>title</title> </head> <body bgcolor="#FFFFFF" text="#000000" link="#FF9966" vlink="#FF9966" alink="#FFCC99"> <?php include ("../lib/config.inc"); include ("../lib/documentLocator.inc"); include($conf_index_file); ?> <form action="findversions.php" method="get"> Url: <input type='text' name='url' value='<?php print $url; ?>' size="50"/><br/> Time: <input type='text' name='timestamp' value='<?php print $timestamp; ?>' size="14"/><br/> Mode: <select name="mode"> <option value="NEAR" <?php if ($mode=="NEAR") print "selected"?>>NEAR</option> <option value="EXACT" <?php if ($mode=="EXACT") print "selected"?>>EXACT</option> <option value="BEFORE" <?php if ($mode=="BEFORE") print "selected"?>>BEFORE</option> <option value="AFTER" <?php if ($mode=="AFTER") print "selected"?>>AFTER</option> <option value="FIRST" <?php if ($mode=="FIRST") print "selected"?>>FIRST</option> <option value="LAST" <?php if ($mode=="LAST") print "selected"?>>LAST</option> <option value="ALL" <?php if ($mode=="ALL") print "selected"?>>ALL</option> </select> <input type="submit" name="name" value="Locate!"/> </form> <pre> <?php $searchEngine = new $conf_index_class(); $locator = new documentLocator(); $locator->initialize($searchEngine, $url, false, $timestamp, $mode); $numhits = $locator->findVersions(); $result = $locator->getResultSet(); print "\n" . $numhits; print_r($result); print "</pre>" ?> </body> </html> |
From: Michael S. <sta...@us...> - 2005-10-04 22:59:40
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/css In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera/src/webapps/wera/css Added Files: style.css Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: style.css --- body { color: #000000; font-family: Verdana,Tahoma,Arial,Helvetica,sans-serif; font-size: 10pt; background: #ffffff; } a { font-size: 10pt } a:link { color: #0066a1 } a:visited { color: #0066a1 } a:active { color: #666666 } a:hover { color: #ff7700 } h1 { font-family: Verdana,Tahoma,Arial,Helvetica,sans-serif; font-size: 12pt; font-weight: bold; color: #0066a1 } h2 { font-family: Verdana,Tahoma,Arial,Helvetica,sans-serif; font-size: 10pt; font-weight: bold; color: #0066a1 } h3 { font-family: Verdana,Tahoma,Arial,Helvetica,sans-serif; font-size: 9pt; font-weight: bold; color: #0066a1 } p { font-family: Verdana,Tahoma,Arial,Helvetica,sans-serif; font-size: 10pt} td { font-family: Verdana,Tahoma,Arial,Helvetica,sans-serif; font-size: 10pt } input { font-family: Verdana,Tahoma,Arial,Helvetica,sans-serif; font-size: 10pt } form { margin: 0px } table { background: #efefef; } td.shade { color: #000000; font-weight: normal; font-size: 9pt; font-family: Verdana, Tahoma, Arial, Helvetica, sans-serif; white-space: nowrap; } td.shade a { font-size: 9pt; } td.norm, td.norm A { background: #ffffff; font-size: 9pt; } td.nav { font-weight: normal; font-size: 14pt; font-family: Verdana, Tahoma, Arial, Helvetica, sans-serif; white-space: nowrap; } td.nav a { font-size: 14pt; } TABLE.results { background-color: #bed0dc; } TABLE.resultsborder { background-color: #ffffff; } TABLE.greyborder { background-color: #606060 } table.blackborder { background-color: #000000 } TD.border { background-color: #606060; } |
From: Michael S. <sta...@us...> - 2005-10-04 22:59:40
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera/src/images Added Files: nwa.jpg Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: nwa.jpg --- (This appears to be a binary file; contents omitted.) |
From: Michael S. <sta...@us...> - 2005-10-04 22:59:40
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera/src/webapps Added Files: ArcRetriever.war Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: ArcRetriever.war --- (This appears to be a binary file; contents omitted.) |
From: Michael S. <sta...@us...> - 2005-10-04 22:59:39
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/articles In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera/src/articles Added Files: manual.xml Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: manual.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> <article> <title>WERA Manual</title> <articleinfo> <releaseinfo>$Id: manual.xml,v 1.3 2005/07/15 17:12:14 sverreb Exp $</releaseinfo> <copyright> <year>2003, 2004</year> <holder>Royal Library in Stockholm</holder> <holder>Royal Library in Copenhagen</holder> <holder>Helsinki University Library in Finland</holder> <holder>National Library of Norway</holder> <holder>National and University Library of Iceland</holder> </copyright> <author> <surname>Bang</surname> <firstname>Sverre</firstname> </author> </articleinfo> <section> <title>Introduction</title> <para>WERA (Web ARchive Access) is a freely available solution for searching and navigating archived web document collections.</para> <para>A web archive may consist of a large number of web documents, but also several versions of the same web document (i.e. the documents where downloaded from the same URL). Potential users of WERA might be anyone that has a web archive. Examples of such users may be:</para> <itemizedlist> <listitem> <para>National Libraries or other organisations collecting parts of the internet for long term preservation.</para> </listitem> <listitem> <para>Companies or organisations keeping a historical collection of their own web site and/or intranet.</para> </listitem> <listitem> <para>Private persons keeping a historical collection of their own web site.</para> </listitem> </itemizedlist> <para>Note that in the following text a archived file and a web page is not necessarily the same thing. What the user experience as one web document may consist of several archived files (e.g. a web page which comprises the html file and the inline images).</para> <section> <title>Overview</title> <para>In order to use WERA for searching, browsing and navigating your archived web documents you will need some additional components. These are:</para> <itemizedlist> <listitem> <para>A Search Engine which holds a full-text index of the archived web documents. Currently the NutchWAX search engine is supported.</para> </listitem> <listitem> <para>A Document Retriever which serves as the interface between the Access module and the web archive. The Document Retriever delivers archived files and associated metadata to WERA upon request.</para> </listitem> </itemizedlist> <para>A key requirement for the web archive is that the web documents contents are stored unaltered and that a metadata set consisting of at least the original url, timestamp and mime-type of the archived files is available.</para> <section> <title>NutchWAX</title> <para>Currently the Jakarta Lucene based NutchWAX search engine is supported. WERA must (at the moment) be downloaded and installed separately. See http://archive-access.sourceforge.net/projects/nutch/ for further information.</para> </section> <section> <title>WERA</title> <para>WERA provides the user with interfaces for searching, browsing and navigating the archived web pages.</para> <para>When the user submits a query, WERA uses the search engine to find the archived files containing the text(s) satisfying the query. When the user asks for a specific URL WERA will return the archived file with that particular URL (e.g. the archived file originally downloaded from the url http://www.nb.no/index.html). Before the file is delivered to the user's browser a javaScript is inserted in the file so that the inline links and references are altered by the browser to point into the archive rather than out to the Internet.</para> <para>The resulting web page is presented with a timeline at the top and the web document below it. The timeline queries the index for all archived versions of the web page and displays the timestamps graphically along the line.<figure> <title>Access</title> <mediaobject> <imageobject> <imagedata fileref="images/access.jpg" /> </imageobject> </mediaobject> </figure></para> <para>Searching a web archive through WERA resembles using a Internet search engine like Google. An example of WERA search interface is shown below.<figure> <title>Search result</title> <mediaobject> <imageobject> <imagedata fileref="images/searchresult.png" /> </imageobject> </mediaobject> </figure></para> <para>Clicking the Overview link of a specific hit will display all the dates for the versions found for the chosen URL (the overview does not contain any information of which versions that actually satisfied the query term given in the first place).</para> <figure> <title>Overview</title> <mediaobject> <imageobject> <imagedata fileref="images/overview.png" /> </imageobject> </mediaobject> </figure> <para>Clicking one of the links in the Overview page will take the user to the Timeline view with the chosen version displayed. Clicking the Timeline link in the Search result page will also take the user to the Timeline page but the version displayed will be the most recent of the versions satisfying the query term given.</para> <figure> <title>Timeline</title> <mediaobject> <imageobject> <imagedata fileref="images/timeline.png" /> </imageobject> </mediaobject> </figure> <para>When navigating from the Overview or the result list of a search interface, the URL of the chosen version is passed along and shown in the URL field. A URL may also be entered manually.</para> <para>Navigation between the different versions is done by directly clicking a specific point on the timeline, or by using the arrows first, previous, next and last.</para> <para>When entering the timeline view the resolution is set to auto. This means that the timeline automatically drills down to the resolution needed to display single versions along the line. The Auto checkbox may be unchecked in order to manually choose the resolution (choosing a different resolution when in auto also disables auto resolution).</para> <para>It is also possible to perform a search from the Timeline by typing in a query term and pressing <emphasis>Go</emphasis>.</para> </section> </section> </section> <section> <title>Installation</title> <para>This chapter describes how to obtain, install and configure WERA..</para> <section> <title>Obtaining WERA</title> <para>The latest version of WERA may be downloaded from WERA <ulink url="http://nwatoolset.sourceforge.net">home page</ulink> at sourceforge.</para> </section> <section> <title>Installing</title> <para>Information on how to distribute the different components of WERA on different hosts will be provided in a later version of WERA.</para> <section> <title>System Requirements</title> <para>WERA and the NWA Adapted Lucene search engine has been tested on different builds of <emphasis>RedHat</emphasis> (7.3, 8, AS2 etc.), <emphasis>Fedora</emphasis> and <emphasis>Suse</emphasis> Linux. There is no reason to believe that the system will not work on other linux/unix ditributions.</para> <itemizedlist> <listitem> <para>A JVM</para> </listitem> <listitem> <para>Apache http server w. PHP 4.3 or 4.4 (make sure that XML support is enabled, see end for details). WERA will NOT work properly with PHP 5, because of the new Object Model in PHP5.</para> <para>If PHP not installed, the quickest solution may be to install XAMPP, http://www.apachefriends.org/en/xampp.html</para> <para><emphasis role="bold">PHP XML support:</emphasis></para> <para>XML support is needed by WERA to handle the search results returned from the NutchWAX search engine. To verify that XML support is enabled in php simply store the following text in a php-file (e.g. info.php) and save it in the apache DocumentRoot directory:</para> <para><userinput><?php phpinfo(); ?></userinput></para> <para>Open up <userinput>http://<yourhost>/info.php</userinput> in a browser and check that PHP has <emphasis role="bold">not</emphasis> been compiled with --disable-xml</para> </listitem> <listitem> <para>Tomcat servlet container (http://jakarta.apache.org/tomcat/index.html). The ArcRetriever web app has been tested on v.5.0.27 and 5.0.28</para> </listitem> <listitem> <para>NutchWAX. A bundling of Nutch and extensions for searching search Web Archive Collections (WACs) http://archive-access.sourceforge.net/projects/nutch/</para> </listitem> </itemizedlist> </section> <section> <title>Java Based Installer</title> <para>To install WERA do the following:</para> <itemizedlist> <listitem> <para>Download wera-x-y-z-installer.tar.gz from sourceforge.</para> </listitem> <listitem> <para>Unpack the gzipped tarball in a temporary directory on the host where you want wera installed.</para> </listitem> <listitem> <para>Invoke the installer using <userinput>java -jar wera-x-y-z-installer.jar</userinput>.</para> </listitem> <listitem> <para>Follow the on-screen instructions.</para> </listitem> </itemizedlist> <para>The installer will confgure WERA in accordance with the input provided by you during the installation process. See the section on manual installation in order to view and change these settings (E.g if NutchWAX and/or your ARC file collection recide on different hosts than WERA.).</para> <para>If the machine you are installing on does not have X installed, or if you are invoking the installer over ssh and X port forwarding is not working properly the installer should fall back to text mode. If this fails, try using the manual install preocedure.</para> </section> <section> <title>Manual installation</title> <para>To install WERA manually do the following:</para> <itemizedlist> <listitem> <para>Download wera-x-y-z-manual-install.tar.gz from sourceforge.</para> </listitem> <listitem> <para>Unpack the gzipped tarball into the Apache document root directory on the host where you want WERA installed.</para> </listitem> <listitem> <para>Move the file ArcRetriever.war from <apcheWebRootDir>/wera/ to the webapps directory of the tomcat installation of the host where your ARC-files recide.</para> </listitem> <listitem> <para>Edit the file <apcheWebRootDir>/wera/lib/config.inc (see below for details).</para> </listitem> </itemizedlist> <section> <title>Settings</title> <para>Settings for WERA can be found in the file <apacheWebRootDir>/wera/lib/config.inc. Edit this file in order to configure WERA for your environment. Parameters to adapt:</para> <table> <title>Settings in config.inc</title> <tgroup cols="2"> <tbody> <row> <entry>$conf_rootpath = "/opt/lampp/htdocs/wera";</entry> <entry>Change this so that it corresponds with your environment i.e. <apacheWebRootDir>/wera (you may of course rename the extracted wera directory to something else, and even choose to place it further down in the directory structure)</entry> </row> <row> <entry>$conf_searchengine_url = "http://localhost:8080/nutchwax/opensearch";</entry> <entry>Open the url http://<nutchwaxhost>:<port>/nutchwax/ and click the RSS icon. The url of this page is the url you want to enter as conf_searchine_url (do not include the query part i.e. the ? and everything preceding it). If nutchwax is installed on the same host as you installed WERA on and tomcat is serving on port 8080, the default setting should work.</entry> </row> <row> <entry>$conf_aid_prefix = "/var/arcs/";</entry> <entry>The current version of the ArcRetriever needs to know where the ARC-files are located. All the ARC-files that you indexed with nucth should be placed in one directory. The path goes into this parameter.</entry> </row> <row> <entry>$conf_aid_suffix = ".arc.gz";</entry> <entry>The suffix of the ARC files in above directory.</entry> </row> <row> <entry>$document_retriever = "http://localhost:8080/ArcRetriever/ArcRetriever";</entry> <entry>Change the host name and port to point the tomcat installation of the host where your ARC-files recide.</entry> </row> <row> <entry>$conf_http_host = "http://localhost/wera";</entry> <entry>Change <emphasis>localhost</emphasis> to the host name of the machine where you are installing WERA. Add the port number if different from 80 (<hostname>:<port>). If you renamed the wera directory or unpacked it further down relative to ApacheWebRoot, update this parameter accordingly.</entry> </row> </tbody> </tgroup> </table> <para>There are other parameters to tweak as well, but for a simple setup of WERA the above settings should do. Information on setting other parameters will be prepared in later releases.</para> </section> </section> </section> </section> <section> <title>Using WERA</title> <para>After installing WERA you should go through the following steps.</para> <orderedlist> <listitem> <para>Test that the ArcRetriever is functioning correctly</para> </listitem> <listitem> <para>Check the search and navigate functionality</para> </listitem> </orderedlist> <para>These steps are described in more detail below.</para> <section> <title>Testing the Retriever</title> <para>In order to test the Retriever try accessing the following urls in a browser (or use <command>wget [URL]</command> from the command line):</para> <itemizedlist> <listitem> <para>http://<hostname>.<domainname>[:port]/<retriever>?reqtype=<reqtype>&aid=<aid></para> </listitem> </itemizedlist> <para>Where <emphasis>retriever</emphasis> is the retriever script doing the retrieval, <emphasis>reqtype</emphasis> is the request type and the <emphasis>aid</emphasis> is the unique identifier (within the archive) for a harvested file. The <emphasis>getmeta</emphasis> request will return archived technical metadata for the file in question and the <emphasis>getfile</emphasis> request will return the archived file itself.</para> <para>To find the aid of one partcular document in your archive open the url http://<nutchwaxhost>:<port>/nutchwax/ and enter execute a query. Scroll down to the RSS icon and click it. For one particular result copy the value of nutch:arcoffset and nutch:arcname and build the aid: <arcoffset>/<conf_aid_prefix><arcname><conf_aid_suffix></para> <para>An example of the result of the getmeta request http://localhost:8080/ArcRetriever/ArcRetriever?aid=5160509//home/wera/arcs/IAH-20041102080031-00007-utvikling1.nb.no.arc.gz&reqtype=getmeta is given below.</para> <screen format="linespecific"><?xml version="1.0" encoding="UTF-8"?> <retrievermessage> <head> <reqtype>getmeta</reqtype> <aid>5160509//home/wera/arcs/IAH-20041102080031-00007-utvikling1.nb.no.arc.gz</aid> </head> <body> <metadata> <url>http://www.nla.gov.au/raam/</url> <archival_time>20041102080756</archival_time> <last_modified_time>20041102080756</last_modified_time> <content_length></content_length> <contenttype> <type>text/html</type> <charset></charset> </contenttype> <filestatus>online</filestatus> <filestatus_long></filestatus_long> <content_checksum>ZBYZIFD6PK5ZHCUQGTKZSZ2LJMZUD554</content_checksum> <http-header>HTTP/1.1 200 OK Date: Tue, 02 Nov 2004 08:07:57 GMT Server: Apache/1.3.29 (Unix) PHP/4.1.2 mod_perl/1.27 mod_jk/1.2.0 mod_ssl/2.8.16 OpenSSL/0.9.6l X-Powered-By: PHP/4.1.2 Connection: close Content-Type: text/html</http-header> </metadata> </body> </retrievermessage></screen> </section> <section> <title>Indexing</title> <para>When indexing, make sure you invoke the NutchWAX indexer (indexarcs.sh) with the <emphasis>-n</emphasis> option. If not, nutchWAX will remove all duplicate urls from the index. Using WERA against such an index will give only one version per url on the WERA timeline.</para> </section> <section> <title>Searching</title> <para>Open a browser and type in the URL http://localhost/wera (or the url to where you installed WERA).</para> </section> </section> </article> |
From: Michael S. <sta...@us...> - 2005-10-04 22:59:39
|
Update of /cvsroot/archive-access/archive-access/projects/wera/xdocs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera/xdocs Added Files: downloads.xml faq.fml navigation.xml requirements.xml Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: faq.fml --- <?xml version="1.0" encoding="UTF-8"?> <faqs title="Frequently Asked Questions"> <part id="general"> <faq id="about"> <question> TODO </question> <answer> <p>TODO </p> </answer> </faq> </part> </faqs> --- NEW FILE: navigation.xml --- <?xml version="1.0" encoding="ISO-8859-1"?> <project name="nutchwax"> <properties> <title>NutchWAX</title> <author email="stack at archive dot org">Michael Stack</author> <revision>$Id: navigation.xml,v 1.1 2005/10/04 22:59:28 stack-sf Exp $</revision> </properties> <body> <menu name="Overview"> <item name="License" href="/license.html"/> <item name="Requirements" href="/requirements.html"/> <item name="Downloads" href="downloads.html"/> <item name="Documentation" > <item name="MANUAL-TODO" href="manual.html"/> <item name="INSTALLATION-TODO" href="installation.html"/> <item name="FAQ" href="faq.html"/> </item> <item name="Browse/Submit a Bug" href="http://sourceforge.net/tracker/?group_id=118427&atid=681137"/> </menu> <footer> <a href="http://sourceforge.net/projects/archive-access/"> <img src="http://sourceforge.net/sflogo.php?group_id=archive-access&type=1" border="0" alt="sf logo"/></a> </footer> </body> </project> --- NEW FILE: requirements.xml --- <?xml version="1.0" encoding="ISO-8859-1"?> <document> <properties> <title>System Runtime Requirements</title> <author email="stack at archive dot org">St.Ack</author> <revision>$Id: requirements.xml,v 1.1 2005/10/04 22:59:28 stack-sf Exp $</revision> </properties> <body> <section name="TODO"> <subsection name="TODO"> <p /> </subsection> </section> </body> </document> --- NEW FILE: downloads.xml --- <?xml version="1.0" encoding="ISO-8859-1"?> <document> <properties> <title>Downloads</title> <author email="stack at archive dot org">St.Ack</author> <revision>$Id: downloads.xml,v 1.1 2005/10/04 22:59:28 stack-sf Exp $</revision> </properties> <body> <section name="Downloads"> <subsection name="Releases"> <p>All releases are available off the <a href="http://sourceforge.net/project/showfiles.php?group_id=118427">Sourceforge Downloads</a> page. </p> </subsection> <subsection name="Continuous build"> <p>Here is a <a href="http://crawltools.archive.org:8080/cruisecontrol/">pointer</a> to our continuous build box. The latest build can be found by clicking on <i>HEAD-archive-access</i>. Bundled up version of the latest build can be found under the 'Build Artifacts' link. Be aware that this distribution has been made from CVS HEAD and CVS HEAD builds are not guaranteed stable. </p> </subsection> </section> </body> </document> |
From: Michael S. <sta...@us...> - 2005-10-04 22:59:39
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/lib/nls/cs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera/src/webapps/wera/lib/nls/cs Added Files: asearch.php.nls documentDispatcher.php.nls index.php.nls search.php.nls top.php.nls Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: search.php.nls --- (This appears to be a binary file; contents omitted.) --- NEW FILE: index.php.nls --- (This appears to be a binary file; contents omitted.) --- NEW FILE: top.php.nls --- "Go" => "Najdi" "Search" => "Hledat" "Viewing" => "Zobrazuji" "version" => "verze" "of" => "z" "Resolution" => "RozliÅ¡enÃ" "Years" => "Roky" "Months" => "MÄsÃce" "Days" => "Dny" "Hours" => "Hodiny" "Minutes" => "Minuty" "Help" => "Pomoc" --- NEW FILE: asearch.php.nls --- (This appears to be a binary file; contents omitted.) --- NEW FILE: documentDispatcher.php.nls --- (This appears to be a binary file; contents omitted.) |
From: Michael S. <sta...@us...> - 2005-10-04 22:59:38
|
Update of /cvsroot/archive-access/archive-access/projects/wera In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23369/wera Added Files: LICENSE.txt README.txt RELEASE-NOTES.txt maven.xml project.properties project.xml Log Message: First time add of wera. Moved here from nwa.nb.no. --- NEW FILE: maven.xml --- <?xml version="1.0"?> <project xmlns:j="jelly:core" xmlns:define="jelly:define" xmlns:doc="doc" xmlns:artifact="artifact" xmlns:util="jelly:util" xmlns:maven="jelly:maven" xmlns:ant="jelly:ant"> <goal name="site:update-sourceforge" description="Update sf."> <exec executable="rsync" > <arg value="--quiet" /> <arg value="--archive" /> <arg value="--rsh=ssh" /> <arg value="${maven.build.dir}/docs/"/> <arg value="${maven.username}@archive-access.sf.net:/home/groups/a/ar/archive-access/htdocs/projects/wera/" /> </exec> </goal> <preGoal name="xdoc:jelly-transform"> <attainGoal name="faq" /> </preGoal> <postGoal name="site:generate" > <copy todir="${maven.build.dir}/docs/images"> <fileset dir="${basedir}/src/images" > <include name="**/*" /> </fileset> </copy> </postGoal> </project> --- NEW FILE: project.properties --- maven.xdoc.version=${pom.currentVersion} maven.docs.outputencoding=UTF-8 # maven.xdoc.theme=classic maven.xdoc.date=left # maven.ui.section.background=#fff # maven.ui.table.row.odd.background=#fff # maven.ui.table.row.even.background=#fff # Tell maven that we're JVM 1.4 exclusively. maven.compile.source = 1.4 maven.compile.target = 1.4 maven.javadoc.source = 1.4 maven.test.source = 1.4 # Have the name of stuff generated in here be nutchwax. maven.final.name=${pom.name}-${pom.currentVersion} --- NEW FILE: project.xml --- <?xml version="1.0" encoding="UTF-8"?> <project> <!-- the version of maven's project object model --> <pomVersion>3</pomVersion> <!-- a unique name for this project --> <id>wera</id> <!-- a short but descriptive name for the project --> <name>WERA</name> <!-- The version of the project under development, e.g. 1.1, 1.2, 2.0-SNAPSHOT --> <currentVersion>0.2.3${version.build.suffix}</currentVersion> <!-- details about the organization that 'owns' the project --> <organization> <name >NWA</name> <url >http://nwa.nb.no/</url> <logo>/images/nwa.jpg</logo> </organization> <!-- the year the project started --> <inceptionYear>2005</inceptionYear> <package>no.nb.nwa</package> <logo /> <description>WERA is an archive viewer application that gives an Internet Archive Wayback Machine-like access to web archive collections. WERA is php5 application based on -- and replacing -- the <a href="http://nwa.nb.no/">NwaToolset</a>. </description> <!-- a short description of what the project does --> <shortDescription>An archive viewer application. </shortDescription> <!-- The project home page --> <url>http://archive-access.sourceforge.net/projects/wera/</url> <siteAddress>archive-access.sourceforge.net</siteAddress> <issueTrackingUrl>https://sourceforge.net/tracker/?group_id=118427&atid=681137 </issueTrackingUrl> <siteDirectory>/home/groups/a/ar/archive-access/htdocs/</siteDirectory> <distributionSite>http://shell.sourceforge.net</distributionSite> <distributionDirectory>/home/users/s/st/${maven.username} </distributionDirectory> <!-- the version control repository and http url for online access the connection element has the form: scm:<system>:<system specific connection string> --> <repository> <connection>scm:cvs:pserver:ano...@cv...:/cvsroot/archive-access:archive-access</connection> <url>http://cvs.sourceforge.net/viewcvs.py/archive-access/projects/wera</url> </repository> <!-- any mailing lists for the project --> <mailingLists> <mailingList> <name> Discussion List</name> <subscribe> http://lists.sourceforge.net/lists/listinfo/archive-access-discuss </subscribe> <unsubscribe> http://lists.sourceforge.net/lists/listinfo/archive-access-discuss </unsubscribe> <archive> http://sourceforge.net/mailarchive/forum.php?forum_id=45842 </archive> </mailingList> <mailingList> <name>CVS Commits</name> <subscribe> http://lists.sourceforge.net/lists/listinfo/archive-access-cvs </subscribe> <unsubscribe> http://lists.sourceforge.net/lists/listinfo/archive-access-cvs </unsubscribe> <archive> http://sourceforge.net/mailarchive/forum.php?forum_id=45842 </archive> </mailingList> </mailingLists> <developers> <developer> <name>Sverre Bang</name> <id>sverreb</id> <email>sverre dot bang at nb dot no</email> <organization>Nasjonalbiblioteket</organization> <url>http://www.nb.no</url> <timezone>+2</timezone> </developer> <developer> <name>Michael Stack</name> <id>stack-sf</id> <email>stack at archive dot org</email> <organization>Internet Archive</organization> <url>http://www.archive.org</url> <timezone>-8</timezone> </developer> </developers> <contributors /> <!--License--> <licenses> <license> <name>GNU LESSER GENERAL PUBLIC LICENSE</name> <url>http://www.gnu.org/licenses/lgpl.txt</url> <distribution>repo</distribution> </license> </licenses> <!-- jar files the project is dependent on --> <dependencies> </dependencies> <!-- build information for the project --> <build> <nagEmailAddress>web...@cr...</nagEmailAddress> <sourceDirectory>src/java</sourceDirectory> <unitTestSourceDirectory>src/java</unitTestSourceDirectory> <unitTest> <includes> <include>**/*Test.java</include> </includes> </unitTest> <defaultGoal>dist</defaultGoal> <resources> <resource> <directory>${basedir}/src/resources</directory> <includes> <include>*.xsl</include> </includes> </resource> <resource> <directory>${basedir}/src/conf/</directory> <includes> <include>profiles/**</include> <include>modules/**</include> <include>selftest/**</include> </includes> </resource> </resources> </build> <!--List of reports to generate. Some are not working. Fix. --> <reports> <report>maven-license-plugin</report> <!--Takes a long time. No one looks at it. Comment in when wanted. <report>maven-changelog-plugin</report> <report>maven-checkstyle-plugin</report> --> <!-- <report>maven-jdepend-plugin</report> <report>maven-junit-report-plugin</report> <report>maven-jxr-plugin</report> <report>maven-pmd-plugin</report> <report>maven-tasklist-plugin</report> --> <!--<report>maven-findbugs-plugin</report> --> <!--<report>maven-developer-activity-plugin</report>--> <!--TODO: <report>maven-file-activity-plugin</report>--> <!--TODO: OOME and takes long time. <report>maven-linkcheck-plugin</report> --> </reports> </project> --- NEW FILE: RELEASE-NOTES.txt --- WERA Release Notes CHANGES / NEW FEATURES ---------------------- v.0.2.2 : * Fixed bug 1277376, duplicate hits in result list (http://sourceforge.net/tracker/index.php?func=detail&aid=1277376&group_id=118427&atid=681137) * WERA now uses NutchWAX's dedup functionality to supress duplicate hits in result list. Gives improved performance. v.0.2.1 : * Support for nutchwax search engine added * Support for nwalucene search removed (replaced by the above) * Support for Fast Search Engine currently not working (will be added in later version) * Advanced search removed (may be added in later version) * New installer, java based. Works both in GUI mode and command line mode. * Server side link rewriting replaced by javascript client side link rewriting Known issues ------------ * Poor manual. Lots of information needs to be added. * When no X installed the Java based installer should fall back to console mode. Some reports of problems with this. If so, install wera manually from wera-manual-install-x.y.z.tar.gz. Unpack and follow the instructions in the manual. * WERA does not work properly with PHP5. Has to do with PHP5's new Object Model. When using the 'NEAR' mode of the documentLocator it will return a resultset concatenated by the resultsets for 'BEFORE' and 'AFTER' instead of returning the one closest in time. Results in wrong aid to the documentRetriever when presenting inline objects. $Id: RELEASE-NOTES.txt,v 1.1 2005/10/04 22:59:26 stack-sf Exp $ --- NEW FILE: LICENSE.txt --- WERA is free software; you can redistribute it and/or modify it under the terms of the GNU General Public license (GPL) reproduced below. GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. <one line to give the program's name and a brief idea of what it does.> Copyright (C) <year> <name of author> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. <signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. --- NEW FILE: README.txt --- $Id: README.txt,v 1.1 2005/10/04 22:59:26 stack-sf Exp $ TODO |
From: Michael S. <sta...@us...> - 2005-10-04 22:52:48
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/lib/nls/no In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22398/no Log Message: Directory /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/lib/nls/no added to the repository |
From: Michael S. <sta...@us...> - 2005-10-04 22:52:45
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/lib/nls/cs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22398/cs Log Message: Directory /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/lib/nls/cs added to the repository |
From: Michael S. <sta...@us...> - 2005-10-04 22:52:45
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/lib/nls/da In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22398/da Log Message: Directory /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/lib/nls/da added to the repository |
From: Michael S. <sta...@us...> - 2005-10-04 22:51:38
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/lib/nls In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22289/nls Log Message: Directory /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/lib/nls added to the repository |
From: Michael S. <sta...@us...> - 2005-10-04 22:51:38
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/lib/seal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22289/seal Log Message: Directory /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/lib/seal added to the repository |
From: Michael S. <sta...@us...> - 2005-10-04 22:47:33
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/help In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21624/help Log Message: Directory /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/help added to the repository |
From: Michael S. <sta...@us...> - 2005-10-04 22:43:26
|
Update of /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20709/images Log Message: Directory /cvsroot/archive-access/archive-access/projects/wera/src/webapps/wera/images added to the repository |