2014-01-31 25 views
0

我正在使用sugarcrm版本5.5.4。我已经安装了波斯语言的语言包。当我试图从“帐户”子面板设置呼叫时,即从“活动”选项卡中,当语言是英语时,提醒弹出窗口正常工作。但是,当我将语言更改为波斯语时,不会显示提醒弹出窗口。大量的研究后,我发现,执行获取提醒的查询电话是从“include/javascript/jsAlerts.php”当我成立了由执行英语查询通话就像是 -sugarcrm - 帐户子面板电话提醒弹出不起作用

SELECT name, calls.id, description, date_start, reminder_time FROM calls LEFT JOIN calls_users ON calls.id = calls_users.call_id WHERE calls_users.user_id=1 AND calls.reminder_time !=-1 AND calls_users.deleted !=1 and date_start>='2014-01-31 09:16:34' AND date_start<='2014-01-31 10:16:34' 

,如果我更改语言波斯语然后查询执行的是 -

SELECT name, calls.id, description, date_start, reminder_time FROM calls LEFT JOIN calls_users ON calls.id = calls_users.call_id WHERE calls_users.user_id = 1 AND calls.reminder_time! = -1 AND calls_users.deleted! = 1 and date_start> = '2014-01-31 09:16:34 'AND date_start <= '2014-01-31 10:16:34' 

如果你观察,在第二个查询附近有calls.reminder_time! = -1date_start> = '2014-01-31 07:55:32 'AND语法错误。

这就是为什么查询没有正确执行,弹出不出现。
来自jsAlerts.php的原始查询没有任何这样的错误,那么为什么它以这种方式执行。我尝试过使用各种字符串操作,但没有任何帮助。
另外,如果从同样的方式创建来自波斯语言的调用后,我访问其他页面或只是刷新同一页面,则查询工作正常。只有当我创建呼叫并等待提醒的同一页面时,问题才会发生。
有什么办法可以克服这个问题吗?任何帮助表示赞赏。谢谢。

回答

0

SandyK总有办法。

我的第一个想法是寻找升级系统。 5.5.4已经过了3年以上,这种错误很可能已经被修复了。

如果您无法升级或升级不能解决此问题,我会直接调查include/javascript/jsAlerts.php(可能jssource/include/javascript/jsAlerts.php,因为它们通常不会缩小并且更容易阅读),并尝试追踪那里的问题。你可能会发现一串依赖关系,但最终你会发现查询所在的位置,并且应该能够修复这个错误。