Show
Ignore:
Timestamp:
03/05/2008 11:41:37 AM (9 months ago)
Author:
zombor
Message:

Fixing some bugs and allowing for either 10 digit or 7 digit phone numbers.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/modules/forge/libraries/Form_Phonenumber.php

    r2174 r2222  
    5555                { 
    5656                        isset($data['value']) OR $data['value'] = ''; 
    57                         $data['name'] = $this->data['name'].'['.$type.']'; 
    58                         $data['class'] = $type; 
     57                        $temp = $data; 
     58                        $temp['name'] = $this->data['name'].'['.$type.']'; 
     59                        $offset = (strlen($data['value']) == 10) ? 0 : 3; 
    5960                        switch ($type) 
    6061                        { 
    6162                                case 'area_code': 
    62                                         $data['value'] = substr($data['value'], 0, 3); 
    63                                         $input .= form::input(array_merge(array('value' => $val), $data)).'-'; 
     63                                        if (strlen($data['value']) == 10) 
     64                                        { 
     65                                                $temp['value'] = substr($data['value'], 0, 3); 
     66                                        } 
     67                                        else 
     68                                                $temp['value'] = ''; 
     69                                        $temp['class'] = 'area_code'; 
     70                                        $input .= form::input(array_merge(array('value' => $val), $temp)).'-'; 
    6471                                        break; 
    6572                                case 'exchange': 
    66                                         $data['value'] = substr($data['value'], 3, 3); 
    67                                         $input .= form::input(array_merge(array('value' => $val), $data)).'-'; 
     73                                        $temp['value'] = substr($data['value'], (3-$offset), 3); 
     74                                        $temp['class'] = 'exchange'; 
     75                                        $input .= form::input(array_merge(array('value' => $val), $temp)).'-'; 
    6876                                        break; 
    6977                                case 'last_four': 
    70                                         $data['value'] = substr($data['value'], 6, 4); 
    71                                         $input .= form::input(array_merge(array('value' => $val), $data)); 
     78                                        $temp['value'] = substr($data['value'], (6-$offset), 4); 
     79                                        $temp['class'] = 'last_four'; 
     80                                        $input .= form::input(array_merge(array('value' => $val), $temp)); 
    7281                                        break; 
    7382                        }