Photos now show up in feed (locally anywyay.) need cleanup/federation
This commit is contained in:
		@@ -44,16 +44,16 @@ class GNUsocialPhotosPlugin extends Plugin
 | 
				
			|||||||
        case 'PhotosAction':
 | 
					        case 'PhotosAction':
 | 
				
			||||||
            include_once $dir . '/lib/photolib.php';
 | 
					            include_once $dir . '/lib/photolib.php';
 | 
				
			||||||
            include_once $dir . '/actions/' . strtolower(mb_substr($cls, 0, -6)) . '.php';
 | 
					            include_once $dir . '/actions/' . strtolower(mb_substr($cls, 0, -6)) . '.php';
 | 
				
			||||||
            return false;
 | 
					            break;
 | 
				
			||||||
        case 'PhotouploadAction':
 | 
					        case 'PhotouploadAction':
 | 
				
			||||||
            include_once $dir . '/lib/photolib.php';
 | 
					            include_once $dir . '/lib/photolib.php';
 | 
				
			||||||
            include_once $dir . '/classes/gnusocialphoto.php';
 | 
					 | 
				
			||||||
            include_once $dir . '/actions/' . strtolower(mb_substr($cls, 0, -6)) . '.php';
 | 
					            include_once $dir . '/actions/' . strtolower(mb_substr($cls, 0, -6)) . '.php';
 | 
				
			||||||
            return false;
 | 
					            break;
 | 
				
			||||||
        default:
 | 
					        default:
 | 
				
			||||||
            return true;
 | 
					            break;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        include_once $dir . '/classes/gnusocialphoto.php';
 | 
				
			||||||
        return true;
 | 
					        return true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -61,7 +61,7 @@ class GNUsocialPhotosPlugin extends Plugin
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        $schema = Schema::get();
 | 
					        $schema = Schema::get();
 | 
				
			||||||
        $schema->ensureTable('GNUsocialPhoto',
 | 
					        $schema->ensureTable('GNUsocialPhoto',
 | 
				
			||||||
                                array(new ColumnDef('object_id', 'integer', null, false, 'PRI', true, null, null, true),
 | 
					                                array(new ColumnDef('notice_id', 'integer', null, false, null, true, null, null, true),
 | 
				
			||||||
                                      new ColumnDef('path', 'varchar(150)', null, false),
 | 
					                                      new ColumnDef('path', 'varchar(150)', null, false),
 | 
				
			||||||
                                      new ColumnDef('thumb_path', 'varchar(156)', null, false), // 156 = 150 + strlen('thumb.')
 | 
					                                      new ColumnDef('thumb_path', 'varchar(156)', null, false), // 156 = 150 + strlen('thumb.')
 | 
				
			||||||
                                      new ColumnDef('owner_id', 'int(11)', null, false)));
 | 
					                                      new ColumnDef('owner_id', 'int(11)', null, false)));
 | 
				
			||||||
