我正在使用自定義腳本來自動發出邀請和提醒。我有一切正常工作,直到一個點。我的函數來發送邀請看起來是這樣的:Yii :: app() - > lang有時與LimeSurvey無法正常工作
function sendInvites($iSurveyID) {
$oSurvey = Survey::model()->findByPk($iSurveyID);
if (!isset($oSurvey)) {
die("could not load survey");
}
if(!tableExists("{{tokens_$iSurveyID}}")) {
die("survey has no tokens or something");
}
$SQLemailstatuscondition = "emailstatus = 'OK'";
$SQLremindercountcondition = '';
$SQLreminderdelaycondition = '';
$iMaxEmails = (int)Yii::app()->getConfig("maxemails");
$iMaxReminders = 1;
if(!is_null($iMaxReminders)) {
$SQLremindercountcondition = "remindercount < " . $iMaxReminders;
}
$oTokens = Tokens_dynamic::model($iSurveyID);
$aResultTokens = $oTokens->findUninvited(false, $iMaxEmails, true, $SQLemailstatuscondition, $SQLremindercountcondition, $SQLreminderdelaycondition);
if (empty($aResultTokens)) {
die("No tokens to send invites to");
}
$aResult = emailTokens($iSurveyID, $aResultTokens, 'invite');
}
我也有啓動Yii的一個簡單的小文件:
Yii::createApplication('LSYii_Application', APPPATH . 'config/config' . EXT);
Yii::app()->loadHelper('admin/token');
Yii::app()->loadHelper('common');
一切正常,直到我真正嘗試發送電子郵件到令牌。我跟蹤這個問題下到下面,就由emailTokens調用的函數有這個在它:
$clang = Yii::app()->lang;
$aBasicTokenFields=array('firstname'=>array(
'description'=>$clang->gT('First name'),
'mandatory'=>'N',
'showregister'=>'Y'
),
的的Yii ::應用程序() - >郎部分似乎導致問題,因爲那麼PHP是無法調用gT方法。但是,當LimeSurvey正常運行時,這絕不會發生。我甚至無法找到LimeSurvey源代碼中的「lang」。
我能做些什麼來使它工作?