joomla-platform / libraries / joomla / html / html / tel.php

<?php
/**
 * @copyright   Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE
 * @package     Joomla.Platform
 * @subpackage  HTML
 */

defined('JPATH_PLATFORM') or die;

/**
 * HTML helper class for rendering telephone numbers.
 *
 * @package     Joomla.Platform
 * @subpackage  HTML
 * @since       11.1
 */
abstract class JHtmlTel
{
    /**
     * Converts strings of integers into more readable telephone format
     *
     * By default, the ITU-T format will automatically be used.
     * However, one of the allowed unit types may also be used instead.
     *
     * @param   int     $number     The integers in a phone number with dot separated country code
     *                              ccc.nnnnnnn where ccc represents country code and nnn represents the local number.      
     * @param   string  $displayplanThe numbering plan used to display the numbers.
     * @param   string  $layout     Optional user defined layout to be used.
     *
     * @return  string  $display    The formatted telephone number.
     * @since   11.1
     */
    public static function tel($number, $displayplan)
    {
        $number = explode('.',$number);
        $countrycode =  $number[0];
        $number = $number[1];

        if ($displayplan == 'ITU-T' || $displayplan == 'International' || $displayplan == 'int' 
            || $displayplan == 'missdn' || $displayplan == null){
            $display[0] = '+';
            $display[1] = $countrycode;
            $display[2] = ' ';
            $display[3] = implode( str_split($number,2),' ');           
        } else
        
        if ($displayplan == 'NANP' || $displayplan == 'northamerica' || $displayplan == 'US'){
            $display[0] = '(';
            $display[1] = substr($number,0,3);
            $display[2] = ') ';
            $display[3] = substr($number,3,3);
            $display[4] = '-';
            $display[5] = substr($number,6,4);
        } else      
        if ($displayplan == 'EPP' || $displayplan == 'IETF'){
            $display[0] = '+';
            $display[1] = $countrycode;
            $display[2] = '.';
            $display[3] = $number;
            
        } else      
        if ($displayplan == 'ARPA' || $displayplan== 'ENUM'){
            $number = implode(str_split(strrev($number),1),'.');
            $display[0] = '+';
            $display[1] = $number;
            $display[2] = '.';
            $display[3] = $countrycode;
            $display[4] = '.e164.arpa';         
        }
        $display = implode($display,'');
        return $display;
    }
}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.