Extensions::install PHP Method

install() public method

public install ( )
    public function install()
    {
        $this->user->restrict('Admin.Extensions.Access');
        $this->user->restrict('Admin.Extensions.Manage');
        $extension_name = $this->input->get('name') ? $this->input->get('name') : $this->uri->rsegment(4);
        if ($this->Extensions_model->extensionExists($extension_name)) {
            $config = $this->extension->loadConfig($extension_name, FALSE, TRUE);
            $extension_title = isset($config['extension_meta']['title']) ? $config['extension_meta']['title'] : '';
            $extension_type = isset($config['extension_meta']['type']) ? $config['extension_meta']['type'] : '';
            if ($this->Extensions_model->install($this->uri->rsegment(3), $extension_name, $config)) {
                $success = TRUE;
                log_activity($this->user->getStaffId(), 'installed', 'extensions', get_activity_message('activity_custom_no_link', array('{staff}', '{action}', '{context}', '{item}'), array($this->user->getStaffName(), 'installed', $extension_type . ' extension', $extension_title)));
                $this->alert->set('success', sprintf($this->lang->line('alert_success'), "Extension {$extension_title} installed "));
                if (isset($config['layout_ready']) and $config['layout_ready'] === TRUE) {
                    $this->alert->set('info', sprintf($this->lang->line('alert_info_layouts'), site_url('layouts')));
                }
            }
        }
        if (empty($success)) {
            $this->alert->danger_now($this->lang->line('alert_error_try_again'));
        }
        redirect(referrer_url());
    }