From: Vsevolod Stakhov Date: Thu, 23 Jul 2015 19:40:41 +0000 (+0100) Subject: Make R_EMPTY_IMAGE tutorial function. X-Git-Tag: 1.0.0~292 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=52833b8ca40da9d81d40e95ff8383fcbc9a10372;p=thirdparty%2Frspamd.git Make R_EMPTY_IMAGE tutorial function. --- diff --git a/conf/lua/html.lua b/conf/lua/html.lua index 951cc4952c..1b218357b0 100644 --- a/conf/lua/html.lua +++ b/conf/lua/html.lua @@ -53,20 +53,20 @@ rspamd_config.HTML_SHORT_LINK_IMG_3 = function(task) return check_html_image(task, 1536, 2048) end rspamd_config.R_EMPTY_IMAGE = function(task) - local tp = task:get_text_parts() + local tp = task:get_text_parts() -- get text parts in a message - for _,p in ipairs(tp) do - if p:is_html() then - local hc = p:get_html() - local len = p:get_length() + for _,p in ipairs(tp) do -- iterate over text parts array using `ipairs` + if p:is_html() then -- if the current part is html part + local hc = p:get_html() -- we get HTML context + local len = p:get_length() -- and part's length - if len < 50 then - local images = hc:get_images() + if len < 50 then -- if we have a part that has less than 50 bytes of text + local images = hc:get_images() -- then we check for HTML images - if images then - for _,i in ipairs(images) do - if i['height'] + i['width'] >= 400 then - return true + if images then -- if there are images + for _,i in ipairs(images) do -- then iterate over images in the part + if i['height'] + i['width'] >= 400 then -- if we have a large image + return true -- add symbol end end end diff --git a/src/lua/lua_html.c b/src/lua/lua_html.c index 79abc0a397..855904c38b 100644 --- a/src/lua/lua_html.c +++ b/src/lua/lua_html.c @@ -33,17 +33,27 @@ * This module provides different methods to access HTML tags. To get HTML context * from an HTML part you could use method `part:get_html()` * @example -rspamd_config.R_HTML_IMAGE = function (task) - parts = task:get_text_parts() - if parts then - for _,part in ipairs(parts) do - if part:is_html() then - local html = part:get_html() - -- Do something with html - end - end - end - return false +rspamd_config.R_EMPTY_IMAGE = function(task) + local tp = task:get_text_parts() -- get text parts in a message + + for _,p in ipairs(tp) do -- iterate over text parts array using `ipairs` + if p:is_html() then -- if the current part is html part + local hc = p:get_html() -- we get HTML context + local len = p:get_length() -- and part's length + + if len < 50 then -- if we have a part that has less than 50 bytes of text + local images = hc:get_images() -- then we check for HTML images + + if images then -- if there are images + for _,i in ipairs(images) do -- then iterate over images in the part + if i['height'] + i['width'] >= 400 then -- if we have a large image + return true -- add symbol + end + end + end + end + end + end end */