Yii: performAjaxValidation()-bug en oplossing

In het verleden heb ik voor een project het Yii-framework toegepast om een sociaal platform te bouwen in PHP met een MySQL database. Het voordeel van het Yii-framework is dat er veel documentatie en veel extensies beschikbaar zijn. Het nadeel van het Yii-framework en de extensies is dat er soms bugs kunnen zijn die niet meer worden opgelost. Gelukkig is er dan nog het Internet waarop bugfixs geplaatst worden.

Ik heb bij het bovengenoemde project het Yii-framework toegepast in combinatie met de yii-user-management extensie. Op onze test-server met Apache werkte deze extensie naar behoren. Echter op onze productie-server met Nginx kreeg ik deze error-melding:  “Declaration of YumTranslationController::performAjaxValidation() should be compatible with that of YumController::performAjaxValidation()” bij de user/translation/admin-pagina. Op deze pagina zou normaal gesproken de vertalingen beheert kunnen worden.

Aangezien wij deze vertaal-functionaliteit toepaste bij onze website, heb ik gezocht naar een workaround voor deze bug. Ik heb deze workaround bij de bug-melding op Google Code toegevoegd als opmerking. Het bestaat uit het aanpassen van de volgende 3 methodes in YumTranslationController.php-bestand (modules/user/controllers):

  • actionUpdate
  • performAjaxValidation
  • loadModel

Door de methodes te vervangen door de methodes hieronder lijkt het probleem opgelost.


 

Deel dit viaShare on LinkedInTweet about this on TwitterShare on FacebookShare on Google+Email this to someone