function _preProductTabs($sUri, $sSubTab = '')
{
if ($GLOBALS['oTemplConfig']->bAllowUnicodeInPreg) {
$sReg = '/^[\\pL\\pN\\-_]+$/u';
} else {
$sReg = '/^[\\d\\w\\-_]+$/u';
}
// latin characters only
if (!preg_match($sReg, $sUri)) {
$this->_oTemplate->displayPageNotFound();
return false;
}
if (!($aDataEntry = $this->_oDb->getEntryByUri($sUri))) {
$this->_oTemplate->displayPageNotFound();
return false;
}
if ($aDataEntry[$this->_oDb->_sFieldStatus] == 'pending' && !$this->isAdmin() && !($aDataEntry[$this->_oDb->_sFieldAuthorId] == $this->_iProfileId && $aDataEntry[$this->_oDb->_sFieldAuthorId])) {
$this->_oTemplate->displayPageNotFound();
return false;
}
$GLOBALS['oTopMenu']->setCustomSubHeader($aDataEntry[$this->_oDb->_sFieldTitle]);
$GLOBALS['oTopMenu']->setCustomVar($this->_sPrefix . '_view_uri', $aDataEntry[$this->_oDb->_sFieldUri]);
$GLOBALS['oTopMenu']->setCustomSubHeaderUrl(BX_DOL_URL_ROOT . $this->_oConfig->getBaseUri() . 'view/' . $aDataEntry[$this->_oDb->_sFieldUri]);
$GLOBALS['oTopMenu']->setCustomBreadcrumbs(array(_t('_' . $this->_sPrefix) => BX_DOL_URL_ROOT . $this->_oConfig->getBaseUri() . 'home/', $aDataEntry[$this->_oDb->_sFieldTitle] => $sSubTab ? BX_DOL_URL_ROOT . $this->_oConfig->getBaseUri() . 'view/' . $aDataEntry[$this->_oDb->_sFieldUri] : '', $sSubTab => ''));
if ((!$this->_iProfileId || $aDataEntry[$this->_oDb->_sFieldAuthorId] != $this->_iProfileId) && !$this->isAllowedView($aDataEntry, true)) {
$this->_oTemplate->displayAccessDenied();
return false;
}
return $aDataEntry;
}