File Source for Drawing.php

PHPExcel_Worksheet_Drawing

# Source for file Drawing.php

Documentation is available at Drawing.php

1. <?php
2. /**
3. * PHPExcel
4. *
5. * Copyright (c) 2006 - 2011 PHPExcel
6. *
7. * This library is free software; you can redistribute it and/or
8. * modify it under the terms of the GNU Lesser General Public
9. * License as published by the Free Software Foundation; either
10. * version 2.1 of the License, or (at your option) any later version.
11. *
12. * This library is distributed in the hope that it will be useful,
13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15. * Lesser General Public License for more details.
16. *
17. * You should have received a copy of the GNU Lesser General Public
18. * License along with this library; if not, write to the Free Software
19. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20. *
21. * @category PHPExcel
22. * @package PHPExcel_Worksheet_Drawing
23. * @copyright Copyright (c) 2006 - 2011 PHPExcel (http://www.codeplex.com/PHPExcel)
24. * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
25. * @version 1.7.6, 2011-02-27
26. */
29. /**
30. * PHPExcel_Worksheet_Drawing
31. *
32. * @category PHPExcel
33. * @package PHPExcel_Worksheet_Drawing
34. * @copyright Copyright (c) 2006 - 2011 PHPExcel (http://www.codeplex.com/PHPExcel)
35. */
36. class PHPExcel_Worksheet_Drawing extends PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable
37. {
38. /**
39. * Path
40. *
41. * @var string
42. */
43. private $_path;
45. /**
46. * Create a new PHPExcel_Worksheet_Drawing
47. */
48. public function __construct()
49. {
50. // Initialise values
51. $this->_path = '';
53. // Initialize parent
54. parent::__construct();
55. }
57. /**
58. * Get Filename
59. *
60. * @return string
61. */
62. public function getFilename() {
63. return basename($this->_path);
64. }
66. /**
67. * Get indexed filename (using image index)
68. *
69. * @return string
70. */
71. public function getIndexedFilename() {
72. $fileName = $this-> getFilename();
73. $fileName = str_replace(' ', '_', $fileName);
74. return str_replace('.' . $this-> getExtension(), '', $fileName) . $this-> getImageIndex() . '.' . $this-> getExtension();
75. }
77. /**
78. * Get Extension
79. *
80. * @return string
81. */
82. public function getExtension() {
83. $exploded = explode(".", basename($this->_path));
84. return $exploded[ count($exploded) - 1];
85. }
87. /**
88. * Get Path
89. *
90. * @return string
91. */
92. public function getPath() {
93. return $this->_path;
94. }
96. /**
97. * Set Path
98. *
99. * @param string $pValue File path
100. * @param boolean $pVerifyFile Verify file
101. * @throws Exception
102. * @return PHPExcel_Worksheet_Drawing
103. */
104. public function setPath($pValue = '', $pVerifyFile = true) {
105. if ($pVerifyFile) {
106. if ( file_exists($pValue)) {
107. $this->_path = $pValue;
109. if ($this->_width == 0 && $this->_height == 0) {
110. // Get width/height
111. list($this->_width, $this->_height) = getimagesize($pValue);
112. }
113. } else {
114. throw new Exception("File $pValue not found!");
115. }
116. } else {
117. $this->_path = $pValue;
118. }
119. return $this;
120. }
122. /**
123. * Get hash code
124. *
125. * @return string Hash code
126. */
127. public function getHashCode() {
128. return md5(
129. $this->_path
130. . parent:: getHashCode()
131. . __CLASS__
132. );
133. }
135. /**
136. * Implement PHP __clone to create a deep clone, not just a shallow copy.
137. */
138. public function __clone() {
139. $vars = get_object_vars($this);
140. foreach ($vars as $key => $value) {
141. if ( is_object($value)) {
142. $this->$key = clone $value;
143. } else {
144. $this->$key = $value;
145. }
146. }
147. }
148. }

Documentation generated on Sun, 27 Feb 2011 16:30:16 -0800 by phpDocumentor 1.4.3