Source for file LMetaDataCore.php
Documentation is available at LMetaDataCore.php
* @license http://opensource.org/licenses/mozilla1.1.php Mozilla Public License
* @copyright 2005, diemeisterei GmbH. All rights reserved.
* @author $Author: schmunk $
* @version $Revision: 601 $ $Date: 2007-02-24 23:49:30 +0100 (Sa, 24 Feb 2007) $
* @package Phundament.Packages
* Core functionality for LMetaData
Prado :: setPathOfAlias("LMetaData", dirname(__FILE__ ));
Prado :: using("LMetaData.db.propel.*");
Prado :: using("LMetaData.db.propel.l_meta_data.*");
* @return array parsed configuration
public function init($config)
Prado::trace("Initializing meta data module ...", "Lithron.LMetaData");
$xmlObjs= $config->getElements();
foreach ($xmlObjs as $obj)
$_attr= $obj->getAttributes();
$pkg= $obj->getTagName();
$id= $_attr->itemAt("id");
$class= $_attr->itemAt("class");
$type= ($opt= $_attr->itemAt("type")) ? $opt : "Selection";
"custom_data" => $_attr->itemAt("custom_data")
#var_dump($this->Config);
* updates the metadata-database for a specified record
$conn= $this->Application->getModule("database")->getConnection("l_meta_data", "propel");
$c->add(LMetaDataPeer :: OWNER_ID, $metaData->getMetaId());
$c->add(LMetaDataPeer :: OWNER_RECORD_ID, $ownerRecordId);
LMetaDataPeer :: doDelete($c, $conn);
$_do= $metaData->getDataObject();
foreach ($_do[LMetaDataBase::DATA_KEY] AS $metaId => $classMetaData)
foreach ($classMetaData AS $metaRecord)
$record->setOwnerId($metaData->getMetaId());
$record->setOwnerRecordId($ownerRecordId);
$record->setMetaId($metaId);
$record->setMetaRecordId($metaRecord['MetaRecordId']);
if (isset ($metaRecord['Description'])) $record->setDescription($metaRecord['Description']);
if (isset ($metaRecord['Rank'])) $record->setRank($metaRecord['Rank']);
* retuns data from database
$conn= $this->Application->getModule("database")->getConnection("l_meta_data", "propel");
$c->add(LMetaDataPeer :: OWNER_ID, $ownerId);
$c->add(LMetaDataPeer :: OWNER_RECORD_ID, $ownerRecordId);
$c->addAscendingOrderByColumn(LMetaDataPeer :: RANK);
$records= LMetaDataPeer :: doSelect($c, $conn);
$return[0]['ApiRevision']= "2";
foreach ($records AS $record)
$r['MetaId'] = $record->getMetaId();
$r['MetaRecordId'] = $record->getMetaRecordId();
$r['Description'] = $record->getDescription();
$r['Rank'] = $record->getRank();
Prado :: log("Queried meta data for $ownerId ($ownerRecordId)", 1, "Lithron.LMetaData");
* Interface for LMetaData controls
|