/** * Execute the console command. * * @return void */ public function fire() { $config = ArrayLoader::load(config('tradukoj')); $this->debugStatus = $this->option('debug'); $output = $this->getOutput(); $clientSocketApi = new ClientSocketApi($config, new Socket(), new PostCurl(), new ConsoleOutput(), $this->debugStatus); $this->info("Connecting with Tradukoj ..."); $clientSocketApi->init(); if ($this->option('upload-first')) { $catalogs = $this->manager->getCatalogs(); foreach ($catalogs as $catalog) { $output->writeln(PHP_EOL . sprintf('<info>Uploading catalog %s ...</info>', $catalog)); $data = $this->manager->getTranslations($catalog); $this->output->writeln('uploadKeys("' . $catalog . '", $data)'); $clientSocketApi->uploadKeys($catalog, $data); } $this->info('Done!'); $clientSocketApi->shutdown(); return; } // normal synchronization (not upload-first) $catalogs = $clientSocketApi->getCatalogIndex(); foreach ($catalogs as $catalog) { $output->writeln(PHP_EOL . sprintf('Downloading catalog "%s" ...', $catalog)); $translations = $clientSocketApi->downloadKeys($catalog); var_dump($translations); //$data = $this->manager->getTranslations($catalog); //$this->output->writeln('uploadKeys("' . $catalog . '", $data)'); //$clientSocketApi->uploadKeys($catalog, $data); } $clientSocketApi->shutdown(); $this->info('Done!'); }
<?php require_once __DIR__ . '/../vendor/autoload.php'; use JLaso\TradukojConnector\Model\Loader\ArrayLoader; use JLaso\TradukojConnector\ClientSocketApi; use JLaso\TradukojConnector\Socket\Socket; use JLaso\TradukojConnector\PostClient\PostCurl; use JLaso\TradukojConnector\Output\ConsoleOutput; $loader = new ArrayLoader(); $config = $loader->load(array('project_id' => 1, 'key' => 'key', 'secret' => 'secret', 'url' => 'https://localhost/api/')); $socketClient = new Socket(); $postClient = new PostCurl(); $consoleOutput = new ConsoleOutput(); $clientSocketApi = new ClientSocketApi($config, $socketClient, $postClient, $consoleOutput, true); // initialize client $clientSocketApi->init(); // getters // fetch the list of bundles of the project $bundles = $clientSocketApi->getBundleIndex(); // get the list of catalogs of the project $catalogs = $clientSocketApi->getCatalogIndex(); $keys = $clientSocketApi->getKeyIndex($bundles[0]); $messages = $clientSocketApi->getMessages($bundles[0], $keys[0]);
/** * @expectedException \JLaso\TradukojConnector\Exception\CreateSocketException */ public function testCreateSocketException() { $this->clientSocketApi->init(); }