<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: adapter code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Sun, 18 May 2008 02:54:01 GMT</pubDate>
    <description>DZone Snippets: adapter code</description>
    <item>
      <title>Request Adapter //PHP Class</title>
      <link>http://snippets.dzone.com/posts/show/2208</link>
      <description>A simple class providing a cute adapter for get/post requests.&lt;br /&gt;&lt;br /&gt;Usage&lt;br /&gt;&lt;code&gt;&lt;br /&gt;$r = &amp;new Request(POST_METHOD | GET_METHOD);&lt;br /&gt;#$r = &amp;new Request(POST_METHOD); //just post&lt;br /&gt;#$r = &amp;new Request(GET_METHOD); //just get =b&lt;br /&gt;&lt;br /&gt;if($r-&gt;has('name'))&lt;br /&gt;  echo $r-&gt;get('name'), $r-&gt;name;&lt;br /&gt;&lt;br /&gt;echo $r-&gt;get('year', '2006');&lt;br /&gt;&lt;br /&gt;if($r-&gt;isPosted())&lt;br /&gt;  echo 'This was a post =b';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if($r-&gt;isFile('file'))&lt;br /&gt;  if($r-&gt;file-&gt;isUploaded()){&lt;br /&gt;    echo 'The file was uploaded';&lt;br /&gt;    if($r-&gt;file-&gt;hasError())&lt;br /&gt;      echo 'And there was an error when uploading';&lt;br /&gt;    else{&lt;br /&gt;      echo 'Moving ' . $r-&gt;file-&gt;path;&lt;br /&gt;      $r-&gt;file-&gt;save('uploads/' . $r-&gt;file-&gt;name)&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;//+ Jonas Raoni Soares Silva&lt;br /&gt;//@ http://jsfromhell.com&lt;br /&gt;&lt;br /&gt;define('GET_METHOD', 1);&lt;br /&gt;define('POST_METHOD', 2);&lt;br /&gt;&lt;br /&gt;class PostedFile{&lt;br /&gt;	var $file, $name, $type, $size, $path, $error;&lt;br /&gt;&lt;br /&gt;	function PostedFile(&amp;$f){&lt;br /&gt;		$this-&gt;file = &amp;$f;&lt;br /&gt;		$this-&gt;name = $f['name'];&lt;br /&gt;		$this-&gt;type = $f['type'];&lt;br /&gt;		$this-&gt;size = $f['size'];&lt;br /&gt;		$this-&gt;path = $f['tmp_name'];&lt;br /&gt;		$this-&gt;error = $f['error'];&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	function hasError(){&lt;br /&gt;		return $this-&gt;isUploaded() &amp;&amp; $this-&gt;error != UPLOAD_ERR_OK;&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	function isUploaded(){&lt;br /&gt;		return $this-&gt;error != UPLOAD_ERR_NO_FILE;&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	function save($path){&lt;br /&gt;		return @move_uploaded_file($this-&gt;path, $path);&lt;br /&gt;	}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class Request{&lt;br /&gt;	function &amp;Request($method){&lt;br /&gt;		if(GET_METHOD &amp; $method)&lt;br /&gt;			foreach($_GET as $n=&gt;$v)&lt;br /&gt;				$this-&gt;$n = $v;&lt;br /&gt;		if(POST_METHOD &amp; $method){&lt;br /&gt;			foreach($_POST as $n=&gt;$v)&lt;br /&gt;				$this-&gt;$n = $v;&lt;br /&gt;			foreach($_FILES as $n=&gt;$v)&lt;br /&gt;				$this-&gt;$n = &amp;new PostedFile($v);&lt;br /&gt;		}&lt;br /&gt;		return $this;&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	function isFile($name){&lt;br /&gt;		return is_a($this-&gt;get($name), 'PostedFile');&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	function has($name){&lt;br /&gt;		if(is_array($name)){&lt;br /&gt;			foreach($name as $n)&lt;br /&gt;				if(!isset($this-&gt;$n))&lt;br /&gt;					return false;&lt;br /&gt;			return true;&lt;br /&gt;		}&lt;br /&gt;		else&lt;br /&gt;			return isset($this-&gt;$name);&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	function get($name, $default = null){&lt;br /&gt;		if($this-&gt;has($name))&lt;br /&gt;			return $this-&gt;$name;&lt;br /&gt;		else&lt;br /&gt;			return $default;&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	function isPosted(){&lt;br /&gt;		return $_SERVER['REQUEST_METHOD'] == 'POST' &amp;&amp; isset($_SERVER['CONTENT_LENGTH']) &amp;&amp; $_SERVER['CONTENT_LENGTH'];&lt;br /&gt;	}&lt;br /&gt;}&lt;br /&gt;?&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Thu, 15 Jun 2006 20:42:40 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2208</guid>
      <author>jonasraoni (Jonas Raoni Soares Silva)</author>
    </item>
  </channel>
</rss>
