OpenGuides::Utils.3pm

Langue: en

Autres versions - même langue

Version: 2009-02-09 (ubuntu - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

OpenGuides::Utils - General utility methods for OpenGuides scripts.

DESCRIPTION

Provides general utility methods for OpenGuides scripts. Distributed and installed as part of the OpenGuides project, not intended for independent installation. This documentation is probably only useful to OpenGuides developers.

SYNOPSIS

   use OpenGuide::Config;
   use OpenGuides::Utils;
 
   my $config = OpenGuides::Config->new( file => "wiki.conf" );
   my $wiki = OpenGuides::Utils->make_wiki_object( config => $config );
 
 

METHODS

make_wiki_object
   my $config = OpenGuides::Config->new( file => "wiki.conf" );
   my $wiki = OpenGuides::Utils->make_wiki_object( config => $config );
 
 

Croaks unless an "OpenGuides::Config" object is supplied. Returns a "Wiki::Toolkit" object made from the given config file on success, croaks if any other error occurs.

The config file needs to define at least the following variables:

dbtype - one of "postgres", "mysql" and "sqlite"
dbname
indexing_directory - for the Search::InvertedIndex or Plucene files to go
get_wgs84_coords
Returns coordinate data suitable for use with Google Maps (and other GIS systems that assume WGS-84 data).
     my ($wgs84_long, $wgs84_lat) = OpenGuides::Utils->get_wgs84_coords(
                                         longitude => $longitude,
                                         latitude => $latitude,
                                         config => $config
                                    );
 
 
detect_redirect
     $redir = OpenGuides::Utils->detect_redirect( content => "foo" );
 
 

Checks the content of a node to see if the node is a redirect to another node. If so, returns the name of the node that this one redirects to. If not, returns false.

(Also returns false if no content is provided.)

validate_edit
     my $fails = OpenGuides::Utils->validate_edit(
         id       => $node,
         cgi_obj  => $q
     );
 
 

Checks supplied content for general validity. If anything is invalid, returns an array ref of errors to report to the user.

parse_change_comment
     my $change_comment = parse_change_comment($string, $base_url);
 
 

Given a base URL (for example, "http://example.com/wiki.cgi?"), takes a string, replaces "[[page]]" and "[[page|titled link]]" with

     <a href="http://example.com/wiki.cgi?page">page</a>
 
 

and

     <a href="http://example.com/wiki.cgi?page">titled link</a>
 
 

respectively, and returns it. This is a limited subset of wiki markup suitable for use in page change comments.

send_email
     eval { OpenGuides::Utils->send_email(
             config        => $config,
             subject       => "Subject",
             body          => "Test body",
             admin         => 1,
             nobcc         => 1,
             return_output => 1
     ) };
 
     if ($@) {
         print "Error mailing admin: $@\n";
     } else {
         print "Mailed admin\n";
     }
 
 

Send out email. If "admin" is true, the email will be sent to the site admin. If "to" is defined, email will be sent to addresses in that arrayref. If "nobcc" is true, there will be no Bcc to the admin.

"subject" and "body" are mandatory arguments.

Debugging: if "return_output" is true, the message will be returned as a string instead of being sent by email.

AUTHOR

The OpenGuides Project (openguides-dev@lists.openguides.org)
      Copyright (C) 2003-2008 The OpenGuides Project.  All Rights Reserved.
 
 

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.