public $pagination;
private $currentTheme = '';
- private $notInstalledMessage = '';
+ private $notInstalledMessage = array();
# @todo make this dynamic (actually install themes and save them in the database including author information et cetera)
private $installedThemes = array(
public function __construct()
{
- if (! $this->configFileIsAvailable()) {
- return;
+ if ($this->configFileIsAvailable()) {
+ $this->init();
}
- $this->init();
-
- if (! $this->themeIsInstalled()) {
- return;
+ if ($this->themeIsInstalled()) {
+ $this->initTpl();
}
- $this->initTpl();
-
- if (! $this->systemIsInstalled()) {
- return;
- }
-
- $this->store = new Database();
- $this->messages = new Messages();
-
- # installation
- if (! $this->store->isInstalled()) {
- $this->install();
+ if ($this->systemIsInstalled()) {
+ $this->store = new Database();
+ $this->messages = new Messages();
+ # installation
+ if (! $this->store->isInstalled()) {
+ $this->install();
+ }
}
}
public function configFileIsAvailable() {
if (! self::$configFileAvailable) {
- $this->notInstalledMessage = 'You have to rename <strong>inc/poche/config.inc.php.new</strong> to <strong>inc/poche/config.inc.php</strong>.';
+ $this->notInstalledMessage[] = 'You have to rename inc/poche/config.inc.php.new to inc/poche/config.inc.php.';
return false;
}
}
public function themeIsInstalled() {
+ $passTheme = TRUE;
# Twig is an absolute requirement for Poche to function. Abort immediately if the Composer installer hasn't been run yet
if (! self::$canRenderTemplates) {
- $this->notInstalledMessage = 'Twig does not seem to be installed. Please initialize the Composer installation to automatically fetch dependencies. Have a look at <a href="http://doc.inthepoche.com/doku.php?id=users:begin:install">the documentation.</a>';
-
- return false;
+ $this->notInstalledMessage[] = 'Twig does not seem to be installed. Please initialize the Composer installation to automatically fetch dependencies. Have a look at <a href="http://doc.inthepoche.com/doku.php?id=users:begin:install">the documentation.</a>';
+ $passTheme = FALSE;
}
if (! is_writable(CACHE)) {
- $this->notInstalledMessage = '<h1>error</h1><p>You don\'t have write access on cache directory.</p>';
+ $this->notInstalledMessage[] = 'You don\'t have write access on cache directory.';
self::$canRenderTemplates = false;
- return false;
+ $passTheme = FALSE;
}
# Check if the selected theme and its requirements are present
- if (! is_dir(THEME . '/' . $this->getTheme())) {
- $this->notInstalledMessage = 'The currently selected theme (' . $this->getTheme() . ') does not seem to be properly installed (Missing directory: ' . THEME . '/' . $this->getTheme() . ')';
+ if ($this->getTheme() != '' && ! is_dir(THEME . '/' . $this->getTheme())) {
+ $this->notInstalledMessage[] = 'The currently selected theme (' . $this->getTheme() . ') does not seem to be properly installed (Missing directory: ' . THEME . '/' . $this->getTheme() . ')';
self::$canRenderTemplates = false;
- return false;
+ $passTheme = FALSE;
}
foreach ($this->installedThemes[$this->getTheme()]['requires'] as $requiredTheme) {
if (! is_dir(THEME . '/' . $requiredTheme)) {
- $this->notInstalledMessage = 'The required "' . $requiredTheme . '" theme is missing for the current theme (' . $this->getTheme() . ')';
+ $this->notInstalledMessage[] = 'The required "' . $requiredTheme . '" theme is missing for the current theme (' . $this->getTheme() . ')';
self::$canRenderTemplates = false;
- return false;
+ $passTheme = FALSE;
}
}
+
+ if (!$passTheme) {
+ return FALSE;
+ }
+
return true;
}
*/
public function systemIsInstalled()
{
- $msg = '';
+ $msg = TRUE;
$configSalt = defined('SALT') ? constant('SALT') : '';
if (empty($configSalt)) {
- $msg = '<h1>error</h1><p>You have not yet filled in the SALT value in the config.inc.php file.</p>';
- } else if (STORAGE == 'sqlite' && ! file_exists(STORAGE_SQLITE)) {
+ $this->notInstalledMessage[] = 'You have not yet filled in the SALT value in the config.inc.php file.';
+ $msg = FALSE;
+ }
+ if (STORAGE == 'sqlite' && ! file_exists(STORAGE_SQLITE)) {
Tools::logm('sqlite file doesn\'t exist');
- $msg = '<h1>error</h1><p>sqlite file doesn\'t exist, you can find it in install folder. Copy it in /db folder.</p>';
- } else if (is_dir(ROOT . '/install') && ! DEBUG_POCHE) {
- $msg = '<h1>install folder</h1><p>you have to delete the /install folder before using poche.</p>';
- } else if (STORAGE == 'sqlite' && ! is_writable(STORAGE_SQLITE)) {
+ $this->notInstalledMessage[] = 'sqlite file doesn\'t exist, you can find it in install folder. Copy it in /db folder.';
+ $msg = FALSE;
+ }
+ if (is_dir(ROOT . '/install') && ! DEBUG_POCHE) {
+ $this->notInstalledMessage[] = 'you have to delete the /install folder before using poche.';
+ $msg = FALSE;
+ }
+ if (STORAGE == 'sqlite' && ! is_writable(STORAGE_SQLITE)) {
Tools::logm('you don\'t have write access on sqlite file');
- $msg = '<h1>error</h1><p>You don\'t have write access on sqlite file.</p>';
+ $this->notInstalledMessage[] = 'You don\'t have write access on sqlite file.';
+ $msg = FALSE;
}
- if (! empty($msg)) {
- $this->notInstalledMessage = $msg;
-
+ if (! $msg) {
return false;
}