/** * {@inheritdoc} */ public static function byId(IMetaModel $objMetaModel, $intId = 0) { if (self::$arrInstances[$intId]) { return self::$arrInstances[$intId]; } $objDB = Database::getInstance(); $objView = null; $objView = Database::getInstance()->prepare('SELECT * FROM tl_metamodel_rendersettings WHERE pid=? AND (id=? OR isdefault=1) ORDER BY isdefault ASC')->limit(1)->execute($objMetaModel->get('id'), $intId); if (!$objView->numRows) { $intId = 0; $objView = NULL; } $objRenderSetting = new MetaModelRenderSettings($objView ? $objView->row() : array()); self::collectAttributeSettings($objMetaModel, $objRenderSetting); return $objRenderSetting; }
/** * Check if the item is published. * * @param IMetaModel $objMetaModel Current metamodels. * @param int $intItemId Id of the item. * * @return boolean True => Published | False => Not published */ protected function isPublishedItem($objMetaModel, $intItemId) { // Check publish state of an item. $objAttrCheckPublish = Database::getInstance()->prepare('SELECT colname FROM tl_metamodel_attribute WHERE pid=? AND check_publish=1')->limit(1)->execute($objMetaModel->get('id')); if ($objAttrCheckPublish->numRows > 0) { $objItem = $objMetaModel->findById($intItemId); if (!$objItem->get($objAttrCheckPublish->colname)) { return false; } } return true; }