2009-05-11 13:45:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< ? php  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*  
						 
					
						
							
								
									
										
										
										
											2009-08-25 18:14:12 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  StatusNet  -  the  distributed  open - source  microblogging  tool 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-25 18:12:20 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  Copyright  ( C )  2008 ,  2009 ,  StatusNet ,  Inc . 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-11 13:45:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  This  program  is  free  software :  you  can  redistribute  it  and / or  modify 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  it  under  the  terms  of  the  GNU  Affero  General  Public  License  as  published  by 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  the  Free  Software  Foundation ,  either  version  3  of  the  License ,  or 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  ( at  your  option )  any  later  version . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  This  program  is  distributed  in  the  hope  that  it  will  be  useful , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  but  WITHOUT  ANY  WARRANTY ;  without  even  the  implied  warranty  of 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  MERCHANTABILITY  or  FITNESS  FOR  A  PARTICULAR  PURPOSE .      See  the 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  GNU  Affero  General  Public  License  for  more  details . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  You  should  have  received  a  copy  of  the  GNU  Affero  General  Public  License 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  along  with  this  program .      If  not ,  see  < http :// www . gnu . org / licenses />. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-08-26 10:41:36 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  ( ! defined ( 'STATUSNET' )  &&  ! defined ( 'LACONICA' ))  {  exit ( 1 );  }  
						 
					
						
							
								
									
										
										
										
											2009-05-11 13:45:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								require_once  INSTALLDIR . '/classes/Memcached_DataObject.php' ;  
						 
					
						
							
								
									
										
										
										
											2009-05-13 14:27:32 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								require_once  INSTALLDIR . '/classes/File_redirection.php' ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								require_once  INSTALLDIR . '/classes/File_oembed.php' ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								require_once  INSTALLDIR . '/classes/File_thumbnail.php' ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								require_once  INSTALLDIR . '/classes/File_to_post.php' ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//require_once INSTALLDIR.'/classes/File_redirection.php';
  
						 
					
						
							
								
									
										
										
										
											2009-05-11 13:45:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Table  Definition  for  file 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 22:48:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class  File  extends  Memcached_DataObject  
						 
					
						
							
								
									
										
										
										
											2009-05-11 13:45:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ###START_AUTOCODE
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /* the code below is auto generated do not remove the above tag */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  $__table  =  'file' ;                             // table name
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 14:19:41 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  $id ;                               // int(4)  primary_key not_null
 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-11 13:45:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    public  $url ;                              // varchar(255)  unique_key
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 22:48:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  $mimetype ;                         // varchar(50)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  $size ;                             // int(4)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  $title ;                            // varchar(255)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  $date ;                             // int(4)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  $protected ;                        // int(4)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  $filename ;                         // varchar(255)
 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 14:19:41 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  $modified ;                         // timestamp()   not_null default_CURRENT_TIMESTAMP
 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-11 13:45:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /* Static get */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 14:24:40 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    function  staticGet ( $k , $v = NULL )  {  return  Memcached_DataObject :: staticGet ( 'File' , $k , $v );  } 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-11 13:45:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /* the code above is auto generated do not remove the tag below */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ###END_AUTOCODE
 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-13 14:27:32 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  isProtected ( $url )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  'http://www.facebook.com/login.php'  ===  $url ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-05-15 15:04:58 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    function  getAttachments ( $post_id )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $query  =  " select file.* from file join file_to_post on (file_id = file.id) join notice on (post_id = notice.id) where post_id =  "  .  $this -> escape ( $post_id ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $this -> query ( $query ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $att  =  array (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        while  ( $this -> fetch ())  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $att []  =  clone ( $this ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $this -> free (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  $att ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-03-10 13:39:42 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     *  Save  a  new  file  record . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     *  @ param  array  $redir_data  lookup  data  eg  from  File_redirection :: where () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     *  @ param  string  $given_url 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     *  @ return  File 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  saveNew ( array  $redir_data ,  $given_url )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-13 14:27:32 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $x  =  new  File ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $x -> url  =  $given_url ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! empty ( $redir_data [ 'protected' ]))  $x -> protected  =  $redir_data [ 'protected' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! empty ( $redir_data [ 'title' ]))  $x -> title  =  $redir_data [ 'title' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! empty ( $redir_data [ 'type' ]))  $x -> mimetype  =  $redir_data [ 'type' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( ! empty ( $redir_data [ 'size' ]))  $x -> size  =  intval ( $redir_data [ 'size' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( isset ( $redir_data [ 'time' ])  &&  $redir_data [ 'time' ]  >  0 )  $x -> date  =  intval ( $redir_data [ 'time' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $file_id  =  $x -> insert (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-03-10 14:31:29 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $x -> saveOembed ( $redir_data ,  $given_url ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  $x ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     *  Save  embedding  information  for  this  file ,  if  applicable . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     *  Normally  this  won ' t  need  to  be  called  manually ,  as  File :: saveNew () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     *  takes  care  of  it . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     *  @ param  array  $redir_data  lookup  data  eg  from  File_redirection :: where () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     *  @ param  string  $given_url 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     *  @ return  boolean  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    public  function  saveOembed ( $redir_data ,  $given_url ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-13 14:27:32 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( isset ( $redir_data [ 'type' ]) 
							 
						 
					
						
							
								
									
										
										
										
											2009-09-01 23:02:03 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            &&  (( 'text/html'  ===  substr ( $redir_data [ 'type' ],  0 ,  9 )  ||  'application/xhtml+xml'  ===  substr ( $redir_data [ 'type' ],  0 ,  21 ))) 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-15 17:10:36 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            &&  ( $oembed_data  =  File_oembed :: _getOembed ( $given_url )))  { 
							 
						 
					
						
							
								
									
										
										
										
											2010-01-10 13:18:53 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-03-10 14:31:29 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            $fo  =  File_oembed :: staticGet ( 'file_id' ,  $this -> id ); 
							 
						 
					
						
							
								
									
										
										
										
											2010-01-10 13:18:53 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( empty ( $fo ))  { 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-10 14:31:29 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                File_oembed :: saveNew ( $oembed_data ,  $this -> id ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                return  true ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-01-10 13:18:53 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                common_log ( LOG_WARNING ,  " Strangely, a File_oembed object exists for new file  $file_id " ,  __FILE__ ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-13 14:27:32 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-10 14:31:29 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  false ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-13 14:27:32 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-08-27 20:23:31 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    function  processNew ( $given_url ,  $notice_id = null )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-13 14:27:32 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( empty ( $given_url ))  return  - 1 ;    // error, no url to process
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $given_url  =  File_redirection :: _canonUrl ( $given_url ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( empty ( $given_url ))  return  - 1 ;    // error, no url to process
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $file  =  File :: staticGet ( 'url' ,  $given_url ); 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-25 11:10:34 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( empty ( $file ))  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-13 14:27:32 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            $file_redir  =  File_redirection :: staticGet ( 'url' ,  $given_url ); 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-25 11:10:34 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            if  ( empty ( $file_redir ))  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-13 14:27:32 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                $redir_data  =  File_redirection :: where ( $given_url ); 
							 
						 
					
						
							
								
									
										
										
										
											2009-09-27 16:52:15 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                if  ( is_array ( $redir_data ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $redir_url  =  $redir_data [ 'url' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                }  elseif  ( is_string ( $redir_data ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $redir_url  =  $redir_data ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-10 14:31:29 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $redir_data  =  array (); 
							 
						 
					
						
							
								
									
										
										
										
											2009-09-27 16:52:15 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    throw  new  ServerException ( " Can't process url ' $given_url ' " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-12 16:00:46 +12:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                // TODO: max field length
 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-27 20:23:31 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                if  ( $redir_url  ===  $given_url  ||  strlen ( $redir_url )  >  255 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-13 14:27:32 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $x  =  File :: saveNew ( $redir_data ,  $given_url ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $file_id  =  $x -> id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $x  =  File :: processNew ( $redir_url ,  $notice_id ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $file_id  =  $x -> id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    File_redirection :: saveNew ( $redir_data ,  $file_id ,  $given_url ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                $file_id  =  $file_redir -> file_id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $file_id  =  $file -> id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $x  =  $file ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( empty ( $x ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $x  =  File :: staticGet ( $file_id ); 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-30 16:55:09 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            if  ( empty ( $x ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                throw  new  ServerException ( " Robin thinks something is impossible. " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-13 14:27:32 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 22:48:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-08-27 20:23:31 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( ! empty ( $notice_id ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            File_to_post :: processNew ( $file_id ,  $notice_id ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-13 14:27:32 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  $x ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-31 21:03:55 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-07-07 15:55:10 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    function  isRespectsQuota ( $user , $fileSize )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-22 17:05:44 +12:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-07-07 15:55:10 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( $fileSize  >  common_config ( 'attachments' ,  'file_quota' ))  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-31 21:03:55 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            return  sprintf ( _ ( 'No file may be larger than %d bytes '  . 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-23 07:29:43 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                             'and the file you sent was %d bytes. Try to upload a smaller version.' ), 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-07 15:55:10 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                           common_config ( 'attachments' ,  'file_quota' ),  $fileSize ); 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-31 21:03:55 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $query  =  " select sum(size) as total from file join file_to_post on file_to_post.file_id = file.id join notice on file_to_post.post_id = notice.id where profile_id =  { $user -> id }  and file.url like '%/notice/%/file' " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $this -> query ( $query ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $this -> fetch (); 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-07 15:55:10 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $total  =  $this -> total  +  $fileSize ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-31 21:03:55 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( $total  >  common_config ( 'attachments' ,  'user_quota' ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  sprintf ( _ ( 'A file this large would exceed your user quota of %d bytes.' ),  common_config ( 'attachments' ,  'user_quota' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-22 17:05:44 +12:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $query  .=  ' AND EXTRACT(month FROM file.modified) = EXTRACT(month FROM now()) and EXTRACT(year FROM file.modified) = EXTRACT(year FROM now())' ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-31 21:03:55 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $this -> query ( $query ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $this -> fetch (); 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-07 15:55:10 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $total  =  $this -> total  +  $fileSize ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-31 21:03:55 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( $total  >  common_config ( 'attachments' ,  'monthly_quota' ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  sprintf ( _ ( 'A file this large would exceed your monthly quota of %d bytes.' ),  common_config ( 'attachments' ,  'monthly_quota' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 22:48:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // where should the file go?
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-23 07:29:43 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    static  function  filename ( $profile ,  $basename ,  $mimetype ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        require_once  'MIME/Type/Extension.php' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $mte  =  new  MIME_Type_Extension (); 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-01 21:42:38 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        try  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $ext  =  $mte -> getExtension ( $mimetype ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }  catch  (  Exception  $e )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $ext  =  strtolower ( preg_replace ( '/\W/' ,  '' ,  $mimetype )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-23 07:29:43 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $nickname  =  $profile -> nickname ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $datestamp  =  strftime ( '%Y%m%dT%H%M%S' ,  time ()); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $random  =  strtolower ( common_confirmation_code ( 32 )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  " $nickname - $datestamp - $random . $ext " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 22:48:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-02-01 08:48:31 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     *  Validation  for  as - saved  base  filenames 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    static  function  validFilename ( $filename ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-02 09:30:15 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  preg_match ( '/^[A-Za-z0-9._-]+$/' ,  $filename ); 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-01 08:48:31 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     *  @ throws  ClientException  on  invalid  filename 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     */ 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-23 07:29:43 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    static  function  path ( $filename ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-01 08:48:31 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( ! self :: validFilename ( $filename ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            throw  new  ClientException ( " Invalid filename " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-23 07:29:43 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $dir  =  common_config ( 'attachments' ,  'dir' ); 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 22:48:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-23 07:29:43 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( $dir [ strlen ( $dir ) - 1 ]  !=  '/' )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $dir  .=  '/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 22:48:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-23 07:29:43 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  $dir  .  $filename ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 22:48:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-06-23 07:29:43 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    static  function  url ( $filename ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-01 08:48:31 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( ! self :: validFilename ( $filename ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            throw  new  ClientException ( " Invalid filename " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2010-01-05 17:47:37 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if ( common_config ( 'site' , 'private' ))  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 22:48:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-01-05 17:47:37 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            return  common_local_url ( 'getfile' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                array ( 'filename'  =>  $filename )); 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 22:48:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-01-05 17:47:37 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $path  =  common_config ( 'attachments' ,  'path' ); 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 22:48:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-01-05 17:47:37 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            if  ( $path [ strlen ( $path ) - 1 ]  !=  '/' )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                $path  .=  '/' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 22:48:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-01-05 17:47:37 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            if  ( $path [ 0 ]  !=  '/' )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                $path  =  '/' . $path ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $server  =  common_config ( 'attachments' ,  'server' ); 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 22:48:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-01-05 17:47:37 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            if  ( empty ( $server ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                $server  =  common_config ( 'site' ,  'server' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-22 22:48:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-02-11 17:06:57 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            $ssl  =  common_config ( 'attachments' ,  'ssl' ); 
							 
						 
					
						
							
								
									
										
										
										
											2010-01-05 17:47:37 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-02-11 17:06:57 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            if  ( is_null ( $ssl ))  {  // null -> guess
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                if  ( common_config ( 'site' ,  'ssl' )  ==  'always'  && 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    ! common_config ( 'attachments' ,  'server' ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $ssl  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $ssl  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $protocol  =  ( $ssl )  ?  'https'  :  'http' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            return  $protocol . '://' . $server . $path . $filename ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-01-05 17:47:37 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-23 07:29:43 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 13:33:40 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-08-26 15:40:51 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    function  getEnclosure (){ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $enclosure  =  ( object )  array (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $enclosure -> title = $this -> title ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $enclosure -> url = $this -> url ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $enclosure -> title = $this -> title ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $enclosure -> date = $this -> date ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $enclosure -> modified = $this -> modified ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $enclosure -> size = $this -> size ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $enclosure -> mimetype = $this -> mimetype ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-26 21:51:54 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if ( !  isset ( $this -> filename )){ 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-11 17:26:59 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            $notEnclosureMimeTypes  =  array ( null , 'text/html' , 'application/xhtml+xml' ); 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-26 15:40:51 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            $mimetype  =  strtolower ( $this -> mimetype ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $semicolon  =  strpos ( $mimetype , ';' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if ( $semicolon ){ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                $mimetype  =  substr ( $mimetype , 0 , $semicolon ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if ( in_array ( $mimetype , $notEnclosureMimeTypes )){ 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-26 21:51:54 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                $oembed  =  File_oembed :: staticGet ( 'file_id' , $this -> id ); 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-26 15:40:51 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                if ( $oembed ){ 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-26 21:51:54 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $mimetype  =  strtolower ( $oembed -> mimetype ); 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-26 15:40:51 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    $semicolon  =  strpos ( $mimetype , ';' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    if ( $semicolon ){ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        $mimetype  =  substr ( $mimetype , 0 , $semicolon ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    if ( in_array ( $mimetype , $notEnclosureMimeTypes )){ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        return  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    } else { 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-26 21:51:54 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                        if ( $oembed -> mimetype )  $enclosure -> mimetype = $oembed -> mimetype ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        if ( $oembed -> url )  $enclosure -> url = $oembed -> url ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        if ( $oembed -> title )  $enclosure -> title = $oembed -> title ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        if ( $oembed -> modified )  $enclosure -> modified = $oembed -> modified ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        unset ( $oembed -> size ); 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-26 15:40:51 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    } 
							 
						 
					
						
							
								
									
										
										
										
											2010-01-22 10:12:26 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    return  false ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-26 15:40:51 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 13:33:40 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2009-08-26 21:51:54 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  $enclosure ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-07-14 13:33:40 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-02 16:30:09 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // quick back-compat hack, since there's still code using this
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    function  isEnclosure () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $enclosure  =  $this -> getEnclosure (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  ! empty ( $enclosure ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-11 13:45:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2009-05-31 21:03:55 -04:00