function deleteOldVersions( $eZObjectID )
{
global $cli;
$eZObject = eZContentObject::fetch( $eZObjectID );
$objectVersions = $eZObject->versions();
$objectVersionID = $eZObject->attribute( 'current_version' );
$cli->output(count($objectVersions)." versions");
foreach ( $objectVersions as $version )
{
$versionID = $version->attribute('version');
if ($objectVersionID != $versionID)
{
$contentObjectAttributes = $version->contentObjectAttributes();
foreach ( $contentObjectAttributes as $contentObjectAttribute )
{
$classAttribute = $contentObjectAttribute->contentClassAttribute();
$dataTypeString = $classAttribute->attribute( 'data_type_string' );
if ($dataTypeString == "ezimage")
{
eZImageAliasHandler::removeAllAliases( $contentObjectAttribute );
$cli->output("deleting image");
}
}
$db = eZDB::instance();
$db->begin();
$version->removeThis();
$cli->output("removing version ".$versionID);
$db->commit();
}
}
$objectVersions = $eZObject->versions();
$cli->output(count($objectVersions)." versions remaining. Current version is ".$objectVersionID);
}
Certified eZ publish developer with over 9 years of eZ publish experience. Available for challenging eZ publish projects as a technical consultant, project manager, trouble shooter or strategic advisor.
I would recommend creating a new issue in the issue tracker to add this functionality into the default ezpublish releases. This seems like something that should be available by default.