Rename 'kohana' to 'system' to conform to the Kohana filesystem layout. I'm comfortable with us not clearly drawing the distinction about the fact that it's Kohana.

This commit is contained in:
Bharat Mediratta
2009-05-27 15:11:53 -07:00
parent 00f47d4ddd
commit 12fe58d997
144 changed files with 1 additions and 1 deletions
+66
View File
@@ -0,0 +1,66 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* Format helper class.
*
* $Id: format.php 4070 2009-03-11 20:37:38Z Geert $
*
* @package Core
* @author Kohana Team
* @copyright (c) 2007-2008 Kohana Team
* @license http://kohanaphp.com/license.html
*/
class format_Core {
/**
* Formats a phone number according to the specified format.
*
* @param string phone number
* @param string format string
* @return string
*/
public static function phone($number, $format = '3-3-4')
{
// Get rid of all non-digit characters in number string
$number_clean = preg_replace('/\D+/', '', (string) $number);
// Array of digits we need for a valid format
$format_parts = preg_split('/[^1-9][^0-9]*/', $format, -1, PREG_SPLIT_NO_EMPTY);
// Number must match digit count of a valid format
if (strlen($number_clean) !== array_sum($format_parts))
return $number;
// Build regex
$regex = '(\d{'.implode('})(\d{', $format_parts).'})';
// Build replace string
for ($i = 1, $c = count($format_parts); $i <= $c; $i++)
{
$format = preg_replace('/(?<!\$)[1-9][0-9]*/', '\$'.$i, $format, 1);
}
// Hocus pocus!
return preg_replace('/^'.$regex.'$/', $format, $number_clean);
}
/**
* Formats a URL to contain a protocol at the beginning.
*
* @param string possibly incomplete URL
* @return string
*/
public static function url($str = '')
{
// Clear protocol-only strings like "http://"
if ($str === '' OR substr($str, -3) === '://')
return '';
// If no protocol given, prepend "http://" by default
if (strpos($str, '://') === FALSE)
return 'http://'.$str;
// Return the original URL
return $str;
}
} // End format