Merge pull request #5041 from M-arcus/patch-1

[TASK] Automatic installation: Install theme
This commit is contained in:
Hypolite Petovan 2018-05-13 10:03:11 -04:00 committed by GitHub
commit 288b508e2a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 0 deletions

View file

@ -167,6 +167,8 @@ The content of this file should be something like
<?php
/* meta informations for the theme, see below */
use Friendica\App;
function duepuntozero_lr_init(App $a) {
$a-> theme_info = array(
'extends' => 'duepuntozero'.
@ -246,6 +248,12 @@ These three pieces of information should be listed.
If the original author is no longer working on the theme, but a maintainer has taken over, the maintainer should be listed as well.
The information from the theme header will be displayed in the admin panel.
The first thing in file is to import the `App` class from `\Friendica\` namespace.
use Friendica\App;
This will make our job a little easier, as we don't have to specify the full name every time we need to use the `App` class.
The next crucial part of the theme.php file is a definition of an init function.
The name of the function is <theme-name>_init.
So in the case of quattro it is

View file

@ -6,6 +6,7 @@ use Asika\SimpleConsole\Console;
use dba;
use Friendica\App;
use Friendica\Core\Install;
use Friendica\Core\Theme;
require_once 'mod/install.php';
require_once 'include/dba.php';
@ -90,6 +91,15 @@ HELP;
$this->out(" Complete!\n\n");
// Install theme
$this->out("Installing theme\n");
if (!empty($a->config['system']['theme'])) {
Theme::install($a->config['system']['theme']);
$this->out(" Complete\n\n");
} else {
$this->out(" Theme setting is empty. Please check the file htconfig.php\n\n");
}
// Copy config file
$this->out("Saving config file...\n");
if ($config_file != '.htconfig.php' && !copy($config_file, '.htconfig.php')) {