{"issue":{"created_at":"2011-11-29T17:45:32Z","state":"open","updated_at":"2011-11-29T17:45:46Z","comments":13,"user":{"gravatar_id":"9994df352157ae1b778b792744bdbf05","id":1073273,"url":"https://api.github.com/users/aschempp","avatar_url":"https://secure.gravatar.com/avatar/9994df352157ae1b778b792744bdbf05?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"aschempp"},"body":"In einem aktuellen Fall möchte ich einen Widget als Namen ein Array übergeben, z.B. payment[9][cc_num]. Das funktioniert ja in HTML problemlos, gepostet wird dann das Array \"payment\" welches alle entsprechenden Felder enthält. Aktuell funktioniert aber die Validierung der Daten noch nicht, weil das Modul nach einem Post-Parameter mit dem ganzen als String sucht. Ich habe die getPost() Routine verbessert um Arrays zu behandeln:\n\n```\nprotected function getPost($strKey)\n{\n\t$strMethod = $this->allowHtml ? 'postHtml' : 'post';\n\n\tif ($this->preserveTags)\n\t{\n\t\t$strMethod = 'postRaw';\n\t}\n\t\n\t$arrParts = explode('[', str_replace(']', '', $strKey));\n\tif (count($arrParts) > 1)\n\t{\n\t\t$varValue = $this->Input->$strMethod(array_shift($arrParts), $this->decodeEntities);\n\t\tforeach( $arrParts as $part )\n\t\t{\n\t\t\tif (!is_array($varValue))\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\t$varValue = $varValue[$part];\n\t\t}\n\t\t\n\t\treturn $varValue;\n\t}\n\n\treturn $this->Input->$strMethod($strKey, $this->decodeEntities);\n}\n```\n\nIn meinen Tests hat alles wie gewünscht funktioniert. Vielleicht könnte man das explode() auch durch ein Regex ersetzen, ist aber vermutlich nicht schneller und ein normaler Name sollte nie [ und ] enthalten.\n\n--- _Originally created on December 31st, 2009, at 02:31pm (ID 1342)_","assignee":{"gravatar_id":"87d2e5aefadcb310f9155df28c2b3582","id":1192057,"url":"https://api.github.com/users/leofeyer","avatar_url":"https://secure.gravatar.com/avatar/87d2e5aefadcb310f9155df28c2b3582?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"leofeyer"},"id":2388731,"number":1342,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"labels":[{"name":"Feature","color":"4183c4","url":"https://api.github.com/repos/contao/import/labels/Feature"},{"name":"framework","color":"e6e6e6","url":"https://api.github.com/repos/contao/import/labels/framework"}],"title":"Verbesserung der Funktion getPost() in Widget.php","closed_at":null,"html_url":"https://github.com/contao/import/issues/1342","url":"https://api.github.com/repos/contao/import/issues/1342","milestone":{"created_at":"2011-11-29T15:29:32Z","state":"open","due_on":null,"closed_issues":206,"creator":{"gravatar_id":"87d2e5aefadcb310f9155df28c2b3582","id":1192057,"url":"https://api.github.com/users/leofeyer","avatar_url":"https://secure.gravatar.com/avatar/87d2e5aefadcb310f9155df28c2b3582?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"leofeyer"},"number":9,"description":"TYPOlight 2.8.0 (minor release)","title":"2.8.0","url":"https://api.github.com/repos/contao/import/milestones/9","open_issues":1}},"action":"created","comment":{"created_at":"2011-11-29T17:45:44Z","updated_at":"2011-11-29T17:45:44Z","user":{"gravatar_id":"87d2e5aefadcb310f9155df28c2b3582","id":1192057,"url":"https://api.github.com/users/leofeyer","avatar_url":"https://secure.gravatar.com/avatar/87d2e5aefadcb310f9155df28c2b3582?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"leofeyer"},"body":"Ich verstehe leider immer noch nicht, wieso ein einzeiliges und somit eindimensionales Textfeld unbedingt als Array definiert und in einer aufwändigen Schleife anschließend durchlaufen und wieder auf den einen Wert reduziert werden muss. Wo genau liegt Deiner Meinung nach der Vorteil?\n\n--- _Originally created on January 1st, 2010, at 05:27pm_","id":2938013,"url":"https://api.github.com/repos/contao/import/issues/comments/2938013"}}