Lib_Varien - Version 1.8.0.0

Version Notes

1.8.0.0

Download this release

Release Info

Developer Magento Core Team
Extension Lib_Varien
Version 1.8.0.0
Comparing to
See all releases


Code changes from version 1.7.0.0 to 1.8.0.0

lib/Varien/Cache/Backend/Memcached.php CHANGED
@@ -24,7 +24,12 @@
24
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
*/
26
27
- class Varien_Cache_Backend_Memcached
28
extends Zend_Cache_Backend_Memcached
29
implements Zend_Cache_Backend_ExtendedInterface
30
{
24
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
*/
26
27
+ /**
28
+ * Class Varien_Cache_Backend_Memcached
29
+ *
30
+ * @deprecated after 1.7.0.2
31
+ */
32
+ class Varien_Cache_Backend_Memcached
33
extends Zend_Cache_Backend_Memcached
34
implements Zend_Cache_Backend_ExtendedInterface
35
{
lib/Varien/Cache/Core.php CHANGED
@@ -26,6 +26,60 @@
26
27
class Varien_Cache_Core extends Zend_Cache_Core
28
{
29
/**
30
* Make and return a cache id
31
*
@@ -65,17 +119,74 @@ class Varien_Cache_Core extends Zend_Cache_Core
65
* @param mixed $data Data to put in cache (can be another type than string if automatic_serialization is on)
66
* @param string $id Cache id (if not set, the last cache id will be used)
67
* @param array $tags Cache tags
68
- * @param int $specificLifetime If != false, set a specific lifetime for this cache record (null => infinite lifetime)
69
- * @param int $priority integer between 0 (very low priority) and 10 (maximum priority) used by some particular backends
70
- * @throws Zend_Cache_Exception
71
* @return boolean True if no problem
72
*/
73
public function save($data, $id = null, $tags = array(), $specificLifetime = false, $priority = 8)
74
{
75
$tags = $this->_tags($tags);
76
return parent::save($data, $id, $tags, $specificLifetime, $priority);
77
}
78
79
/**
80
* Clean cache entries
81
*
@@ -127,4 +238,4 @@ class Varien_Cache_Core extends Zend_Cache_Core
127
$tags = $this->_tags($tags);
128
return parent::getIdsNotMatchingTags($tags);
129
}
130
- }
26
27
class Varien_Cache_Core extends Zend_Cache_Core
28
{
29
+ /**
30
+ * Specific slab size = 1Mb minus overhead
31
+ *
32
+ * @var array $_specificOptions
33
+ */
34
+ protected $_specificOptions = array('slab_size' => 0);
35
+
36
+ /**
37
+ * Used to tell chunked data from ordinary
38
+ */
39
+ const CODE_WORD = '{splitted}';
40
+
41
+ /**
42
+ * Constructor
43
+ *
44
+ * @throws Varien_Exception
45
+ * @param array|Zend_Config $options Associative array of options or Zend_Config instance
46
+ */
47
+ public function __construct($options = array())
48
+ {
49
+ parent::__construct($options);
50
+ if (!is_numeric($this->getOption('slab_size'))) {
51
+ throw new Varien_Exception("Invalid value for the node <slab_size>. Expected to be integer.");
52
+ }
53
+ }
54
+
55
+ /**
56
+ * Returns ID of a specific chunk on the basis of data's ID
57
+ *
58
+ * @param string $id Main data's ID
59
+ * @param int $index Particular chunk number to return ID for
60
+ * @return string
61
+ */
62
+ protected function _getChunkId($id, $index)
63
+ {
64
+ return "{$id}[{$index}]";
65
+ }
66
+
67
+ /**
68
+ * Remove saved chunks in case something gone wrong (e.g. some chunk from the chain can not be found)
69
+ *
70
+ * @param string $id ID of data's info cell
71
+ * @param int $chunks Number of chunks to remove (basically, the number after '{splitted}|')
72
+ * @return null
73
+ */
74
+ protected function _cleanTheMess($id, $chunks)
75
+ {
76
+ for ($i = 0; $i < $chunks; $i++) {
77
+ $this->remove($this->_getChunkId($id, $i));
78
+ }
79
+
80
+ $this->remove($id);
81
+ }
82
+
83
/**
84
* Make and return a cache id
85
*
119
* @param mixed $data Data to put in cache (can be another type than string if automatic_serialization is on)
120
* @param string $id Cache id (if not set, the last cache id will be used)
121
* @param array $tags Cache tags
122
+ * @param bool|int $specificLifetime If != false, set a specific lifetime for this cache record (null => infinite lifetime)
123
+ * @param int $priority integer between 0 (very low priority) and 10 (maximum priority) used by some particular backends
124
* @return boolean True if no problem
125
*/
126
public function save($data, $id = null, $tags = array(), $specificLifetime = false, $priority = 8)
127
{
128
$tags = $this->_tags($tags);
129
+
130
+ if ($this->getOption('slab_size') && is_string($data) && (strlen($data) > $this->getOption('slab_size'))) {
131
+ $dataChunks = str_split($data, $this->getOption('slab_size'));
132
+
133
+ for ($i = 0, $cnt = count($dataChunks); $i < $cnt; $i++) {
134
+ $chunkId = $this->_getChunkId($id, $i);
135
+
136
+ if (!parent::save($dataChunks[$i], $chunkId, $tags, $specificLifetime, $priority)) {
137
+ $this->_cleanTheMess($id, $i + 1);
138
+ return false;
139
+ }
140
+ }
141
+
142
+ $data = self::CODE_WORD . '|' . $i;
143
+ }
144
+
145
return parent::save($data, $id, $tags, $specificLifetime, $priority);
146
}
147
148
+ /**
149
+ * Load data from cached, glue from several chunks if it was splitted upon save.
150
+ *
151
+ * @param string $id Cache id
152
+ * @param boolean $doNotTestCacheValidity If set to true, the cache validity won't be tested
153
+ * @param boolean $doNotUnserialize Do not serialize (even if automatic_serialization is true) => for internal use
154
+ * @return mixed|false Cached datas
155
+ */
156
+ public function load($id, $doNotTestCacheValidity = false, $doNotUnserialize = false)
157
+ {
158
+ $data = parent::load($id, $doNotTestCacheValidity, $doNotUnserialize);
159
+
160
+ if (is_string($data) && (substr($data, 0, strlen(self::CODE_WORD)) == self::CODE_WORD)) {
161
+ // Seems we've got chunked data
162
+
163
+ $arr = explode('|', $data);
164
+ $chunks = isset($arr[1]) ? $arr[1] : false;
165
+ $chunkData = array();
166
+
167
+ if ($chunks && is_numeric($chunks)) {
168
+ for ($i = 0; $i < $chunks; $i++) {
169
+ $chunk = parent::load($this->_getChunkId($id, $i), $doNotTestCacheValidity, $doNotUnserialize);
170
+
171
+ if (false === $chunk) {
172
+ // Some chunk in chain was not found, we can not glue-up the data:
173
+ // clean the mess and return nothing
174
+
175
+ $this->_cleanTheMess($id, $chunks);
176
+ return false;
177
+ }
178
+
179
+ $chunkData[] = $chunk;
180
+ }
181
+
182
+ return implode('', $chunkData);
183
+ }
184
+ }
185
+
186
+ // Data has not been splitted to chunks on save
187
+ return $data;
188
+ }
189
+
190
/**
191
* Clean cache entries
192
*
238
$tags = $this->_tags($tags);
239
return parent::getIdsNotMatchingTags($tags);
240
}
241
+ }
lib/Varien/Convert/Action/Abstract.php CHANGED
@@ -175,7 +175,7 @@ abstract class Varien_Convert_Action_Abstract implements Varien_Convert_Action_I
175
public function run()
176
{
177
if ($method = $this->getParam('method')) {
178
- if (!is_callable(array($this->getContainer(), $method))) {
179
$this->addException('Unable to run action method: '.$method, Varien_Convert_Exception::FATAL);
180
}
181
@@ -196,4 +196,4 @@ abstract class Varien_Convert_Action_Abstract implements Varien_Convert_Action_I
196
return $this;
197
}
198
199
- }
175
public function run()
176
{
177
if ($method = $this->getParam('method')) {
178
+ if (!method_exists($this->getContainer(), $method)) {
179
$this->addException('Unable to run action method: '.$method, Varien_Convert_Exception::FATAL);
180
}
181
196
return $this;
197
}
198
199
+ }
lib/Varien/Convert/Parser/Xml/Excel.php CHANGED
@@ -133,7 +133,8 @@ class Varien_Convert_Parser_Xml_Excel extends Varien_Convert_Parser_Abstract
133
$xml .= '<ss:Row>';
134
foreach ($fields as $fieldName) {
135
$data = isset($row[$fieldName]) ? $row[$fieldName] : '';
136
- $xml .= '<ss:Cell><Data ss:Type="String">'.$data.'</Data></ss:Cell>';
137
}
138
$xml .= '</ss:Row>';
139
}
133
$xml .= '<ss:Row>';
134
foreach ($fields as $fieldName) {
135
$data = isset($row[$fieldName]) ? $row[$fieldName] : '';
136
+ $fieldType = is_numeric($data) ? 'Number' : 'String';
137
+ $xml .= '<ss:Cell><Data ss:Type="' . $fieldType . '">' . $data . '</Data></ss:Cell>';
138
}
139
$xml .= '</ss:Row>';
140
}
lib/Varien/Data/Form/Element/Editor.php CHANGED
@@ -364,7 +364,7 @@ class Varien_Data_Form_Element_Editor extends Varien_Data_Form_Element_Textarea
364
public function translate($string)
365
{
366
$translator = $this->getConfig('translator');
367
- if (is_object($translator) && is_callable(array($translator, '__'))) {
368
$result = $translator->__($string);
369
if (is_string($result)) {
370
return $result;
364
public function translate($string)
365
{
366
$translator = $this->getConfig('translator');
367
+ if (method_exists($translator, '__')) {
368
$result = $translator->__($string);
369
if (is_string($result)) {
370
return $result;
lib/Varien/Db/Adapter/Interface.php CHANGED
@@ -102,6 +102,15 @@ interface Varien_Db_Adapter_Interface
102
*/
103
public function createTable(Varien_Db_Ddl_Table $table);
104
105
/**
106
* Drop table from database
107
*
@@ -111,6 +120,15 @@ interface Varien_Db_Adapter_Interface
111
*/
112
public function dropTable($tableName, $schemaName = null);
113
114
/**
115
* Truncate a table
116
*
@@ -199,6 +217,16 @@ interface Varien_Db_Adapter_Interface
199
*/
200
public function renameTable($oldTableName, $newTableName, $schemaName = null);
201
202
/**
203
* Adds new column to the table.
204
*
@@ -727,6 +755,18 @@ interface Varien_Db_Adapter_Interface
727
*/
728
public function getCheckSql($condition, $true, $false);
729
730
/**
731
* Returns valid IFNULL expression
732
*
@@ -747,6 +787,12 @@ interface Varien_Db_Adapter_Interface
747
*/
748
public function getConcatSql(array $data, $separator = null);
749
750
/**
751
* Generate fragment of SQL that returns length of character string
752
* The string argument must be quoted
@@ -911,11 +957,21 @@ interface Varien_Db_Adapter_Interface
911
* @param Varien_Db_Select $select
912
* @param string $table insert into table
913
* @param array $fields
914
- * @param int $mode
915
* @return string
916
*/
917
public function insertFromSelect(Varien_Db_Select $select, $table, array $fields = array(), $mode = false);
918
919
/**
920
* Get update table query using select object for join and update
921
*
@@ -998,10 +1054,44 @@ interface Varien_Db_Adapter_Interface
998
*/
999
public function getSuggestedZeroDate();
1000
1001
/**
1002
* Get adapter transaction level state. Return 0 if all transactions are complete
1003
*
1004
* @return int
1005
*/
1006
public function getTransactionLevel();
1007
}
102
*/
103
public function createTable(Varien_Db_Ddl_Table $table);
104
105
+ /**
106
+ * Create temporary table from DDL object
107
+ *
108
+ * @param Varien_Db_Ddl_Table $table
109
+ * @throws Zend_Db_Exception
110
+ * @return Zend_Db_Statement_Interface
111
+ */
112
+ public function createTemporaryTable(Varien_Db_Ddl_Table $table);
113
+
114
/**
115
* Drop table from database
116
*
120
*/
121
public function dropTable($tableName, $schemaName = null);
122
123
+ /**
124
+ * Drop temporary table from database
125
+ *
126
+ * @param string $tableName
127
+ * @param string $schemaName
128
+ * @return boolean
129
+ */
130
+ public function dropTemporaryTable($tableName, $schemaName = null);
131
+
132
/**
133
* Truncate a table
134
*
217
*/
218
public function renameTable($oldTableName, $newTableName, $schemaName = null);
219
220
+ /**
221
+ * Rename several tables
222
+ *
223
+ * @param array $tablePairs array('oldName' => 'Name1', 'newName' => 'Name2')
224
+ *
225
+ * @return boolean
226
+ * @throws Zend_Db_Exception
227
+ */
228
+ public function renameTablesBatch(array $tablePairs);
229
+
230
/**
231
* Adds new column to the table.
232
*
755
*/
756
public function getCheckSql($condition, $true, $false);
757
758
+ /**
759
+ * Generate fragment of SQL, that check value against multiple condition cases
760
+ * and return different result depends on them
761
+ *
762
+ * @param string $valueName Name of value to check
763
+ * @param array $casesResults Cases and results
764
+ * @param string $defaultValue value to use if value doesn't confirm to any cases
765
+ *
766
+ * @return Zend_Db_Expr
767
+ */
768
+ public function getCaseSql($valueName, $casesResults, $defaultValue = null);
769
+
770
/**
771
* Returns valid IFNULL expression
772
*
787
*/
788
public function getConcatSql(array $data, $separator = null);
789
790
+ /**
791
+ * Returns the configuration variables in this adapter.
792
+ * @return array
793
+ */
794
+ public function getConfig();
795
+
796
/**
797
* Generate fragment of SQL that returns length of character string
798
* The string argument must be quoted
957
* @param Varien_Db_Select $select
958
* @param string $table insert into table
959
* @param array $fields
960
+ * @param bool|int $mode
961
* @return string
962
*/
963
public function insertFromSelect(Varien_Db_Select $select, $table, array $fields = array(), $mode = false);
964
965
+ /**
966
+ * Get insert queries in array for insert by range with step parameter
967
+ *
968
+ * @param string $rangeField
969
+ * @param Varien_Db_Select $select
970
+ * @param int $stepCount
971
+ * @return array
972
+ */
973
+ public function selectsByRange($rangeField, Varien_Db_Select $select, $stepCount = 100);
974
+
975
/**
976
* Get update table query using select object for join and update
977
*
1054
*/
1055
public function getSuggestedZeroDate();
1056
1057
+ /**
1058
+ * Drop trigger
1059
+ *
1060
+ * @param string $triggerName
1061
+ * @return Varien_Db_Adapter_Interface
1062
+ */
1063
+ public function dropTrigger($triggerName);
1064
+
1065
/**
1066
* Get adapter transaction level state. Return 0 if all transactions are complete
1067
*
1068
* @return int
1069
*/
1070
public function getTransactionLevel();
1071
+
1072
+ /**
1073
+ * Convert date format to unix time
1074
+ *
1075
+ * @param string|Zend_Db_Expr $date
1076
+ * @return mixed
1077
+ */
1078
+ public function getUnixTimestamp($date);
1079
+
1080
+ /**
1081
+ * Convert unix time to date format
1082
+ *
1083
+ * @param int|Zend_Db_Expr $timestamp
1084
+ * @return mixed
1085
+ */
1086
+ public function fromUnixtime($timestamp);
1087
+
1088
+ /**
1089
+ * Create new table from provided select statement
1090
+ *
1091
+ * @param string $tableName
1092
+ * @param Zend_Db_Select $select
1093
+ * @param bool $temporary
1094
+ * @return mixed
1095
+ */
1096
+ public function createTableFromSelect($tableName, Zend_Db_Select $select, $temporary = false);
1097
}
lib/Varien/Db/Adapter/Pdo/Mysql.php CHANGED
@@ -186,6 +186,13 @@ class Varien_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements V
186
*/
187
protected $_ddlRoutines = array('alt', 'cre', 'ren', 'dro', 'tru');
188
189
/**
190
* Allowed interval units array
191
*
@@ -395,7 +402,9 @@ class Varien_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements V
395
{
396
if (is_string($sql) && $this->getTransactionLevel() > 0) {
397
$startSql = strtolower(substr(ltrim($sql), 0, 3));
398
- if (in_array($startSql, $this->_ddlRoutines)) {
399
trigger_error(Varien_Db_Adapter_Interface::ERROR_DDL_MESSAGE, E_USER_ERROR);
400
}
401
}
@@ -407,7 +416,7 @@ class Varien_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements V
407
*
408
* @param string|Zend_Db_Select $sql The SQL statement with placeholders.
409
* @param mixed $bind An array of data or data itself to bind to the placeholders.
410
- * @return Zend_Db_Pdo_Statement
411
* @throws Zend_Db_Adapter_Exception To re-throw PDOException.
412
*/
413
public function query($sql, $bind = array())
@@ -896,7 +905,7 @@ class Varien_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements V
896
{
897
if (!$this->tableColumnExists($tableName, $oldColumnName, $schemaName)) {
898
throw new Zend_Db_Exception(sprintf(
899
- 'Column "%s" does not exists on table "%s"',
900
$oldColumnName,
901
$tableName
902
));
@@ -936,7 +945,7 @@ class Varien_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements V
936
public function modifyColumn($tableName, $columnName, $definition, $flushData = false, $schemaName = null)
937
{
938
if (!$this->tableColumnExists($tableName, $columnName, $schemaName)) {
939
- throw new Zend_Db_Exception(sprintf('Column "%s" does not exists on table "%s"', $columnName, $tableName));
940
}
941
if (is_array($definition)) {
942
$definition = $this->_getColumnDefinition($definition);
@@ -2039,6 +2048,29 @@ class Varien_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements V
2039
return $this->query($sql);
2040
}
2041
2042
/**
2043
* Retrieve columns and primary keys definition array for create table
2044
*
@@ -2312,8 +2344,10 @@ class Varien_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements V
2312
$cDefault = new Zend_Db_Expr('0 ON UPDATE CURRENT_TIMESTAMP');
2313
} else if ($cDefault == Varien_Db_Ddl_Table::TIMESTAMP_INIT_UPDATE) {
2314
$cDefault = new Zend_Db_Expr('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP');
2315
} else {
2316
- $cDefault = false;
2317
}
2318
} else if (is_null($cDefault) && $cNullable) {
2319
$cDefault = new Zend_Db_Expr('NULL');
@@ -2351,6 +2385,22 @@ class Varien_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements V
2351
return true;
2352
}
2353
2354
/**
2355
* Truncate a table
2356
*
@@ -2413,6 +2463,42 @@ class Varien_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements V
2413
return true;
2414
}
2415
2416
/**
2417
* Add new index to table name
2418
*
@@ -2870,7 +2956,9 @@ class Varien_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements V
2870
*
2871
* @param string $valueName Name of value to check
2872
* @param array $casesResults Cases and results
2873
- * @param string $defaultValue value to use if value doesn't confirm to any cases
2874
*/
2875
public function getCaseSql($valueName, $casesResults, $defaultValue = null)
2876
{
@@ -3231,7 +3319,7 @@ class Varien_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements V
3231
* @param Varien_Db_Select $select
3232
* @param string $table insert into table
3233
* @param array $fields
3234
- * @param int $mode
3235
* @return string
3236
*/
3237
public function insertFromSelect(Varien_Db_Select $select, $table, array $fields = array(), $mode = false)
@@ -3257,11 +3345,28 @@ class Varien_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements V
3257
}
3258
}
3259
}
3260
$update = array();
3261
- foreach ($fields as $field) {
3262
- $update[] = sprintf('%1$s = VALUES(%1$s)', $this->quoteIdentifier($field));
3263
- }
3264
3265
if ($update) {
3266
$query = sprintf('%s ON DUPLICATE KEY UPDATE %s', $query, join(', ', $update));
3267
}
@@ -3270,11 +3375,92 @@ class Varien_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements V
3270
return $query;
3271
}
3272
3273
/**
3274
* Get update table query using select object for join and update
3275
*
3276
* @param Varien_Db_Select $select
3277
* @param string|array $table
3278
* @return string
3279
*/
3280
public function updateFromSelect(Varien_Db_Select $select, $table)
@@ -3636,6 +3822,40 @@ class Varien_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements V
3636
return $fkName;
3637
}
3638
3639
/**
3640
* Check if all transactions have been committed
3641
*/
186
*/
187
protected $_ddlRoutines = array('alt', 'cre', 'ren', 'dro', 'tru');
188
189
+ /**
190
+ * DDL statements for temporary tables
191
+ *
192
+ * @var string
193
+ */
194
+ protected $_tempRoutines = '#^\w+\s+temporary\s#im';
195
+
196
/**
197
* Allowed interval units array
198
*
402
{
403
if (is_string($sql) && $this->getTransactionLevel() > 0) {
404
$startSql = strtolower(substr(ltrim($sql), 0, 3));
405
+ if (in_array($startSql, $this->_ddlRoutines)
406
+ && (preg_match($this->_tempRoutines, $sql) !== 1)
407
+ ) {
408
trigger_error(Varien_Db_Adapter_Interface::ERROR_DDL_MESSAGE, E_USER_ERROR);
409
}
410
}
416
*
417
* @param string|Zend_Db_Select $sql The SQL statement with placeholders.
418
* @param mixed $bind An array of data or data itself to bind to the placeholders.
419
+ * @return Zend_Db_Statement_Pdo
420
* @throws Zend_Db_Adapter_Exception To re-throw PDOException.
421
*/
422
public function query($sql, $bind = array())
905
{
906
if (!$this->tableColumnExists($tableName, $oldColumnName, $schemaName)) {
907
throw new Zend_Db_Exception(sprintf(
908
+ 'Column "%s" does not exist in table "%s".',
909
$oldColumnName,
910
$tableName
911
));
945
public function modifyColumn($tableName, $columnName, $definition, $flushData = false, $schemaName = null)
946
{
947
if (!$this->tableColumnExists($tableName, $columnName, $schemaName)) {
948
+ throw new Zend_Db_Exception(sprintf('Column "%s" does not exist in table "%s".', $columnName, $tableName));
949
}
950
if (is_array($definition)) {
951
$definition = $this->_getColumnDefinition($definition);
2048
return $this->query($sql);
2049
}
2050
2051
+ /**
2052
+ * Create temporary table
2053
+ *
2054
+ * @param Varien_Db_Ddl_Table $table
2055
+ * @throws Zend_Db_Exception
2056
+ * @return Zend_Db_Pdo_Statement
2057
+ */
2058
+ public function createTemporaryTable(Varien_Db_Ddl_Table $table)
2059
+ {
2060
+ $sqlFragment = array_merge(
2061
+ $this->_getColumnsDefinition($table),
2062
+ $this->_getIndexesDefinition($table),
2063
+ $this->_getForeignKeysDefinition($table)
2064
+ );
2065
+ $tableOptions = $this->_getOptionsDefinition($table);
2066
+ $sql = sprintf("CREATE TEMPORARY TABLE %s (\n%s\n) %s",
2067
+ $this->quoteIdentifier($table->getName()),
2068
+ implode(",\n", $sqlFragment),
2069
+ implode(" ", $tableOptions));
2070
+
2071
+ return $this->query($sql);
2072
+ }
2073
+
2074
/**
2075
* Retrieve columns and primary keys definition array for create table
2076
*
2344
$cDefault = new Zend_Db_Expr('0 ON UPDATE CURRENT_TIMESTAMP');
2345
} else if ($cDefault == Varien_Db_Ddl_Table::TIMESTAMP_INIT_UPDATE) {
2346
$cDefault = new Zend_Db_Expr('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP');
2347
+ } else if ($cNullable && !$cDefault) {
2348
+ $cDefault = new Zend_Db_Expr('NULL');
2349
} else {
2350
+ $cDefault = new Zend_Db_Expr('0');
2351
}
2352
} else if (is_null($cDefault) && $cNullable) {
2353
$cDefault = new Zend_Db_Expr('NULL');
2385
return true;
2386
}
2387
2388
+ /**
2389
+ * Drop temporary table from database
2390
+ *
2391
+ * @param string $tableName
2392
+ * @param string $schemaName
2393
+ * @return boolean
2394
+ */
2395
+ public function dropTemporaryTable($tableName, $schemaName = null)
2396
+ {
2397
+ $table = $this->quoteIdentifier($this->_getTableName($tableName, $schemaName));
2398
+ $query = 'DROP TEMPORARY TABLE IF EXISTS ' . $table;
2399
+ $this->query($query);
2400
+
2401
+ return $this;
2402
+ }
2403
+
2404
/**
2405
* Truncate a table
2406
*
2463
return true;
2464
}
2465
2466
+ /**
2467
+ * Rename several tables
2468
+ *
2469
+ * @param array $tablePairs array('oldName' => 'Name1', 'newName' => 'Name2')
2470
+ *
2471
+ * @return boolean
2472
+ * @throws Zend_Db_Exception
2473
+ */
2474
+ public function renameTablesBatch(array $tablePairs)
2475
+ {
2476
+ if (count($tablePairs) == 0) {
2477
+ throw new Zend_Db_Exception('Please provide tables for rename');
2478
+ }
2479
+
2480
+ $renamesList = array();
2481
+ $tablesList = array();
2482
+ foreach ($tablePairs as $pair) {
2483
+ $oldTableName = $pair['oldName'];
2484
+ $newTableName = $pair['newName'];
2485
+ $renamesList[] = sprintf('%s TO %s', $oldTableName, $newTableName);
2486
+
2487
+ $tablesList[$oldTableName] = $oldTableName;
2488
+ $tablesList[$newTableName] = $newTableName;
2489
+ }
2490
+
2491
+ $query = sprintf('RENAME TABLE %s', implode(',', $renamesList));
2492
+ $this->query($query);
2493
+
2494
+ foreach ($tablesList as $table) {
2495
+ $this->resetDdlCache($table);
2496
+ }
2497
+
2498
+ return true;
2499
+ }
2500
+
2501
+
2502
/**
2503
* Add new index to table name
2504
*
2956
*
2957
* @param string $valueName Name of value to check
2958
* @param array $casesResults Cases and results
2959
+ * @param string $defaultValue value to use if value doesn't conform to any cases
2960
+ *
2961
+ * @return Zend_Db_Expr
2962
*/
2963
public function getCaseSql($valueName, $casesResults, $defaultValue = null)
2964
{
3319
* @param Varien_Db_Select $select
3320
* @param string $table insert into table
3321
* @param array $fields
3322
+ * @param bool|int $mode
3323
* @return string
3324
*/
3325
public function insertFromSelect(Varien_Db_Select $select, $table, array $fields = array(), $mode = false)
3345
}
3346
}
3347
}
3348
+
3349
$update = array();
3350
+ foreach ($fields as $k => $v) {
3351
+ $field = $value = null;
3352
+ if (!is_numeric($k)) {
3353
+ $field = $this->quoteIdentifier($k);
3354
+ if ($v instanceof Zend_Db_Expr) {
3355
+ $value = $v->__toString();
3356
+ } elseif (is_string($v)) {
3357
+ $value = sprintf('VALUES(%s)', $this->quoteIdentifier($v));
3358
+ } elseif (is_numeric($v)) {
3359
+ $value = $this->quoteInto('?', $v);
3360
+ }
3361
+ } elseif (is_string($v)) {
3362
+ $value = sprintf('VALUES(%s)', $this->quoteIdentifier($v));
3363
+ $field = $this->quoteIdentifier($v);
3364
+ }
3365
3366
+ if ($field && $value) {
3367
+ $update[] = sprintf('%s = %s', $field, $value);
3368
+ }
3369
+ }
3370
if ($update) {
3371
$query = sprintf('%s ON DUPLICATE KEY UPDATE %s', $query, join(', ', $update));
3372
}
3375
return $query;
3376
}
3377
3378
+ /**
3379
+ * Get insert queries in array for insert by range with step parameter
3380
+ *
3381
+ * @param string $rangeField
3382
+ * @param Varien_Db_Select $select
3383
+ * @param int $stepCount
3384
+ * @return array
3385
+ * @throws Varien_Db_Exception
3386
+ */
3387
+ public function selectsByRange($rangeField, Varien_Db_Select $select, $stepCount = 100)
3388
+ {
3389
+ $queries = array();
3390
+ $fromSelect = $select->getPart(Varien_Db_Select::FROM);
3391
+ if (empty($fromSelect)) {
3392
+ throw new Varien_Db_Exception('Select must have correct FROM part');
3393
+ }
3394
+
3395
+ $tableName = array();
3396
+ $correlationName = '';
3397
+ foreach ($fromSelect as $correlationName => $formPart) {
3398
+ if ($formPart['joinType'] == Varien_Db_Select::FROM) {
3399
+ $tableName = $formPart['tableName'];
3400
+ break;
3401
+ }
3402
+ }
3403
+
3404
+ $selectRange = $this->select()
3405
+ ->from(
3406
+ $tableName,
3407
+ array(
3408
+ new Zend_Db_Expr('MIN(' . $this->quoteIdentifier($rangeField) . ') AS min'),
3409
+ new Zend_Db_Expr('MAX(' . $this->quoteIdentifier($rangeField) . ') AS max'),
3410
+ )
3411
+ );
3412
+
3413
+ $rangeResult = $this->fetchRow($selectRange);
3414
+ $min = $rangeResult['min'];
3415
+ $max = $rangeResult['max'];
3416
+
3417
+ while ($min <= $max) {
3418
+ $partialSelect = clone $select;
3419
+ $partialSelect->where(
3420
+ $this->quoteIdentifier($correlationName) . '.'
3421
+ . $this->quoteIdentifier($rangeField) . ' >= ?', $min
3422
+ )
3423
+ ->where(
3424
+ $this->quoteIdentifier($correlationName) . '.'
3425
+ . $this->quoteIdentifier($rangeField) . ' < ?', $min+$stepCount
3426
+ );
3427
+ $queries[] = $partialSelect;
3428
+ $min += $stepCount;
3429
+ }
3430
+ return $queries;
3431
+ }
3432
+
3433
+ /**
3434
+ * Convert date format to unix time
3435
+ *
3436
+ * @param string|Zend_Db_Expr $date
3437
+ * @throws Varien_Db_Exception
3438
+ * @return Zend_Db_Expr
3439
+ */
3440
+ public function getUnixTimestamp($date)
3441
+ {
3442
+ $expr = sprintf('UNIX_TIMESTAMP(%s)', $date);
3443
+ return new Zend_Db_Expr($expr);
3444
+ }
3445
+
3446
+ /**
3447
+ * Convert unix time to date format
3448
+ *
3449
+ * @param int|Zend_Db_Expr $timestamp
3450
+ * @return mixed
3451
+ */
3452
+ public function fromUnixtime($timestamp)
3453
+ {
3454
+ $expr = sprintf('FROM_UNIXTIME(%s)', $timestamp);
3455
+ return new Zend_Db_Expr($expr);
3456
+ }
3457
+
3458
/**
3459
* Get update table query using select object for join and update
3460
*
3461
* @param Varien_Db_Select $select
3462
* @param string|array $table
3463
+ * @throws Varien_Db_Exception
3464
* @return string
3465
*/
3466
public function updateFromSelect(Varien_Db_Select $select, $table)
3822
return $fkName;
3823
}
3824
3825
+ /**
3826
+ * Drop trigger
3827
+ *
3828
+ * @param string $triggerName
3829
+ * @return Varien_Db_Adapter_Interface
3830
+ */
3831
+ public function dropTrigger($triggerName)
3832
+ {
3833
+ $query = sprintf(
3834
+ 'DROP TRIGGER IF EXISTS %s',
3835
+ $this->_getTableName($triggerName)
3836
+ );
3837
+ $this->query($query);
3838
+ return $this;
3839
+ }
3840
+
3841
+ /**
3842
+ * Create new table from provided select statement
3843
+ *
3844
+ * @param string $tableName
3845
+ * @param Zend_Db_Select $select
3846
+ * @param bool $temporary
3847
+ * @return mixed
3848
+ */
3849
+ public function createTableFromSelect($tableName, Zend_Db_Select $select, $temporary = false)
3850
+ {
3851
+ $query = sprintf(
3852
+ 'CREATE' . ($temporary ? ' TEMPORARY' : '') . ' TABLE `%s` AS (%s)',
3853
+ $this->_getTableName($tableName),
3854
+ (string)$select
3855
+ );
3856
+ $this->query($query);
3857
+ }
3858
+
3859
/**
3860
* Check if all transactions have been committed
3861
*/
lib/Varien/Db/Ddl/Table.php CHANGED
@@ -219,6 +219,7 @@ class Varien_Db_Ddl_Table
219
* Set comment for table
220
*
221
* @param string $comment
222
*/
223
public function setComment($comment)
224
{
219
* Set comment for table
220
*
221
* @param string $comment
222
+ * @return Varien_Db_Ddl_Table
223
*/
224
public function setComment($comment)
225
{
lib/Varien/File/Uploader.php CHANGED
@@ -464,7 +464,7 @@ class Varien_File_Uploader
464
private function _setUploadFileId($fileId)
465
{
466
if (empty($_FILES)) {
467
- throw new Exception('$_FILES array is empty');
468
}
469
470
if (is_array($fileId)) {
464
private function _setUploadFileId($fileId)
465
{
466
if (empty($_FILES)) {
467
+ throw new Exception('$_FILES array is empty', self::TMP_NAME_EMPTY);
468
}
469
470
if (is_array($fileId)) {
lib/Varien/Filter/Template.php CHANGED
@@ -131,9 +131,9 @@ class Varien_Filter_Template implements Zend_Filter_Interface
131
continue;
132
}
133
try {
134
- $replacedValue = call_user_func($callback, $construction);
135
} catch (Exception $e) {
136
- throw $e;
137
}
138
$value = str_replace($construction[0], $replacedValue, $value);
139
}
@@ -149,8 +149,8 @@ class Varien_Filter_Template implements Zend_Filter_Interface
149
return $construction[0];
150
}
151
152
- $replacedValue = $this->_getVariable($construction[2], '');
153
- return $replacedValue;
154
}
155
156
public function includeDirective($construction)
@@ -212,9 +212,9 @@ class Varien_Filter_Template implements Zend_Filter_Interface
212
$tokenizer->setString($value);
213
$params = $tokenizer->tokenize();
214
foreach ($params as $key => $value) {
215
- if (substr($value, 0, 1) === '#x27;) {
216
- $params[$key] = $this->_getVariable(substr($value, 1), null);
217
- }
218
}
219
return $params;
220
}
@@ -238,24 +238,22 @@ class Varien_Filter_Template implements Zend_Filter_Interface
238
if ($i == 0 && isset($this->_templateVars[$stackVars[$i]['name']])) {
239
// Getting of template value
240
$stackVars[$i]['variable'] =& $this->_templateVars[$stackVars[$i]['name']];
241
- } else if (isset($stackVars[$i-1]['variable'])
242
- && $stackVars[$i-1]['variable'] instanceof Varien_Object) {
243
// If object calling methods or getting properties
244
- if($stackVars[$i]['type'] == 'property') {
245
- $caller = "get" . uc_words($stackVars[$i]['name'], '');
246
- if(is_callable(array($stackVars[$i-1]['variable'], $caller))) {
247
- // If specified getter for this property
248
- $stackVars[$i]['variable'] = $stackVars[$i-1]['variable']->$caller();
249
- } else {
250
- $stackVars[$i]['variable'] = $stackVars[$i-1]['variable']
251
- ->getData($stackVars[$i]['name']);
252
- }
253
- } else if ($stackVars[$i]['type'] == 'method') {
254
// Calling of object method
255
- if (is_callable(array($stackVars[$i-1]['variable'], $stackVars[$i]['name'])) || substr($stackVars[$i]['name'],0,3) == 'get') {
256
- $stackVars[$i]['variable'] = call_user_func_array(array($stackVars[$i-1]['variable'],
257
- $stackVars[$i]['name']),
258
- $stackVars[$i]['args']);
259
}
260
}
261
$last = $i;
131
continue;
132
}
133
try {
134
+ $replacedValue = call_user_func($callback, $construction);
135
} catch (Exception $e) {
136
+ throw $e;
137
}
138
$value = str_replace($construction[0], $replacedValue, $value);
139
}
149
return $construction[0];
150
}
151
152
+ $replacedValue = $this->_getVariable($construction[2], '');
153
+ return $replacedValue;
154
}
155
156
public function includeDirective($construction)
212
$tokenizer->setString($value);
213
$params = $tokenizer->tokenize();
214
foreach ($params as $key => $value) {
215
+ if (substr($value, 0, 1) === '#x27;) {
216
+ $params[$key] = $this->_getVariable(substr($value, 1), null);
217
+ }
218
}
219
return $params;
220
}
238
if ($i == 0 && isset($this->_templateVars[$stackVars[$i]['name']])) {
239
// Getting of template value
240
$stackVars[$i]['variable'] =& $this->_templateVars[$stackVars[$i]['name']];
241
+ } elseif (isset($stackVars[$i-1]['variable']) && $stackVars[$i-1]['variable'] instanceof Varien_Object) {
242
// If object calling methods or getting properties
243
+ if ($stackVars[$i]['type'] == 'property') {
244
+ $caller = 'get' . uc_words($stackVars[$i]['name'], '');
245
+ $stackVars[$i]['variable'] = method_exists($stackVars[$i-1]['variable'], $caller)
246
+ ? $stackVars[$i-1]['variable']->$caller()
247
+ : $stackVars[$i-1]['variable']->getData($stackVars[$i]['name']);
248
+ } elseif ($stackVars[$i]['type'] == 'method') {
249
// Calling of object method
250
+ if (method_exists($stackVars[$i-1]['variable'], $stackVars[$i]['name'])
251
+ || substr($stackVars[$i]['name'], 0, 3) == 'get'
252
+ ) {
253
+ $stackVars[$i]['variable'] = call_user_func_array(
254
+ array($stackVars[$i-1]['variable'], $stackVars[$i]['name']),
255
+ $stackVars[$i]['args']
256
+ );
257
}
258
}
259
$last = $i;
lib/Varien/Image/Adapter/Gd2.php CHANGED
@@ -43,14 +43,53 @@ class Varien_Image_Adapter_Gd2 extends Varien_Image_Adapter_Abstract
43
*/
44
protected $_resized = false;
45
46
public function open($filename)
47
{
48
$this->_fileName = $filename;
49
$this->getMimeType();
50
$this->_getFileAttributes();
51
$this->_imageHandler = call_user_func($this->_getCallback('create'), $this->_fileName);
52
}
53
54
public function save($destination=null, $newName=null)
55
{
56
$fileName = ( !isset($destination) ) ? $this->_fileName : $destination;
43
*/
44
protected $_resized = false;
45
46
+ /**
47
+ * Opens image file.
48
+ *
49
+ * @param string $filename
50
+ * @throws Varien_Exception
51
+ */
52
public function open($filename)
53
{
54
$this->_fileName = $filename;
55
$this->getMimeType();
56
$this->_getFileAttributes();
57
+ if ($this->_isMemoryLimitReached()) {
58
+ throw new Varien_Exception('Memory limit has been reached.');
59
+ }
60
$this->_imageHandler = call_user_func($this->_getCallback('create'), $this->_fileName);
61
}
62
63
+ /**
64
+ * Checks whether memory limit is reached.
65
+ *
66
+ * @return bool
67
+ */
68
+ protected function _isMemoryLimitReached()
69
+ {
70
+ $limit = $this->_convertToByte(ini_get('memory_limit'));
71
+ $size = getimagesize($this->_fileName);
72
+ $requiredMemory = $size[0] * $size[1] * 3;
73
+ return (memory_get_usage(true) + $requiredMemory) > $limit;
74
+ }
75
+
76
+ /**
77
+ * Converts memory value (e.g. 64M, 129KB) to bytes.
78
+ * Case insensitive value might be used.
79
+ *
80
+ * @param string $memoryValue
81
+ * @return int
82
+ */
83
+ protected function _convertToByte($memoryValue)
84
+ {
85
+ if (stripos($memoryValue, 'M') !== false) {
86
+ return (int)$memoryValue * 1024 * 1024;
87
+ } elseif (stripos($memoryValue, 'KB') !== false) {
88
+ return (int)$memoryValue * 1024;
89
+ }
90
+ return (int)$memoryValue;
91
+ }
92
+
93
public function save($destination=null, $newName=null)
94
{
95
$fileName = ( !isset($destination) ) ? $this->_fileName : $destination;
lib/Varien/Simplexml/Element.php CHANGED
@@ -327,7 +327,11 @@ class Varien_Simplexml_Element extends SimpleXMLElement
327
}
328
$value = (string)$value;
329
330
- $value = str_replace(array('&', '"', "'", '<', '>'), array('&amp;', '&quot;', '&apos;', '&lt;', '&gt;'), $value);
331
332
return $value;
333
}
@@ -412,7 +416,7 @@ class Varien_Simplexml_Element extends SimpleXMLElement
412
// handle string node
413
if (isset($this->$sourceName)) {
414
// if target already has children return without regard
415
- if ($this->$sourceName->children()) {
416
return $this;
417
}
418
if ($overwrite) {
327
}
328
$value = (string)$value;
329
330
+ $value = str_replace(
331
+ array('&', '"', "'", '<', '>'),
332
+ array('&amp;', '&quot;', '&apos;', '&lt;', '&gt;'),
333
+ $value
334
+ );
335
336
return $value;
337
}
416
// handle string node
417
if (isset($this->$sourceName)) {
418
// if target already has children return without regard
419
+ if ($this->$sourceName->hasChildren()) {
420
return $this;
421
}
422
if ($overwrite) {
package.xml CHANGED
@@ -1,18 +1,18 @@
1
<?xml version="1.0"?>
2
<package>
3
<name>Lib_Varien</name>
4
- <version>1.7.0.0</version>
5
<stability>stable</stability>
6
<license uri="http://opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
<channel>community</channel>
8
<extends/>
9
<summary>Varien Library</summary>
10
<description>Varien Library</description>
11
- <notes>1.7.0.0</notes>
12
<authors><author><name>Magento Core Team</name><user>core</user><email>core@magentocommerce.com</email></author></authors>
13
- <date>2012-04-23</date>
14
- <time>13:47:59</time>
15
- <contents><target name="magelib"><dir name="Varien"><file name="Autoload.php" hash="96a0c175e6a98562f058f9a02c167bbb"/><dir name="Cache"><dir name="Backend"><file name="Database.php" hash="09535993a910ade50a2cd763da0f6d9e"/><file name="Eaccelerator.php" hash="00bc01db2c4457fdad760835992ae2dc"/><file name="Memcached.php" hash="9de5a66839dbd79d7c365b58514777fe"/></dir><file name="Core.php" hash="018b7952a12633b8ec2a3d856d2b2c41"/></dir><dir name="Convert"><dir name="Action"><file name="Abstract.php" hash="3de0b3f423df89243793e3b474b9cbe8"/><file name="Interface.php" hash="fe9129227525ffc1f862c6f1f85e83f1"/></dir><file name="Action.php" hash="ee3a0baf50c1bb0f1c0b67721f1965e6"/><dir name="Adapter"><file name="Abstract.php" hash="0c53dc267b75e595518365ab8f1d8ab4"/><dir name="Db"><file name="Table.php" hash="d6b8a1bfe2de4ed908ca0367fb226d2c"/></dir><dir name="Http"><file name="Curl.php" hash="76e12f13e1eb48eb3e8c36cea9a6ece3"/></dir><file name="Http.php" hash="afb44986f4d6ba1cf84819bbb31004b2"/><file name="Interface.php" hash="2c4834f37eede972be48c8b3a2857661"/><file name="Io.php" hash="a9ceb53b810de3e183b439ba1bb1ba57"/><file name="Soap.php" hash="4b67a9ea45b12dfffabd26d2cb8942f2"/><file name="Std.php" hash="225b4e11d9ffcd1db8f99d54dc749687"/><dir name="Zend"><file name="Cache.php" hash="845fcb65276b05714b8d231c6b30f651"/><file name="Db.php" hash="794cb6226590ff7d2a7d1fbce26fcc05"/></dir></dir><dir name="Container"><file name="Abstract.php" hash="8f836665d0dec3c7cc7d93714e9c99b4"/><file name="Collection.php" hash="b1ef8a70ea806deb351b5413d6cfacef"/><file name="Generic.php" hash="bef8559c7a10ecf3ebb3f147795a2597"/><file name="Interface.php" hash="870470de0ec947f1039aa415d37d0f82"/></dir><file name="Exception.php" hash="58c9437dd946d5251234f55de3648d3f"/><dir name="Mapper"><file name="Abstract.php" hash="e1d9d87a1270ad6a499549dd87f9ac62"/><file name="Column.php" hash="7f74158a73fd8fa83052625ef07b1749"/><file name="Interface.php" hash="d8a8b98cece9ae38302914bbc910c094"/></dir><dir name="Parser"><file name="Abstract.php" hash="3559203bdcdb019daddd9ed558f596a7"/><file name="Csv.php" hash="f68d8dc8c0695296cc32b1ca716a8276"/><file name="Interface.php" hash="016ab96988f7ae02d2e84ed4878513ca"/><file name="Serialize.php" hash="52a93cacd5f3d3e0267bbffc74d7d715"/><dir name="Xml"><file name="Excel.php" hash="61386b14392bc29b7f734ed6ee6ee3c5"/></dir></dir><dir name="Profile"><file name="Abstract.php" hash="c038c0b7a209c7a189beb6aa21df617b"/><file name="Collection.php" hash="2ff1f76cafa7e36826063069efdba8ad"/></dir><file name="Profile.php" hash="9b63f8909ed29bf5a3c729bc5934cb9c"/><dir name="Validator"><file name="Abstract.php" hash="3fdf8a0fcd2366563e330c30456f19b9"/><file name="Column.php" hash="da9bb1ffa8d6026a6d26365da4cec289"/><file name="Dryrun.php" hash="70f63aa2f6146c67658dc7bfd04ddf02"/><file name="Interface.php" hash="59c7a5d323e0a3bb6928754f3f4393ad"/></dir></dir><file name="Convert.php" hash="441a61c66ee524a024c7ffe8b7c7c3c2"/><dir name="Crypt"><file name="Abstract.php" hash="73980e75bef5f58855ea924c3693522d"/><file name="Mcrypt.php" hash="3c62cbb2f8e763e0da985b7bc054c5c3"/></dir><file name="Crypt.php" hash="cb28cabbc8a02fd86705bc0b52d7204b"/><dir name="Data"><dir name="Collection"><file name="Db.php" hash="7a4be602c7a6acf3ac5dcfb26f83e50f"/><file name="Filesystem.php" hash="8c2e8522e1782dbea4d52f44566cd02a"/></dir><file name="Collection.php" hash="e55f81c3fdf4b39d05bbbce7573e0de8"/><dir name="Form"><file name="Abstract.php" hash="4978be2832783e6ab2f7c4e291bbf4d5"/><dir name="Element"><file name="Abstract.php" hash="a8982e3215fc63a5cb40a4e964f6d3ea"/><file name="Button.php" hash="98c64b5da29dff22cfae938caa5833c8"/><file name="Checkbox.php" hash="7992114fdc4aefafceebac2a08c1a434"/><file name="Checkboxes.php" hash="fdc32833161b60139e9859f387bce6c7"/><file name="Collection.php" hash="cade28ccfd09e8b55394bf3a7d595d70"/><file name="Column.php" hash="b6d1d32aca981ae0fd1c6a83fc655c9a"/><file name="Date.php" hash="3f5c8628e329cbc87c33c7e622a3b946"/><file name="Editor.php" hash="40e2585d72356d2b5e7d55fc2373c6ea"/><file name="Fieldset.php" hash="f78031a222ad4263826adf2f35622c72"/><file name="File.php" hash="463e8c8e106fe2018fdbf117e330423e"/><file name="Gallery.php" hash="6cb83ebc8efae252978fbd22c001642b"/><file name="Hidden.php" hash="ae6275e5d3b7df411bfda4fb4f995a8c"/><file name="Image.php" hash="c4d7be9bf6b1b19590d44bf9837eb748"/><file name="Imagefile.php" hash="2d6ed40fef1c2927ab22dea7d29336db"/><file name="Label.php" hash="ced6668e926c5cd10e5dfc93e1764070"/><file name="Link.php" hash="fb213bbbce4e46ea03a96923defbfbb3"/><file name="Multiline.php" hash="087bd60ff98b4b9c094b9adec040f166"/><file name="Multiselect.php" hash="9e0d04674a743602438fd4190040944c"/><file name="Note.php" hash="f5b71ebcf5a2b774393d9f4d1581dc35"/><file name="Obscure.php" hash="b61a077fbdea1b93be0aafc2f2c2f391"/><file name="Password.php" hash="a15263e7b0fabe8bd6abf8487f43efcb"/><file name="Radio.php" hash="4b32afab119091759d93ec99fb2fd53b"/><file name="Radios.php" hash="9004386a01f6c2b09435f39bf9b5bb36"/><dir name="Renderer"><file name="Interface.php" hash="61baa8c8755a9a7e8eaac5786ae38f42"/></dir><file name="Reset.php" hash="51bc11836e12bd64390476e3ff393c13"/><file name="Select.php" hash="4402f264e6e2cae5fbad26bc44aa21fe"/><file name="Submit.php" hash="5b9e9e3db9bc70757030312b7d002b7e"/><file name="Text.php" hash="2e798cfd096ac0a87f9d9055000af3c3"/><file name="Textarea.php" hash="b88d00399b8f6846d56055c9416dd0bb"/><file name="Time.php" hash="f35d8d1dc0a90dd6f044f17c22d8dc4a"/></dir><dir name="Filter"><file name="Date.php" hash="80eee9775448a21a5332f3e5cb7edcc9"/><file name="Escapehtml.php" hash="0c02fdfbae30158aa14f45b937332249"/><file name="Interface.php" hash="4542e15af14cc92d7bf5a863d4bf5ddd"/><file name="Striptags.php" hash="2c4cd0905e4e3b99ba373ffeb9ab7d38"/></dir></dir><file name="Form.php" hash="407eee6f100c7befa18ca586b3c3ae04"/><dir name="Tree"><file name="Db.php" hash="d06e9a49ddb1ea94892f4f10e1b3fea1"/><file name="Dbp.php" hash="4bd7f5b9047870f125459dbf523f73a2"/><dir name="Node"><file name="Collection.php" hash="941c88db98d69ec170674380fe3413d5"/></dir><file name="Node.php" hash="e985629bbea05cd0e52d7ac82fc2ee27"/></dir><file name="Tree.php" hash="e39d73757e0535493badc5bea8459834"/></dir><file name="Date.php" hash="7830b6da8a6a54b5ef8d17b7f0d248f0"/><dir name="Db"><dir name="Adapter"><file name="Interface.php" hash="aa9ce5d0b03233176e41d2f8a8706590"/><file name="Mysqli.php" hash="4e6e03a6ddf127f58ab0326c4cfe9956"/><dir name="Pdo"><file name="Mysql.php" hash="d250406ead15e659a6e3a75304d67369"/></dir></dir><dir name="Ddl"><file name="Table.php" hash="5a9390d89162ea56f73a0817de4d029f"/></dir><file name="Exception.php" hash="93966b32e96f793f031244716ff37eed"/><file name="Helper.php" hash="eee52d2574360dabe7a5e830bc0a67b8"/><file name="Select.php" hash="62250da9eb320e684a4c121c3a40d473"/><dir name="Statement"><file name="Parameter.php" hash="8d688f64d6780d18e517921ea5eb9ccb"/><dir name="Pdo"><file name="Mysql.php" hash="e82abad90774a126efb8bd27bc0f43f7"/></dir></dir><dir name="Tree"><file name="Exception.php" hash="6a00d12bbed94d648a974d213a816a4b"/><dir name="Node"><file name="Exception.php" hash="f890d0fc36e89aefd7cf04ae6c10a88e"/></dir><file name="Node.php" hash="6b048bbe2b2c46e405ffae8bca23e579"/><dir name="NodeSet"><file name="Exception.php" hash="2caa6a4b09846fe3b941563aa55d3c5f"/></dir><file name="NodeSet.php" hash="5e589b0c1221caf2693fe6f7d07e1ad3"/></dir><file name="Tree.php" hash="c7cc99ac052aa5d1ac721619d47506e6"/></dir><file name="Debug.php" hash="ec721f169e5a16524a17abba094d651d"/><dir name="Directory"><file name="Collection.php" hash="59faf0b57bc10bdf3daade69b51fd142"/><file name="Factory.php" hash="112fda936935de43f45bf0e1b1ebfd23"/><file name="IFactory.php" hash="bb7a2578774f58922f7d5b3a90c34e3e"/><file name="a.txt" hash="026e450c46ac92ea375302955a4f42fb"/></dir><dir name="Event"><file name="Collection.php" hash="cb422c6c7abb160fa3d7d54669bf2b2e"/><dir name="Observer"><file name="Collection.php" hash="b9c7d52c9563a19d15723bbc4a85fac6"/><file name="Cron.php" hash="0e04e63cf24f5cce3031f5896c439b68"/><file name="Regex.php" hash="f97f5a4435d560e073d725681cb15264"/></dir><file name="Observer.php" hash="eff7b66ce01d3f8fc4c00d974a2d5440"/></dir><file name="Event.php" hash="1836bb96f191e616d59178f17e407277"/><file name="Exception.php" hash="6beb1561720cc6c7a894a955ff2251b7"/><dir name="File"><file name="Csv.php" hash="5736e17051a3e778c59b99ed669caee5"/><file name="CsvMulty.php" hash="af4518063d4d9f03cfbfca832c1b9d76"/><file name="Object.php" hash="86116483e252e66c516208e43b3bb920"/><dir name="Transfer"><dir name="Adapter"><file name="Http.php" hash="c71dc1460cdcf062adb97b577e621923"/></dir></dir><dir name="Uploader"><file name="Image.php" hash="2655d6497c074c8c4998c58320d60c14"/></dir><file name="Uploader.php" hash="7e66b733d1e9be6575cbcfd9e9aaac48"/></dir><dir name="Filter"><dir name="Array"><file name="Grid.php" hash="14bd2f5ab60e7255557fc2dff7f24a37"/></dir><file name="Array.php" hash="a38e3d26f47d1bfaf4e023662d9a3dad"/><file name="Email.php" hash="067f3ea6f1597ea2501455865977d789"/><file name="Money.php" hash="8bec682670cb4cbf48e4b4264e2ab188"/><dir name="Object"><file name="Grid.php" hash="e3c3fa92761e5a1e1401192d8362301e"/></dir><file name="Object.php" hash="5b85aaff354eb0770e14efcfebda263b"/><file name="Sprintf.php" hash="0dd85ddc3d4b737d7cc6308afc12db18"/><dir name="Template"><file name="Simple.php" hash="b342cd136c10a6630d2d7dccd4137387"/><dir name="Tokenizer"><file name="Abstract.php" hash="d737a3d6599939b2a12b55975c9af780"/><file name="Parameter.php" hash="140ab2548a3da859473a46c7b0d44504"/><file name="Variable.php" hash="4ba64c31b234db22c2ff1799a49e7798"/></dir></dir><file name="Template.php" hash="59612d4851769548308449114b6c122a"/></dir><dir name="Http"><dir name="Adapter"><file name="Curl.php" hash="6d7dd607c55582ac08416f1940f3868c"/></dir><file name="Client.php" hash="eac22d5beaca06c1678c327a13e7f45d"/></dir><dir name="Image"><dir name="Adapter"><file name="Abstract.php" hash="0ac17ab0c82dea6289caf0985be0c47d"/><file name="Gd2.php" hash="a35a55acdb36ed25a8398b10cea3afef"/></dir><file name="Adapter.php" hash="edbab0bcfa931ae1d8f813f467e6b311"/></dir><file name="Image.php" hash="dfec3144e465eb2558a76a84f4736254"/><dir name="Io"><file name="Abstract.php" hash="53e7055dfe0ca7d133b94cfbf3621693"/><file name="Exception.php" hash="493365429caf5d2170c00137b081b195"/><file name="File.php" hash="4d0613516c6d3824d1ec4442c99a6b8a"/><file name="Ftp.php" hash="f349b9b833133853c902abb493d4f3bd"/><file name="Interface.php" hash="0b26ea223a4bed00df9b7b808b2acf80"/><file name="Sftp.php" hash="461d458eb368ed01f3b9194bafc4030d"/></dir><dir name="Object"><file name="Cache.php" hash="a87d2ae2d015a4e2f2fc1b611feccfcd"/><file name="Mapper.php" hash="1180b9b29c366d886e8af05181aebbce"/></dir><file name="Object.php" hash="0d5d06e7eb4439372bf90e2e41e998d7"/><dir name="Pear"><file name="Frontend.php" hash="61a9a308d54eca9e0a0bbc09296189f1"/><file name="Package.php" hash="a4261d73ebc059785fe418c6350bb4e5"/><file name="Registry.php" hash="5780af5995ea9af32032d3ebe496e251"/></dir><file name="Pear.php" hash="d60801531ef3ac16b26e302961310c53"/><file name="Profiler.php" hash="d434c08a6dd3ef8eb168e3a3d46f057f"/><dir name="Simplexml"><dir name="Config"><dir name="Cache"><file name="Abstract.php" hash="6dbbd6f1bc63c1b7ee086399da30f4e0"/><file name="File.php" hash="f99292ec6d04d5464a1313a2c52880d4"/></dir></dir><file name="Config.php" hash="a957b7feccdf430239af81610a6ac281"/><file name="Element.php" hash="f8321180f2b343080ffd89591943b239"/></dir></dir></target></contents>
16
<compatible/>
17
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php><package><name>Lib_ZF</name><channel>community</channel><min>1.11.1.0</min><max>1.12.0.0</max></package><extension><name>PDO</name><min></min><max></max></extension><extension><name>SPL</name><min></min><max></max></extension><extension><name>curl</name><min></min><max></max></extension><extension><name>SimpleXML</name><min></min><max></max></extension><extension><name>dom</name><min></min><max></max></extension><extension><name>gd</name><min></min><max></max></extension><extension><name>iconv</name><min></min><max></max></extension><extension><name>pdo_mysql</name><min></min><max></max></extension><extension><name>mcrypt</name><min></min><max></max></extension><extension><name>pcre</name><min></min><max></max></extension><extension><name>Reflection</name><min></min><max></max></extension><extension><name>session</name><min></min><max></max></extension></required></dependencies>
18
</package>
1
<?xml version="1.0"?>
2
<package>
3
<name>Lib_Varien</name>
4
+ <version>1.8.0.0</version>
5
<stability>stable</stability>
6
<license uri="http://opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
<channel>community</channel>
8
<extends/>
9
<summary>Varien Library</summary>
10
<description>Varien Library</description>
11
+ <notes>1.8.0.0</notes>
12
<authors><author><name>Magento Core Team</name><user>core</user><email>core@magentocommerce.com</email></author></authors>
13
+ <date>2013-09-24</date>
14
+ <time>09:09:43</time>
15
+ <contents><target name="magelib"><dir name="Varien"><file name="Autoload.php" hash="96a0c175e6a98562f058f9a02c167bbb"/><dir name="Cache"><dir name="Backend"><file name="Database.php" hash="09535993a910ade50a2cd763da0f6d9e"/><file name="Eaccelerator.php" hash="00bc01db2c4457fdad760835992ae2dc"/><file name="Memcached.php" hash="8e542eb6c54f6764dd41fff4488c5ae2"/></dir><file name="Core.php" hash="d571f5f03d00925708328a6e6d42f58f"/></dir><dir name="Convert"><dir name="Action"><file name="Abstract.php" hash="2a6bb67a679a6e20cbe9478e80be582f"/><file name="Interface.php" hash="fe9129227525ffc1f862c6f1f85e83f1"/></dir><file name="Action.php" hash="ee3a0baf50c1bb0f1c0b67721f1965e6"/><dir name="Adapter"><file name="Abstract.php" hash="0c53dc267b75e595518365ab8f1d8ab4"/><dir name="Db"><file name="Table.php" hash="d6b8a1bfe2de4ed908ca0367fb226d2c"/></dir><dir name="Http"><file name="Curl.php" hash="76e12f13e1eb48eb3e8c36cea9a6ece3"/></dir><file name="Http.php" hash="afb44986f4d6ba1cf84819bbb31004b2"/><file name="Interface.php" hash="2c4834f37eede972be48c8b3a2857661"/><file name="Io.php" hash="a9ceb53b810de3e183b439ba1bb1ba57"/><file name="Soap.php" hash="4b67a9ea45b12dfffabd26d2cb8942f2"/><file name="Std.php" hash="225b4e11d9ffcd1db8f99d54dc749687"/><dir name="Zend"><file name="Cache.php" hash="845fcb65276b05714b8d231c6b30f651"/><file name="Db.php" hash="794cb6226590ff7d2a7d1fbce26fcc05"/></dir></dir><dir name="Container"><file name="Abstract.php" hash="8f836665d0dec3c7cc7d93714e9c99b4"/><file name="Collection.php" hash="b1ef8a70ea806deb351b5413d6cfacef"/><file name="Generic.php" hash="bef8559c7a10ecf3ebb3f147795a2597"/><file name="Interface.php" hash="870470de0ec947f1039aa415d37d0f82"/></dir><file name="Exception.php" hash="58c9437dd946d5251234f55de3648d3f"/><dir name="Mapper"><file name="Abstract.php" hash="e1d9d87a1270ad6a499549dd87f9ac62"/><file name="Column.php" hash="7f74158a73fd8fa83052625ef07b1749"/><file name="Interface.php" hash="d8a8b98cece9ae38302914bbc910c094"/></dir><dir name="Parser"><file name="Abstract.php" hash="3559203bdcdb019daddd9ed558f596a7"/><file name="Csv.php" hash="f68d8dc8c0695296cc32b1ca716a8276"/><file name="Interface.php" hash="016ab96988f7ae02d2e84ed4878513ca"/><file name="Serialize.php" hash="52a93cacd5f3d3e0267bbffc74d7d715"/><dir name="Xml"><file name="Excel.php" hash="1edf1b7b7071c45baada29670ea656b8"/></dir></dir><dir name="Profile"><file name="Abstract.php" hash="c038c0b7a209c7a189beb6aa21df617b"/><file name="Collection.php" hash="2ff1f76cafa7e36826063069efdba8ad"/></dir><file name="Profile.php" hash="9b63f8909ed29bf5a3c729bc5934cb9c"/><dir name="Validator"><file name="Abstract.php" hash="3fdf8a0fcd2366563e330c30456f19b9"/><file name="Column.php" hash="da9bb1ffa8d6026a6d26365da4cec289"/><file name="Dryrun.php" hash="70f63aa2f6146c67658dc7bfd04ddf02"/><file name="Interface.php" hash="59c7a5d323e0a3bb6928754f3f4393ad"/></dir></dir><file name="Convert.php" hash="441a61c66ee524a024c7ffe8b7c7c3c2"/><dir name="Crypt"><file name="Abstract.php" hash="73980e75bef5f58855ea924c3693522d"/><file name="Mcrypt.php" hash="3c62cbb2f8e763e0da985b7bc054c5c3"/></dir><file name="Crypt.php" hash="cb28cabbc8a02fd86705bc0b52d7204b"/><dir name="Data"><dir name="Collection"><file name="Db.php" hash="7a4be602c7a6acf3ac5dcfb26f83e50f"/><file name="Filesystem.php" hash="8c2e8522e1782dbea4d52f44566cd02a"/></dir><file name="Collection.php" hash="e55f81c3fdf4b39d05bbbce7573e0de8"/><dir name="Form"><file name="Abstract.php" hash="4978be2832783e6ab2f7c4e291bbf4d5"/><dir name="Element"><file name="Abstract.php" hash="a8982e3215fc63a5cb40a4e964f6d3ea"/><file name="Button.php" hash="98c64b5da29dff22cfae938caa5833c8"/><file name="Checkboxes.php" hash="fdc32833161b60139e9859f387bce6c7"/><file name="Checkbox.php" hash="7992114fdc4aefafceebac2a08c1a434"/><file name="Collection.php" hash="cade28ccfd09e8b55394bf3a7d595d70"/><file name="Column.php" hash="b6d1d32aca981ae0fd1c6a83fc655c9a"/><file name="Date.php" hash="3f5c8628e329cbc87c33c7e622a3b946"/><file name="Editor.php" hash="13d5c80395365db6c47c0c004967c4bf"/><file name="Fieldset.php" hash="f78031a222ad4263826adf2f35622c72"/><file name="File.php" hash="463e8c8e106fe2018fdbf117e330423e"/><file name="Gallery.php" hash="6cb83ebc8efae252978fbd22c001642b"/><file name="Hidden.php" hash="ae6275e5d3b7df411bfda4fb4f995a8c"/><file name="Imagefile.php" hash="2d6ed40fef1c2927ab22dea7d29336db"/><file name="Image.php" hash="c4d7be9bf6b1b19590d44bf9837eb748"/><file name="Label.php" hash="ced6668e926c5cd10e5dfc93e1764070"/><file name="Link.php" hash="fb213bbbce4e46ea03a96923defbfbb3"/><file name="Multiline.php" hash="087bd60ff98b4b9c094b9adec040f166"/><file name="Multiselect.php" hash="9e0d04674a743602438fd4190040944c"/><file name="Note.php" hash="f5b71ebcf5a2b774393d9f4d1581dc35"/><file name="Obscure.php" hash="b61a077fbdea1b93be0aafc2f2c2f391"/><file name="Password.php" hash="a15263e7b0fabe8bd6abf8487f43efcb"/><file name="Radio.php" hash="4b32afab119091759d93ec99fb2fd53b"/><file name="Radios.php" hash="9004386a01f6c2b09435f39bf9b5bb36"/><dir name="Renderer"><file name="Interface.php" hash="61baa8c8755a9a7e8eaac5786ae38f42"/></dir><file name="Reset.php" hash="51bc11836e12bd64390476e3ff393c13"/><file name="Select.php" hash="4402f264e6e2cae5fbad26bc44aa21fe"/><file name="Submit.php" hash="5b9e9e3db9bc70757030312b7d002b7e"/><file name="Textarea.php" hash="b88d00399b8f6846d56055c9416dd0bb"/><file name="Text.php" hash="2e798cfd096ac0a87f9d9055000af3c3"/><file name="Time.php" hash="f35d8d1dc0a90dd6f044f17c22d8dc4a"/></dir><dir name="Filter"><file name="Date.php" hash="80eee9775448a21a5332f3e5cb7edcc9"/><file name="Escapehtml.php" hash="0c02fdfbae30158aa14f45b937332249"/><file name="Interface.php" hash="4542e15af14cc92d7bf5a863d4bf5ddd"/><file name="Striptags.php" hash="2c4cd0905e4e3b99ba373ffeb9ab7d38"/></dir></dir><file name="Form.php" hash="407eee6f100c7befa18ca586b3c3ae04"/><dir name="Tree"><file name="Db.php" hash="d06e9a49ddb1ea94892f4f10e1b3fea1"/><file name="Dbp.php" hash="4bd7f5b9047870f125459dbf523f73a2"/><dir name="Node"><file name="Collection.php" hash="941c88db98d69ec170674380fe3413d5"/></dir><file name="Node.php" hash="e985629bbea05cd0e52d7ac82fc2ee27"/></dir><file name="Tree.php" hash="e39d73757e0535493badc5bea8459834"/></dir><file name="Date.php" hash="7830b6da8a6a54b5ef8d17b7f0d248f0"/><dir name="Db"><dir name="Adapter"><file name="Interface.php" hash="17af4b595d92f534eb7097f5a5fbff0a"/><file name="Mysqli.php" hash="4e6e03a6ddf127f58ab0326c4cfe9956"/><dir name="Pdo"><file name="Mysql.php" hash="97a9f11bd2c3591a93ef2d2bd0f0ed55"/></dir></dir><dir name="Ddl"><file name="Table.php" hash="2567ce531a4c978e5fff70b84f69f5ad"/></dir><file name="Exception.php" hash="93966b32e96f793f031244716ff37eed"/><file name="Helper.php" hash="eee52d2574360dabe7a5e830bc0a67b8"/><file name="Select.php" hash="62250da9eb320e684a4c121c3a40d473"/><dir name="Statement"><file name="Parameter.php" hash="8d688f64d6780d18e517921ea5eb9ccb"/><dir name="Pdo"><file name="Mysql.php" hash="e82abad90774a126efb8bd27bc0f43f7"/></dir></dir><dir name="Tree"><file name="Exception.php" hash="6a00d12bbed94d648a974d213a816a4b"/><dir name="Node"><file name="Exception.php" hash="f890d0fc36e89aefd7cf04ae6c10a88e"/></dir><file name="Node.php" hash="6b048bbe2b2c46e405ffae8bca23e579"/><dir name="NodeSet"><file name="Exception.php" hash="2caa6a4b09846fe3b941563aa55d3c5f"/></dir><file name="NodeSet.php" hash="5e589b0c1221caf2693fe6f7d07e1ad3"/></dir><file name="Tree.php" hash="c7cc99ac052aa5d1ac721619d47506e6"/></dir><file name="Debug.php" hash="ec721f169e5a16524a17abba094d651d"/><dir name="Directory"><file name="a.txt" hash="026e450c46ac92ea375302955a4f42fb"/><file name="Collection.php" hash="59faf0b57bc10bdf3daade69b51fd142"/><file name="Factory.php" hash="112fda936935de43f45bf0e1b1ebfd23"/><file name="IFactory.php" hash="bb7a2578774f58922f7d5b3a90c34e3e"/></dir><dir name="Event"><file name="Collection.php" hash="cb422c6c7abb160fa3d7d54669bf2b2e"/><dir name="Observer"><file name="Collection.php" hash="b9c7d52c9563a19d15723bbc4a85fac6"/><file name="Cron.php" hash="0e04e63cf24f5cce3031f5896c439b68"/><file name="Regex.php" hash="f97f5a4435d560e073d725681cb15264"/></dir><file name="Observer.php" hash="eff7b66ce01d3f8fc4c00d974a2d5440"/></dir><file name="Event.php" hash="1836bb96f191e616d59178f17e407277"/><file name="Exception.php" hash="6beb1561720cc6c7a894a955ff2251b7"/><dir name="File"><file name="CsvMulty.php" hash="af4518063d4d9f03cfbfca832c1b9d76"/><file name="Csv.php" hash="5736e17051a3e778c59b99ed669caee5"/><file name="Object.php" hash="86116483e252e66c516208e43b3bb920"/><dir name="Transfer"><dir name="Adapter"><file name="Http.php" hash="c71dc1460cdcf062adb97b577e621923"/></dir></dir><dir name="Uploader"><file name="Image.php" hash="2655d6497c074c8c4998c58320d60c14"/></dir><file name="Uploader.php" hash="ff32029ded0cb07486ef40ae38f56b50"/></dir><dir name="Filter"><dir name="Array"><file name="Grid.php" hash="14bd2f5ab60e7255557fc2dff7f24a37"/></dir><file name="Array.php" hash="a38e3d26f47d1bfaf4e023662d9a3dad"/><file name="Email.php" hash="067f3ea6f1597ea2501455865977d789"/><file name="Money.php" hash="8bec682670cb4cbf48e4b4264e2ab188"/><dir name="Object"><file name="Grid.php" hash="e3c3fa92761e5a1e1401192d8362301e"/></dir><file name="Object.php" hash="5b85aaff354eb0770e14efcfebda263b"/><file name="Sprintf.php" hash="0dd85ddc3d4b737d7cc6308afc12db18"/><dir name="Template"><file name="Simple.php" hash="b342cd136c10a6630d2d7dccd4137387"/><dir name="Tokenizer"><file name="Abstract.php" hash="d737a3d6599939b2a12b55975c9af780"/><file name="Parameter.php" hash="140ab2548a3da859473a46c7b0d44504"/><file name="Variable.php" hash="4ba64c31b234db22c2ff1799a49e7798"/></dir></dir><file name="Template.php" hash="48c08c9c1c9199e43e53f682df53ceae"/></dir><dir name="Http"><dir name="Adapter"><file name="Curl.php" hash="6d7dd607c55582ac08416f1940f3868c"/></dir><file name="Client.php" hash="eac22d5beaca06c1678c327a13e7f45d"/></dir><dir name="Image"><dir name="Adapter"><file name="Abstract.php" hash="0ac17ab0c82dea6289caf0985be0c47d"/><file name="Gd2.php" hash="7d7c4751697adac77961431a297fc6a3"/></dir><file name="Adapter.php" hash="edbab0bcfa931ae1d8f813f467e6b311"/></dir><file name="Image.php" hash="dfec3144e465eb2558a76a84f4736254"/><dir name="Io"><file name="Abstract.php" hash="53e7055dfe0ca7d133b94cfbf3621693"/><file name="Exception.php" hash="493365429caf5d2170c00137b081b195"/><file name="File.php" hash="4d0613516c6d3824d1ec4442c99a6b8a"/><file name="Ftp.php" hash="f349b9b833133853c902abb493d4f3bd"/><file name="Interface.php" hash="0b26ea223a4bed00df9b7b808b2acf80"/><file name="Sftp.php" hash="461d458eb368ed01f3b9194bafc4030d"/></dir><dir name="Object"><file name="Cache.php" hash="a87d2ae2d015a4e2f2fc1b611feccfcd"/><file name="Mapper.php" hash="1180b9b29c366d886e8af05181aebbce"/></dir><file name="Object.php" hash="0d5d06e7eb4439372bf90e2e41e998d7"/><dir name="Pear"><file name="Frontend.php" hash="61a9a308d54eca9e0a0bbc09296189f1"/><file name="Package.php" hash="a4261d73ebc059785fe418c6350bb4e5"/><file name="Registry.php" hash="5780af5995ea9af32032d3ebe496e251"/></dir><file name="Pear.php" hash="d60801531ef3ac16b26e302961310c53"/><file name="Profiler.php" hash="d434c08a6dd3ef8eb168e3a3d46f057f"/><dir name="Simplexml"><dir name="Config"><dir name="Cache"><file name="Abstract.php" hash="6dbbd6f1bc63c1b7ee086399da30f4e0"/><file name="File.php" hash="f99292ec6d04d5464a1313a2c52880d4"/></dir></dir><file name="Config.php" hash="a957b7feccdf430239af81610a6ac281"/><file name="Element.php" hash="fca2dddf067b1e038834b27cb5a746a4"/></dir></dir></target></contents>
16
<compatible/>
17
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php><package><name>Lib_ZF</name><channel>community</channel><min>1.11.1.0</min><max>1.12.0.0</max></package><extension><name>PDO</name><min></min><max></max></extension><extension><name>SPL</name><min></min><max></max></extension><extension><name>curl</name><min></min><max></max></extension><extension><name>SimpleXML</name><min></min><max></max></extension><extension><name>dom</name><min></min><max></max></extension><extension><name>gd</name><min></min><max></max></extension><extension><name>iconv</name><min></min><max></max></extension><extension><name>pdo_mysql</name><min></min><max></max></extension><extension><name>mcrypt</name><min></min><max></max></extension><extension><name>pcre</name><min></min><max></max></extension><extension><name>Reflection</name><min></min><max></max></extension><extension><name>session</name><min></min><max></max></extension></required></dependencies>
18
</package>