Skip to content

Commit

Permalink
Use namespaces
Browse files Browse the repository at this point in the history
  • Loading branch information
zachborboa committed May 23, 2014
1 parent 66bd288 commit 360058c
Show file tree
Hide file tree
Showing 19 changed files with 148 additions and 126 deletions.
3 changes: 2 additions & 1 deletion examples/coinbase_account_balance.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
require '../src/Curl.class.php';
require '../src/Curl/Curl.php';

use \Curl\Curl;

define('API_KEY', '');
define('API_SECRET', '');
Expand Down
3 changes: 2 additions & 1 deletion examples/coinbase_spot_rate.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
require '../src/Curl.class.php';
require '../src/Curl/Curl.php';

use \Curl\Curl;

$curl = new Curl();
$curl->get('https://coinbase.com/api/v1/prices/spot_rate');
Expand Down
3 changes: 2 additions & 1 deletion examples/deviant_art_rss.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
require '../src/Curl.class.php';
require '../src/Curl/Curl.php';

use \Curl\Curl;

$curl = new Curl();
$curl->get('http://backend.deviantart.com/rss.xml', array(
Expand Down
3 changes: 2 additions & 1 deletion examples/domainr_search_domain_name_availability.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
require '../src/Curl.class.php';
require '../src/Curl/Curl.php';

use \Curl\Curl;

$curl = new Curl();
$curl->get('https://domai.nr/api/json/search', array(
Expand Down
3 changes: 2 additions & 1 deletion examples/flickr_photo_search.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
require '../src/Curl.class.php';
require '../src/Curl/Curl.php';

use \Curl\Curl;

function construct_url($photo, $size = 's', $ext = 'jpg')
{
Expand Down
3 changes: 2 additions & 1 deletion examples/flickr_upload_photo.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<?php
require '../src/Curl.class.php';
require '../src/Curl/Curl.php';
require 'Flickr.class.php';

use \Curl\Curl;

$flickr = new Flickr();
$flickr->authenticate();
Expand Down
3 changes: 2 additions & 1 deletion examples/github_create_gist.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
require '../src/Curl.class.php';
require '../src/Curl/Curl.php';

use \Curl\Curl;

$content = <<<EOF
<?php
Expand Down
3 changes: 2 additions & 1 deletion examples/gittip_send_tip.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
require '../src/Curl.class.php';
require '../src/Curl/Curl.php';

use \Curl\Curl;

define('GITTIP_USERNAME', 'XXXXXXXXXX');
define('GITTIP_API_KEY', 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX');
Expand Down
3 changes: 2 additions & 1 deletion examples/google_plus_profile.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
require '../src/Curl.class.php';
require '../src/Curl/Curl.php';

use \Curl\Curl;

define('CLIENT_ID', 'XXXXXXXXXXXX.apps.googleusercontent.com');
define('CLIENT_SECRET', 'XXXXXXXXXXXXXXXXXXXXXXXX');
Expand Down
6 changes: 3 additions & 3 deletions examples/instagram_popular_media.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
require '../src/Curl.class.php';
require '../src/Curl/Curl.php';

use \Curl\Curl;

define('INSTAGRAM_CLIENT_ID', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
define('INSTAGRAM_CLIENT_SECRET', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
Expand Down Expand Up @@ -46,8 +47,7 @@
'<img alt="" src="' . $media->images->thumbnail->url . '" />' .
'</a>';
}
}
else {
} else {
header('Location: https://api.instagram.com/oauth/authorize/?' . http_build_query(array(
'client_id' => INSTAGRAM_CLIENT_ID,
'redirect_uri' => $redirect_uri,
Expand Down
3 changes: 2 additions & 1 deletion examples/instagram_search_photos.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
require '../src/Curl.class.php';
require '../src/Curl/Curl.php';

use \Curl\Curl;

define('INSTAGRAM_CLIENT_ID', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');

Expand Down
3 changes: 2 additions & 1 deletion examples/mailchimp_subscribe_email_address.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
require '../src/Curl.class.php';
require '../src/Curl/Curl.php';

use \Curl\Curl;

define('MAILCHIMP_API_KEY', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXX');
$parts = explode('-', MAILCHIMP_API_KEY);
Expand Down
3 changes: 2 additions & 1 deletion examples/put.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
require '../src/Curl.class.php';
require '../src/Curl/Curl.php';

use \Curl\Curl;

// curl -X PUT -d "id=1&first_name=Zach&last_name=Borboa" "http://httpbin.org/put"
$curl = new Curl();
Expand Down
3 changes: 2 additions & 1 deletion examples/reddit_top_pics.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
require '../src/Curl.class.php';
require '../src/Curl/Curl.php';

use \Curl\Curl;

$data = array();
if (isset($_GET['after'])) {
Expand Down
3 changes: 2 additions & 1 deletion examples/twitter_post_tweet.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
require '../src/Curl.class.php';
require '../src/Curl/Curl.php';

use \Curl\Curl;

define('API_KEY', 'XXXXXXXXXXXXXXXXXXXXXXXXX');
define('API_SECRET', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
Expand Down
3 changes: 2 additions & 1 deletion examples/youtube_video_count.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
require '../src/Curl.class.php';
require '../src/Curl/Curl.php';

use \Curl\Curl;

$video_ids = array(
'9bZkp7q19f0',
Expand Down
86 changes: 44 additions & 42 deletions src/Curl.class.php → src/Curl/Curl.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<?php

namespace Curl;

class Curl
{
const USER_AGENT = 'PHP-Curl-Class/2.0 (+https://github.com/php-curl-class/php-curl-class)';
Expand Down Expand Up @@ -338,8 +340,8 @@ private function parseResponseHeaders($raw_headers)
private function postfields($data)
{
if (is_array($data)) {
if (is_array_multidim($data)) {
$data = http_build_multi_query($data);
if (self::is_array_multidim($data)) {
$data = self::http_build_multi_query($data);
} else {
$binary_data = false;
foreach ($data as $key => $value) {
Expand All @@ -354,9 +356,9 @@ private function postfields($data)
} elseif (is_string($value) && strpos($value, '@') === 0) {
$binary_data = true;
if (class_exists('CURLFile')) {
$data[$key] = new CURLFile(substr($value, 1));
$data[$key] = new \CURLFile(substr($value, 1));
}
} elseif ($value instanceof CURLFile) {
} elseif ($value instanceof \CURLFile) {
$binary_data = true;
}
}
Expand Down Expand Up @@ -423,9 +425,46 @@ public function __destruct()
{
$this->close();
}

public static function is_array_assoc($array)
{
return (bool)count(array_filter(array_keys($array), 'is_string'));
}

public static function is_array_multidim($array)
{
if (!is_array($array)) {
return false;
}

return !(count($array) === count($array, COUNT_RECURSIVE));
}

public static function http_build_multi_query($data, $key = null)
{
$query = array();

if (empty($data)) {
return $key . '=';
}

$is_array_assoc = self::is_array_assoc($data);

foreach ($data as $k => $value) {
if (is_string($value) || is_numeric($value)) {
$brackets = $is_array_assoc ? '[' . $k . ']' : '[]';
$query[] = urlencode(is_null($key) ? $k : $key . $brackets) . '=' . rawurlencode($value);
} elseif (is_array($value)) {
$nested = is_null($key) ? $k : $key . '[' . $k . ']';
$query[] = self::http_build_multi_query($value, $nested);
}
}

return implode('&', $query);
}
}

class CaseInsensitiveArray implements ArrayAccess, Countable, Iterator
class CaseInsensitiveArray implements \ArrayAccess, \Countable, \Iterator
{
private $container = array();

Expand Down Expand Up @@ -494,40 +533,3 @@ public function rewind()
reset($this->container);
}
}

function is_array_assoc($array)
{
return (bool)count(array_filter(array_keys($array), 'is_string'));
}

function is_array_multidim($array)
{
if (!is_array($array)) {
return false;
}

return !(count($array) === count($array, COUNT_RECURSIVE));
}

function http_build_multi_query($data, $key = null)
{
$query = array();

if (empty($data)) {
return $key . '=';
}

$is_array_assoc = is_array_assoc($data);

foreach ($data as $k => $value) {
if (is_string($value) || is_numeric($value)) {
$brackets = $is_array_assoc ? '[' . $k . ']' : '[]';
$query[] = urlencode(is_null($key) ? $k : $key . $brackets) . '=' . rawurlencode($value);
} elseif (is_array($value)) {
$nested = is_null($key) ? $k : $key . '[' . $k . ']';
$query[] = http_build_multi_query($value, $nested);
}
}

return implode('&', $query);
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
<?php
namespace Helper;

use Curl\Curl;

class Test
{
const TEST_URL = 'http://127.0.0.1:8000/';
Expand All @@ -23,9 +27,9 @@ public function server($test, $request_method, $data = array())
function test($instance, $before, $after)
{
$instance->server('request_method', $before);
PHPUnit_Framework_Assert::assertEquals($instance->curl->response_headers['X-REQUEST-METHOD'], $before);
\PHPUnit_Framework_Assert::assertEquals($instance->curl->response_headers['X-REQUEST-METHOD'], $before);
$instance->server('request_method', $after);
PHPUnit_Framework_Assert::assertEquals($instance->curl->response_headers['X-REQUEST-METHOD'], $after);
\PHPUnit_Framework_Assert::assertEquals($instance->curl->response_headers['X-REQUEST-METHOD'], $after);
}

function create_png()
Expand Down

0 comments on commit 360058c

Please sign in to comment.