本文整理汇总了PHP中TranslationPeer::countNameSpaceByName方法的典型用法代码示例。如果您正苦于以下问题:PHP TranslationPeer::countNameSpaceByName方法的具体用法?PHP TranslationPeer::countNameSpaceByName怎么用?PHP TranslationPeer::countNameSpaceByName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TranslationPeer
的用法示例。
在下文中一共展示了TranslationPeer::countNameSpaceByName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: saveData
public function saveData($aStringData)
{
$this->validate($aStringData);
if (!Flash::noErrors()) {
throw new ValidationException();
}
$oConnection = Propel::getConnection();
foreach (LanguageQuery::create()->orderById()->find() as $oLanguage) {
$oUpdateCriteria = new Criteria();
$oUpdateCriteria->add(TranslationPeer::LANGUAGE_ID, $oLanguage->getId());
$oUpdateCriteria->add(TranslationPeer::STRING_KEY, $this->sStringId);
if (isset($aStringData['text_' . $oLanguage->getId()])) {
$sText = trim($aStringData['text_' . $oLanguage->getId()]);
$oString = TranslationQuery::create()->findPk(array($oLanguage->getId(), $this->sStringId));
if ($sText === '') {
if ($oString !== null) {
$oString->delete();
}
continue;
}
if ($oString === null) {
$oString = new Translation();
$oString->setLanguageId($oLanguage->getId());
$oString->setStringKey($aStringData['string_key']);
} else {
if ($this->sStringId !== null && $this->sStringId !== $aStringData['string_key']) {
$oString->setStringKey($aStringData['string_key']);
BasePeer::doUpdate($oUpdateCriteria, $oString->buildCriteria(), $oConnection);
}
}
$oString->setText($sText);
$oString->save();
} else {
$oString = TranslationQuery::create()->findPk(array($oLanguage->getId(), $this->sStringId));
if ($oString === null) {
continue;
}
if ($this->sStringId !== null && $this->sStringId !== $aStringData['string_key']) {
$oString->setStringKey($aStringData['string_key']);
BasePeer::doUpdate($oUpdateCriteria, $oString->buildCriteria(), $oConnection);
}
}
}
// check sidebar reload criteria
$sNameSpaceOld = TranslationPeer::getNameSpaceFromStringKey($this->sStringId);
$sNameSpaceNew = TranslationPeer::getNameSpaceFromStringKey($aStringData['string_key']);
// if both are the same the sidebar is not effected
$bSidebarHasChanged = false;
if ($sNameSpaceOld !== $sNameSpaceNew) {
// if there was an old name space then we have to check whether it was the last string with this namespace
if ($sNameSpaceOld !== null && !TranslationPeer::nameSpaceExists($sNameSpaceOld)) {
$bSidebarHasChanged = true;
}
// if the new exits only once it has been created and the sidebar needs to be relaoded
if ($sNameSpaceNew !== null && TranslationPeer::countNameSpaceByName($sNameSpaceNew) === 1) {
$bSidebarHasChanged = true;
}
}
$this->sStringId = $aStringData['string_key'];
return array('id' => $this->sStringId, self::SIDEBAR_CHANGED => $bSidebarHasChanged);
}