Пример #1
0
 /**
  * Uninstall a theme along with snippets that came with it.
  *
  * @since 0.1.0
  *
  */
 public function uninstall($id)
 {
     $layoutUsed = 0;
     $theme = Record::findOneFrom('Themr', 'name=?', array($id));
     // Get Current Theme Info
     $theme_info = Themr::findTheme($id);
     foreach (unserialize($theme->layout) as $layouts) {
         // find the user to delete
         if ($layout = Record::findOneFrom('Layout', 'name=?', array(Themr::theme_name($layouts)))) {
             if ($layout->isUsed()) {
                 Flash::set('error', __('Theme <b>:theme</b> CANNOT be deleted because layout <b>:name</b> is being used!', array(':name' => $layout->name, ':theme' => $theme_info['name'])));
                 $layoutUsed = 1;
             } else {
                 if ($layout->delete()) {
                     Flash::set('success', __('Layout <b>:name</b> has been deleted!', array(':name' => $layout->name)));
                 } else {
                     Flash::set('error', __('Layout <b>:name</b> has not been deleted!', array(':name' => $layout->name)));
                 }
             }
         } else {
             Flash::set('error', __('Layout not found!'));
         }
     }
     if ($layoutUsed !== 1) {
         foreach (unserialize($theme->snippet) as $snippets) {
             // find the snippet to delete
             if ($snippet = Record::findOneFrom('Snippet', 'name=?', array($snippets))) {
                 if ($snippet->delete()) {
                     Flash::set('success', __('Snippet <b>:name</b> has been deleted!', array(':name' => $snippet->name)));
                 } else {
                     Flash::set('error', __('Snippet <b>:name</b> has not been deleted!', array(':name' => $snippet->name)));
                 }
             } else {
                 Flash::set('error', __('Snippet not found!'));
             }
         }
         if ($theme->delete()) {
             Flash::set('success', __('Theme <b>:name</b> has been uninstalled!', array(':name' => $theme_info['name'])));
             redirect(get_url('plugin/themr'));
         } else {
             Flash::set('error', __('Theme <b>:name</b> has not been uninstalled!', array(':name' => $theme_info['name'])));
             redirect(get_url('plugin/themr'));
         }
     } else {
         redirect(get_url('plugin/themr'));
     }
 }