diff --git a/administrator/components/com_installer/controllers/install.php b/administrator/components/com_installer/controllers/install.php index 4ff949e3cc20d..eb180d8002cc2 100644 --- a/administrator/components/com_installer/controllers/install.php +++ b/administrator/components/com_installer/controllers/install.php @@ -66,4 +66,27 @@ public function install() $this->setRedirect($redirect_url); } + + /** + * Install an extension from drag & drop ajax upload. + * + * @return void + * + * @since __DEPLOY_VERSION__ + */ + public function ajax_upload() + { + $this->install(); + + $app = JFactory::getApplication(); + $redirect = $this->redirect; + + header('Content-Type: application/json'); + + echo new JResponseJson(array( + 'redirect' => $redirect, + ), $app->getUserState('com_installer.message')); + + exit(); + } } diff --git a/administrator/components/com_installer/views/install/tmpl/default.php b/administrator/components/com_installer/views/install/tmpl/default.php index e28775f96afb9..c07661868e8ac 100644 --- a/administrator/components/com_installer/views/install/tmpl/default.php +++ b/administrator/components/com_installer/views/install/tmpl/default.php @@ -67,6 +67,100 @@ ' ); +$token = JSession::getFormToken(); + +// Drag-drop installation +JFactory::getDocument()->addScriptDeclaration( +<<addStyleDeclaration( +<<