Roxen.git / server / modules / graphics / cimg.pike

version» Context lines:

Roxen.git/server/modules/graphics/cimg.pike:1:   // This is a roxen module. Copyright © 1999 - 2004, Roxen IS.   //      #include <module.h>   inherit "module";   constant thread_safe=1;      roxen.ImageCache the_cache;    - constant cvs_version = "$Id: cimg.pike,v 1.79 2009/07/08 09:31:52 anders Exp $"; + constant cvs_version = "$Id: cimg.pike,v 1.80 2009/11/26 15:43:48 grubba Exp $";   constant module_type = MODULE_TAG;   constant module_name = "Graphics: Image converter";   constant module_doc = "Provides the tag <tt>&lt;cimg&gt;</tt> that can be used "   "to convert images between different image formats.";         mapping tagdocumentation()   {    Stdio.File file=Stdio.File();    if(!file->open(__FILE__,"r")) return 0;
Roxen.git/server/modules/graphics/cimg.pike:93: Inside #if defined(manual)
     <attr name='data' value='imagedata'><p>    Insert images from other sources, e.g. databases through entities or    variables.</p>   <ex-box><emit source='sql' query='select imagedata from images where id=37'>    <cimg-url data='&sql.imagedata;'/>   </emit></ex-box>   </attr>",      "emit#cimg":({ #"<desc type='plugin'><p><short> -  Entitybased version of <xref href='../graphics/cimg.tag' />.</short> +  Entity based version of <xref href='../graphics/cimg.tag' />.</short>    Takes the same attributes as <tag>cimg</tag>.</p>   </desc>      <attr name='nodata' value='yes | no'><p>    Controls suppression of <ent>_.data</ent> in the output. Useful for    reducing memory consumption in cached emit tags. The default value    is 'no'.</p>   </attr>",      ([
Roxen.git/server/modules/graphics/cimg.pike:373:   {    inherit RXML.Tag;    constant name = "emit";    constant plugin_name = "cimg";       array get_dataset( mapping args, RequestID id )    {    mapping res = ([ ]);    mapping a = get_my_args( check_args( args ), id );    string data; +  +  int timeout = Roxen.timeout_dequantifier(args); +     mixed err = catch // This code will fail if the image does not exist.    {    // Store misc->cacheable since the image cache can raise it and    // disable protocol cache.    int cacheable = id->misc->cacheable;    int no_proto_cache = id->misc->no_proto_cache;   #ifdef DEBUG_CACHEABLE    report_debug("%s:%d saved cacheable flags\n", __FILE__, __LINE__);   #endif -  res->src=(query_absolute_internal_location(id)+the_cache->store( a,id )); +  res->src=(query_absolute_internal_location(id)+ +  the_cache->store( a, id, timeout ));    if(args->filename && sizeof(args->filename))    res->src += "/" + Roxen.http_encode_url(args->filename);    if(do_ext)    res->src += "." + a->format;    data = the_cache->data( a, id , 0 );    res["file-size"] = strlen(data);    res["file-size-kb"] = strlen(data)/1024;    if (lower_case(args->nodata || "no") == "no")    res["data"] = data;    res |= the_cache->metadata( a, id, 0 ); // enforce generation
Roxen.git/server/modules/graphics/cimg.pike:421:    inherit RXML.Tag;    constant name = "cimg";    constant flags = RXML.FLAG_EMPTY_ELEMENT;       class Frame    {    inherit RXML.Frame;       array do_return(RequestID id)    { +  int timeout = Roxen.timeout_dequantifier(args);    mapping a = get_my_args( check_args( args ), id );    args -= a;    string ext = "";    string filename = "";    if(args->filename && sizeof(args->filename))    filename += "/" + Roxen.http_encode_url(m_delete(args, "filename"));    if(do_ext)    ext = "." + a->format;    args->src = query_absolute_internal_location( id ) -  + the_cache->store( a, id ) + filename + ext; +  + the_cache->store( a, id, timeout ) + filename + ext;    int no_draw = !id->misc->generate_images;    if( mapping size = the_cache->metadata( a, id, no_draw ) )    {    // image in cache (no_draw above prevents generation on-the-fly)    args->width = size->xsize;    args->height = size->ysize;    }    int xml=!args->noxml;    m_delete(args, "noxml");    result = Roxen.make_tag( "img", args, xml );
Roxen.git/server/modules/graphics/cimg.pike:457:    inherit RXML.Tag;    constant name = "cimg-url";    constant flags = RXML.FLAG_EMPTY_ELEMENT;       class Frame    {    inherit RXML.Frame;       array do_return(RequestID id)    { +  int timeout = Roxen.timeout_dequantifier(args);    string filename = "";    mapping a = get_my_args (check_args (args), id);       if(args->filename && sizeof(args->filename))    filename = "/" + Roxen.http_encode_url(args->filename);    result = query_absolute_internal_location(id) -  + the_cache->store(a, id) +  + the_cache->store(a, id, timeout)    + filename    + (do_ext ? "." + a->format : "");    return 0;    }    }   }