<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.ext-9.eprints-hosting.org/w/index.php?action=history&amp;feed=atom&amp;title=API_EPrints%3A%3ASession</id>
	<title>API EPrints::Session - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?action=history&amp;feed=atom&amp;title=API_EPrints%3A%3ASession"/>
	<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?title=API_EPrints::Session&amp;action=history"/>
	<updated>2026-05-10T08:28:22Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://wiki.ext-9.eprints-hosting.org/w/index.php?title=API_EPrints::Session&amp;diff=6631&amp;oldid=prev</id>
		<title>Tdb01r: Removing all content from page</title>
		<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?title=API_EPrints::Session&amp;diff=6631&amp;oldid=prev"/>
		<updated>2009-08-10T16:30:27Z</updated>

		<summary type="html">&lt;p&gt;Removing all content from page&lt;/p&gt;
&lt;a href=&quot;https://wiki.ext-9.eprints-hosting.org/w/index.php?title=API_EPrints::Session&amp;amp;diff=6631&amp;amp;oldid=6617&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Tdb01r</name></author>
	</entry>
	<entry>
		<id>https://wiki.ext-9.eprints-hosting.org/w/index.php?title=API_EPrints::Session&amp;diff=6617&amp;oldid=prev</id>
		<title>Tdb01r: New page: &lt;!-- Pod2Wiki=_preamble_  This page has been automatically generated from the EPrints source. Any wiki changes made between the &#039;Pod2Wiki=*&#039; and &#039;End of Pod2Wiki&#039; comments will be lost.  -...</title>
		<link rel="alternate" type="text/html" href="https://wiki.ext-9.eprints-hosting.org/w/index.php?title=API_EPrints::Session&amp;diff=6617&amp;oldid=prev"/>
		<updated>2009-08-10T16:15:49Z</updated>

		<summary type="html">&lt;p&gt;New page: &amp;lt;!-- Pod2Wiki=_preamble_  This page has been automatically generated from the EPrints source. Any wiki changes made between the &amp;#039;Pod2Wiki=*&amp;#039; and &amp;#039;End of Pod2Wiki&amp;#039; comments will be lost.  -...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!-- Pod2Wiki=_preamble_ &lt;br /&gt;
This page has been automatically generated from the EPrints source. Any wiki changes made between the &amp;#039;Pod2Wiki=*&amp;#039; and &amp;#039;End of Pod2Wiki&amp;#039; comments will be lost.&lt;br /&gt;
 --&amp;gt;[[Category:API]]&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_name --&amp;gt;=NAME=&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;EPrints::Session&amp;#039;&amp;#039;&amp;#039; - Single connection to the EPrints system&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_description --&amp;gt;=DESCRIPTION=&lt;br /&gt;
This module is not really a session. The name is out of date, buthard to change.&lt;br /&gt;
EPrints::Session represents a connection to the EPrints system. Itconnects to a single EPrints repository, and the database used bythat repository. Thus it has an associated EPrints::Database andEPrints::Repository object.&lt;br /&gt;
Each &amp;quot;session&amp;quot; has a &amp;quot;current language&amp;quot;. If you are running in a multilingual mode, this is used by the HTML rendering functions tochoose what language to return text in.&lt;br /&gt;
The &amp;quot;session&amp;quot; object also knows about the current apache connection,if there is one, including the CGI parameters. &lt;br /&gt;
If the connection requires a username and password then it can also give access to the EPrints::DataObj::User object representing the user who iscausing this request. &lt;br /&gt;
The session object also provides many methods for creating XHTML results which can be returned via the web interface. &lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_new --&amp;gt;==new==&lt;br /&gt;
&lt;br /&gt;
  $session = EPrints::Session-&amp;amp;gt;new( $mode, [$repository_id], [$noise], [$nocheckdb] )&lt;br /&gt;
&lt;br /&gt;
Create a connection to an EPrints repository which provides access to the database and to the repository configuration.&lt;br /&gt;
This method can be called in two modes. Setting $mode to 0 means thisis a connection via a CGI web page. $repository_id is ignored, insteadthe value is taken from the &amp;quot;PerlSetVar EPrints_ArchiveID&amp;quot; option inthe apache configuration for the current directory.&lt;br /&gt;
If this is being called from a command line script, then $mode shouldbe 1, and $repository_id should be the ID of the repository we want toconnect to.&lt;br /&gt;
$mode :mode = 0    - We are online (CGI script)mode = 1    - We are offline (bin script) $repository_id is repository_idmode = 2    - We are online, but don&amp;#039;t create a CGI query (so we&lt;br /&gt;
 don&amp;#039;t consume the data).&lt;br /&gt;
$noise is the level of debugging output.0 - silent1 - quietish2 - noisy3 - debug all SQL statements4 - debug database connection&lt;br /&gt;
 Under normal conditions use &amp;quot;0&amp;quot; for online and &amp;quot;1&amp;quot; for offline.&lt;br /&gt;
$nocheckdb - if this is set to 1 then a connection is made to thedatabase without checking that the tables exist. &lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_request --&amp;gt;==get_request==&lt;br /&gt;
&lt;br /&gt;
  $request = $session-&amp;amp;gt;get_request;&lt;br /&gt;
