IMAP backend search not working (filter becomes before 1970-01-01 and after 1970-01-01)



  • I found email search not working from Android today. Tracked it down to the search filter giving after and before dates of 1970.

    In the code in BackendIMAP::getSearchRestrictions:
    $searchGreater = strftime("%Y-%m-%d", strtotime($cpo->GetSearchValueGreater()));
    $searchLess = strftime("%Y-%m-%d", strtotime($cpo->GetSearchValueLess()));

    $cpo search values are empty, and strtotime is returning false, which strftime is happily converting to a time string like 1970-01-01 for both.

    I replaced with
    $searchGreater = ‘’;
    $searchLess = ‘’;
    if ($t = strtotime($cpo->GetSearchValueGreater())) {
    $searchGreater = strftime("%Y-%m-%d", $t);
    }
    if ($t = strtotime($cpo->GetSearchValueLess())) {
    $searchLess = strftime("%Y-%m-%d", $t);
    }

    and search is working fine for me now.

    Seems like a new problem as I’ve seen posts from others with debug showing proper dates in the filter string?


Log in to reply
 

Looks like your connection to Kopano Community Forum was lost, please wait while we try to reconnect.