function feZMetaData_ContentActionHandler( &$module, &$http, &$objectID )
{
	// Action when user clicks on the Add Button
	if( $http->hasPostVariable( 'AddMetaDataButton' ) )
	{
		$link = 'fezmetadata/edit/0/(contentObjectID)/'.$objectID;
		$link .= '/(metaDataName)/'.$_POST['metaDataName'];
		$link .= '/(language)/'.$_POST['language'];
		eZURI::transformURI( $link );
		$http->redirect( $link );
	}

	// Action when user clicks on the Remove Button
	if( $http->hasPostVariable( 'RemoveMetaDataButton' ) and $http->hasPostVariable( 'MetaDataIDSelection' ) )
	{
		$metaDataSelection = $http->postVariable( 'MetaDataIDSelection' );
		foreach( $metaDataSelection as $metaData )
		{
			$metaDataObject = feZMetaData::fetch( $metaData );
			$metaDataObject->remove();
		}
		eZContentCacheManager::clearContentCache( $objectID );
		$ContentObject = eZContentObject::fetch( $objectID );
		$ContentNodeID = $ContentObject->mainNodeID();
		return $module->redirect( 'content', 'view', array( 'full', $ContentNodeID ) );
	}
}
	function fetchMetaData ( $metaDataID )
	{
        return array( 'result' => feZMetaData::fetch( $metaDataID ) );
	}
Esempio n. 3
0
if( is_numeric( $metaID ) and $metaID == 0 )
{
	$contentObjectID = $Params[ 'contentObjectID' ];
	$contentObject = eZContentObject::fetch( $contentObjectID );
	$metaObject = feZMetaData::fetchByContentObjectIDAndMetaName( $contentObjectID,
	                                                             $Params['metaDataName'],
	                                                             $Params['language'] );
    if ( $metaObject->MetaID > 0 )
    {
        return $Module->redirect( 'fezmetadata', 'edit', $metaObject->MetaID ); 
    }
}
else
{
	$metaObject = feZMetaData::fetch( $metaID );
	$contentObject = eZContentObject::fetch( $metaObject->attribute( 'contentobject_id') );
}

if( !$contentObject->attribute('can_edit') )
{
	return $Module->handleError( eZError::KERNEL_ACCESS_DENIED, 'kernel',
                                 array( 'AccessList' => $obj->accessList( 'edit' ) ) );
}

$MetaDataINI = eZINI::instance( 'ezmetadata.ini' );
$AvailableMetaData = $MetaDataINI->variable( 'MetaData', 'AvailablesMetaData' );

foreach( $AvailableMetaData as $MetaData )
{
	if( $MetaDataINI->hasVariable( 'MetaData_'.$MetaData ) )