&lt;br /&gt;
Return the Apache request object (from mod_perl) or undefined if this isn&amp;#039;t a CGI script.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_query --&amp;gt;==get_query==&lt;br /&gt;
&lt;br /&gt;
  $query = $session-&amp;amp;gt;get_query;&lt;br /&gt;
&lt;br /&gt;
Return the CGI.pm object describing the current HTTP query, or undefined if this isn&amp;#039;t a CGI script.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_terminate --&amp;gt;==terminate==&lt;br /&gt;
&lt;br /&gt;
  $session-&amp;amp;gt;terminate&lt;br /&gt;
&lt;br /&gt;
Perform any cleaning up necessary, for example SQL cache tables whichare no longer needed.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_language_related_methods --&amp;gt;==Language Related Methods==&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_session_language --&amp;gt;===get_session_language===&lt;br /&gt;
&lt;br /&gt;
  $langid = EPrints::Session::get_session_language( $repository, $request )&lt;br /&gt;
&lt;br /&gt;
Given an repository object and a Apache (mod_perl) request object, thismethod decides what language the session should be.&lt;br /&gt;
First it looks at the HTTP cookie &amp;quot;eprints_lang&amp;quot;, failing that itlooks at the prefered language of the request from the HTTP header,failing that it looks at the default language for the repository.&lt;br /&gt;
The language ID it returns is the highest on the list that the giveneprint repository actually supports.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_change_lang --&amp;gt;===change_lang===&lt;br /&gt;
&lt;br /&gt;
  $session-&amp;amp;gt;change_lang( $newlangid )&lt;br /&gt;
&lt;br /&gt;
Change the current language of the session. $newlangid should be avalid country code for the current repository.&lt;br /&gt;
An invalid code will cause eprints to terminate with an error.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_html_phrase --&amp;gt;===html_phrase===&lt;br /&gt;
&lt;br /&gt;
  $xhtml_phrase = $session-&amp;amp;gt;html_phrase( $phraseid, %inserts )&lt;br /&gt;
&lt;br /&gt;
Return an XHTML DOM object describing a phrase from the phrase files.&lt;br /&gt;
$phraseid is the id of the phrase to return. If the same ID appearsin both the repository-specific phrases file and the system phrases filethen the repository-specific one is used.&lt;br /&gt;
If the phrase contains &amp;amp;lt;ep:pin&amp;amp;gt; elements, then each one should havean entry in %inserts where the key is the &amp;quot;ref&amp;quot; of the pin and thevalue is an XHTML DOM object describing what the pin should be replaced with.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_phrase --&amp;gt;===phrase===&lt;br /&gt;
&lt;br /&gt;
  $utf8_text = $session-&amp;amp;gt;phrase( $phraseid, %inserts )&lt;br /&gt;
&lt;br /&gt;
Performs the same function as html_phrase, but returns plain text.&lt;br /&gt;
All HTML elements will be removed, &amp;amp;lt;br&amp;amp;gt; and &amp;amp;lt;p&amp;amp;gt; will be converted into breaks in the text. &amp;amp;lt;img&amp;amp;gt; tags will be replaced with their &amp;quot;alt&amp;quot; values.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_lang --&amp;gt;===get_lang===&lt;br /&gt;
&lt;br /&gt;
  $language = $session-&amp;amp;gt;get_lang&lt;br /&gt;
&lt;br /&gt;
Return the EPrints::Language object for this sessions current language.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_langid --&amp;gt;===get_langid===&lt;br /&gt;
&lt;br /&gt;
  $langid = $session-&amp;amp;gt;get_langid&lt;br /&gt;
&lt;br /&gt;
Return the ID code of the current language of this session.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_best_language --&amp;gt;===best_language===&lt;br /&gt;
&lt;br /&gt;
  $value = EPrints::Session::best_language( $repository, $lang, %values )&lt;br /&gt;
&lt;br /&gt;
$repository is the current repository. $lang is the prefered language.&lt;br /&gt;
%values contains keys which are language ids, and values which istext or phrases in those languages, all translations of the same thing.&lt;br /&gt;
This function returns one of the values from %values based on the following logic:&lt;br /&gt;
If possible, return the value for $lang.&lt;br /&gt;
Otherwise, if possible return the value for the default language ofthis repository.&lt;br /&gt;
Otherwise, if possible return the value for &amp;quot;en&amp;quot; (English).&lt;br /&gt;
Otherwise just return any one value.&lt;br /&gt;
This means that the view sees the best possible phrase. &lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_view_name --&amp;gt;===get_view_name===&lt;br /&gt;
&lt;br /&gt;
  $viewname = $session-&amp;amp;gt;get_view_name( $dataset, $viewid )&lt;br /&gt;
&lt;br /&gt;
Return a UTF8 encoded string containing the human readable nameof the /view/ section with the ID $viewid.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_accessor_methods --&amp;gt;==Accessor Methods==&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_database --&amp;gt;===get_database===&lt;br /&gt;
&lt;br /&gt;
  $db = $session-&amp;amp;gt;get_database&lt;br /&gt;
&lt;br /&gt;
Return the current EPrints::Database connection object.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_storage --&amp;gt;===get_storage===&lt;br /&gt;
&lt;br /&gt;
  $store = $session-&amp;amp;gt;get_storage&lt;br /&gt;
