Index: trunk/extensions/OpenStackManager/aws-sdk/services/s3.class.php |
— | — | @@ -3073,6 +3073,90 @@ |
3074 | 3074 | } |
3075 | 3075 | |
3076 | 3076 | /** |
| 3077 | + * Since Amazon S3's standard <copy_object()> operation only supports copying objects that are smaller than |
| 3078 | + * 5 GB, the ability to copy large objects (greater than 5 GB) requires the use of "Multipart Copy". |
| 3079 | + * |
| 3080 | + * Copying large objects requires the developer to initiate a new multipart "upload", copy pieces of the |
| 3081 | + * large object (specifying a range of bytes up to 5 GB from the large source file), then complete the |
| 3082 | + * multipart "upload". |
| 3083 | + * |
| 3084 | + * NOTE: <strong>This is a synchronous operation</strong>, not an <em>asynchronous</em> operation, which means |
| 3085 | + * that Amazon S3 will not return a response for this operation until the copy has completed across the Amazon |
| 3086 | + * S3 server fleet. Copying objects within a single region will complete more quickly than copying objects |
| 3087 | + * <em>across</em> regions. The synchronous nature of this operation is different from other services where |
| 3088 | + * responses are typically returned immediately, even if the operation itself has not yet been completed on |
| 3089 | + * the server-side. |
| 3090 | + * |
| 3091 | + * @param array $source (Required) The bucket and file name to copy from. The following keys must be set: <ul> |
| 3092 | + * <li><code>bucket</code> - <code>string</code> - Required - Specifies the name of the bucket containing the source object.</li> |
| 3093 | + * <li><code>filename</code> - <code>string</code> - Required - Specifies the file name of the source object to copy.</li></ul> |
| 3094 | + * @param array $dest (Required) The bucket and file name to copy to. The following keys must be set: <ul> |
| 3095 | + * <li><code>bucket</code> - <code>string</code> - Required - Specifies the name of the bucket to copy the object to.</li> |
| 3096 | + * <li><code>filename</code> - <code>string</code> - Required - Specifies the file name to copy the object to.</li></ul> |
| 3097 | + * @param string $upload_id (Required) The upload ID identifying the multipart upload whose parts are being listed. The upload ID is retrieved from a call to <initiate_multipart_upload()>. |
| 3098 | + * @param integer $part_number (Required) A part number uniquely identifies a part and defines its position within the destination object. When you complete a multipart upload, a complete object is created by concatenating parts in ascending order based on part number. If you copy a new part using the same part number as a previously copied/uploaded part, the previously written part is overwritten. |
| 3099 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 3100 | + * <li><code>ifMatch</code> - <code>string</code> - Optional - The ETag header from a previous request. Copies the object if its entity tag (ETag) matches the specified tag; otherwise, the request returns a <code>412</code> HTTP status code error (precondition failed). Used in conjunction with <code>ifUnmodifiedSince</code>.</li> |
| 3101 | + * <li><code>ifUnmodifiedSince</code> - <code>string</code> - Optional - The LastModified header from a previous request. Copies the object if it hasn't been modified since the specified time; otherwise, the request returns a <code>412</code> HTTP status code error (precondition failed). Used in conjunction with <code>ifMatch</code>.</li> |
| 3102 | + * <li><code>ifNoneMatch</code> - <code>string</code> - Optional - The ETag header from a previous request. Copies the object if its entity tag (ETag) is different than the specified ETag; otherwise, the request returns a <code>412</code> HTTP status code error (failed condition). Used in conjunction with <code>ifModifiedSince</code>.</li> |
| 3103 | + * <li><code>ifModifiedSince</code> - <code>string</code> - Optional - The LastModified header from a previous request. Copies the object if it has been modified since the specified time; otherwise, the request returns a <code>412</code> HTTP status code error (failed condition). Used in conjunction with <code>ifNoneMatch</code>.</li> |
| 3104 | + * <li><code>range</code> - <code>string</code> - Optional - The range of bytes to copy from the object. Specify this parameter when copying partial bits. The specified range must be notated with a hyphen (e.g., 0-10485759). Defaults to the byte range of the complete Amazon S3 object.</li> |
| 3105 | + * <li><code>versionId</code> - <code>string</code> - Optional - The version of the object to copy. Version IDs are returned in the <code>x-amz-version-id</code> header of any previous object-related request.</li> |
| 3106 | + * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li> |
| 3107 | + * <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul> |
| 3108 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 3109 | + */ |
| 3110 | + public function copy_part($source, $dest, $upload_id, $part_number, $opt = null) |
| 3111 | + { |
| 3112 | + if (!$opt) $opt = array(); |
| 3113 | + |
| 3114 | + // Add this to our request |
| 3115 | + $opt['verb'] = 'PUT'; |
| 3116 | + $opt['resource'] = $dest['filename']; |
| 3117 | + $opt['uploadId'] = $upload_id; |
| 3118 | + $opt['partNumber'] = $part_number; |
| 3119 | + |
| 3120 | + // Handle copy source |
| 3121 | + if (isset($source['bucket']) && isset($source['filename'])) |
| 3122 | + { |
| 3123 | + $opt['headers']['x-amz-copy-source'] = '/' . $source['bucket'] . '/' . rawurlencode($source['filename']) |
| 3124 | + . (isset($opt['versionId']) ? ('?' . 'versionId=' . rawurlencode($opt['versionId'])) : ''); // Append the versionId to copy, if available |
| 3125 | + unset($opt['versionId']); |
| 3126 | + } |
| 3127 | + |
| 3128 | + // Handle conditional-copy parameters |
| 3129 | + if (isset($opt['ifMatch'])) |
| 3130 | + { |
| 3131 | + $opt['headers']['x-amz-copy-source-if-match'] = $opt['ifMatch']; |
| 3132 | + unset($opt['ifMatch']); |
| 3133 | + } |
| 3134 | + if (isset($opt['ifNoneMatch'])) |
| 3135 | + { |
| 3136 | + $opt['headers']['x-amz-copy-source-if-none-match'] = $opt['ifNoneMatch']; |
| 3137 | + unset($opt['ifNoneMatch']); |
| 3138 | + } |
| 3139 | + if (isset($opt['ifUnmodifiedSince'])) |
| 3140 | + { |
| 3141 | + $opt['headers']['x-amz-copy-source-if-unmodified-since'] = $opt['ifUnmodifiedSince']; |
| 3142 | + unset($opt['ifUnmodifiedSince']); |
| 3143 | + } |
| 3144 | + if (isset($opt['ifModifiedSince'])) |
| 3145 | + { |
| 3146 | + $opt['headers']['x-amz-copy-source-if-modified-since'] = $opt['ifModifiedSince']; |
| 3147 | + unset($opt['ifModifiedSince']); |
| 3148 | + } |
| 3149 | + |
| 3150 | + // Partial content range |
| 3151 | + if (isset($opt['range'])) |
| 3152 | + { |
| 3153 | + $opt['headers']['x-amz-copy-source-range'] = 'bytes=' . $opt['range']; |
| 3154 | + } |
| 3155 | + |
| 3156 | + // Authenticate to S3 |
| 3157 | + return $this->authenticate($dest['bucket'], $opt); |
| 3158 | + } |
| 3159 | + |
| 3160 | + /** |
3077 | 3161 | * Creates an Amazon S3 object using the multipart upload APIs. It is analogous to <create_object()>. |
3078 | 3162 | * |
3079 | 3163 | * While each individual part of a multipart upload can hold up to 5 GB of data, this method limits the |
Index: trunk/extensions/OpenStackManager/aws-sdk/lib/yaml/lib/sfYamlInline.php |
— | — | @@ -188,7 +188,7 @@ |
189 | 189 | $output = rtrim(substr($output, 0, $strpos)); |
190 | 190 | } |
191 | 191 | } |
192 | | - elseif (preg_match('/^(.+?)('.implode('|', $delimiters).')/', substr($scalar, $i), $match)) |
| 192 | + else if (preg_match('/^(.+?)('.implode('|', $delimiters).')/', substr($scalar, $i), $match)) |
193 | 193 | { |
194 | 194 | $output = $match[1]; |
195 | 195 | $i += strlen($output); |
Index: trunk/extensions/OpenStackManager/aws-sdk/lib/yaml/lib/sfYamlParser.php |
— | — | @@ -121,7 +121,7 @@ |
122 | 122 | } |
123 | 123 | } |
124 | 124 | } |
125 | | - elseif (preg_match('#^(?P<key>'.sfYamlInline::REGEX_QUOTED_STRING.'|[^ \'"].*?) *\:(\s+(?P<value>.+?))?\s*$#', $this->currentLine, $values)) |
| 125 | + else if (preg_match('#^(?P<key>'.sfYamlInline::REGEX_QUOTED_STRING.'|[^ \'"].*?) *\:(\s+(?P<value>.+?))?\s*$#', $this->currentLine, $values)) |
126 | 126 | { |
127 | 127 | $key = sfYamlInline::parseScalar($values['key']); |
128 | 128 | |
— | — | @@ -155,7 +155,7 @@ |
156 | 156 | { |
157 | 157 | throw new InvalidArgumentException(sprintf("YAML merge keys used with a scalar value instead of an array at line %s (%s)", $this->getRealCurrentLineNb() + 1, $this->currentLine)); |
158 | 158 | } |
159 | | - elseif (isset($parsed[0])) |
| 159 | + else if (isset($parsed[0])) |
160 | 160 | { |
161 | 161 | // Numeric array, merge individual elements |
162 | 162 | foreach (array_reverse($parsed) as $parsedItem) |
— | — | @@ -176,7 +176,7 @@ |
177 | 177 | $isProcessed = $merged; |
178 | 178 | } |
179 | 179 | } |
180 | | - elseif (isset($values['value']) && preg_match('#^&(?P<ref>[^ ]+) *(?P<value>.*)#', $values['value'], $matches)) |
| 180 | + else if (isset($values['value']) && preg_match('#^&(?P<ref>[^ ]+) *(?P<value>.*)#', $values['value'], $matches)) |
181 | 181 | { |
182 | 182 | $isRef = $matches['ref']; |
183 | 183 | $values['value'] = $matches['value']; |
— | — | @@ -188,7 +188,7 @@ |
189 | 189 | $data = $isProcessed; |
190 | 190 | } |
191 | 191 | // hash |
192 | | - elseif (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#')) |
| 192 | + else if (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#')) |
193 | 193 | { |
194 | 194 | // if next line is less indented or equal, then it means that the current value is null |
195 | 195 | if ($this->isNextLineIndented()) |
— | — | @@ -347,11 +347,11 @@ |
348 | 348 | // empty line |
349 | 349 | $data[] = $match['text']; |
350 | 350 | } |
351 | | - elseif ($indent >= $newIndent) |
| 351 | + else if ($indent >= $newIndent) |
352 | 352 | { |
353 | 353 | $data[] = substr($this->currentLine, $newIndent); |
354 | 354 | } |
355 | | - elseif (0 == $indent) |
| 355 | + else if (0 == $indent) |
356 | 356 | { |
357 | 357 | $this->moveToPreviousLine(); |
358 | 358 | |
— | — | @@ -481,7 +481,7 @@ |
482 | 482 | |
483 | 483 | $text .= str_repeat(' ', $diff = strlen($matches['indent']) - strlen($textIndent)).$matches['text'].($diff ? "\n" : $separator); |
484 | 484 | } |
485 | | - elseif (preg_match('#^(?P<text> *)$#', $this->currentLine, $matches)) |
| 485 | + else if (preg_match('#^(?P<text> *)$#', $this->currentLine, $matches)) |
486 | 486 | { |
487 | 487 | $text .= preg_replace('#^ {1,'.strlen($textIndent).'}#', '', $matches['text'])."\n"; |
488 | 488 | } |
Index: trunk/extensions/OpenStackManager/aws-sdk/_compatibility_test/sdk_compatibility_test.php |
— | — | @@ -6,7 +6,7 @@ |
7 | 7 | echo base64_decode($data); |
8 | 8 | exit; |
9 | 9 | } |
10 | | -elseif (isset($_GET['background'])) |
| 10 | +else if (isset($_GET['background'])) |
11 | 11 | { |
12 | 12 | $data='R0lGODlhMAEeAeYAAP///8ni6cTf5+72+PD3+c3k6+nz9ufy9ev099Pn7bnZ48bg6LfY4uHv8/r8/f3+/v7//7bX4cjh6fj7/Mvj6vz9/rva4+z19/X6+/f7/Pn8/fb6+7jZ4vv9/bra473b5Lzb5LXX4b7c5b/c5e31+NTo7tvs8dfq7/H3+bjY4tnq79Hm7c/l69nr8PL4+t7t8sDd5cLe5uPw9Nvr8Mri6fP4+tLn7er099Hm7O/2+dDm7OTw9OXx9Nbp7tbp7+Lv8+Du8szj6sXg57bY4d3s8djq7+jz9tzs8cPe58fh6M7k68Pf5+by9fz+/sDd5vT5+vT5+97t8bbY4trr8P7+/v7+/+Pw8+Xx9dXo7sHe5vH4+fP5+sHd5t/u8s/l7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAwAR4BAAf/gCGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKNEaWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExbBDyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7KUuHi4+Tl5ufo6err7O3u7/Dx8vP09fb34wz6+/z9/v8AAwocSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2osmKKjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qc+ZGDzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1aAKsmrdyrWr169gw4odS7as2bNo06pdy7at27dw/+PKnUu3rt27ePOS9cC3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sz5sIXPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fqkEIH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MOLb/6hvPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFgifCAgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okoTjjCiiy26OKLMMYo44w01mjjjTjmqOOOPPbo449ABinkkEQWaeSRSCap5P+SNsLg5JNQRinllFRWaeWVWGap5ZZcdunll2CGKeaYZELpxJlopqnmmmy26eabcMYp55x01mnnnXjmqeeefPaZJheABirooIQWauihiCaq6KKMNuroo5BGKumklFZqqaBZZKrpppx26umnoIYq6qiklmrqqaimquqqrLbq6qubxiDrrLTWauutuOaq66689urrr8AGK+ywxBZr7LHI0orEssw26+yz0EYr7bTUVmvttdhmq+223Hbr7bfghtvsEuSWa+656Kar7rrstuvuu/DGK++89NZr77345quvuQL06++/AAcs8MAEF2zwwQgnrPDCDDfs8MMQRyzxxBRXbPH/xRhnrPHGHHeMsBAghyzyyCSXbPLJKKes8sost+zyyzDHLPPMNNdss8gL5Kzzzjz37PPPQAct9NBEF2300UgnrfTSTDft9NNQRy311FRXbfXVWGdNdBJcd+3112CHLfbYZJdt9tlop6322my37fbbcMctt9cS1G333XjnrffefPft99+ABy744IQXbvjhiCeu+OKMN+7445BHLvnklFcOeACYZ6755px37vnnoIcu+uikl2766ainrvrqrLfu+uuwxy777LTXbvvtuI9Ow+689+7778AHL/zwxBdv/PHIJ6/88sw37/zz0EffOwXUV2/99dhnr/323Hfv/ffghy/+//jkl2/++einr/767Lfv/vvwxy///PR/H8T9+Oev//789+///wAMoAAHSMACGvCACEygAhfIwAbmrwAQjKAEJ0jBClrwghjMoAY3yMEOevCDIAyhCEdIwhKa8IQoTKEKV8jCFrrwhTDcoBJmSMMa2vCGOMyhDnfIwx768IdADKIQh0jEIhrxiEhMYg1ZwMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxid6IUymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73eEYd+PGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSUlA4uCSmMykJjfJyU568v+ToAylKEdJylKa8pSoTKUqV8nKVmZyBbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhpTljZIpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8nNbnrzm8tMgDjHSc5ymvOc6EynOtfJzna6853wjKc850nPetrznvjMpz73yc9++vOfAA2oQNtZgoIa9KAITahCF8rQhjr0oRCNqEQnStGKWvSiGM2oRjd6UCx49KMgDalIR0rSkpr0pChNqUpXytKWuvSlMI2pTGdKU5D24KY4zalOd8rTnvr0p0ANqlCHStSiGvWoSE2qUpfK1Kbm1AdQjapUp0rVqlr1qlj/zapWt8rVrnr1q2ANq1jHStaymlWqJ0irWtfK1ra69a1wjatc50rXutr1rnjNq173yte++vWvay2CYAdL2MIa9rCITaxiF8vYxjr2sZCNrGQnS9nKWvaymCWsCjbL2c569rOgDa1oR0va0pr2tKhNrWpXy9rWuva1sI1tZ1tA29ra9ra4za1ud8vb3vr2t8ANrnCHS9ziGve4yE2ucm07heY697nQja50p0vd6lr3utjNrna3y93ueve74A2veMf73BmY97zoTa9618ve9rr3vfCNr3znS9/62ve++M2vfvfLX/Sa4L8ADrCAB0zgAhv4wAhOsIIXzOAGO/jBEI6w/4QnTOEKB/gIGM6whjfM4Q57+MMgDrGIR0ziEpv4xChOsYpXzOIWu1jDRIixjGdM4xrb+MY4zrGOd8zjHvv4x0AOspCHTOQiG/nIM46CkpfM5CY7+clQjrKUp0zlKlv5yljOspa3zOUue/nLYGbyC8ZM5jKb+cxoTrOa18zmNrv5zXCOs5znTOc62/nOeM5zmbvA5z77+c+ADrSgB03oQhv60IhOtKIXzehGO/rRkI60pP0MhEpb+tKYzrSmN83pTnv606AOtahHTepSm/rUqE61qld96Qa4+tWwjrWsZ03rWtv61rjOta53zete+/rXwA62sIdN7GIb+9jITrayl//N7GY7O9c/iLa0p03talv72tjOtra3ze1ue/vb4A63uMdN7nKb+9zTtoK6183udrv73fCOt7znTe962/ve+M63vvfN7377+98AZ7cMBk7wghv84AhPuMIXzvCGO/zhEI+4xCdO8Ypb/OIYz3jBd8Dxjnv84yAPuchHTvKSm/zkKE+5ylfO8pa7/OUwj7nMPc6Dmtv85jjPuc53zvOe+/znQA+60IdO9KIb/ehIT7rSl37zKzj96VCPutSnTvWqW/3qWM+61rfO9a57/etgD7vYx052qDPh7GhPu9rXzva2u/3tcI+73OdO97rb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'; |
13 | 13 | header('Content-type: image/gif'); |
Index: trunk/extensions/OpenStackManager/aws-sdk/sdk.class.php |
— | — | @@ -102,9 +102,9 @@ |
103 | 103 | // INTERMEDIARY CONSTANTS |
104 | 104 | |
105 | 105 | define('CFRUNTIME_NAME', 'aws-sdk-php'); |
106 | | -define('CFRUNTIME_VERSION', '1.3.4'); |
| 106 | +define('CFRUNTIME_VERSION', '1.3.5'); |
107 | 107 | // define('CFRUNTIME_BUILD', gmdate('YmdHis', filemtime(__FILE__))); // @todo: Hardcode for release. |
108 | | -define('CFRUNTIME_BUILD', '20110607180731'); |
| 108 | +define('CFRUNTIME_BUILD', '20110621180731'); |
109 | 109 | define('CFRUNTIME_USERAGENT', CFRUNTIME_NAME . '/' . CFRUNTIME_VERSION . ' PHP/' . PHP_VERSION . ' ' . php_uname('s') . '/' . php_uname('r') . ' Arch/' . php_uname('m') . ' SAPI/' . php_sapi_name() . ' Integer/' . PHP_INT_MAX . ' Build/' . CFRUNTIME_BUILD . __aws_sdk_ua_callback()); |
110 | 110 | |
111 | 111 | |
Index: trunk/extensions/OpenStackManager/aws-sdk/utilities/utilities.class.php |
— | — | @@ -170,7 +170,7 @@ |
171 | 171 | { |
172 | 172 | $data[$q[0]][] = urldecode($q[1]); |
173 | 173 | } |
174 | | - elseif (isset($data[$q[0]]) && !is_array($data[$q[0]])) |
| 174 | + else if (isset($data[$q[0]]) && !is_array($data[$q[0]])) |
175 | 175 | { |
176 | 176 | $data[$q[0]] = array($data[$q[0]]); |
177 | 177 | $data[$q[0]][] = urldecode($q[1]); |