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 - 2009, Roxen IS.   //      #include <module.h>   inherit "module";   constant thread_safe=1;      roxen.ImageCache the_cache;    - constant cvs_version = "$Id: cimg.pike,v 1.85 2009/11/30 15:01:58 grubba Exp $"; + constant cvs_version = "$Id: cimg.pike,v 1.86 2009/12/01 18:06:38 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:485:    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 +  res |= the_cache->metadata( a, id, 0, timeout ); // enforce generation   #ifdef DEBUG_CACHEABLE    report_debug("%s:%d restored cacheable flags\n", __FILE__, __LINE__);   #endif    id->misc->cacheable = cacheable;    id->misc->no_proto_cache = no_proto_cache;    return ({ res });    };   #ifdef DEBUG    report_error("<emit#cimg> error in get_dataset(): %s\n",    describe_backtrace(err));
Roxen.git/server/modules/graphics/cimg.pike:528:    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, timeout ) + filename + ext;    int no_draw = !id->misc->generate_images;    mapping size;    if( !args->width && !args->height -  && (size = the_cache->metadata( a, id, no_draw )) ) +  && (size = the_cache->metadata( a, id, no_draw, timeout )) )    {    // 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 );    return 0;    }