&lt;br /&gt;
Return the storage control object.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_repository --&amp;gt;===get_repository===&lt;br /&gt;
&lt;br /&gt;
  $repository = $session-&amp;amp;gt;get_repository&lt;br /&gt;
&lt;br /&gt;
Return the EPrints::Repository object associated with the Session.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_url --&amp;gt;===get_url===&lt;br /&gt;
&lt;br /&gt;
  $url = $session-&amp;amp;gt;get_url( [ @OPTS ] [, $page] )&lt;br /&gt;
&lt;br /&gt;
Utility method to get various URLs. See L!EPrints::URL!. With no arguments returns the same as get_uri().&lt;br /&gt;
  # Return the current static path&lt;br /&gt;
  $session-&amp;amp;gt;get_url( path =&amp;amp;gt; &amp;quot;static&amp;quot; );&lt;br /&gt;
  # Return the current cgi path&lt;br /&gt;
  $session-&amp;amp;gt;get_url( path =&amp;amp;gt; &amp;quot;cgi&amp;quot; );&lt;br /&gt;
  # Return a full URL to the current cgi path&lt;br /&gt;
  $session-&amp;amp;gt;get_url( host =&amp;amp;gt; 1, path =&amp;amp;gt; &amp;quot;cgi&amp;quot; );&lt;br /&gt;
  # Return a full URL to the static path under HTTP&lt;br /&gt;
  $session-&amp;amp;gt;get_url( scheme =&amp;amp;gt; &amp;quot;http&amp;quot;, host =&amp;amp;gt; 1, path =&amp;amp;gt; &amp;quot;static&amp;quot; );&lt;br /&gt;
  # Return a full URL to the image &amp;#039;foo.png&amp;#039;&lt;br /&gt;
  $session-&amp;amp;gt;get_url( host =&amp;amp;gt; 1, path =&amp;amp;gt; &amp;quot;images&amp;quot;, &amp;quot;foo.png&amp;quot; );&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_uri --&amp;gt;===get_uri===&lt;br /&gt;
&lt;br /&gt;
  $uri = $session-&amp;amp;gt;get_uri&lt;br /&gt;
&lt;br /&gt;
Returns the URL of the current script. Or &amp;quot;undef&amp;quot;.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_full_url --&amp;gt;===get_full_url===&lt;br /&gt;
&lt;br /&gt;
  $uri = $session-&amp;amp;gt;get_full_url&lt;br /&gt;
&lt;br /&gt;
Returns the URL of the current script plus the CGI params.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_noise --&amp;gt;===get_noise===&lt;br /&gt;
&lt;br /&gt;
  $noise_level = $session-&amp;amp;gt;get_noise&lt;br /&gt;
&lt;br /&gt;
Return the noise level for the current session. See the explainationunder EPrints::Session-&amp;amp;gt;new()&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_online --&amp;gt;===get_online===&lt;br /&gt;
&lt;br /&gt;
  $boolean = $session-&amp;amp;gt;get_online&lt;br /&gt;
&lt;br /&gt;
Return true if this script is running via CGI, return false if we&amp;#039;reon the command line.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_secure --&amp;gt;===get_secure===&lt;br /&gt;
&lt;br /&gt;
  $secure = $session-&amp;amp;gt;get_secure&lt;br /&gt;
&lt;br /&gt;
Returns true if we&amp;#039;re using HTTPS/SSL (checks get_online first).&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_dom_related_methods --&amp;gt;==DOM Related Methods==&lt;br /&gt;
These methods help build XML. Usually, but not always XHTML.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_make_element --&amp;gt;===make_element===&lt;br /&gt;
&lt;br /&gt;
  $dom = $session-&amp;amp;gt;make_element( $element_name, %attribs )&lt;br /&gt;
&lt;br /&gt;
Return a DOM element with name ename and the specified attributes.&lt;br /&gt;
eg. $session-&amp;amp;gt;make_element( &amp;quot;img&amp;quot;, src =&amp;amp;gt; &amp;quot;/foo.gif&amp;quot;, alt =&amp;amp;gt; &amp;quot;my pic&amp;quot; )&lt;br /&gt;
Will return the DOM object describing:&lt;br /&gt;
&amp;amp;lt;img src=&amp;quot;/foo.gif&amp;quot; alt=&amp;quot;my pic&amp;quot; /&amp;amp;gt;&lt;br /&gt;
Note that in the call we use &amp;quot;=&amp;amp;gt;&amp;quot; not &amp;quot;=&amp;quot;.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_make_indent --&amp;gt;===make_indent===&lt;br /&gt;
&lt;br /&gt;
  $dom = $session-&amp;amp;gt;make_indent( $width )&lt;br /&gt;
&lt;br /&gt;
Return a DOM object describing a C.R. and then $width spaces. Thisis used to make nice looking XML for things like the OAI interface.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_make_comment --&amp;gt;===make_comment===&lt;br /&gt;
&lt;br /&gt;
  $dom = $session-&amp;amp;gt;make_comment( $text )&lt;br /&gt;
&lt;br /&gt;
Return a DOM object describing a comment containing $text.&lt;br /&gt;
eg.&lt;br /&gt;
&amp;amp;lt;!-- this is a comment --&amp;amp;gt;&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_make_text --&amp;gt;===make_text===&lt;br /&gt;
&lt;br /&gt;
  $DOM = $session-&amp;amp;gt;make_text( $text )&lt;br /&gt;
