View Issue Details

IDProjectCategoryView StatusLast Update
0015633phplist applicationMessage Send Processpublic22-05-12 12:51
Reporterseanfulton 
PriorityhighSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
PlatformLinuxOSCENTOSOS Version4.5
Product Version2.11.6 
Target Version4.0.xFixed in Version2.11.7 
Summary0015633: PHPList sends Fetched URL even if it can't fetch the content.
DescriptionIf you use the send a web page option in PHPList to send a pre-defined web page, and the web page can't be fetched, PHPList will send the URL in the body of the message instead of failing and trying to re-fetch on the next send.

Additional InformationWe've made the following changes which cause it to error out if the page can't be fetched.
The changes I made were in admin/processqueue.php (around line # 436)

 //orishchange
    $fetchStatus = precacheMessage($messageid);
    if ($GLOBALS["has_pear_http_request"] && preg_match("/\[URL:([^\s]+)\]/i",$cached[$messageid]["content"],$regs)) {
        logEvent("Fetch status in process queue is $fetchStatus");
        if($fetchStatus == 0){
            logEvent("Message fetched was Empty for $messageid");
            $cached[$messageid] = "";
        }
    }
//orish change end

instead of just this
  precacheMessage($messageid);


And in admin/sendmaillib.php (around line# 39)
      //orish change

      logEvent("Initial Fetch was Empty so Fetching again in sendemaillib");
    $fetchStatus = precacheMessage($messageid,$forwardContent);
    if ($GLOBALS["has_pear_http_request"] && preg_match("/\[URL:([^\s]+)\]/i",$cached[$messageid]["content"],$regs)) {
        logEvent("Fetched URL CONTENT $cached[$messageid] and status $fetchStatus");
        if($fetchStatus == 0){
            logEvent("Message is still empty $messageid");
            $cached[$messageid] = "";
            return 0;
        }
    }
     //orish changes end

instead of just this:
      precacheMessage($messageid,$forwardContent);

Is there anything else we need to modify or be aware of?

sean

TagsNo tags attached.

Activities

michiel

27-08-11 00:44

manager   ~0051398


hmm, as far as I can remember the remote URL fetching will determine failure based on the HTTP status (being 200 or not). So if the remote page returns 200, it assumes it's correct.

michiel

22-05-12 12:51

manager   ~0051575

I could replicate this. Thanks for reporting.

http://phplist.svn.sourceforge.net/phplist/?rev=3223&view=rev