/**
* Get the parent asset id for the record
*
* @param Table $table A Table object for the asset parent.
* @param integer $id The id for the asset
*
* @return integer The id of the asset's parent
*
* @since 1.6
*/
protected function _getAssetParentId(Table $table = null, $id = null)
{
$assetId = null;
// This is a category under a category.
if ($this->parent_id > 1) {
// Build the query to get the asset id for the parent category.
$query = $this->_db->getQuery(true)->select($this->_db->quoteName('asset_id'))->from($this->_db->quoteName('#__categories'))->where($this->_db->quoteName('id') . ' = :parentId')->bind(':parentId', $this->parent_id, ParameterType::INTEGER);
// Get the asset id from the database.
$this->_db->setQuery($query);
if ($result = $this->_db->loadResult()) {
$assetId = (int) $result;
}
} elseif ($assetId === null) {
// Build the query to get the asset id for the parent category.
$query = $this->_db->getQuery(true)->select($this->_db->quoteName('id'))->from($this->_db->quoteName('#__assets'))->where($this->_db->quoteName('name') . ' = :extension')->bind(':extension', $this->extension);
// Get the asset id from the database.
$this->_db->setQuery($query);
if ($result = $this->_db->loadResult()) {
$assetId = (int) $result;
}
}
// Return the asset id.
if ($assetId) {
return $assetId;
} else {
return parent::_getAssetParentId($table, $id);
}
}