&lt;br /&gt;
Return a DOM object containing the given text. $text should beUTF-8 encoded.&lt;br /&gt;
Characters will be treated as _text_ including &amp;amp;lt; &amp;amp;gt; etc.&lt;br /&gt;
eg.&lt;br /&gt;
$session-&amp;amp;gt;make_text( &amp;quot;This is &amp;amp;lt;b&amp;amp;gt; an example&amp;quot; );&lt;br /&gt;
Would return a DOM object representing the XML:&lt;br /&gt;
&amp;quot;This is &amp;amp;amp;lt;b&amp;amp;amp;gt; an example&amp;quot;&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_make_javascript --&amp;gt;===make_javascript===&lt;br /&gt;
&lt;br /&gt;
  $DOM = $session-&amp;amp;gt;make_javascript( $code, %attribs )&lt;br /&gt;
&lt;br /&gt;
Return a new DOM &amp;quot;script&amp;quot; element containing $code in javascript. %attribs willbe added to the script element, similar to make_element().&lt;br /&gt;
E.g.&lt;br /&gt;
  &amp;amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;amp;gt;&lt;br /&gt;
  // &amp;amp;lt;![CDATA[&lt;br /&gt;
  alert(&amp;quot;Hello, World!&amp;quot;);&lt;br /&gt;
  // ]]&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;/script&amp;amp;gt;&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_make_doc_fragment --&amp;gt;===make_doc_fragment===&lt;br /&gt;
&lt;br /&gt;
  $fragment = $session-&amp;amp;gt;make_doc_fragment&lt;br /&gt;
&lt;br /&gt;
Return a new XML document fragment. This is an item which can haveXML elements added to it, but does not actually get rendered itself.&lt;br /&gt;
If appended to an element then it disappears and its children jointhe element at that point.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_xhtml_related_methods --&amp;gt;==XHTML Related Methods==&lt;br /&gt;
These methods help build XHTML.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_ruler --&amp;gt;===render_ruler===&lt;br /&gt;
&lt;br /&gt;
  $ruler = $session-&amp;amp;gt;render_ruler&lt;br /&gt;
&lt;br /&gt;
Return an HR.in ruler.xml&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_nbsp --&amp;gt;===render_nbsp===&lt;br /&gt;
&lt;br /&gt;
  $nbsp = $session-&amp;amp;gt;render_nbsp&lt;br /&gt;
&lt;br /&gt;
Return an XHTML &amp;amp;amp;nbsp; character.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_data_element --&amp;gt;===render_data_element===&lt;br /&gt;
&lt;br /&gt;
  $xhtml = $session-&amp;amp;gt;render_data_element( $indent, $elementname, $value, [%opts] )&lt;br /&gt;
&lt;br /&gt;
This is used to help render neat XML data. It returns a fragment containing an element of name $elementname containing the value$value, the element is indented by $indent spaces.&lt;br /&gt;
The %opts describe any extra attributes for the element&lt;br /&gt;
eg.$session-&amp;amp;gt;render_data_element( 4, &amp;quot;foo&amp;quot;, &amp;quot;bar&amp;quot;, class=&amp;amp;gt;&amp;quot;fred&amp;quot; )&lt;br /&gt;
would return a XML DOM object describing:&lt;br /&gt;
    &amp;amp;lt;foo class=&amp;quot;fred&amp;quot;&amp;amp;gt;bar&amp;amp;lt;/foo&amp;amp;gt;&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_link --&amp;gt;===render_link===&lt;br /&gt;
&lt;br /&gt;
  $xhtml = $session-&amp;amp;gt;render_link( $uri, [$target] )&lt;br /&gt;
&lt;br /&gt;
Returns an HTML link to the given uri, with the optional $target ifit needs to point to a different frame or window.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_row --&amp;gt;===render_row===&lt;br /&gt;
&lt;br /&gt;
  $table_row = $session-&amp;amp;gt;render_row( $key, @values );&lt;br /&gt;
&lt;br /&gt;
Return the key and values in a DOM encoded HTML table row. eg.&lt;br /&gt;
 &amp;amp;lt;tr&amp;amp;gt;&amp;amp;lt;th&amp;amp;gt;$key:&amp;amp;lt;/th&amp;amp;gt;&amp;amp;lt;td&amp;amp;gt;$value[0]&amp;amp;lt;/td&amp;amp;gt;&amp;amp;lt;td&amp;amp;gt;...&amp;amp;lt;/td&amp;amp;gt;&amp;amp;lt;/tr&amp;amp;gt;&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_language_name --&amp;gt;===render_language_name===&lt;br /&gt;
&lt;br /&gt;
  $xhtml = $session-&amp;amp;gt;render_language_name( $langid ) Return a DOM object containing the description of the specified languagein the current default language, or failing that from languages.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_type_name --&amp;gt;===render_type_name===&lt;br /&gt;
&lt;br /&gt;
  $xhtml = $session-&amp;amp;gt;render_type_name( $type_set, $type ) &lt;br /&gt;
