summaryrefslogtreecommitdiff
path: root/kohana/helpers/remote.php
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2008-12-15 08:56:18 +0000
committerBharat Mediratta <bharat@menalto.com>2008-12-15 08:56:18 +0000
commit3b35e8b91ce94c292b46a296d034542ac5f0f6da (patch)
tree7a1444b5e16475b66300be105b8fc39e5117c881 /kohana/helpers/remote.php
parent628058b4ed5aefb543ceb6ca9d3b87828c66bef1 (diff)
Refresh kohana from upstream svn trunk r3771.
During this process, remove a considerable number of files from kohana that we will not be needing in Gallery3, including the following files and directories: kohana/application kohana/example.htaccess kohana/index.php kohana/install.php kohana/kohana.png kohana/modules/archive kohana/modules/auth kohana/modules/flot kohana/modules/gmaps kohana/modules/kodoc kohana/modules/payment kohana/modules/smarty kohana/modules/unit_test/i18n kohana/modules/unit_test/tests/Example_Test.php kohana/modules/unit_test/tests/Valid_Test.php kohana/system/config/captcha.php kohana/system/controllers/captcha.php kohana/system/fonts kohana/system/i18n kohana/system/libraries/Calendar.php kohana/system/libraries/Calendar_Event.php kohana/system/libraries/Captcha.php kohana/system/libraries/Tagcloud.php kohana/system/vendor kohana/system/views/pagination kohana/system/views/kohana_calendar.php
Diffstat (limited to 'kohana/helpers/remote.php')
-rw-r--r--kohana/helpers/remote.php66
1 files changed, 66 insertions, 0 deletions
diff --git a/kohana/helpers/remote.php b/kohana/helpers/remote.php
new file mode 100644
index 00000000..d5faf4eb
--- /dev/null
+++ b/kohana/helpers/remote.php
@@ -0,0 +1,66 @@
+<?php defined('SYSPATH') OR die('No direct access allowed.');
+/**
+ * Remote url/file helper.
+ *
+ * $Id$
+ *
+ * @package Core
+ * @author Kohana Team
+ * @copyright (c) 2007-2008 Kohana Team
+ * @license http://kohanaphp.com/license.html
+ */
+class remote_Core {
+
+ public static function status($url)
+ {
+ if ( ! valid::url($url, 'http'))
+ return FALSE;
+
+ // Get the hostname and path
+ $url = parse_url($url);
+
+ if (empty($url['path']))
+ {
+ // Request the root document
+ $url['path'] = '/';
+ }
+
+ // Open a remote connection
+ $remote = fsockopen($url['host'], 80, $errno, $errstr, 5);
+
+ if ( ! is_resource($remote))
+ return FALSE;
+
+ // Set CRLF
+ $CRLF = "\r\n";
+
+ // Send request
+ fwrite($remote, 'HEAD '.$url['path'].' HTTP/1.0'.$CRLF);
+ fwrite($remote, 'Host: '.$url['host'].$CRLF);
+ fwrite($remote, 'Connection: close'.$CRLF);
+ fwrite($remote, 'User-Agent: Kohana Framework (+http://kohanaphp.com/)'.$CRLF);
+
+ // Send one more CRLF to terminate the headers
+ fwrite($remote, $CRLF);
+
+ while ( ! feof($remote))
+ {
+ // Get the line
+ $line = trim(fgets($remote, 512));
+
+ if ($line !== '' AND preg_match('#^HTTP/1\.[01] (\d{3})#', $line, $matches))
+ {
+ // Response code found
+ $response = (int) $matches[1];
+
+ break;
+ }
+ }
+
+ // Close the connection
+ fclose($remote);
+
+ return isset($response) ? $response : FALSE;
+ }
+
+} // End remote \ No newline at end of file