--- a/server/src/app/Http/Controllers/Api/LexvoController.php Sun Oct 16 22:23:31 2016 +0530
+++ b/server/src/app/Http/Controllers/Api/LexvoController.php Sun Oct 16 23:19:57 2016 +0530
@@ -8,6 +8,9 @@
use CorpusParole\Services\LexvoResolverInterface;
use CorpusParole\Services\LexvoResolverException;
+use CorpusParole\Libraries\Filters\CorpusFilterManager;
+use CorpusParole\Libraries\Utils;
+
class LexvoController extends Controller
{
public function __construct(LexvoResolverInterface $lexvoResolver) {
@@ -23,7 +26,26 @@
public function show($id)
{
try {
- return response()->json(['lexvoids' => $this->lexvoResolver->getNames(explode(",", $id))]);
+ $ids = [];
+ $corpusIds = [];
+ foreach(explode(",", $id) as $idStr) {
+ if(Utils::startsWith($idStr, config('corpusparole.language_corpus_node_prefix'))) {
+ $corpusIds[] = $idStr;
+ } else {
+ $ids[] = $idStr;
+ }
+ }
+ $lexvosNames = $this->lexvoResolver->getNames($ids);
+ $corpusNames = array_reduce($corpusIds, function($res,$cid) {
+ $cNode = CorpusFilterManager::getLanguageNode($cid);
+ if(is_null($cNode)) {
+ $res[$cid] = null;
+ } else {
+ $res[$cid] = $cNode['name'];
+ }
+ return $res;
+ }, []);
+ return response()->json(['lexvoids' => array_merge($lexvosNames, $corpusNames)]);
} catch (LexvoResolverException $e) {
abort(500, $e->getMessage());
}