He cambiado la función removeFileByObject así:
Código PHP:
function removeFileByObject( $idObjeto )
{
$resultado = false;
$oArchivo = new CArchivo;
$IdQueryRemoveFile = ExecuteQuery("SELECT * FROM ".T_ARCHIVOS." WHERE Objeto = ".$idObjeto);
if( $IdQueryRemoveFile != false )
{
$row = ReturnQueryRow($IdQueryRemoveFile);
$oArchivo->cargaFila( $row );
// eliminamos el archivo si está alojado en el servidor
if( $oArchivo->getURL() != null )
{
@unlink($oArchivo->getURL());
}
if( $oArchivo->elimina() != false )
{
$resultado = true;
}
}
return $resultado;
}
He borrado el bucle ya que, en este caso, el objeto en cuestión sólo tendrá un archivo asociado como máximo. De todas maneras, me parece una solución bastante fea.
Cualquier consejo o ayuda será bien recibida.