Use automatic class name form field description
authorMatthias Schmidt <gravatronics@live.com>
Tue, 8 May 2018 06:14:56 +0000 (08:14 +0200)
committerMatthias Schmidt <gravatronics@live.com>
Tue, 8 May 2018 06:14:56 +0000 (08:14 +0200)
See #2545
See bf37a128ea8d1683278de75f122df05f03c3977e

wcfsetup/install/files/acp/templates/__objectTypePipGui.tpl
wcfsetup/install/files/lib/system/package/plugin/PIPPackageInstallationPlugin.class.php
wcfsetup/install/files/lib/system/package/plugin/UserNotificationEventPackageInstallationPlugin.class.php
wcfsetup/install/files/lib/system/package/plugin/UserProfileMenuPackageInstallationPlugin.class.php
wcfsetup/install/lang/de.xml
wcfsetup/install/lang/en.xml

index 320cbad1394a0fca774af8e93a6f495fb23afce3..7640dc3ca98b50728417e8aa068b58f922feea98 100644 (file)
@@ -1,7 +1,7 @@
 <script data-relocate="true">
        require(['Language'], function(Language) {
                Language.addObject({
-                       'wcf.acp.pip.objectType.className.description': '{lang __literal=true}wcf.acp.pip.objectType.className.description{/lang}',
+                       'wcf.form.field.className.description.interface': '{lang __literal=true}wcf.form.field.className.description.interface{/lang}',
                        {implode from=$definitionNames item=definitionName}
                                'wcf.acp.pip.objectType.definitionName.{@$definitionName}.description': '{lang __literal=true __optional=true}wcf.acp.pip.objectType.definitionName.{@$definitionName}.description{/lang}'
                        {/implode}
@@ -23,8 +23,8 @@
                        
                        // update description of `className` field with new interface
                        if (definitionNamesWithInterface[definitionName.value]) {
-                               classNameDescription.innerHTML = Language.get('wcf.acp.pip.objectType.className.description', {
-                                       interfaceName: definitionNamesWithInterface[definitionName.value]
+                               classNameDescription.innerHTML = Language.get('wcf.form.field.className.description.interface', {
+                                       interface: definitionNamesWithInterface[definitionName.value]
                                });
                        }
                }
index 5d43a23dd86f5fbd7655cda6645d802e776d3994..cd4775f4206d6ded5617cbbee5eaad07f9ce9f80 100644 (file)
@@ -137,7 +137,6 @@ class PIPPackageInstallationPlugin extends AbstractXMLPackageInstallationPlugin
                        
                        ClassNameFormField::create()
                                ->attribute('data-tag', '__value')
-                               ->description('wcf.acp.pip.pip.className.description')
                                ->required()
                                ->implementedInterface(IPackageInstallationPlugin::class)
                ]);
index 8bbd0878a8cabfa08dfdf6494a13bb9c02073ff4..3816c8e5244d974dadaa42945b433a16eb98f629 100644 (file)
@@ -239,7 +239,6 @@ class UserNotificationEventPackageInstallationPlugin extends AbstractXMLPackageI
                        
                        ClassNameFormField::create()
                                ->attribute('data-tag', 'classname')
-                               ->description('wcf.acp.pip.userNotificationEvent.className.description')
                                ->required()
                                ->implementedInterface(IUserNotificationEvent::class),
                        
index 8bc68e557735b684bf14ba22507d403bea616a61..4f4e05cbbb50ae7cafed6d742f2ed6fa5dbe956d 100644 (file)
@@ -145,7 +145,6 @@ class UserProfileMenuPackageInstallationPlugin extends AbstractXMLPackageInstall
                        
                        ClassNameFormField::create()
                                ->attribute('data-tag', 'classname')
-                               ->description('wcf.acp.pip.userProfileMenu.className.description')
                                ->required()
                                ->implementedInterface(IUserProfileMenuContent::class),
                        
index 6003cd5f474b77ca3341aa1661872ea7475285f2..76572baa82a42f3f81916dbf7ce9db003a7950a2 100644 (file)
@@ -1746,7 +1746,6 @@ Als Benachrichtigungs-URL in der Konfiguration der sofortigen Zahlungsbestätigu
        </category>
        
        <category name="wcf.acp.pip">
-               <item name="wcf.acp.pip.objectType.className.description"><![CDATA[Die angegebene Klasse (ohne Backslash als erstes Zeichen) muss das Interface <code>{$interfaceName}</code> implementieren.]]></item>
                <item name="wcf.acp.pip.objectType.className.error.leadingBackslash"><![CDATA[Der angegebene Klassenname hat ein Backslash als erstes Zeichen.]]></item>
                <item name="wcf.acp.pip.objectType.className.error.nonExistent"><![CDATA[Die angebene Klasse existiert nicht.]]></item>
                <item name="wcf.acp.pip.objectType.className.error.interface"><![CDATA[Die angebene Klasse implementiert nicht das Interface <code>{$interfaceName}</code>.]]></item>
index b0268bb8c2a39963ea936353b41173a5aa6f90aa..374710b663c050418acc1c85b98bb08e0771d611 100644 (file)
@@ -1686,7 +1686,6 @@ When prompted for the notification URL for the instant payment notifications, pl
        </category>
        
        <category name="wcf.acp.pip">
-               <item name="wcf.acp.pip.objectType.className.description"><![CDATA[The entered class (without leading backslash) must implement the interface <code>{$interfaceName}</code>.]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.adLocation.data.title"><![CDATA[Ad Location Data]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.adLocation.categoryName"><![CDATA[Category]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.adLocation.categoryName.description"><![CDATA[Ad locations are grouped by their category in the ad location selection when creating and editing ads. The category consists of at least four segments that are separated by dots. Each segment may only contain the following characters: <code>[A-z0-9-_]</code>.]]></item>
@@ -1843,12 +1842,10 @@ When prompted for the notification URL for the instant payment notifications, pl
                <item name="wcf.acp.pip.pip.pluginName.description"><![CDATA[The name of the package installation plugin is used as the value of the <code>type</code> attribute of an <code>instruction</code> element in a <code>package.xml</code> file. The name may only consist of letters and must begin with a lowercase letter.]]></item>
                <item name="wcf.acp.pip.pip.pluginName.error.format"><![CDATA[The entered name is invalid.]]></item>
                <item name="wcf.acp.pip.pip.pluginName.error.notUnique"><![CDATA[The entered name is already used by another package installation plugin.]]></item>
-               <item name="wcf.acp.pip.pip.className.description"><![CDATA[The entered class (without leading backslash) must implement the interface <code>wcf\system\package\plugin\IPackageInstallationPlugin</code>.]]></item>
                <item name="wcf.acp.pip.userProfileMenu.name"><![CDATA[Menu Item Name]]></item>
                <item name="wcf.acp.pip.userProfileMenu.name.description"><![CDATA[The name of the user profile may only contain letters and must begin with a lowercase letter.]]></item>
                <item name="wcf.acp.pip.userProfileMenu.name.error.format"><![CDATA[The entered name is invalid.]]></item>
                <item name="wcf.acp.pip.userProfileMenu.name.error.notUnique"><![CDATA[The entered name is already used by another user profile menu item.]]></item>
-               <item name="wcf.acp.pip.userProfileMenu.className.description"><![CDATA[The entered class (without leading backslash) must implement the interface <code>wcf\system\menu\user\profile\content\IUserProfileMenuContent</code>.]]></item>
                <item name="wcf.acp.pip.userProfileMenu.showOrder"><![CDATA[Position]]></item>
                <item name="wcf.acp.pip.userProfileMenu.showOrder.description"><![CDATA[The entered value determines in which order the user profile menu items are shown.]]></item>
                <item name="wcf.acp.pip.userProfileMenu.options.description"><![CDATA[At least one of the entered options has to be enabled for the menu item to be available. Options of non-required packages will be reported as non-existing.]]></item>
@@ -1859,7 +1856,6 @@ When prompted for the notification URL for the instant payment notifications, pl
                <item name="wcf.acp.pip.userNotificationEvent.name.error.notUnique"><![CDATA[The entered name is already used by another event for the same event object type.]]></item>
                <item name="wcf.acp.pip.userNotificationEvent.objectType"><![CDATA[Event Object Type]]></item>
                <item name="wcf.acp.pip.userNotificationEvent.objectType.description"><![CDATA[Determines the type of object the notification event belongs to.]]></item>
-               <item name="wcf.acp.pip.userNotificationEvent.className.description"><![CDATA[The entered class (without leading backslash) must implement the interface <code>wcf\system\user\notification\event\IUserNotificationEvent</code>.]]></item>
                <item name="wcf.acp.pip.userNotificationEvent.preset"><![CDATA[Enable By Default]]></item>
                <item name="wcf.acp.pip.userNotificationEvent.preset.description"><![CDATA[If selected, users will automatically receive notifications for this event by default. If they do not want to receive such notifications, they have to explicitly disable them in their notification settings.]]></item>
                <item name="wcf.acp.pip.userNotificationEvent.options.description"><![CDATA[At least one of the entered options has to be enabled for the event to be visible in users’ notification settings. Options of non-required packages will be reported as non-existing.]]></item>