root

Changeset 242

Show
Ignore:
Timestamp:
09/26/08 09:23:38 (2 years ago)
Author:
wbond
Message:

Fixed some issues with casting objects to strings

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • fActiveRecord.php

    r218 r242 Hide Line Numbers
    623623        if (is_object($value) && is_callable(array($value, '__toString'))) { 
    624624            $value = $value->__toString(); 
    625         } 
    626          
    627         // If we are left with an object at this point then we don't know what to do with it 
    628         if (is_object($value)) { 
    629             fCore::toss( 
    630                 'fProgrammerException', 
    631                 fGrammar::compose( 
    632                     'The column specified, %s, contains an object that does not have a __toString() method - unsure how to get object value', 
    633                     fCore::dump($column) 
    634                 ) 
    635             ); 
     625        } elseif (is_object($value)) { 
     626            $value = (string) $value;    
    636627        } 
    637628         
     
    1003994        // Other objects 
    1004995        if (is_object($value) && is_callable(array($value, '__toString'))) { 
    1005             return fHTML::prepare($value->__toString()); 
    1006         } 
    1007          
    1008         // If we are left with an object at this point then we don't know what to do with it 
    1009         if (is_object($value)) { 
    1010             fCore::toss( 
    1011                 'fProgrammerException', 
    1012                 fGrammar::compose( 
    1013                     'The column specified, %s, contains an object that does not have a __toString() method - unsure how to get object value', 
    1014                     fCore::dump($column) 
    1015                 ) 
    1016             ); 
     996            $value = $value->__toString(); 
     997        } elseif (is_object($value)) { 
     998            $value = (string) $value;    
    1017999        } 
    10181000         
  • fDatabase.php

    r235 r242 Hide Line Numbers
    642642            if (is_object($value) && is_callable(array($value, '__toString'))) { 
    643643                $value = $value->__toString(); 
     644            } elseif (is_object($value)) { 
     645                $value = (string) $value;    
    644646            } 
    645647            $new_values[] = $value; 
  • fDate.php

    r239 r242 Hide Line Numbers
    4040            if (is_object($date) && is_callable(array($date, '__toString'))) { 
    4141                $date = $date->__toString();     
     42            } elseif (fCore::stringlike($date)) { 
     43                $date = (string) $date;  
    4244            } 
    4345            $timestamp = strtotime(fTimestamp::fixISOWeek($date)); 
  • fNumber.php

    r214 r242 Hide Line Numbers
    246246        if (is_object($number) && is_callable(array($number, '__toString'))) { 
    247247            $number = $number->__toString(); 
    248         } 
    249         $number = (string) $number; 
     248        } elseif (fCore::stringlike($number)) { 
     249            $number = (string) $number; 
     250        } 
    250251        $number = trim($number); 
    251252         
  • fORM.php

    r221 r242 Hide Line Numbers
    326326                $data = $data->__toString(); 
    327327            } 
    328             $primary_key_data[$primary_key] = (string) $data; 
     328            $primary_key_data[$primary_key] = $data; 
    329329        } 
    330330        return md5(serialize($primary_key_data)); 
     
    718718        } 
    719719         
    720         if (is_object($value)) { 
     720        if (is_object($value) && is_callable(array($value, '__toString'))) { 
    721721            return $value->__toString(); 
    722         } 
     722        } elseif (is_object($value)) { 
     723            return (string) $value; 
     724        } 
     725         
    723726        return $value; 
    724727    } 
  • fORMDatabase.php

    r236 r242 Hide Line Numbers
    424424                if (is_object($value) && is_callable(array($value, '__toString'))) { 
    425425                    $value = $value->__toString(); 
     426                } elseif (is_object($value)) { 
     427                    $value = (string) $value;    
    426428                } 
    427429                $new_values[] = $value; 
  • fORMJSON.php

    r222 r242 Hide Line Numbers
    8585            if (is_object($value) && is_callable(array($value, '__toString'))) { 
    8686                $value = $value->__toString(); 
     87            } elseif (is_object($value)) { 
     88                $value = (string) $value;    
    8789            } 
    8890            $output[$column] = $value; 
  • fTime.php

    r239 r242 Hide Line Numbers
    4040            if (is_object($time) && is_callable(array($time, '__toString'))) { 
    4141                $time = $time->__toString();     
     42            } elseif (fCore::stringlike($time)) { 
     43                $time = (string) $time;  
    4244            } 
    4345            $timestamp = strtotime($time); 
  • fTimestamp.php

    r240 r242 Hide Line Numbers
    718718            if (is_object($datetime) && is_callable(array($datetime, '__toString'))) { 
    719719                $datetime = $datetime->__toString();     
     720            } elseif (fCore::stringlike($datetime)) { 
     721                $datetime = (string) $datetime;  
    720722            } 
    721723            $timestamp = strtotime(self::fixISOWeek($datetime) . ' ' . $timezone);