Implements full i18n user group names
authorMatthias Schmidt <gravatronics@live.com>
Fri, 2 Mar 2012 22:18:17 +0000 (23:18 +0100)
committerMatthias Schmidt <gravatronics@live.com>
Fri, 2 Mar 2012 22:30:04 +0000 (23:30 +0100)
wcfsetup/install/files/acp/install.php
wcfsetup/install/files/lib/data/user/UserAction.class.php
wcfsetup/install/files/lib/data/user/group/UserGroup.class.php
wcfsetup/install/files/lib/system/cache/builder/UserGroupCacheBuilder.class.php
wcfsetup/install/files/lib/system/option/user/group/UserGroupsUserGroupOptionType.class.php
wcfsetup/install/lang/de.xml
wcfsetup/install/lang/en.xml
wcfsetup/setup/db/install.sql

index 1706119b77577b470734c3db2e305ecc328e5c94..c65a57f6f5198a285634b85878f80f270cb72ec3 100644 (file)
@@ -13,24 +13,6 @@ use wcf\system\WCF;
  * @package    com.woltlab.wcf
  * @category   Community Framework
  */
-// make group names to language variables
-$groupNames = array(
-       'Everyone' => WCF::getLanguage()->get('wcf.acp.group.everyone'),
-       'Guests' => WCF::getLanguage()->get('wcf.acp.group.guests'),
-       'Users' => WCF::getLanguage()->get('wcf.acp.group.users'),
-       'Administrators' => WCF::getLanguage()->get('wcf.acp.group.administrators'),
-       'Moderators' => WCF::getLanguage()->get('wcf.acp.group.moderators'),
-       'Super Moderators' => WCF::getLanguage()->get('wcf.acp.group.superModerators')
-);
-
-$sql = "UPDATE wcf".WCF_N."_user_group
-       SET     groupName = ?
-       WHERE   groupName = ?";
-$statement = WCF::getDB()->prepareStatement($sql);
-foreach ($groupNames as $oldValue => $newValue) {
-       $statement->execute(array($newValue, $oldValue));
-}
-
 // change the priority of the PIP's to "1"
 $sql = "UPDATE wcf".WCF_N."_package_installation_plugin
        SET     priority = ?";
