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 +6 -1
- lib/Varien/Cache/Core.php +115 -4
- lib/Varien/Convert/Action/Abstract.php +2 -2
- lib/Varien/Convert/Parser/Xml/Excel.php +2 -1
- lib/Varien/Data/Form/Element/Editor.php +1 -1
- lib/Varien/Db/Adapter/Interface.php +91 -1
- lib/Varien/Db/Adapter/Pdo/Mysql.php +230 -10
- lib/Varien/Db/Ddl/Table.php +1 -0
- lib/Varien/File/Uploader.php +1 -1
- lib/Varien/Filter/Template.php +21 -23
- lib/Varien/Image/Adapter/Gd2.php +39 -0
- lib/Varien/Simplexml/Element.php +6 -2
- package.xml +5 -5
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 |
-
|
|
|
|
|
|
|
|
|
|
|
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
|
69 |
-
* @param int
|
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 (!
|
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 |
-
$
|
|
|
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 (
|
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
|
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
|
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
|
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 =
|
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
|
|
|
|
|
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 $
|
3262 |
-
$
|
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 |
-
|
135 |
} catch (Exception $e) {
|
136 |
-
|
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 |
-
|
153 |
-
|
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 |
-
|
216 |
-
|
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 |
-
}
|
242 |
-
&& $stackVars[$i-1]['variable'] instanceof Varien_Object) {
|
243 |
// If object calling methods or getting properties
|
244 |
-
if($stackVars[$i]['type'] == 'property') {
|
245 |
-
$caller =
|
246 |
-
|
247 |
-
|
248 |
-
$stackVars[$i]['variable']
|
249 |
-
|
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 (
|
256 |
-
$stackVars[$i]['
|
257 |
-
|
258 |
-
|
|
|
|
|
|
|
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) === '$') {
|
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(
|
|
|
|
|
|
|
|
|
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->
|
416 |
return $this;
|
417 |
}
|
418 |
if ($overwrite) {
|
327 |
}
|
328 |
$value = (string)$value;
|
329 |
|
330 |
+
$value = str_replace(
|
331 |
+
array('&', '"', "'", '<', '>'),
|
332 |
+
array('&', '"', ''', '<', '>'),
|
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.
|
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.
|
12 |
<authors><author><name>Magento Core Team</name><user>core</user><email>core@magentocommerce.com</email></author></authors>
|
13 |
-
<date>
|
14 |
-
<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>
|