&lt;br /&gt;
Return a DOM object containing the description of the specified typein the type set. eg. &amp;quot;eprint&amp;quot;, &amp;quot;article&amp;quot;&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_type_name --&amp;gt;===get_type_name===&lt;br /&gt;
&lt;br /&gt;
  $string = $session-&amp;amp;gt;get_type_name( $type_set, $type ) &lt;br /&gt;
&lt;br /&gt;
As above, but return a utf-8 string. Used in &amp;amp;lt;option&amp;amp;gt; elements, forexample.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_name --&amp;gt;===render_name===&lt;br /&gt;
&lt;br /&gt;
  $xhtml_name = $session-&amp;amp;gt;render_name( $name, [$familylast] )&lt;br /&gt;
&lt;br /&gt;
$name is a ref. to a hash containing family, given etc.&lt;br /&gt;
Returns an XML DOM fragment with the name rendered in the mannerof the repository. Usually &amp;quot;John Smith&amp;quot;.&lt;br /&gt;
If $familylast is set then the family and given parts are reversed, eg.&amp;quot;Smith, John&amp;quot;&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_option_list --&amp;gt;===render_option_list===&lt;br /&gt;
&lt;br /&gt;
  $xhtml_select = $session-&amp;amp;gt;render_option_list( %params )&lt;br /&gt;
&lt;br /&gt;
This method renders an XHTML &amp;amp;lt;select&amp;amp;gt;. The options are complicatedand may change, so it&amp;#039;s better not to use it.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_single_option --&amp;gt;===render_single_option===&lt;br /&gt;
&lt;br /&gt;
  $option = $session-&amp;amp;gt;render_single_option( $key, $desc, $selected )&lt;br /&gt;
&lt;br /&gt;
Used by render_option_list.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_hidden_field --&amp;gt;===render_hidden_field===&lt;br /&gt;
&lt;br /&gt;
  $xhtml_hidden = $session-&amp;amp;gt;render_hidden_field( $name, $value )&lt;br /&gt;
&lt;br /&gt;
Return the XHTML DOM describing an &amp;amp;lt;input&amp;amp;gt; element of type &amp;quot;hidden&amp;quot;and name and value as specified. eg.&lt;br /&gt;
&amp;amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;foo&amp;quot; value=&amp;quot;bar&amp;quot; /&amp;amp;gt;&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_upload_field --&amp;gt;===render_upload_field===&lt;br /&gt;
&lt;br /&gt;
  $xhtml_uploda = $session-&amp;amp;gt;render_upload_field( $name )&lt;br /&gt;
&lt;br /&gt;
Render into XHTML DOM a file upload form button with the given name. &lt;br /&gt;
eg.&amp;amp;lt;input type=&amp;quot;file&amp;quot; name=&amp;quot;foo&amp;quot; /&amp;amp;gt;&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_action_buttons --&amp;gt;===render_action_buttons===&lt;br /&gt;
&lt;br /&gt;
  $dom = $session-&amp;amp;gt;render_action_buttons( %buttons )&lt;br /&gt;
&lt;br /&gt;
Returns a DOM object describing the set of buttons.&lt;br /&gt;
The keys of %buttons are the ids of the action that button will cause,the values are UTF-8 text that should appear on the button.&lt;br /&gt;
Two optional additional keys may be used:&lt;br /&gt;
_order =&amp;amp;gt; [ &amp;quot;action1&amp;quot;, &amp;quot;action2&amp;quot; ]&lt;br /&gt;
will force the buttons to appear in a set order.&lt;br /&gt;
_class =&amp;amp;gt; &amp;quot;my_css_class&amp;quot; &lt;br /&gt;
will add a class attribute to the &amp;amp;lt;div&amp;amp;gt; containing the buttons to allow additional styling.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_internal_buttons --&amp;gt;===render_internal_buttons===&lt;br /&gt;
&lt;br /&gt;
  $dom = $session-&amp;amp;gt;render_internal_buttons( %buttons )&lt;br /&gt;
&lt;br /&gt;
As for render_action_buttons, but creates buttons for actions whichwill modify the state of the current form, not continue with whateverprocess the form is part of.&lt;br /&gt;
eg. the &amp;quot;More Spaces&amp;quot; button and the up and down arrows on multipletype fields.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_form --&amp;gt;===render_form===&lt;br /&gt;
&lt;br /&gt;
  $dom = $session-&amp;amp;gt;render_form( $method, $dest )&lt;br /&gt;
