Przepraszam za prawie dobowe opóźnienie w odpowiedzi, ale wyskoczyło mi coś ważnego.
Problem stwarza szukanie wydarzeń w kalendarzu, których pewnie jest dość dużo. To jest ten błąd, którego się spodziewałem.
Tymczasowa naprawa błędu:
1. W pliku modules/CRM/Meeting/MeetingCommon_0.php jest metoda search która jest odpowiedzialna za szukanie rekordów.
Linia 806:
public static function search($word){
$ret = array();
if(Utils_RecordBrowserCommon::get_access('crm_meeting','browse')) {
$result = Utils_RecordBrowserCommon::get_records('crm_meeting',array('(~"title'=>DB::Concat('\'%\'',DB::qstr($word),'\'%\''), '|~"description'=>DB::Concat('\'%\'',DB::qstr($word),'\'%\'')));
foreach ($result as $row) {
$ret[$row['id']] = Utils_RecordBrowserCommon::record_link_open_tag('crm_meeting', $row['id']).__( 'Meeting #%d, %s at %s', array($row['id'], $row['title'], Base_RegionalSettingsCommon::time2reg($row['date'], false))).Utils_RecordBrowserCommon::record_link_close_tag();
}
}
return $ret;
}
Powinno być:
public static function search($word){
$ret = array();
if(Utils_RecordBrowserCommon::get_access('crm_meeting','browse')) {
$crits = array('(~"title'=>DB::Concat('\'%\'',DB::qstr($word),'\'%\''), '|~"description'=>DB::Concat('\'%\'',DB::qstr($word),'\'%\''));
$result = Utils_RecordBrowserCommon::get_records('crm_meeting', $crits, array(), array(), 100);
foreach ($result as $row) {
$ret[$row['id']] = Utils_RecordBrowserCommon::record_link_open_tag('crm_meeting', $row['id']).__( 'Meeting #%d, %s at %s', array($row['id'], $row['title'], Base_RegionalSettingsCommon::time2reg($row['date'], false))).Utils_RecordBrowserCommon::record_link_close_tag();
}
}
return $ret;
}
Chodzi o limit wyszukiwanych rekordów. Nie był ustawiony i dlatego EPESI brało i przerabiało wszystkie wydarzenia z kalendarza a na końcu brało tylko część z nich.
Mam nadzieję, że to pomoże.