| [ Index ] |
PHP Cross Reference of Limb3 |
[Summary view] [Print] [Text view]
1 <?php 2 /* 3 * Limb PHP Framework 4 * 5 * @link http://limb-project.com 6 * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com) 7 * @license LGPL http://www.gnu.org/copyleft/lesser.html 8 */ 9 10 lmb_require('limb/net/src/lmbUploadedFile.class.php'); 11 12 /** 13 * class lmbUploadedFilesParser. 14 * 15 * @package net 16 * @version $Id: lmbUploadedFilesParser.class.php 5945 2007-06-06 08:31:43Z pachanga $ 17 */ 18 class lmbUploadedFilesParser 19 { 20 function parse($files) 21 { 22 $result = array(); 23 24 foreach($files as $key => $chunk) 25 { 26 if($this->_isSimple($chunk)) 27 $result[$key] = $chunk; 28 else 29 $result[$key] = $this->_parseComplexChunk($chunk); 30 } 31 return $result; 32 } 33 34 function objectify($files) 35 { 36 return $this->_wrapWithObjects($this->parse($files)); 37 } 38 39 protected function _isSimple($chunk) 40 { 41 if((isset($chunk['name']) && !is_array($chunk['name'])) && 42 (isset($chunk['error']) && !is_array($chunk['error'])) && 43 (isset($chunk['type']) && !is_array($chunk['type'])) && 44 (isset($chunk['size']) && !is_array($chunk['size'])) && 45 (isset($chunk['tmp_name']) && !is_array($chunk['tmp_name']))) 46 return true; 47 else 48 return false; 49 } 50 51 function _wrapWithObjects($chunks) 52 { 53 $result = array(); 54 foreach($chunks as $key => $chunk) 55 { 56 if($this->_isSimple($chunk)) 57 $result[$key] = new lmbUploadedFile($chunk); 58 else 59 $result[$key] = $this->_wrapWithObjects($chunk); 60 } 61 return $result; 62 } 63 64 protected function _parseComplexChunk($chunk) 65 { 66 $result = array(); 67 foreach($chunk as $property_name => $data_set) 68 { 69 foreach($data_set as $arg_name => $value) 70 $this->_parseRecursivePropertyValue($result[$arg_name], $property_name, $value); 71 } 72 return $result; 73 } 74 75 protected function _parseRecursivePropertyValue(&$result, $property_name, $data_set) 76 { 77 if(!is_array($data_set)) 78 { 79 $result[$property_name] = $data_set; 80 return; 81 } 82 83 foreach($data_set as $arg_name => $value) 84 { 85 $this->_parseRecursivePropertyValue($result[$arg_name], $property_name, $value); 86 } 87 } 88 } 89 90 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Sat Aug 30 04:38:32 2008 | Cross-referenced by PHPXref 0.7 |