&lt;br /&gt;
Return a DOM object describing an HTML form element. &lt;br /&gt;
$method should be &amp;quot;get&amp;quot; or &amp;quot;post&amp;quot;&lt;br /&gt;
$dest is the target of the form. By default the current page.&lt;br /&gt;
eg.&lt;br /&gt;
$session-&amp;amp;gt;render_form( &amp;quot;GET&amp;quot;, &amp;quot;http://example.com/cgi/foo&amp;quot; );&lt;br /&gt;
returns a DOM object representing:&lt;br /&gt;
&amp;amp;lt;form method=&amp;quot;get&amp;quot; action=&amp;quot;http://example.com/cgi/foo&amp;quot; accept-charset=&amp;quot;utf-8&amp;quot; /&amp;amp;gt;&lt;br /&gt;
If $method is &amp;quot;post&amp;quot; then an addition attribute is set:enctype=&amp;quot;multipart/form-data&amp;quot; &lt;br /&gt;
This just controls how the data is passed from the browser to theCGI library. You don&amp;#039;t need to worry about it.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_subjects --&amp;gt;===render_subjects===&lt;br /&gt;
&lt;br /&gt;
  $ul = $session-&amp;amp;gt;render_subjects( $subject_list, [$baseid], [$currentid], [$linkmode], [$sizes] )&lt;br /&gt;
&lt;br /&gt;
Return as XHTML DOM a nested set of &amp;amp;lt;ul&amp;amp;gt; and &amp;amp;lt;li&amp;amp;gt; tags describingpart of a subject tree.&lt;br /&gt;
$subject_list is a array ref of subject ids to render.&lt;br /&gt;
$baseid is top top level node to render the tree from. If only a singlesubject is in subject_list, all subjects up to $baseid will still berendered. Default is the ROOT element.&lt;br /&gt;
If $currentid is set then the subject with that ID is rendered in&amp;amp;lt;strong&amp;amp;gt;&lt;br /&gt;
$linkmode can 0, 1, 2 or 3.&lt;br /&gt;
0. Don&amp;#039;t link the subjects.&lt;br /&gt;
1. Links subjects to the URL which edits them in edit_subjects.&lt;br /&gt;
2. Links subjects to &amp;quot;subjectid.html&amp;quot; (where subjectid is the id of the subject)&lt;br /&gt;
3. Links the subjects to &amp;quot;subjectid/&amp;quot;.  $sizes must be set. Only subjects with a size of more than one are linked.&lt;br /&gt;
4. Links the subjects to &amp;quot;../subjectid/&amp;quot;.  $sizes must be set. Only subjects with a size of more than one are linked.&lt;br /&gt;
$sizes may be a ref. to hash mapping the subjectid&amp;#039;s to the numberof items in that subject which will be rendered in brackets next toeach subject.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_error --&amp;gt;===render_error===&lt;br /&gt;
&lt;br /&gt;
  $session-&amp;amp;gt;render_error( $error_text, $back_to, $back_to_text )&lt;br /&gt;
&lt;br /&gt;
Renders an error page with the given error text. A link, with thetext $back_to_text, is offered, the destination of this is $back_to,which should take the user somewhere sensible.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_render_input_form --&amp;gt;===render_input_form===&lt;br /&gt;
&lt;br /&gt;
  $dom = $session-&amp;amp;gt;render_input_form( %params )&lt;br /&gt;
&lt;br /&gt;
Return a DOM object representing an entire input form.&lt;br /&gt;
%params contains the following options:&lt;br /&gt;
dataset: The EPrints::Dataset to which the form relates, if any.&lt;br /&gt;
fields: a reference to an array of EPrint::MetaField objects,which describe the fields to be added to the form.&lt;br /&gt;
values: a set of default values. A reference to a hash wherethe keys are ID&amp;#039;s of fields, and the values are the defaultvalues for those fields.&lt;br /&gt;
show_help: if true, show the fieldhelp phrase for each input field.&lt;br /&gt;
show_name: if true, show the fieldname phrase for each input field.&lt;br /&gt;
buttons: a description of the buttons to appear at the bottomof the form. See render_action_buttons for details.&lt;br /&gt;
top_buttons: a description of the buttons to appear at the topof the form (optional).&lt;br /&gt;
default_action: the id of the action to be performed by default, ie. if the user pushes &amp;quot;return&amp;quot; in a text field.&lt;br /&gt;
dest: The URL of the target for this form. If not defined thenthe current URI is used.&lt;br /&gt;
type: if this form relates to a user or an eprint, the type ofeprint/user can effect what fields are flagged as required. Thisparam contains the ID of the eprint/user if any, and if relevant.&lt;br /&gt;
staff: if true, this form is being presented to repository staff (admin, or editor). This may change which fields are required.&lt;br /&gt;
hidden_fields: reference to a hash. The keys of which are CGI keysand the values are the values they are set to. This causes hiddenform elements to be set, so additional information can be passed.&lt;br /&gt;
object: The DataObj which this form is editing, if any.&lt;br /&gt;
comment: not yet used.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_methods_relating_to_the_current_xhtml_page --&amp;gt;==Methods relating to the current XHTML page==&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_write_static_page --&amp;gt;===write_static_page===&lt;br /&gt;
&lt;br /&gt;
  $session-&amp;amp;gt;write_static_page( $filebase, $parts, [$page_id], [$wrote_files] )&lt;br /&gt;
&lt;br /&gt;
Write an .html file plus a set of files describing the parts of thepage for use with the dynamic template option.&lt;br /&gt;
File base is the name of the page without the .html suffix.&lt;br /&gt;
parts is a reference to a hash containing DOM trees.&lt;br /&gt;
If $wrote_files is defined then any filenames written are logged in it as keys.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_prepare_page --&amp;gt;===prepare_page===&lt;br /&gt;
&lt;br /&gt;
  $session-&amp;amp;gt;prepare_page( $parts, %options )&lt;br /&gt;
&lt;br /&gt;
Create an XHTML page for this session. &lt;br /&gt;
$parts is a hash of XHTML elements to insert into the pins in thetemplate. Usually: title, page. Maybe pagetop and head.&lt;br /&gt;
If template is set then an alternate template file is used.&lt;br /&gt;
This function only builds the page it does not output it any way, seethe methods below for that.&lt;br /&gt;
Options include:&lt;br /&gt;
page_id=&amp;amp;gt;&amp;quot;id to put in body tag&amp;quot;template=&amp;amp;gt;&amp;quot;The template to use instead of default.&amp;quot;&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_send_page --&amp;gt;===send_page===&lt;br /&gt;
&lt;br /&gt;
  $session-&amp;amp;gt;send_page( %httpopts )&lt;br /&gt;
&lt;br /&gt;
Send a web page out by HTTP. Only relevant if this is a CGI script.build_page must have been called first.&lt;br /&gt;
See send_http_header for an explanation of %httpopts&lt;br /&gt;
Dispose of the XML once it&amp;#039;s sent out.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_page_to_file --&amp;gt;===page_to_file===&lt;br /&gt;
&lt;br /&gt;
  $session-&amp;amp;gt;page_to_file( $filename, [$wrote_files] )&lt;br /&gt;
&lt;br /&gt;
Write out the current webpage to the given filename.&lt;br /&gt;
build_page must have been called first.&lt;br /&gt;
Dispose of the XML once it&amp;#039;s sent out.&lt;br /&gt;
If $wrote_files is set then keys are created in it for each filecreated.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_set_page --&amp;gt;===set_page===&lt;br /&gt;
&lt;br /&gt;
  $session-&amp;amp;gt;set_page( $newhtml )&lt;br /&gt;
&lt;br /&gt;
Erase the current page for this session, if any, and replace it withthe XML DOM structure described by $newhtml.&lt;br /&gt;
This page is what is output by page_to_file or send_page.&lt;br /&gt;
$newhtml is a normal DOM Element, not a document object.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_clone_for_me --&amp;gt;===clone_for_me===&lt;br /&gt;
&lt;br /&gt;
  $copy_of_node = $session-&amp;amp;gt;clone_for_me( $node, [$deep] )&lt;br /&gt;
&lt;br /&gt;
XML DOM items can only be added to the document which they belong to.&lt;br /&gt;
A EPrints::Session has it&amp;#039;s own XML DOM DOcument. &lt;br /&gt;
This method copies an XML node from _any_ document. The copy belongsto this sessions document.&lt;br /&gt;
If $deep is set then the children, (and their children etc.), are copied too.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_redirect --&amp;gt;===redirect===&lt;br /&gt;
&lt;br /&gt;
  $session-&amp;amp;gt;redirect( $url, [%opts] )&lt;br /&gt;
&lt;br /&gt;
Redirects the browser to $url.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_not_found --&amp;gt;===not_found===&lt;br /&gt;
&lt;br /&gt;
  $session-&amp;amp;gt;not_found( [ $message ] )&lt;br /&gt;
&lt;br /&gt;
Send a 404 Not Found header. If $message is undef sets message to&amp;#039;Not Found&amp;#039; but does &amp;#039;&amp;#039;&amp;#039;NOT&amp;#039;&amp;#039;&amp;#039; print an error message, otherwisedefaults to the normal 404 Not Found type response.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_send_http_header --&amp;gt;===send_http_header===&lt;br /&gt;
&lt;br /&gt;
  $session-&amp;amp;gt;send_http_header( %opts )&lt;br /&gt;
&lt;br /&gt;
Send the HTTP header. Only makes sense if this is running as a CGI script.&lt;br /&gt;
Opts supported are:&lt;br /&gt;
content_type. Default value is &amp;quot;text/html; charset=UTF-8&amp;quot;. This setsthe http content type header.&lt;br /&gt;
lang. If this is set then a cookie setting the language preferenceis set in the http header.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_input_methods --&amp;gt;==Input Methods==&lt;br /&gt;
These handle input from the user, browser and apache.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_param --&amp;gt;===param===&lt;br /&gt;
&lt;br /&gt;
  $value or @values = $session-&amp;amp;gt;param( $name )&lt;br /&gt;
&lt;br /&gt;
Passes through to CGI.pm param method.&lt;br /&gt;
$value = $session-&amp;amp;gt;param( $name ): returns the value of CGI parameter$name.&lt;br /&gt;
$value = $session-&amp;amp;gt;param( $name ): returns the value of CGI parameter$name.&lt;br /&gt;
@values = $session-&amp;amp;gt;param: returns an array of the names of all theCGI parameters in the current request.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_have_parameters --&amp;gt;===have_parameters===&lt;br /&gt;
&lt;br /&gt;
  $bool = $session-&amp;amp;gt;have_parameters&lt;br /&gt;
&lt;br /&gt;
Return true if the current script had any parameters (post or get)&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_current_user --&amp;gt;===current_user===&lt;br /&gt;
&lt;br /&gt;
  $user = $session-&amp;amp;gt;current_user&lt;br /&gt;
&lt;br /&gt;
Return the current EPrints::DataObj::User for this session.&lt;br /&gt;
Return undef if there isn&amp;#039;t one.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_seen_form --&amp;gt;===seen_form===&lt;br /&gt;
&lt;br /&gt;
  $boolean = $session-&amp;amp;gt;seen_form&lt;br /&gt;
&lt;br /&gt;
Return true if the current request contains the values from aform generated by EPrints.&lt;br /&gt;
This is identified by a hidden field placed into forms named_seen with value &amp;quot;true&amp;quot;.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_internal_button_pressed --&amp;gt;===internal_button_pressed===&lt;br /&gt;
&lt;br /&gt;
  $boolean = $session-&amp;amp;gt;internal_button_pressed( $buttonid )&lt;br /&gt;
&lt;br /&gt;
Return true if a button has been pressed in a form which is intendedto reload the current page with some change.&lt;br /&gt;
Examples include the &amp;quot;more spaces&amp;quot; button on multiple fields, the &amp;quot;lookup&amp;quot; button on succeeds, etc.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_action_button --&amp;gt;===get_action_button===&lt;br /&gt;
&lt;br /&gt;
  $action_id = $session-&amp;amp;gt;get_action_button&lt;br /&gt;
&lt;br /&gt;
Return the ID of the eprint action button which has been pressed ina form, if there was one. The name of the button is &amp;quot;_action_&amp;quot; followed by the id. &lt;br /&gt;
This also handles the .x and .y inserted in image submit.&lt;br /&gt;
This is designed to get back the name of an action button createdby render_action_buttons.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_internal_button --&amp;gt;===get_internal_button===&lt;br /&gt;
&lt;br /&gt;
  $button_id = $session-&amp;amp;gt;get_internal_button&lt;br /&gt;
&lt;br /&gt;
Return the id of the internal button which has been pushed, or undef if one wasn&amp;#039;t.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_client --&amp;gt;===client===&lt;br /&gt;
&lt;br /&gt;
  $client = $session-&amp;amp;gt;client&lt;br /&gt;
&lt;br /&gt;
Return a string representing the kind of browser that made the current request.&lt;br /&gt;
Options are GECKO, LYNX, MSIE4, MSIE5, MSIE6, ?.&lt;br /&gt;
GECKO covers mozilla and firefox.&lt;br /&gt;
? is what&amp;#039;s returned if none of the others were matched.&lt;br /&gt;
These divisions are intended for modifying the way pages are renderednot logging what browser was used. Hence merging mozilla and firefox.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_http_status --&amp;gt;===get_http_status===&lt;br /&gt;
&lt;br /&gt;
  $status = $session-&amp;amp;gt;get_http_status&lt;br /&gt;
&lt;br /&gt;
Return the status of the current HTTP request.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_methods_related_to_plugins --&amp;gt;==Methods related to Plugins==&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_plugin --&amp;gt;===plugin===&lt;br /&gt;
&lt;br /&gt;
  $plugin = $session-&amp;amp;gt;plugin( $pluginid )&lt;br /&gt;
&lt;br /&gt;
Return the plugin with the given pluginid, in this repository or, failingthat, from the system level plugins.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_plugin_list --&amp;gt;===plugin_list===&lt;br /&gt;
&lt;br /&gt;
  @plugin_ids  = $session-&amp;amp;gt;plugin_list( %restrictions )&lt;br /&gt;
&lt;br /&gt;
Return either a list of all the plugins available to this repository orreturn a list of available plugins which can accept the given restrictions.&lt;br /&gt;
Restictions:&lt;br /&gt;
 vary depending on the type of the plugin.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_get_plugins --&amp;gt;===get_plugins===&lt;br /&gt;
&lt;br /&gt;
  @plugins = $session-&amp;amp;gt;get_plugins( [ $params, ] %restrictions )&lt;br /&gt;
&lt;br /&gt;
Returns a list of plugin objects that conform to %restrictions (may be empty).&lt;br /&gt;
If $params is given uses that hash reference to initialise the plugins. Always passes this session to the plugin constructor method.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=head_other_methods --&amp;gt;==Other Methods==&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_microtime --&amp;gt;===microtime===&lt;br /&gt;
&lt;br /&gt;
  $time = EPrints::Session::microtime();&lt;br /&gt;
&lt;br /&gt;
This function is currently buggy so just returns the time in seconds.&lt;br /&gt;
Return the time of day in seconds, but to a precision of microseconds.&lt;br /&gt;
Accuracy depends on the operating system etc.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_mail_administrator --&amp;gt;===mail_administrator===&lt;br /&gt;
&lt;br /&gt;
  $foo = $session-&amp;amp;gt;mail_administrator( $subjectid, $messageid, %inserts )&lt;br /&gt;
&lt;br /&gt;
Sends a mail to the repository administrator with the given subject andmessage body.&lt;br /&gt;
$subjectid is the name of a phrase in the phrase file to usefor the subject.&lt;br /&gt;
$messageid is the name of a phrase in the phrase file to use as thebasis for the mail body.&lt;br /&gt;
%inserts is a hash. The keys are the pins in the messageid phrase andthe values the utf8 strings to replace the pins with.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=item_destroy --&amp;gt;===destroy===&lt;br /&gt;
&lt;br /&gt;
  $session-&amp;amp;gt;DESTROY&lt;br /&gt;
&lt;br /&gt;
Destructor. Don&amp;#039;t call directly.&lt;br /&gt;
&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Pod2Wiki=_postamble_ --&amp;gt;&amp;lt;!-- End of Pod2Wiki --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tdb01r</name></author>
	</entry>
</feed>