#!/usr/bin/perl -w # (C) 2004 Identity Commons. All Rights Reserved. # See LICENSE for licensing details # Author: Fen Labalme , use CGI; use HTML::Entities; use lib ".."; # in case XRI isn't installed yet use XRI; my $q = new CGI; my $myurl = $q->url; # print header and form # print $q->header . $q->start_html('XRI Resolver GUI') . $q->h3('XRI Resolver GUI') . $q->start_form . "

XRI:" . $q->textfield(-name=>xri, -default=>'', -override=>1, -size=>50 ) . "

E.g., try one of these (the second two are synonyms):\n" . $q->ul( $q->li([ $q->a({href=>"$myurl?xri=xri:\@pw*user"},"xri:\@pw*user"), $q->a({href=>"$myurl?xri=xri:(mailto:user\@example.com)*home/quotes"}, "xri:(mailto:user\@example.com)*home/quotes"), $q->a({href=>"$myurl?xri=xri:*home/quotes"},"xri:*home/quotes"), $q->a({href=>"$myurl?xri=xri://yahoo.com"},"xri://yahoo.com"), ]) ) . # "HTTP URL of custom Roots XML:" . # $q->textfield(rootsurl) . "(optional)
" . "See the default xriroots.xml file

" . $q->submit(-name=>Resolve) . $q->end_form; # if SUBMIT, then call Resolver # if ($q->param) { my ($laxri, $authXML); my $xriv = $q->param('xri'); print "
    \n
  1. Resolving: $xriv
  2. \n"; # FIXME: rootsurl is ignored (so is this call to readRoots) # if ($q->param('rootsurl')) { XRI::readRoots($q->param('rootsurl')); print "
  3. Successfully loaded new roots file from ", $q->param('rootsurl'), "
  4. \n"; } else { XRI::readRoots('../XRI/xriroots.xml'); # for testing } my $XRI = XRI->new($xriv); eval { $laxri = $XRI->getGetURL; # this does the work $authXML = encode_entities( $XRI->{descriptorXML} ); }; if ( $@ =~ /NoLocalAccessFound/ ) { print "
  5. No Local Access service found for ", $q->escapeHTML($xriv), "<\li>\n"; } elsif ( $@ =~ /NoLocalAccessDescriptor/ ) { print "
  6. No Local Access descriptor found for ", $q->escapeHTML($xriv), "<\li>\n"; } elsif ( $@ =~ /UnknownAuthority/ ) { print "
  7. Cannot determine authority for ", $q->escapeHTML($xriv), "<\li>\n"; } elsif ( $@ ) { print $@; } else { print "
  8. Got Local Access URL: $laxri
  9. \n"; print "
  10. XRI Authority Descriptor =
    $authXML
  11. \n" if $authXML; } } print "
\n" . $q->end_html;