Exemplo n.º 1
0
 /**
  * Deletes a package.
  *
  * @param bool $ignoreState
  *
  * @return bool TRUE on success, FALSE on error
  */
 protected function _delete($ignoreState = false)
 {
     // if package is installed, uninstall it first
     if ($this->package->isInstalled() && !$this->uninstall() && !$ignoreState) {
         // message is set by uninstall()
         return false;
     }
     if (!rex_dir::delete($this->package->getPath()) && !$ignoreState) {
         $this->message = $this->i18n('not_deleted', $this->package->getName());
         return false;
     }
     if (!$ignoreState) {
         $this->saveConfig();
         $this->message = $this->i18n('deleted', $this->package->getName());
     }
     return true;
 }
Exemplo n.º 2
0
 /**
  * @param rex_be_page|array $page
  * @param rex_package       $package
  * @param bool              $createMainPage
  * @param rex_be_page|null  $parentPage
  * @param string            $pageKey
  * @param bool              $prefix
  *
  * @return null|rex_be_page
  */
 private static function pageCreate($page, rex_package $package, $createMainPage, rex_be_page $parentPage = null, $pageKey = null, $prefix = false)
 {
     if (is_array($page) && isset($page['title'])) {
         $pageArray = $page;
         $pageKey = $pageKey ?: $package->getName();
         if ($createMainPage || isset($pageArray['main']) && $pageArray['main']) {
             $page = new rex_be_page_main('addons', $pageKey, $pageArray['title']);
         } else {
             $page = new rex_be_page($pageKey, $pageArray['title']);
         }
         self::pageAddProperties($page, $pageArray, $package);
     }
     if ($page instanceof rex_be_page) {
         if (!is_string($prefix)) {
             $prefix = $prefix ? $page->getKey() . '.' : '';
         }
         if ($page instanceof rex_be_page_main) {
             if (!$page->hasPath()) {
                 $page->setPath($package->getPath('pages/' . ($prefix ?: 'index.') . 'php'));
             }
             self::$pages[$page->getKey()] = $page;
         } else {
             if (!$page->hasSubPath()) {
                 $page->setSubPath($package->getPath('pages/' . ($prefix ?: 'index.') . 'php'));
             }
             if ($parentPage) {
                 $parentPage->addSubpage($page);
             }
         }
         self::pageSetSubPaths($page, $package, $prefix);
         return $page;
     }
     return null;
 }