Code Duplication    Length = 45-45 lines in 2 locations

app/Query/QueryName.php 1 location

@@ 126-170 (lines=45) @@
123
	 *
124
	 * @return string
125
	 */
126
	public static function initialLetter($name) {
127
		$name = I18N::strtoupper($name);
128
		switch (WT_LOCALE) {
129
		case 'cs':
130
			if (substr($name, 0, 2) == 'CH') {
131
				return 'CH';
132
			}
133
			break;
134
		case 'da':
135
		case 'nb':
136
		case 'nn':
137
			if (substr($name, 0, 2) == 'AA') {
138
				return 'Å';
139
			}
140
			break;
141
		case 'hu':
142
			if (substr($name, 0, 2) == 'CS') {
143
				return 'CS';
144
			} elseif (substr($name, 0, 3) == 'DZS') {
145
				return 'DZS';
146
			} elseif (substr($name, 0, 2) == 'DZ') {
147
				return 'DZ';
148
			} elseif (substr($name, 0, 2) == 'GY') {
149
				return 'GY';
150
			} elseif (substr($name, 0, 2) == 'LY') {
151
				return 'LY';
152
			} elseif (substr($name, 0, 2) == 'NY') {
153
				return 'NY';
154
			} elseif (substr($name, 0, 2) == 'SZ') {
155
				return 'SZ';
156
			} elseif (substr($name, 0, 2) == 'TY') {
157
				return 'TY';
158
			} elseif (substr($name, 0, 2) == 'ZS') {
159
				return 'ZS';
160
			}
161
			break;
162
		case 'nl':
163
			if (substr($name, 0, 2) == 'IJ') {
164
				return 'IJ';
165
			}
166
			break;
167
		}
168
		// No special rules - just take the first character
169
		return mb_substr($name, 0, 1);
170
	}
171
172
	/**
173
	 * Generate SQL to match a given letter, taking care of cases that

app/Controller/IndividualListController.php 1 location

@@ 127-171 (lines=45) @@
124
	 *
125
	 * @return string
126
	 */
127
	public function initialLetter($name) {
128
		$name = I18N::strtoupper($name);
129
		switch (WT_LOCALE) {
130
		case 'cs':
131
			if (substr($name, 0, 2) == 'CH') {
132
				return 'CH';
133
			}
134
			break;
135
		case 'da':
136
		case 'nb':
137
		case 'nn':
138
			if (substr($name, 0, 2) == 'AA') {
139
				return 'Å';
140
			}
141
			break;
142
		case 'hu':
143
			if (substr($name, 0, 2) == 'CS') {
144
				return 'CS';
145
			} elseif (substr($name, 0, 3) == 'DZS') {
146
				return 'DZS';
147
			} elseif (substr($name, 0, 2) == 'DZ') {
148
				return 'DZ';
149
			} elseif (substr($name, 0, 2) == 'GY') {
150
				return 'GY';
151
			} elseif (substr($name, 0, 2) == 'LY') {
152
				return 'LY';
153
			} elseif (substr($name, 0, 2) == 'NY') {
154
				return 'NY';
155
			} elseif (substr($name, 0, 2) == 'SZ') {
156
				return 'SZ';
157
			} elseif (substr($name, 0, 2) == 'TY') {
158
				return 'TY';
159
			} elseif (substr($name, 0, 2) == 'ZS') {
160
				return 'ZS';
161
			}
162
			break;
163
		case 'nl':
164
			if (substr($name, 0, 2) == 'IJ') {
165
				return 'IJ';
166
			}
167
			break;
168
		}
169
		// No special rules - just take the first character
170
		return mb_substr($name, 0, 1);
171
	}
172
173
	/**
174
	 * Generate SQL to match a given letter, taking care of cases that