/** * @param string $phrase * @param string|null $value * @param array|null $variables */ public function set($phrase, $value = null, array $variables = null) { if (null === $value) { $value = $phrase; } $languageKey = CM_Model_LanguageKey::replace($phrase, $variables); CM_Db_Db::insert('cm_languageValue', array('value' => $value, 'languageKeyId' => $languageKey->getId(), 'languageId' => $this->_language->getId()), null, array('value' => $value)); $this->_change(); }
public function testReplace() { $languageKey = CM_Model_LanguageKey::create('foo', ['bar']); $this->assertSame(['bar'], $languageKey->getVariables()); $this->assertRow('cm_model_languagekey', ['name' => 'foo'], 1); $languageKeyReplaced = CM_Model_LanguageKey::replace('foo', ['foo']); $this->assertRow('cm_model_languagekey', ['name' => 'foo'], 1); $this->assertEquals($languageKey, $languageKeyReplaced); $this->assertSame(['foo'], $languageKeyReplaced->getVariables()); $this->assertRow('cm_model_languagekey', ['name' => 'bar'], 0); $languageKeyCreated = CM_Model_LanguageKey::replace('bar', ['bar']); $this->assertRow('cm_model_languagekey', ['name' => 'bar'], 1); $this->assertSame(['bar'], $languageKeyCreated->getVariables()); }