讓您的外掛程式相容於 LS4
From LimeSurvey Manual
技術變更
新的 XML 設定檔
自 LimeSurvey 4.0 起,外掛程式需要有 XML 設定檔才能在應用程式中執行。
原因是可以儲存中繼資料,例如外掛程式作者、支援電子郵件或更新程式資訊。
此 XML 檔案在 LimeSurvey 4 中為必填。它應位於外掛程式的根目錄中。如需更多資訊,請參閱外掛程式開發說明 外掛程式
範例:

新的外掛程式目錄
LimeSurvey 4 變更了外掛程式目錄。基於安全考量,由於新的外掛程式管理員(外掛程式上傳工具),外掛程式目錄現在位於上傳目錄中(/upload/plugins)。 若要手動上傳,建議將檔案上傳至新目錄,以避免軟體發生故障。
如果您的外掛程式中以硬編碼方式指定目錄,請務必變更該目錄或新增新的目錄。
範例:

新的外掛程式事件
LS3 中的部分外掛程式事件已被棄用。請使用 LS4 中新增的外掛程式事件來取代舊的外掛程式事件。 如需更多資訊,請參閱我們的開發手冊:外掛程式事件。
已棄用的函式與方法
由於 LimeSurvey 4 的程式碼基礎或結構已變更,有許多方法或函式已不再使用。 為解決此問題,請先在 config.php 檔案中啟用除錯模式,然後前往外掛程式頁面。任何已不存在的方法都會顯示在錯誤頁面上。
部分方法在 LS4 中已被重新命名或不再使用。為確保您的外掛程式同時適用於 LS3 和 LS4,請在呼叫所需方法之前先檢查 LS 的版本。
範例:

最佳實務
避免使用 SVG 檔案
基於安全性(XSS)考量,無法上傳 SVG 檔案。外掛程式上傳工具會忽略 SVG 檔案。請改用 PNG 或 JPEG 檔案取代。 只有在您能透過 ftp 或其他伺服器工具存取安裝目錄時,才可上傳 SVG 檔案(上傳任何檔案的風險由您自行承擔)。
避免使用全域常數
請避免使用可能與核心應用程式或其他外掛程式的變數衝突的全域常數,例如「ROOT_PATH」。一般而言,開發外掛程式時請勿使用全域常數。
使用命名空間
使用命名空間,將在您的外掛程式中協同執行任務的類別分組,以便更好地組織。如此一來,可避免使用核心應用程式中已在使用的類別。
範例:

