@@ -50,17 +50,19 @@ protected function onBuildForm(WsdbDatabaseEditForm $eventObj): void
5050 new CustomFormDataProcessor (
5151 'linksProcessor ' ,
5252 static function (IFormDocument $ document , array $ parameters ): array {
53- if (\is_array ($ parameters ['linkButton_i18n ' ])) {
54- $ parameters ['language ' ]['linkButton ' ] = $ parameters ['linkButton_i18n ' ];
55- } else {
56- $ parameters ['language ' ]['linkButton ' ] = [
57- WCF ::getLanguage ()->languageID => $ parameters ['linkButton_i18n ' ],
58- ];
53+ if (isset ($ parameters ['linkButton_i18n ' ])) {
54+ if (\is_array ($ parameters ['linkButton_i18n ' ])) {
55+ $ parameters ['language ' ]['linkButton ' ] = $ parameters ['linkButton_i18n ' ];
56+ } else {
57+ $ parameters ['language ' ]['linkButton ' ] = [
58+ WCF ::getLanguage ()->languageID => $ parameters ['linkButton_i18n ' ],
59+ ];
60+ }
61+ unset(
62+ $ parameters ['linkButton_i18n ' ],
63+ $ parameters ['data ' ]['linkButton ' ]
64+ );
5965 }
60- unset(
61- $ parameters ['linkButton_i18n ' ],
62- $ parameters ['data ' ]['linkButton ' ]
63- );
6466
6567 return $ parameters ;
6668 },
@@ -80,16 +82,19 @@ protected function onSaved(WsdbDatabaseEditForm $eventObj): void
8082 {
8183 $ formData = $ eventObj ->form ->getData ();
8284
83- foreach (LanguageFactory::getInstance ()->getLanguages () as $ language ) {
84- $ databaseLanguage = DatabaseLanguage::getDatabaseLanguage (
85- $ eventObj ->formObject ->databaseID ,
86- $ language ->languageID
87- );
88- if ($ databaseLanguage !== null ) {
89- $ action = new DatabaseLanguageAction ([$ databaseLanguage ], 'update ' , ['data ' => [
90- 'linkButton ' => $ formData ['language ' ]['linkButton ' ][$ language ->languageID ] ?? '' ,
91- ]]);
92- $ action ->executeAction ();
85+ if (isset ($ formData ['language ' ]['linkButton ' ])) {
86+ foreach (LanguageFactory::getInstance ()->getLanguages () as $ language ) {
87+ $ databaseLanguage = DatabaseLanguage::getDatabaseLanguage (
88+ $ eventObj ->formObject ->databaseID ,
89+ $ language ->languageID
90+ );
91+ if ($ databaseLanguage !== null ) {
92+ $ action = new DatabaseLanguageAction ([$ databaseLanguage ], 'update ' , ['data ' => [
93+ 'linkButton ' => $ formData ['language ' ]['linkButton ' ][$ language ->languageID ]
94+ ?? $ language ->get ('dev.hanashi.wsdb.linkButton ' ),
95+ ]]);
96+ $ action ->executeAction ();
97+ }
9398 }
9499 }
95100 }
0 commit comments