Просмотр поста

.
ramzes

Delphinum, а я бы взглянул хотя бы на первичные наметки файлового хранилища
______________

мое фиговое ооп в комплекте выглядит примерно так (+/-)

if(app::user()->right('account.edit')) {

    switch(app::router()->query(2)){
        case 'avatar':

            if(app::router()->query(3)=='upload' AND $upload = app::file()->uploaded('newavatar')){

                $upload->extension(['image/jpeg', 'image/png', 'image/gif']);
                $upload->minSize = 1024;
                $upload->maxSize = 1024*1024;

                if($upload->validExtension()){
                    if($upload->saveFile()){

                        app::image($upload->tmpFile());

                        app::image()->minHeight(200);
                        app::image()->minWidth(200);
                        app::image()->maxHeight(2400);
                        app::image()->maxWidth(2400);
                        if(app::image()->valid()){
                            app::image()->replaceData(
                                [
                                    'x' => 200,
                                    'y' => 200,
                                    'type' => 'png',
                                    'save' => app::storage()->filterPath(app::storage()->avatar(app::user()->id())),
                                    'trim' => true
                                ]
                            );
                            app::image()->replace();

                            if(app::storage()->avatar(app::user()->id(), true)){

                                app::events()->registerEvent(
                                    [
                                        'type' => 3,
                                        'bind' => 'image.avatar.'.app::user()->id(),
                                        'event' => 'сменил аватар',
                                        'url' => '/user/'.app::user()->id().'/'
                                    ]
                                );

                                jsOnResponse('{"filename":"'.app::storage()->avatar(app::user()->id()).'", "error":""}');
                                
                            }else{
                                ... 
                            }
                        }else{
                            ...  
                        }

                        $upload->deleteTmpFile();

                    }else{
                        ...
                    }
                }else{
                    ...
                }
            }else{
....
            }