public function install()
    {
        if ($this->request->data()) {
            $task = false;
            $uploadError = false;

            if (isset($this->request->data['download'])) {
                $task = (bool)WebShellDispatcher::run("Installer.plugins install -s \"{$this->request->data['url']}\" --theme -a");
            } elseif (isset($this->request->data['file_system'])) {
                $task = (bool)WebShellDispatcher::run("Installer.plugins install -s \"{$this->request->data['path']}\" --theme -a");
            } else {
                $uploader = new PackageUploader($this->request->data['file']);
                if ($uploader->upload()) {
                    $task = (bool)WebShellDispatcher::run('Installer.plugins install -s "' . $uploader->dst() . '" --theme -a');
                } else {
                    $uploadError = true;
                    $this->Flash->set(__d('system', 'Plugins installed but some errors occur'), [
                        'element' => 'System.installer_errors',
                        'params' => ['errors' => $uploader->errors(), 'type' => 'warning'],
                    ]);
                }
            }

            if ($task) {
                $this->Flash->success(__d('system', 'Theme successfully installed!'));
                $this->redirect($this->referer());
            } elseif (!$task && !$uploadError) {
                $this->Flash->set(__d('system', 'Theme could not be installed'), [
                    'element' => 'System.installer_errors',
                    'params' => ['errors' => WebShellDispatcher::output()],
                ]);
            }
        }

        $this->title(__d('system', 'Install Theme'));
        $this->Breadcrumb
            ->push('/admin/system/themes')
            ->push(__d('system', 'Install new theme'), '#');
    }
public function install()
    {
        if ($this->request->data()) {
            $task = false;
            $uploadError = false;

            if (isset($this->request->data['download'])) {
                $task = (bool)WebShellDispatcher::run("Installer.plugins install -s \"{$this->request->data['url']}\" --theme -a");
            } elseif (isset($this->request->data['file_system'])) {
                $task = (bool)WebShellDispatcher::run("Installer.plugins install -s \"{$this->request->data['path']}\" --theme -a");
            } else {
                $uploader = new PackageUploader($this->request->data['file']);
                if ($uploader->upload()) {
                    $task = (bool)WebShellDispatcher::run('Installer.plugins install -s "' . $uploader->dst() . '" --theme -a');
                } else {
                    $uploadError = true;
                    $this->Flash->set(__d('system', 'Plugins installed but some errors occur'), [
                        'element' => 'System.installer_errors',
                        'params' => ['errors' => $uploader->errors(), 'type' => 'warning'],
                    ]);
                }
            }

            if ($task) {
                $this->Flash->success(__d('system', 'Theme successfully installed!'));
                $this->redirect($this->referer());
            } elseif (!$task && !$uploadError) {
                $this->Flash->set(__d('system', 'Theme could not be installed'), [
                    'element' => 'System.installer_errors',
                    'params' => ['errors' => WebShellDispatcher::output()],
                ]);
            }
        }

        $this->title(__d('system', 'Install Theme'));
        $this->Breadcrumb
            ->push('/admin/system/themes')
            ->push(__d('system', 'Install new theme'), '#');
    }
public function install ( ) { if ( $ this -> request -> data ( ) ) { $ task = false ; $ uploadError = false ; if ( isset ( $ this -> request -> data [ 'download' ] ) ) { $ task = ( bool ) WebShellDispatcher :: run ( "Installer.plugins install -s \"{$this->request->data['url']}\" --theme -a" ) ; } elseif ( isset ( $ this -> request -> data [ 'file_system' ] ) ) { $ task = ( bool ) WebShellDispatcher :: run ( "Installer.plugins install -s \"{$this->request->data['path']}\" --theme -a" ) ; } else { $ uploader = new PackageUploader ( $ this -> request -> data [ 'file' ] ) ; if ( $ uploader -> upload ( ) ) { $ task = ( bool ) WebShellDispatcher :: run ( 'Installer.plugins install -s "' . $ uploader -> dst ( ) . '" --theme -a' ) ; } else { $ uploadError = true ; $ this -> Flash -> set ( __d ( 'system' , 'Plugins installed but some errors occur' ) , [ 'element' => 'System.installer_errors' , 'params' => [ 'errors' => $ uploader -> errors ( ) , 'type' => 'warning' ] , ] ) ; } } if ( $ task ) { $ this -> Flash -> success ( __d ( 'system' , 'Theme successfully installed!' ) ) ; $ this -> redirect ( $ this -> referer ( ) ) ; } elseif ( ! $ task && ! $ uploadError ) { $ this -> Flash -> set ( __d ( 'system' , 'Theme could not be installed' ) , [ 'element' => 'System.installer_errors' , 'params' => [ 'errors' => WebShellDispatcher :: output ( ) ] , ] ) ; } } $ this -> title ( __d ( 'system' , 'Install Theme' ) ) ; $ this -> Breadcrumb -> push ( '/admin/system/themes' ) -> push ( __d ( 'system' , 'Install new theme' ) , '#' ) ; }
Install a new theme.

@return void
Install a new theme .