Skip to content

Commit b568266

Browse files
committed
Merge pull request #149 from phpcr/fix_language_validation
ensure we validate the support languages in a case insensitive way
2 parents c41b8d4 + e2e54f1 commit b568266

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

src/PHPCR/Util/Console/Command/WorkspaceQueryCommand.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ protected function configure()
4242
protected function execute(InputInterface $input, OutputInterface $output)
4343
{
4444
$sql = $input->getArgument('query');
45-
$language = strtoupper($input->getOption('language'));
45+
$language = $input->getOption('language');
4646
$limit = $input->getOption('limit');
4747
$offset = $input->getOption('offset');
4848

src/PHPCR/Util/Console/Helper/PhpcrHelper.php

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,10 @@ public function processNode(OutputInterface $output, NodeInterface $node, array
152152
*/
153153
public function createQuery($language, $sql)
154154
{
155-
$this->validateQueryLanguage($language);
155+
$language = $this->validateQueryLanguage($language);
156156

157157
$session = $this->getSession();
158158
$qm = $session->getWorkspace()->getQueryManager();
159-
$language = strtoupper($language);
160159
$query = $qm->createQuery($sql, $language);
161160

162161
return $query;
@@ -173,11 +172,15 @@ protected function validateQueryLanguage($language)
173172
{
174173
$qm = $this->getSession()->getWorkspace()->getQueryManager();
175174
$langs = $qm->getSupportedQueryLanguages();
176-
if (!in_array($language, $langs)) {
177-
throw new \Exception(sprintf(
178-
'Query language "%s" not supported, available query languages: %s',
179-
$language, implode(',', $langs)
180-
));
175+
foreach ($langs as $lang) {
176+
if (strtoupper($lang) === strtoupper($language)) {
177+
return $lang;
178+
}
181179
}
180+
181+
throw new \Exception(sprintf(
182+
'Query language "%s" not supported, available query languages: %s',
183+
$language, implode(',', $langs)
184+
));
182185
}
183186
}

0 commit comments

Comments
 (0)