@@ -74,4 +74,29 @@ class GNUsocialPhotosPlugin extends Plugin
 | 
				
			|||||||
        common_log(LOG_INFO, "init'd!");
 | 
					        common_log(LOG_INFO, "init'd!");
 | 
				
			||||||
        return true;
 | 
					        return true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* function onStartActivityDefaultObjectType(&$notice, &$xs, &$type)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        $photo = GNUsocialPhoto::staticGet('notice_id', $notice->id);
 | 
				
			||||||
 | 
					        if($photo) {
 | 
				
			||||||
 | 
					            $type = ActivityObject::PHOTO;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    } */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function onStartShowNoticeItem($action)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        common_log(LOG_INFO, 'StartShowNoticeItem: ' . $action->notice->id);
 | 
				
			||||||
 | 
					        $photo = GNUsocialPhoto::staticGet('notice_id', $action->notice->id);
 | 
				
			||||||
 | 
					        if($photo) { 
 | 
				
			||||||
 | 
					            common_log(LOG_INFO, 'is photo.');
 | 
				
			||||||
 | 
					            $action->out->elementStart('a', array('href' => 'http://' . common_config('site', 'server') . $photo->path));
 | 
				
			||||||
 | 
					            $action->out->element('img', array('src' => 'http://' . common_config('site', 'server') . $photo->thumb_path));
 | 
				
			||||||
 | 
					            $action->out->elementEnd('a');
 | 
				
			||||||
 | 
					            $action->showNoticeInfo();
 | 
				
			||||||
 | 
					            $action->showNoticeOptions();
 | 
				
			||||||
 | 
					            return false;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        common_log(LOG_INFO, 'not photo');
 | 
				
			||||||
 | 
					        return true;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -103,6 +103,14 @@ class PhotouploadAction extends Action
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function showForm($msg, $success=false)
 | 
				
			||||||
 | 
					    { 
 | 
				
			||||||
 | 
					        $this->msg = $msg;
 | 
				
			||||||
 | 
					        $this->success = $success;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//        $this->showPage();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    function uploadPhoto()
 | 
					    function uploadPhoto()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        common_log(LOG_INFO, 'Is this function even getting called?');
 | 
					        common_log(LOG_INFO, 'Is this function even getting called?');
 | 
				
			||||||
@@ -123,15 +131,13 @@ class PhotouploadAction extends Action
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        common_log(LOG_INFO, 'upload path : ' . $imagefile->filepath);
 | 
					        common_log(LOG_INFO, 'upload path : ' . $imagefile->filepath);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $filename = $cur->nickname . '-' . common_timestamp() . sha1_file($imagefile->filepath) . '.' .  image_type_to_extension($imagefile->type);
 | 
					        $filename = $cur->nickname . '-' . common_timestamp() . sha1_file($imagefile->filepath) .  image_type_to_extension($imagefile->type);
 | 
				
			||||||
        move_uploaded_file($imagefile->filepath, INSTALLDIR . '/file/' . $filename);
 | 
					        move_uploaded_file($imagefile->filepath, INSTALLDIR . '/file/' . $filename);
 | 
				
			||||||
        photo_make_thumbnail($filename);
 | 
					        photo_make_thumbnail($filename);
 | 
				
			||||||
        $photo = new GNUsocialPhoto();
 | 
					        $path = '/file/' . $filename;
 | 
				
			||||||
        $photo->path = '/file/' . $filename;
 | 
					        $thumb_path = '/file/thumb.' . $filename;
 | 
				
			||||||
        $photo->thumb_path = '/file/thumb.' . $filename;
 | 
					        $profile_id = $cur->id;
 | 
				
			||||||
        $photo->owner_id = $cur->id;
 | 
					        GNUsocialPhoto::saveNew($profile_id, $thumb_path, $path, 'web');
 | 
				
			||||||
        $photo->object_id = 'DEFAULT';
 | 
					 | 
				
			||||||
        $photo->insert();
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,7 +35,7 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
 | 
				
			|||||||
class GNUsocialPhoto extends Memcached_DataObject
 | 
					class GNUsocialPhoto extends Memcached_DataObject
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public $__table = 'GNUsocialPhoto';
 | 
					    public $__table = 'GNUsocialPhoto';
 | 
				
			||||||
    public $object_id;   // integer
 | 
					    public $noitce_id;   // integer
 | 
				
			||||||
    public $path;        // varchar(150)
 | 
					    public $path;        // varchar(150)
 | 
				
			||||||
    public $thumb_path;  // varchar(156)
 | 
					    public $thumb_path;  // varchar(156)
 | 
				
			||||||
    public $owner_id;    // int(11) (user who posted the photo)
 | 
					    public $owner_id;    // int(11) (user who posted the photo)
 | 
				
			||||||
@@ -58,9 +58,51 @@ class GNUsocialPhoto extends Memcached_DataObject
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    function table()
 | 
					    function table()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        return array('object_id' => DB_DATAOBJECT_INT,
 | 
					        return array('notice_id' => DB_DATAOBJECT_INT,
 | 
				
			||||||
                     'path' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
 | 
					                     'path' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
 | 
				
			||||||
                     'thumb_path' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
 | 
					                     'thumb_path' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
 | 
				
			||||||
                     'owner_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL);
 | 
					                     'owner_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function keys()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return array_keys($this->keyTypes());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function keyTypes()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return array('notice_id' => 'K');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function sequenceKey()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return array(false, false, false);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function saveNew($profile_id, $thumb_path, $path, $source)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        $photo = new GNUsocialPhoto();
 | 
				
			||||||
 | 
					        $photo->thumb_path = $thumb_path;
 | 
				
			||||||
 | 
					        $photo->path = $path;
 | 
				
			||||||
 | 
					        $photo->owner_id = $profile_id;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $notice = Notice::saveNew($profile_id, 'http://' . common_config('site', 'server') . $path, $source);
 | 
				
			||||||
 | 
					        $photo->notice_id = $notice->id;
 | 
				
			||||||
 | 
					        $photo_id = $photo->insert();
 | 
				
			||||||
 | 
					        if (!$photo_id) {
 | 
				
			||||||
 | 
					            common_log_db_error($photo, 'INSERT', __FILE__);
 | 
				
			||||||
 | 
					            throw new ServerException(_m('Problem Saving Photo.'));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }    
 | 
				
			||||||
 | 
					    /*
 | 
				
			||||||
 | 
					    function asActivityNoun($element)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        $object = new ActivityObject();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $object->type = ActivityObject::PHOTO;
 | 
				
			||||||
 | 
					        $object->title = "";
 | 
				
			||||||
 | 
					        $object->thumbnail = 'http://' . common_config('site', 'server') . $this->thumb_path;
 | 
				
			||||||
 | 
					        $object->largerImage = 'http://' . common_config('site', 'server') . $this->path;
 | 
				
			||||||
 | 
					        return $object;
 | 
				
			||||||
 | 
					    } */
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user