Themes::delete PHP Méthode

delete() public méthode

public delete ( )
    public function delete()
    {
        $this->user->restrict('Site.Themes.Access');
        $this->user->restrict('Site.Themes.Delete');
        $this->template->setTitle($this->lang->line('text_delete_heading'));
        $this->template->setHeading($this->lang->line('text_delete_heading'));
        $theme = $this->Themes_model->getTheme($this->uri->rsegment(3));
        if (!$this->uri->rsegment(3) or empty($theme)) {
            redirect(referrer_url());
        } else {
            if ($this->config->item(MAINDIR, 'default_themes') === $theme['name'] . '/') {
                $this->alert->set('warning', sprintf($this->lang->line('alert_error_nothing'), $this->lang->line('text_deleted') . $this->lang->line('text_theme_is_active')));
                redirect(referrer_url());
            } else {
                if ($this->config->item(MAINDIR . '_parent', 'default_themes') === $theme['name'] . '/') {
                    $this->alert->set('warning', sprintf($this->lang->line('alert_error_nothing'), $this->lang->line('text_deleted') . $this->lang->line('text_theme_is_child_active')));
                    redirect(referrer_url());
                }
            }
        }
        $data['theme_title'] = $theme['title'];
        $data['theme_name'] = $theme['name'];
        $data['theme_data'] = !empty($theme['data']) ? TRUE : FALSE;
        $data['delete_action'] = !empty($theme['data']) ? $this->lang->line('text_files_data') : $this->lang->line('text_files');
        if ($this->input->post('confirm_delete') === $theme['name']) {
            $delete_data = $this->input->post('delete_data') === '1' ? TRUE : FALSE;
            if ($this->Themes_model->deleteTheme($theme['name'], $delete_data)) {
                log_activity($this->user->getStaffId(), 'deleted', 'themes', get_activity_message('activity_custom_no_link', array('{staff}', '{action}', '{context}', '{item}'), array($this->user->getStaffName(), 'deleted', 'theme', $data['theme_title'])));
                $this->alert->set('success', sprintf($this->lang->line('alert_success'), 'Theme [' . $theme['name'] . '] ' . $this->lang->line('text_deleted')));
            } else {
                $this->alert->set('warning', sprintf($this->lang->line('alert_error_nothing'), $this->lang->line('text_deleted')));
            }
            redirect('themes');
        }
        $data['files_to_delete'] = array();
        $files = find_theme_files($theme['name']);
        foreach ($files as $file) {
            $data['files_to_delete'][] = str_replace(ROOTPATH, '', $file['path']);
        }
        $this->template->render('themes_delete', $data);
    }