Preheat the oven to 170C/325F/Gas 3.
Grease a 25cm/10in cake tin with butter and line with greaseproof paper.
For the chocolate cake, in a large bowl, cream the butter and sugar together until the mixture is pale and light.
In a separate bowl, stir the sunflower oil and vanilla extract into the beaten eggs.
Gradually beat the egg mixture into the butter and sugar mixture, adding only a little egg mixture at a time and making sure it is well incorporated before adding more, until all of the egg mixture has been incorporated and the mixture is well combined.
In a separate bowl, mix together the flour, bicarbonate of soda, baking powder, salt, cinnamon and cocoa powder until well combined.
Gradually fold the flour mixture to the cake batter mixture, a spoonful at a time, until all of the flour mixture has been incorporated into the cake batter.
Add the flat cola to the cake batter and stir carefully until well combined.
Pour the cake batter into the greased, lined cake tin. Level the top of the cake out with a palette knife or spatula.
Transfer the cake to the oven and bake for 1hr 15 mins to 1hr 20 mins, checking regularly, or until the cake has risen and a skewer comes out clean when inserted into the centre of the cake. (If the top of the cake browns too quickly during cooking, cover it with a sheet of aluminium foil.)
Carefully remove the cake from its tin and set aside on a wire rack to cool.
When the cake has cooled, cut the cake in half horizontally to create two thinner cakes.
Spread the jam over one of the cakes, then spread the whipped cream over the jam layer. Place the second cake on top to create a sponge sandwich.
Bring a little water to the boil in a pan, reduce the heat to a simmer and suspend a heatproof bowl over the simmering water. (Do not allow the base of the bowl to touch the water.) Add the chocolate to the bowl and allow to melt. Spread the melted chocolate over the top and sides of the cake.
While the chocolate is still soft, place the jellied sweets and chocolate buttons all over the cake to decorate. Set aside to cool until the chocolate has cooled.