index b05576f74b28aca343fc221f4e37ef872da63315..2e0f64cde4da4046c88296f03c9d2302c00a9c09 100644 (file)
@@ -181,7 +181,7 @@ class UserAction extends AbstractDatabaseObjectAction {
                if ($this->parameters['data']['includeUserGroups']) {
                        $accessibleGroups = UserGroup::getAccessibleGroups();
                        foreach ($accessibleGroups as $group) {
-                               $groupName = WCF::getLanguage()->get($group->groupName);
+                               $groupName = $group->getName();
                                if (!in_array($groupName, $excludedSearchValues)) {
                                        $pos = StringUtil::indexOfIgnoreCase($groupName, $searchString);
                                        if ($pos !== false && $pos == 0) {
index feebfd5e8ca2147749ace274213d951d59e15d56..82cbca74d328d5633685e60919cf8b99aeda9267 100644 (file)
@@ -211,13 +211,20 @@ class UserGroup extends DatabaseObject {
                return self::isAccessibleGroup(array($this->groupID));
        }
        
+       /**
+        * @see wcf\data\user\group\UserGroup::getName()
+        */
+       public function __toString() {
+               return $this->getName();
+       }
+       
        /**
         * Returns the name of this user group.
         * 
         * @return      string
         */
-       public function __tostring() {
-               return $this->groupName;
+       public function getName() {
+               return WCF::getLanguage()->get('wcf.acp.group.group'.$this->groupID);
        }
        
        /**
index deae158b70520b5de7fe27bcdb14bafa372994bd..04fb8b5025c4dccec0bb4e3a666842fb2c41e83a 100644 (file)
@@ -21,7 +21,6 @@ class UserGroupCacheBuilder implements ICacheBuilder {
 
                // get all user groups
                $groupList = new UserGroupList();
-               $groupList->sqlOrderBy = "user_group.groupName";
                $groupList->sqlLimit = 0;
                $groupList->readObjects();
                $groups = $groupList->getObjects();
index 8ef035e35a888aa68747fdeecd455b80c4bca0da..ab6bf112e6c85b2b23e81d62fd072663a56aa1fc 100644 (file)
@@ -31,7 +31,7 @@ class UserGroupsUserGroupOptionType extends AbstractOptionType implements IUserG
                // generate html
                $html = '<fieldset><dl><dd>';
                foreach ($groups as $group) {
-                       $html .= '<label><input type="checkbox" name="values['.StringUtil::encodeHTML($option->optionName).'][]" value="'.$group->groupID.'" '.(in_array($group->groupID, $selectedGroups) ? 'checked="checked" ' : '').'/> '.StringUtil::encodeHTML($group->groupName).'</label>';
+                       $html .= '<label><input type="checkbox" name="values['.StringUtil::encodeHTML($option->optionName).'][]" value="'.$group->groupID.'" '.(in_array($group->groupID, $selectedGroups) ? 'checked="checked" ' : '').'/> '.$group->getName().'</label>';
                }
                
                return $html.'</dd></dl></fieldset>';
index 55417f48546cd0804eecee6151ba8679ca203a4d..e24303a46cdd80e7c77e69bf005611389a064872 100644 (file)
        </category>
        
        <category name="wcf.acp.group">
-               <item name="wcf.acp.group.administrators"><![CDATA[Administratoren]]></item>
-               <item name="wcf.acp.group.everyone"><![CDATA[Jeder]]></item>
-               <item name="wcf.acp.group.guests"><![CDATA[Gäste]]></item>
-               <item name="wcf.acp.group.moderators"><![CDATA[Moderatoren]]></item>
-               <item name="wcf.acp.group.superModerators"><![CDATA[Super Moderatoren]]></item>
-               <item name="wcf.acp.group.users"><![CDATA[Registrierte Benutzer]]></item>
                <item name="wcf.acp.group.add"><![CDATA[Benutzergruppe hinzufügen]]></item>
                <item name="wcf.acp.group.data"><![CDATA[Allgemeine Daten]]></item>
                <item name="wcf.acp.group.delete.sure"><![CDATA[Wollen Sie diese Benutzergruppe &bdquo;{$group->groupName}&ldquo; wirklich löschen?]]></item>
                <item name="wcf.acp.group.edit"><![CDATA[Benutzergruppe bearbeiten]]></item>
                <item name="wcf.acp.group.edit.warning.selfIsMember"><![CDATA[Sie sind Mitglied dieser Benutzergruppe! Änderungen an den Zugriffsrechten dieser Benutzergruppe können dazu führen, dass Sie aus der Administrationsoberfläche ausgeschlossen werden. Bitte seien Sie entsprechend vorsichtig!]]></item>
+               <item name="wcf.acp.group.group1"><![CDATA[Jeder]]></item>
+               <item name="wcf.acp.group.group2"><![CDATA[Gäste]]></item>
+               <item name="wcf.acp.group.group3"><![CDATA[Registrierte Benutzer]]></item>
+               <item name="wcf.acp.group.group4"><![CDATA[Administratoren]]></item>
+               <item name="wcf.acp.group.group5"><![CDATA[Moderatoren]]></item>
+               <item name="wcf.acp.group.group6"><![CDATA[Super Moderatoren]]></item>
                <item name="wcf.acp.group.groupName"><![CDATA[Name der Benutzergruppe]]></item>
                <item name="wcf.acp.group.groupName.description"><![CDATA[Geben Sie einen Namen für die Gruppe an.]]></item>
                <item name="wcf.acp.group.list"><![CDATA[Benutzergruppen]]></item>
index e62960294d0647cef724e3780ffedc90b58e4c8b..447dcb856c738a54bb0739509d14dcffe8c8d37c 100644 (file)
        </category>
        
        <category name="wcf.acp.group">
-               <item name="wcf.acp.group.administrators"><![CDATA[Administrators]]></item>
-               <item name="wcf.acp.group.everyone"><![CDATA[Everyone]]></item>
-               <item name="wcf.acp.group.guests"><![CDATA[Guests]]></item>
-               <item name="wcf.acp.group.moderators"><![CDATA[Moderators]]></item>
-               <item name="wcf.acp.group.superModerators"><![CDATA[Super Moderators]]></item>
-               <item name="wcf.acp.group.users"><![CDATA[Users]]></item>
                <item name="wcf.acp.group.add"><![CDATA[Add new user group]]></item>
                <item name="wcf.acp.group.data"><![CDATA[General group information]]></item>
                <item name="wcf.acp.group.delete.sure"><![CDATA[Are you sure you would like to remove the user group &quot;{$group->groupName}&quot;?]]></item>
                <item name="wcf.acp.group.edit"><![CDATA[Edit user group]]></item>
                <item name="wcf.acp.group.edit.warning.selfIsMember"><![CDATA[You are currently a member of this user group! Changing the permissions of this user group could result in locking yourself out of the Administration Control Panel. Please be careful!]]></item>
+               <item name="wcf.acp.group.group1"><![CDATA[Everyone]]></item>
+               <item name="wcf.acp.group.group2"><![CDATA[Guests]]></item>
+               <item name="wcf.acp.group.group3"><![CDATA[Users]]></item>
+               <item name="wcf.acp.group.group4"><![CDATA[Administrators]]></item>
+               <item name="wcf.acp.group.group5"><![CDATA[Moderators]]></item>
+               <item name="wcf.acp.group.group6"><![CDATA[Super Moderators]]></item>
                <item name="wcf.acp.group.groupName"><![CDATA[User group name]]></item>
                <item name="wcf.acp.group.groupName.description"><![CDATA[Enter a name for this group.]]></item>
                <item name="wcf.acp.group.list"><![CDATA[User groups]]></item>
index e8394cafe2516d97f3babcf9171e6df2eaa178ee..a78f3c67d08357440ab7cee7e7c34b141ade3508 100644 (file)
@@ -859,12 +859,12 @@ ALTER TABLE wcf1_user_to_language ADD FOREIGN KEY (languageID) REFERENCES wcf1_l
 
 /**** default inserts ****/
 -- default user groups
-INSERT INTO wcf1_user_group (groupName, groupType) VALUES ('Everyone', 1);
-INSERT INTO wcf1_user_group (groupName, groupType) VALUES ('Guests', 2);
-INSERT INTO wcf1_user_group (groupName, groupType) VALUES ('Users', 3);
-INSERT INTO wcf1_user_group (groupName, groupType) VALUES ('Administrators', 4);
-INSERT INTO wcf1_user_group (groupName, groupType) VALUES ('Moderators', 4);
-INSERT INTO wcf1_user_group (groupName, groupType) VALUES ('Super Moderators', 4);
+INSERT INTO wcf1_user_group (groupName, groupType) VALUES ('wcf.acp.group.group1', 1);
+INSERT INTO wcf1_user_group (groupName, groupType) VALUES ('wcf.acp.group.group2', 2);
+INSERT INTO wcf1_user_group (groupName, groupType) VALUES ('wcf.acp.group.group3', 3);
+INSERT INTO wcf1_user_group (groupName, groupType) VALUES ('wcf.acp.group.group4', 4);
+INSERT INTO wcf1_user_group (groupName, groupType) VALUES ('wcf.acp.group.group5', 4);
+INSERT INTO wcf1_user_group (groupName, groupType) VALUES ('wcf.acp.group.group6', 4);
 
 -- default user group options
 INSERT INTO wcf1_user_group_option (optionName, categoryName, optionType, defaultValue, adminDefaultValue, showOrder) VALUES ('admin.general.canUseAcp', 'admin.general', 'boolean', '0', '1', 1);