1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php
class Page extends SiteTree {

	public static $db = array(
	);

	public static $has_one = array(
	);
	
	static $has_many = array (
		'GalleryImages' => 'GalleryImage'
	);
	
	public function getCMSFields()
	{
		$f = parent::getCMSFields();
		
		$manager = new ImageDataObjectManager(
			$this, 
			'GalleryImages',
			'GalleryImage',
			'Attachment',
			array(
				'Name' => 'Name'
			),
			'getCMSFields_forPopup'
			// Join clause
		);
		
		$manager->setBrowseButtonText("Kies bestanden"); .
		$manager->setGridLabelField('Name'); 
		
		$manager->setPluralTitle('Afbeeldingen');
				
		$f->addFieldToTab("Root.Content.Afbeeldingen", $manager);
		

		return $f;
	}

}


class GalleryImage extends DataObject
{
	static $db = array (
		'Name' => 'Text',
	);
	
	static $has_one = array (
		'Attachment' => 'GalleryImage_ExtraImages',
		'GalleryPage' => 'Page'
	);
	
	public function getCMSFields_forPopup()
	{
		return new FieldSet(
			new TextField('Name'),
			new FileIFrameField('Attachment')
		);
	}
}


class GalleryImage_ExtraImages extends Image {
/*
	function generateReallySmallThumb($gd) {
		return $gd->resizeRatio(145, 145, true);
	}
*/
  function generateSmallThumb($gd) {
		$myImage_width = $gd->getWidth();
		$myImage_height = $gd->getHeight();
		if($myImage_height > $myImage_width)
		{
			$myImage = $gd->resizeByWidth(200);
			$myNewHeight = $myImage->getHeight();
			$yPos = ($myNewHeight/2) - 70;
			$myImage = $myImage->crop($yPos, 0, 200, 140);
			$howManyGridLines = floor($totalHeight/21);
			return $myImage;
		} else {
			return $gd->resizeRatio(200, 140, true);
		}
	
	
	//return $gd->resizeByWidth(200);
  }

  function generateMainImage($gd) {
	return $gd->resizeByWidth(800);
  }

}


?>