| 4 | | stubClassLoader::load('net.stubbles.xml.stubDomXMLStreamWriter'); |
|---|
| 5 | | class ImageCallback extends stubBaseObject |
|---|
| 6 | | { |
|---|
| 7 | | /** |
|---|
| 8 | | * @XSLMethod |
|---|
| 9 | | */ |
|---|
| 10 | | public function getImageDimensions($imageFile) |
|---|
| 11 | | { |
|---|
| 12 | | if (file_exists($imageFile[0]->value) == false) { |
|---|
| 13 | | throw new stubException('Image ' . $imageFile[0]->value . ' does not exist.'); |
|---|
| 14 | | } |
|---|
| 15 | | |
|---|
| 16 | | $image = getimagesize($imageFile[0]->value); |
|---|
| 17 | | if (false === $image) { |
|---|
| 18 | | throw new stubException('Image ' . $imageFile[0]->value . ' seems not to be an image, can not retrieve dimension data.'); |
|---|
| 19 | | } |
|---|
| 20 | | |
|---|
| 21 | | $xmlStreamWriter = new stubDOMXMLStreamWriter(); |
|---|
| 22 | | $xmlStreamWriter->writeStartElement('dimensions'); |
|---|
| 23 | | $xmlStreamWriter->writeElement('width', array(), $image[0]); |
|---|
| 24 | | $xmlStreamWriter->writeElement('height', array(), $image[1]); |
|---|
| 25 | | $xmlStreamWriter->writeEndElement(); |
|---|
| 26 | | return $xmlStreamWriter->asDom(); |
|---|
| 27 | | } |
|---|
| 28 | | } |
|---|