| 
									
										
										
										
											2009-05-11 13:45:00 -04:00
										 |  |  | <?php | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  |  * Laconica - a distributed open-source microblogging tool | 
					
						
							| 
									
										
										
										
											2009-06-20 16:12:55 -07:00
										 |  |  |  * Copyright (C) 2008, 2009, Control Yourself, 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/>. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if (!defined('LACONICA')) { exit(1); } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Table Definition for file_oembed | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-23 09:52:31 -07:00
										 |  |  | class File_oembed 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_oembed';                     // table name
 | 
					
						
							| 
									
										
										
										
											2009-06-22 14:19:41 -07:00
										 |  |  |     public $file_id;                         // int(4)  primary_key not_null
 | 
					
						
							| 
									
										
										
										
											2009-06-23 09:52:31 -07:00
										 |  |  |     public $version;                         // varchar(20)
 | 
					
						
							|  |  |  |     public $type;                            // varchar(20)
 | 
					
						
							|  |  |  |     public $provider;                        // varchar(50)
 | 
					
						
							|  |  |  |     public $provider_url;                    // varchar(255)
 | 
					
						
							|  |  |  |     public $width;                           // int(4)
 | 
					
						
							|  |  |  |     public $height;                          // int(4)
 | 
					
						
							|  |  |  |     public $html;                            // text()
 | 
					
						
							|  |  |  |     public $title;                           // varchar(255)
 | 
					
						
							|  |  |  |     public $author_name;                     // varchar(50)
 | 
					
						
							|  |  |  |     public $author_url;                      // varchar(255)
 | 
					
						
							|  |  |  |     public $url;                             // 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_oembed',$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
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-23 09:52:31 -07:00
										 |  |  |     function sequenceKey() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         return array(false, false, false); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2009-05-13 14:27:32 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-07-15 17:10:36 -04:00
										 |  |  |     function _getOembed($url, $maxwidth = 500, $maxheight = 400) { | 
					
						
							|  |  |  |         require_once INSTALLDIR.'/extlib/Services/oEmbed.php'; | 
					
						
							|  |  |  |         $parameters = array( | 
					
						
							|  |  |  |             'maxwidth'=>$maxwidth, | 
					
						
							|  |  |  |             'maxheight'=>$maxheight, | 
					
						
							|  |  |  |         ); | 
					
						
							|  |  |  |         try{ | 
					
						
							|  |  |  |             $oEmbed = new Services_oEmbed($url); | 
					
						
							|  |  |  |             $object = $oEmbed->getObject($parameters); | 
					
						
							|  |  |  |             return $object; | 
					
						
							|  |  |  |         }catch(Exception $e){ | 
					
						
							|  |  |  |             try{ | 
					
						
							|  |  |  |                 $oEmbed = new Services_oEmbed($url, array( | 
					
						
							|  |  |  |                     Services_oEmbed::OPTION_API => common_config('oohembed', 'endpoint') | 
					
						
							|  |  |  |                 )); | 
					
						
							|  |  |  |                 $object = $oEmbed->getObject($parameters); | 
					
						
							|  |  |  |                 return $object; | 
					
						
							|  |  |  |             }catch(Exception $ex){ | 
					
						
							|  |  |  |                 return false; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2009-05-13 14:27:32 -04:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function saveNew($data, $file_id) { | 
					
						
							|  |  |  |         $file_oembed = new File_oembed; | 
					
						
							|  |  |  |         $file_oembed->file_id = $file_id; | 
					
						
							| 
									
										
										
										
											2009-07-15 17:10:36 -04:00
										 |  |  |         $file_oembed->version = $data->version; | 
					
						
							|  |  |  |         $file_oembed->type = $data->type; | 
					
						
							|  |  |  |         if (!empty($data->provider_name)) $file_oembed->provider = $data->provider_name; | 
					
						
							|  |  |  |         if (!empty($data->provider)) $file_oembed->provider = $data->provider; | 
					
						
							|  |  |  |         if (!empty($data->provide_url)) $file_oembed->provider_url = $data->provider_url; | 
					
						
							|  |  |  |         if (!empty($data->width)) $file_oembed->width = intval($data->width); | 
					
						
							|  |  |  |         if (!empty($data->height)) $file_oembed->height = intval($data->height); | 
					
						
							|  |  |  |         if (!empty($data->html)) $file_oembed->html = $data->html; | 
					
						
							|  |  |  |         if (!empty($data->title)) $file_oembed->title = $data->title; | 
					
						
							|  |  |  |         if (!empty($data->author_name)) $file_oembed->author_name = $data->author_name; | 
					
						
							|  |  |  |         if (!empty($data->author_url)) $file_oembed->author_url = $data->author_url; | 
					
						
							|  |  |  |         if (!empty($data->url)) $file_oembed->url = $data->url; | 
					
						
							| 
									
										
										
										
											2009-05-13 14:27:32 -04:00
										 |  |  |         $file_oembed->insert(); | 
					
						
							| 
									
										
										
										
											2009-07-15 17:10:36 -04:00
										 |  |  |         if (!empty($data->thumbnail_url)) { | 
					
						
							| 
									
										
										
										
											2009-05-15 15:04:58 -04:00
										 |  |  |             File_thumbnail::saveNew($data, $file_id); | 
					
						
							| 
									
										
										
										
											2009-05-13 14:27:32 -04:00
										 |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2009-05-11 13:45:00 -04:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2009-05-13 14:27:32 -04:00
										 |  |  | 
 |