Roxen.git / server / modules / tags / indirect_href.pike

version» Context lines:

Roxen.git/server/modules/tags/indirect_href.pike:1:   // This is a roxen module. Copyright © 1996 - 2000, Roxen IS.   //   // This module makes it possible to write symbolic names instead of   // absoulte hrefs.   //   // made by Mattias Wingstedt    - constant cvs_version = "$Id: indirect_href.pike,v 1.17 2000/04/14 22:34:07 per Exp $"; + constant cvs_version = "$Id: indirect_href.pike,v 1.18 2000/04/15 01:18:19 per Exp $";   constant thread_safe=1;   #include <module.h>      inherit "module";   inherit "roxenlib";      mapping hrefs;   string tagname;      void create()
Roxen.git/server/modules/tags/indirect_href.pike:36:   constant module_doc =   #"Indirect href. Adds a new tag <tt>&lt;ai name=&gt;</tt> that works like   <tt>&lt;a href=&gt;</tt> but uses a symbolic name instead of a URL. The   symbolic name is translated to a proper URL and the tag rewritten to a   proper &lt;a href=&gt; tag. The translation between symbolic names and   URLs is stored in a module variable. The advantage of this module is that   each URL will only be stored in one place and it becomes very easy to   change it, no matter how many links use it. As an extra bonus the name   <tt>random</tt> will be replaces by a random URL from the list.";    - // Dynamic tagname, hence dynamic documentation. - mapping tagdocumentation() { -  return ([tagname:"<desc cont>ai</desc>"]); - } +       void start()   {    array (string) lines;    string variable, value;    mapping all = ([ ]);       hrefs = ([ ]);    if (lines = (query( "hrefs" )-" "-"\t") /"\n")    foreach (lines, string line)
Roxen.git/server/modules/tags/indirect_href.pike:77:   }      mapping query_simpletag_callers()   {    return ([ tagname : ({ 0, newa }) ]);   }      TAGDOCUMENTATION;   #ifdef manual   constant tagdoc=([ -  "ai":#"<desc><short> +  "ai":#"<desc cont><short>    Makes it possible to use a database of links.</short> Each link is referred    to by a symbolic name instead of the URL.       <p>The database is updated through the configuration interface. The    tag is available through the <module>Indirect href</module>    module.</p></desc>       <attr name='name' value='string' required>    Which link to fetch from the database. There is a special case,    <att>name='random'</att> that will choose a random link from the    database.       <ex>    <ai name='roxen'>Roxen WebServer</ai>    </ex>    </attr>",    ]);   #endif