]> git.mxchange.org Git - friendica.git/commitdiff
Merge pull request #4930 from MrPetovan/task/improve-frio-bg-image
authorrabuzarus <rabuzarus@t-online.de>
Fri, 27 Apr 2018 17:55:47 +0000 (19:55 +0200)
committerGitHub <noreply@github.com>
Fri, 27 Apr 2018 17:55:47 +0000 (19:55 +0200)
[frio] Improve background image settings

22 files changed:
view/theme/frio/README.md
view/theme/frio/config.php
view/theme/frio/css/style.css
view/theme/frio/img/screenshots/screenshot-schema-love-music.png [deleted file]
view/theme/frio/img/screenshots/screenshot-schema-red.png [deleted file]
view/theme/frio/img/screenshots/screenshot-scheme-love-music.png [new file with mode: 0644]
view/theme/frio/img/screenshots/screenshot-scheme-red.png [new file with mode: 0644]
view/theme/frio/php/Image.php
view/theme/frio/php/default.php
view/theme/frio/php/schema.php [deleted file]
view/theme/frio/php/scheme.php [new file with mode: 0644]
view/theme/frio/php/standard.php
view/theme/frio/schema/love-music.css [deleted file]
view/theme/frio/schema/love-music.php [deleted file]
view/theme/frio/schema/red.php [deleted file]
view/theme/frio/scheme/blue.php [new file with mode: 0644]
view/theme/frio/scheme/love-music.css [new file with mode: 0644]
view/theme/frio/scheme/love-music.php [new file with mode: 0644]
view/theme/frio/scheme/red.php [new file with mode: 0644]
view/theme/frio/style.php
view/theme/frio/templates/theme_settings.tpl
view/theme/frio/theme.php

index 037028ff44d8ad8880733848727dd5517991b9fe..c729d12820dc8be46d679502cdd5de284722341f 100644 (file)
@@ -37,11 +37,11 @@ Don't blame me too much for ugly code and hacks. Fix it ;-)
 **Theme - Settings**
 ![Theme - Settings](https://github.com/rabuzarus/frio/blob/master/img/screenshots/screenshot-settings.png)
 
-**Red schema**
-![Red schema](https://github.com/rabuzarus/frio/blob/master/img/screenshots/screenshot-schema-red.png)
+**Red scheme**
+![Red scheme](https://github.com/rabuzarus/frio/blob/master/img/screenshots/screenshot-scheme-red.png)
 
-**Love Music schema**
-![Love Music schema](https://github.com/rabuzarus/frio/blob/master/img/screenshots/screenshot-schema-love-music.png)
+**Love Music scheme**
+![Love Music scheme](https://github.com/rabuzarus/frio/blob/master/img/screenshots/screenshot-scheme-love-music.png)
 
 **frio on mobile**
 
index 9081d9df47cb6c7c98244ad9673bf970a1307c00..55a653696abc832f2fd11b5fe69b6d73b171ea9f 100644 (file)
@@ -8,128 +8,134 @@ use Friendica\Core\System;
 
 require_once 'view/theme/frio/php/Image.php';
 
-function theme_post(App $a) {
+function theme_post(App $a)
+{
        if (!local_user()) {
                return;
        }
 
        if (isset($_POST['frio-settings-submit'])) {
-               PConfig::set(local_user(), 'frio', 'schema',           $_POST["frio_schema"]);
-               PConfig::set(local_user(), 'frio', 'nav_bg',           $_POST["frio_nav_bg"]);
-               PConfig::set(local_user(), 'frio', 'nav_icon_color',   $_POST["frio_nav_icon_color"]);
-               PConfig::set(local_user(), 'frio', 'link_color',       $_POST["frio_link_color"]);
-               PConfig::set(local_user(), 'frio', 'background_color', $_POST["frio_background_color"]);
-               PConfig::set(local_user(), 'frio', 'contentbg_transp', $_POST["frio_contentbg_transp"]);
-               PConfig::set(local_user(), 'frio', 'background_image', $_POST["frio_background_image"]);
-               PConfig::set(local_user(), 'frio', 'bg_image_option',  $_POST["frio_bg_image_option"]);
+               PConfig::set(local_user(), 'frio', 'scheme',           $_POST['frio_scheme']);
+               PConfig::set(local_user(), 'frio', 'nav_bg',           $_POST['frio_nav_bg']);
+               PConfig::set(local_user(), 'frio', 'nav_icon_color',   $_POST['frio_nav_icon_color']);
+               PConfig::set(local_user(), 'frio', 'link_color',       $_POST['frio_link_color']);
+               PConfig::set(local_user(), 'frio', 'background_color', $_POST['frio_background_color']);
+               PConfig::set(local_user(), 'frio', 'contentbg_transp', $_POST['frio_contentbg_transp']);
+               PConfig::set(local_user(), 'frio', 'background_image', $_POST['frio_background_image']);
+               PConfig::set(local_user(), 'frio', 'bg_image_option',  $_POST['frio_bg_image_option']);
                PConfig::set(local_user(), 'frio', 'css_modified',     time());
        }
 }
 
-function theme_admin_post(App $a) {
+function theme_admin_post(App $a)
+{
        if (!local_user()) {
                return;
        }
 
        if (isset($_POST['frio-settings-submit'])) {
-               Config::set('frio', 'schema',           $_POST["frio_schema"]);
-               Config::set('frio', 'nav_bg',           $_POST["frio_nav_bg"]);
-               Config::set('frio', 'nav_icon_color',   $_POST["frio_nav_icon_color"]);
-               Config::set('frio', 'link_color',       $_POST["frio_link_color"]);
-               Config::set('frio', 'background_color', $_POST["frio_background_color"]);
-               Config::set('frio', 'contentbg_transp', $_POST["frio_contentbg_transp"]);
-               Config::set('frio', 'background_image', $_POST["frio_background_image"]);
-               Config::set('frio', 'bg_image_option',  $_POST["frio_bg_image_option"]);
-               Config::set('frio', 'login_bg_image',   $_POST["frio_login_bg_image"]);
-               Config::set('frio', 'login_bg_color',   $_POST["frio_login_bg_color"]);
+               Config::set('frio', 'scheme',           $_POST['frio_scheme']);
+               Config::set('frio', 'nav_bg',           $_POST['frio_nav_bg']);
+               Config::set('frio', 'nav_icon_color',   $_POST['frio_nav_icon_color']);
+               Config::set('frio', 'link_color',       $_POST['frio_link_color']);
+               Config::set('frio', 'background_color', $_POST['frio_background_color']);
+               Config::set('frio', 'contentbg_transp', $_POST['frio_contentbg_transp']);
+               Config::set('frio', 'background_image', $_POST['frio_background_image']);
+               Config::set('frio', 'bg_image_option',  $_POST['frio_bg_image_option']);
+               Config::set('frio', 'login_bg_image',   $_POST['frio_login_bg_image']);
+               Config::set('frio', 'login_bg_color',   $_POST['frio_login_bg_color']);
                Config::set('frio', 'css_modified',     time());
        }
 }
 
-function theme_content(App $a) {
+function theme_content(App $a)
+{
        if (!local_user()) {
                return;
        }
        $arr = [];
 
-       $arr["schema"]           = PConfig::get(local_user(), 'frio', 'schema');
-       $arr["nav_bg"]           = PConfig::get(local_user(), 'frio', 'nav_bg');
-       $arr["nav_icon_color"]   = PConfig::get(local_user(), 'frio', 'nav_icon_color');
-       $arr["link_color"]       = PConfig::get(local_user(), 'frio', 'link_color');
-       $arr["bgcolor"]          = PConfig::get(local_user(), 'frio', 'background_color');
-       $arr["contentbg_transp"] = PConfig::get(local_user(), 'frio', 'contentbg_transp');
-       $arr["background_image"] = PConfig::get(local_user(), 'frio', 'background_image');
-       $arr["bg_image_option"]  = PConfig::get(local_user(), 'frio', 'bg_image_option');
+       $arr['scheme']           = PConfig::get(local_user(), 'frio', 'scheme', PConfig::get(local_user(), 'frio', 'schema'));
+       $arr['nav_bg']           = PConfig::get(local_user(), 'frio', 'nav_bg');
+       $arr['nav_icon_color']   = PConfig::get(local_user(), 'frio', 'nav_icon_color');
+       $arr['link_color']       = PConfig::get(local_user(), 'frio', 'link_color');
+       $arr['background_color'] = PConfig::get(local_user(), 'frio', 'background_color');
+       $arr['contentbg_transp'] = PConfig::get(local_user(), 'frio', 'contentbg_transp');
+       $arr['background_image'] = PConfig::get(local_user(), 'frio', 'background_image');
+       $arr['bg_image_option']  = PConfig::get(local_user(), 'frio', 'bg_image_option');
 
        return frio_form($arr);
 }
 
-function theme_admin(App $a) {
+function theme_admin(App $a)
+{
        if (!local_user()) {
                return;
        }
        $arr = [];
 
-       $arr["schema"]           = Config::get('frio', 'schema');
-       $arr["nav_bg"]           = Config::get('frio', 'nav_bg');
-       $arr["nav_icon_color"]   = Config::get('frio', 'nav_icon_color');
-       $arr["link_color"]       = Config::get('frio', 'link_color');
-       $arr["bgcolor"]          = Config::get('frio', 'background_color');
-       $arr["contentbg_transp"] = Config::get('frio', 'contentbg_transp');
-       $arr["background_image"] = Config::get('frio', 'background_image');
-       $arr["bg_image_option"]  = Config::get('frio', 'bg_image_option');
-       $arr["login_bg_image"]   = Config::get('frio', 'login_bg_image');
-       $arr["login_bg_color"]   = Config::get('frio', 'login_bg_color');
+       $arr['scheme']           = Config::get('frio', 'scheme', Config::get('frio', 'scheme'));
+       $arr['nav_bg']           = Config::get('frio', 'nav_bg');
+       $arr['nav_icon_color']   = Config::get('frio', 'nav_icon_color');
+       $arr['link_color']       = Config::get('frio', 'link_color');
+       $arr['background_color'] = Config::get('frio', 'background_color');
+       $arr['contentbg_transp'] = Config::get('frio', 'contentbg_transp');
+       $arr['background_image'] = Config::get('frio', 'background_image');
+       $arr['bg_image_option']  = Config::get('frio', 'bg_image_option');
+       $arr['login_bg_image']   = Config::get('frio', 'login_bg_image');
+       $arr['login_bg_color']   = Config::get('frio', 'login_bg_color');
 
        return frio_form($arr);
 }
 
-function frio_form($arr) {
-       require_once("view/theme/frio/php/schema.php");
+function frio_form($arr)
+{
+       require_once 'view/theme/frio/php/scheme.php';
 
-       $scheme_info = get_schema_info($arr["schema"]);
-       $disable = $scheme_info["overwrites"];
+       $scheme_info = get_scheme_info($arr['scheme']);
+       $disable = $scheme_info['overwrites'];
        if (!is_array($disable)) {
                $disable = [];
        }
 
        $scheme_choices = [];
-       $scheme_choices["---"] = L10n::t("Default");
-       $files = glob('view/theme/frio/schema/*.php');
+       $scheme_choices['---'] = L10n::t('Custom');
+       $files = glob('view/theme/frio/scheme/*.php');
        if ($files) {
                foreach ($files as $file) {
-                       $f = basename($file, ".php");
+                       $f = basename($file, '.php');
                        if ($f != 'default') {
-                               $scheme_name = $f;
+                               $scheme_name = ucfirst($f);
                                $scheme_choices[$f] = $scheme_name;
                        }
                }
        }
 
-       $background_image_help = "<strong>" . L10n::t("Note"). ": </strong>".L10n::t("Check image permissions if all users are allowed to visit the image");
+       $background_image_help = '<strong>' . L10n::t('Note') . ': </strong>' . L10n::t('Check image permissions if all users are allowed to see the image');
 
        $t = get_markup_template('theme_settings.tpl');
        $ctx = [
                '$submit'           => L10n::t('Submit'),
                '$baseurl'          => System::baseUrl(),
-               '$title'            => L10n::t("Theme settings"),
-               '$schema'           => ['frio_schema', L10n::t("Select scheme"), $arr["schema"], '', $scheme_choices],
-               '$nav_bg'           => array_key_exists("nav_bg", $disable) ? "" : ['frio_nav_bg', L10n::t('Navigation bar background color'), $arr['nav_bg'], '', false],
-               '$nav_icon_color'   => array_key_exists("nav_icon_color", $disable) ? "" : ['frio_nav_icon_color', L10n::t('Navigation bar icon color '), $arr['nav_icon_color'], '', false],
-               '$link_color'       => array_key_exists("link_color", $disable) ? "" : ['frio_link_color', L10n::t('Link color'), $arr['link_color'], '', false],
-               '$bgcolor'          => array_key_exists("bgcolor", $disable) ? "" : ['frio_background_color', L10n::t('Set the background color'), $arr['bgcolor'], '', false],
-               '$contentbg_transp' => array_key_exists("contentbg_transp", $disable) ? "" : ['frio_contentbg_transp', L10n::t("Content background opacity"), ((isset($arr["contentbg_transp"]) && $arr["contentbg_transp"] != "") ? $arr["contentbg_transp"] : 100), ''],
-               '$background_image' => array_key_exists("background_image", $disable) ? "" : ['frio_background_image', L10n::t('Set the background image'), $arr['background_image'], $background_image_help, false],
+               '$title'            => L10n::t('Theme settings'),
+               '$scheme'           => ['frio_scheme', L10n::t('Select color scheme'), $arr['scheme'], '', $scheme_choices],
+               '$nav_bg'           => array_key_exists('nav_bg', $disable) ? '' : ['frio_nav_bg', L10n::t('Navigation bar background color'), $arr['nav_bg'], '', false],
+               '$nav_icon_color'   => array_key_exists('nav_icon_color', $disable) ? '' : ['frio_nav_icon_color', L10n::t('Navigation bar icon color '), $arr['nav_icon_color'], '', false],
+               '$link_color'       => array_key_exists('link_color', $disable) ? '' : ['frio_link_color', L10n::t('Link color'), $arr['link_color'], '', false],
+               '$background_color' => array_key_exists('background_color', $disable) ? '' : ['frio_background_color', L10n::t('Set the background color'), $arr['background_color'], '', false],
+               '$contentbg_transp' => array_key_exists('contentbg_transp', $disable) ? '' : ['frio_contentbg_transp', L10n::t('Content background opacity'), defaults($arr, 'contentbg_transp', 100), ''],
+               '$background_image' => array_key_exists('background_image', $disable) ? '' : ['frio_background_image', L10n::t('Set the background image'), $arr['background_image'], $background_image_help, false],
+               '$bg_image_options_title' => L10n::t('Background image style'),
                '$bg_image_options' => Image::get_options($arr),
        ];
 
-       if (array_key_exists("login_bg_image", $arr) &&  !array_key_exists("login_bg_image", $disable)) {
-               $ctx['$login_bg_image']  = ['frio_login_bg_image', L10n::t('Login page background image'), $arr['login_bg_image'], $background_image_help, false];
-       }
-       if (array_key_exists("login_bg_color", $arr) &&  !array_key_exists("login_bg_color", $disable)) {
-               $ctx['$login_bg_color']  = ['frio_login_bg_color', L10n::t('Login page background color'), $arr['login_bg_color'], L10n::t('Leave background image and color empty for theme defaults'), false];
+       if (array_key_exists('login_bg_image', $arr) && !array_key_exists('login_bg_image', $disable)) {
+               $ctx['$login_bg_image'] = ['frio_login_bg_image', L10n::t('Login page background image'), $arr['login_bg_image'], $background_image_help, false];
        }
 
+       if (array_key_exists('login_bg_color', $arr) && !array_key_exists('login_bg_color', $disable)) {
+               $ctx['$login_bg_color'] = ['frio_login_bg_color', L10n::t('Login page background color'), $arr['login_bg_color'], L10n::t('Leave background image and color empty for theme defaults'), false];
+       }
 
        $o = replace_macros($t, $ctx);
 
index 8a3ca862916ce05f7de56465d817efda1b9566d3..912c6a884cb89ea832c474dd9c171b1a1ad791b7 100644 (file)
@@ -24,9 +24,10 @@ and open the template in the editor.
 
 body {
     padding-top: 110px;
-    background-color: $bgcolor;
+    background-color: $background_color;
     background-image: url("$background_image");
     background-size: $background_size_img;
+    background-repeat: $background_repeat;
     background-attachment: fixed;
     color: #777;
     /*color: #555;*/
diff --git a/view/theme/frio/img/screenshots/screenshot-schema-love-music.png b/view/theme/frio/img/screenshots/screenshot-schema-love-music.png
deleted file mode 100644 (file)
index 8b73e58..0000000
Binary files a/view/theme/frio/img/screenshots/screenshot-schema-love-music.png and /dev/null differ
diff --git a/view/theme/frio/img/screenshots/screenshot-schema-red.png b/view/theme/frio/img/screenshots/screenshot-schema-red.png
deleted file mode 100644 (file)
index c6d49f2..0000000
Binary files a/view/theme/frio/img/screenshots/screenshot-schema-red.png and /dev/null differ
diff --git a/view/theme/frio/img/screenshots/screenshot-scheme-love-music.png b/view/theme/frio/img/screenshots/screenshot-scheme-love-music.png
new file mode 100644 (file)
index 0000000..8b73e58
Binary files /dev/null and b/view/theme/frio/img/screenshots/screenshot-scheme-love-music.png differ
diff --git a/view/theme/frio/img/screenshots/screenshot-scheme-red.png b/view/theme/frio/img/screenshots/screenshot-scheme-red.png
new file mode 100644 (file)
index 0000000..c6d49f2
Binary files /dev/null and b/view/theme/frio/img/screenshots/screenshot-scheme-red.png differ
index 2dc0345c7b2bcbbec35f3c43aa81c6254e2c1e1d..72026cf02447e37848f4e5d56c7fcf25a16e5d06 100644 (file)
@@ -21,14 +21,10 @@ class Image
        public static function get_options($arr)
        {
                $bg_image_options = [
-                                       'repeat' => [
-                                               'frio_bg_image_option', L10n::t("Repeat the image"),    "repeat",       L10n::t("Will repeat your image to fill the background."), ($arr["bg_image_option"] == "repeat")],
-                                       'stretch' => [
-                                               'frio_bg_image_option', L10n::t("Stretch"),             "stretch",      L10n::t("Will stretch to width/height of the image."), ($arr["bg_image_option"] == "stretch")],
-                                       'cover' => [
-                                               'frio_bg_image_option', L10n::t("Resize fill and-clip"), "cover",       L10n::t("Resize to fill and retain aspect ratio."),     ($arr["bg_image_option"] == "cover")],
-                                       'contain' => [
-                                               'frio_bg_image_option', L10n::t("Resize best fit"),     "contain",      L10n::t("Resize to best fit and retain aspect ratio."), ($arr["bg_image_option"] == "contain")],
+                       'stretch' => ['frio_bg_image_option', L10n::t('Top Banner'), 'stretch', L10n::t('Resize image to the width of the screen and show background color below on long pages.'), ($arr['bg_image_option'] == 'stretch')],
+                       'cover'   => ['frio_bg_image_option', L10n::t('Full screen'), 'cover', L10n::t('Resize image to fill entire screen, clipping either the right or the bottom.'), ($arr['bg_image_option'] == 'cover')],
+                       'contain' => ['frio_bg_image_option', L10n::t('Single row mosaic'), 'contain', L10n::t('Resize image to repeat it on a single row, either vertical or horizontal.'), ($arr['bg_image_option'] == 'contain')],
+                       'repeat'  => ['frio_bg_image_option', L10n::t('Mosaic'), 'repeat', L10n::t('Repeat image to fill the screen.'), ($arr['bg_image_option'] == 'repeat')],
                ];
 
                return $bg_image_options;
index 62b98b79ca8226e45a3ad33199346ef1be14614a..428d887883f3b6dc0b9e7809824e30634c739fcb 100644 (file)
@@ -43,10 +43,10 @@ if (!isset($minimal)) {
                if (is_null($uid)) {
                        $uid = Profile::getThemeUid();
                }
-               $schema = PConfig::get($uid, 'frio', 'schema');
-               if (($schema) && ($schema != '---')) {
-                       if (file_exists('view/theme/frio/schema/' . $schema . '.php')) {
-                               $schemefile = 'view/theme/frio/schema/' . $schema . '.php';
+               $scheme = PConfig::get($uid, 'frio', 'scheme', PConfig::get($uid, 'frio', 'schema'));
+               if (($scheme) && ($scheme != '---')) {
+                       if (file_exists('view/theme/frio/scheme/' . $scheme . '.php')) {
+                               $schemefile = 'view/theme/frio/scheme/' . $scheme . '.php';
                                require_once $schemefile;
                        }
                } else {
diff --git a/view/theme/frio/php/schema.php b/view/theme/frio/php/schema.php
deleted file mode 100644 (file)
index 83aad53..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-
-
-/**
- * @brief: Get info header of the shema
- *
- * This function parses the header of the shemename.php file for inormations like
- * Author, Description and Overwrites. Most of the code comes from the Addon::getInfo()
- * function. We use this to get the variables which get overwritten through the shema.
- * All color variables which get overwritten through the theme have to be
- * listed (comma seperated) in the shema header under Overwrites:
- * This seemst not to be the best solution. We need to investigate further.
- *
- * @param string $schema Name of the shema
- * @return array With theme information
- *    'author' => Author Name
- *    'description' => Schema description
- *    'version' => Schema version
- *    'overwrites' => Variables which overwriting custom settings
- */
-
-use Friendica\Core\PConfig;
-
-function get_schema_info($schema){
-
-       $theme = current_theme();
-       $themepath = "view/theme/" . $theme . "/";
-       $schema = PConfig::get(local_user(),'frio', 'schema');
-
-       $info=[
-               'name' => $schema,
-               'description' => "",
-               'author' => [],
-               'version' => "",
-               'overwrites' => []
-       ];
-
-       if (!is_file($themepath . "schema/" . $schema . ".php")) return $info;
-
-       $f = file_get_contents($themepath . "schema/" . $schema . ".php");
-
-       $r = preg_match("|/\*.*\*/|msU", $f, $m);
-
-       if ($r){
-               $ll = explode("\n", $m[0]);
-               foreach( $ll as $l ) {
-                       $l = trim($l,"\t\n\r */");
-                       if ($l!=""){
-                               list($k,$v) = array_map("trim", explode(":",$l,2));
-                               $k= strtolower($k);
-                               if ($k=="author"){
-                                       $r=preg_match("|([^<]+)<([^>]+)>|", $v, $m);
-                                       if ($r) {
-                                               $info['author'][] = ['name'=>$m[1], 'link'=>$m[2]];
-                                       } else {
-                                               $info['author'][] = ['name'=>$v];
-                                       }
-                               } elseif ($k == "overwrites") {
-                                       $theme_settings = explode(',',str_replace(' ','', $v));
-                                       foreach ($theme_settings as $key => $value) {
-                                               $info["overwrites"][$value] = true;
-                                       }
-                               } else {
-                                       if (array_key_exists($k,$info)){
-                                               $info[$k]=$v;
-                                       }
-                               }
-
-                       }
-               }
-
-       }
-       return $info;
-}
diff --git a/view/theme/frio/php/scheme.php b/view/theme/frio/php/scheme.php
new file mode 100644 (file)
index 0000000..02de0a0
--- /dev/null
@@ -0,0 +1,71 @@
+<?php
+
+/**
+ * @brief: Get info header of the scheme
+ *
+ * This function parses the header of the schemename.php file for informations like
+ * Author, Description and Overwrites. Most of the code comes from the Addon::getInfo()
+ * function. We use this to get the variables which get overwritten through the scheme.
+ * All color variables which get overwritten through the theme have to be
+ * listed (comma separated) in the scheme header under Overwrites:
+ * This seems not to be the best solution. We need to investigate further.
+ *
+ * @param string $scheme Name of the scheme
+ * @return array With theme information
+ *    'author' => Author Name
+ *    'description' => Scheme description
+ *    'version' => Scheme version
+ *    'overwrites' => Variables which overwriting custom settings
+ */
+use Friendica\Core\PConfig;
+
+function get_scheme_info($scheme)
+{
+       $theme = current_theme();
+       $themepath = 'view/theme/' . $theme . '/';
+       $scheme = PConfig::get(local_user(), 'frio', 'scheme', PConfig::get(local_user(), 'frio', 'scheme'));
+
+       $info = [
+               'name' => $scheme,
+               'description' => '',
+               'author' => [],
+               'version' => '',
+               'overwrites' => []
+       ];
+
+       if (!is_file($themepath . 'scheme/' . $scheme . '.php')) return $info;
+
+       $f = file_get_contents($themepath . 'scheme/' . $scheme . '.php');
+
+       $r = preg_match('|/\*.*\*/|msU', $f, $m);
+
+       if ($r) {
+               $ll = explode("\n", $m[0]);
+               foreach ($ll as $l) {
+                       $l = trim($l, "\t\n\r */");
+                       if ($l != '') {
+                               list($k, $v) = array_map('trim', explode(':', $l, 2));
+                               $k = strtolower($k);
+                               if ($k == 'author') {
+                                       $r = preg_match('|([^<]+)<([^>]+)>|', $v, $m);
+                                       if ($r) {
+                                               $info['author'][] = ['name' => $m[1], 'link' => $m[2]];
+                                       } else {
+                                               $info['author'][] = ['name' => $v];
+                                       }
+                               } elseif ($k == 'overwrites') {
+                                       $theme_settings = explode(',', str_replace(' ', '', $v));
+                                       foreach ($theme_settings as $key => $value) {
+                                               $info['overwrites'][$value] = true;
+                                       }
+                               } else {
+                                       if (array_key_exists($k, $info)) {
+                                               $info[$k] = $v;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       return $info;
+}
index edfec573b013f52ffe5aa9300642f3de1114c40d..64c4544cd877b1c7df4337fe394c94e54f95247e 100644 (file)
@@ -16,7 +16,7 @@
        <?php $frio = "view/theme/frio"; ?>
        <?php if(x($page,'htmlhead')) echo $page['htmlhead']; ?>
 </head>
-<body id=\"top\">";
+<body id="top">
 <?php if($_SERVER['REQUEST_URI'] == "/"){header('Location: /login');} ?>
 <a href="#content" class="sr-only sr-only-focusable">Skip to main content</a>
 <?php
diff --git a/view/theme/frio/schema/love-music.css b/view/theme/frio/schema/love-music.css
deleted file mode 100644 (file)
index 19ce590..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-    Licence    : AGPL
-
-    Created on : 28.03.2016, 03:13:19
-    Author     : rabuzarus
-*/
-
-body {
-    color: #000;
-}
-
-/*
- * Navbar
- */
-#topbar-first,
-nav.navbar {
-    box-shadow: 0 -1px 5px 2px #000;
-}
-#topbar-first .nav>li>a:hover,
-nav.navbar .nav>li>a:hover {
-    background-color: #000;
-    color: #15e3ff;
-}
-#topbar-first .nav>li>a.selected {
-    background: #e355e0;
-    color: #000;
-    padding: 9px;
-    border-radius: 8px;
-}
-#topbar-first #nav-notifications-menu li.notif-entry:hover,
-#topbar-second .nav>li>ul>li>a:hover,
-#topbar-second .nav>li>ul>li>a.active,
-#topbar-second .nav>li>a:hover,
-#topbar-second .nav .open>a,
-#topbar-second .nav>li.active,
-.nav-pills .dropdown-menu li:hover,
-.nav-tabs .dropdown-menu li:hover,
-.account .dropdown-menu li:hover,
-.contact-photo-wrapper .dropdown-menu li:hover,
-.nav-pills .dropdown-menu li.selected,
-.nav-tabs .dropdown-menu li.selected,
-.account .dropdown-menu li.selected,
-.contact-photo-wrapper .dropdown-menu li.selected,
-aside .widget li:hover,
-aside .widget li.selected,
-.nav-container .widget li:hover {
-    border-left:3px solid #15e3ff !important;
-}
-
-.panel,
-aside .widget,
-.nav-container .widget,
-#profile-page, .photos-content-wrapper,
-.settings-content-wrapper {
-    border-style: solid solid solid solid;
-    border-width: 1px;
-    border-color: #DDDDDD;
-    box-shadow: none;
-    border-radius: 15px;
-    color: #000;
-}
-
-aside .widget li a, aside .widget li a:hover,
-.panel .panel-body .wall-item-content,
-.toplevel_item .wall-item-container .btn-link {
-    color: #000;
-}
-
-.wall-item-content a:hover,
-nav.navbar .navbar-brand{
-    color: #15e3ff !important;
-}
diff --git a/view/theme/frio/schema/love-music.php b/view/theme/frio/schema/love-music.php
deleted file mode 100644 (file)
index 528093e..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-       /* Licence: AGP
-        * Author: rabuzarus
-        * Overwrites: nav_bg, nav_icon_color, link_color, bgcolor, contentbg_transp, background_image, bg_image_option, link_hover_color
-        */
-
-       $nav_bg = "#000";
-       $nav_icon_color = "#e355e0";
-       $link_color = "#e355e0";
-       $bgcolor = "#fff";
-       $contentbg_transp = 100;
-       $background_image = "img/bg_circle.png";
-       $bg_image_option = "repeat";
-       $link_hover_color ="#15e3ff";
-
diff --git a/view/theme/frio/schema/red.php b/view/theme/frio/schema/red.php
deleted file mode 100644 (file)
index 540bc39..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-/*
- * Name: Red
- * Author: Rabuzarus
- * 
- * List here all variables which will get overwritten through this schema
- * Overwrites: nav_bg, nav_icon_color, link_color, bgcolor, contentbg_transp
- */
-
-       $nav_bg = "#870000";
-       $nav_icon_color = "#f5f5f5";
-       $link_color = "#b50404";
-       $bgcolor = "#ededed";
-       $contentbg_transp = 95;
-
diff --git a/view/theme/frio/scheme/blue.php b/view/theme/frio/scheme/blue.php
new file mode 100644 (file)
index 0000000..bd98ad6
--- /dev/null
@@ -0,0 +1,16 @@
+<?php
+/*
+ * Name: Blue
+ * Author: Rabuzarus
+ *
+ * List here all variables which will get overwritten through this scheme
+ * Overwrites: nav_bg, nav_icon_color, link_color, background_color, login_bg_color, contentbg_transp
+ */
+
+       $nav_bg = "#708fa0";
+       $nav_icon_color = "#fff";
+       $link_color = "#6fdbe8";
+       $background_color = "#ededed";
+       $login_bg_color = "#ededed";
+       $contentbg_transp = 100;
+
diff --git a/view/theme/frio/scheme/love-music.css b/view/theme/frio/scheme/love-music.css
new file mode 100644 (file)
index 0000000..19ce590
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+    Licence    : AGPL
+
+    Created on : 28.03.2016, 03:13:19
+    Author     : rabuzarus
+*/
+
+body {
+    color: #000;
+}
+
+/*
+ * Navbar
+ */
+#topbar-first,
+nav.navbar {
+    box-shadow: 0 -1px 5px 2px #000;
+}
+#topbar-first .nav>li>a:hover,
+nav.navbar .nav>li>a:hover {
+    background-color: #000;
+    color: #15e3ff;
+}
+#topbar-first .nav>li>a.selected {
+    background: #e355e0;
+    color: #000;
+    padding: 9px;
+    border-radius: 8px;
+}
+#topbar-first #nav-notifications-menu li.notif-entry:hover,
+#topbar-second .nav>li>ul>li>a:hover,
+#topbar-second .nav>li>ul>li>a.active,
+#topbar-second .nav>li>a:hover,
+#topbar-second .nav .open>a,
+#topbar-second .nav>li.active,
+.nav-pills .dropdown-menu li:hover,
+.nav-tabs .dropdown-menu li:hover,
+.account .dropdown-menu li:hover,
+.contact-photo-wrapper .dropdown-menu li:hover,
+.nav-pills .dropdown-menu li.selected,
+.nav-tabs .dropdown-menu li.selected,
+.account .dropdown-menu li.selected,
+.contact-photo-wrapper .dropdown-menu li.selected,
+aside .widget li:hover,
+aside .widget li.selected,
+.nav-container .widget li:hover {
+    border-left:3px solid #15e3ff !important;
+}
+
+.panel,
+aside .widget,
+.nav-container .widget,
+#profile-page, .photos-content-wrapper,
+.settings-content-wrapper {
+    border-style: solid solid solid solid;
+    border-width: 1px;
+    border-color: #DDDDDD;
+    box-shadow: none;
+    border-radius: 15px;
+    color: #000;
+}
+
+aside .widget li a, aside .widget li a:hover,
+.panel .panel-body .wall-item-content,
+.toplevel_item .wall-item-container .btn-link {
+    color: #000;
+}
+
+.wall-item-content a:hover,
+nav.navbar .navbar-brand{
+    color: #15e3ff !important;
+}
diff --git a/view/theme/frio/scheme/love-music.php b/view/theme/frio/scheme/love-music.php
new file mode 100644 (file)
index 0000000..1922824
--- /dev/null
@@ -0,0 +1,15 @@
+<?php
+       /* Licence: AGP
+        * Author: rabuzarus
+        * Overwrites: nav_bg, nav_icon_color, link_color, background_color, contentbg_transp, background_image, bg_image_option, link_hover_color
+        */
+
+       $nav_bg = "#000";
+       $nav_icon_color = "#e355e0";
+       $link_color = "#e355e0";
+       $background_color = "#fff";
+       $contentbg_transp = 100;
+       $background_image = "img/bg_circle.png";
+       $bg_image_option = "repeat";
+       $link_hover_color ="#15e3ff";
+
diff --git a/view/theme/frio/scheme/red.php b/view/theme/frio/scheme/red.php
new file mode 100644 (file)
index 0000000..f02e42f
--- /dev/null
@@ -0,0 +1,15 @@
+<?php
+/*
+ * Name: Red
+ * Author: Rabuzarus
+ * 
+ * List here all variables which will get overwritten through this scheme
+ * Overwrites: nav_bg, nav_icon_color, link_color, background_color, contentbg_transp
+ */
+
+       $nav_bg = "#870000";
+       $nav_icon_color = "#f5f5f5";
+       $link_color = "#b50404";
+       $background_color = "#ededed";
+       $contentbg_transp = 95;
+
index 044f2ab61c9d716312abce4c3c331bc3a9a240a0..621f5d0ccec8ef6f749ff7257dce52179b8bb042 100644 (file)
@@ -8,7 +8,7 @@ use Friendica\Model\Profile;
 
 require_once 'view/theme/frio/php/PHPColors/Color.php';
 
-$schemecss = "";
+$schemecss = '';
 $schemecssfile = false;
 $scheme_modified = 0;
 
@@ -19,15 +19,15 @@ if ($a->module !== 'install') {
                PConfig::load($uid, 'frio');
 
                // Load the profile owners pconfig.
-               $schema           = PConfig::get($uid, "frio", "schema");
-               $nav_bg           = PConfig::get($uid, "frio", "nav_bg");
-               $nav_icon_color   = PConfig::get($uid, "frio", "nav_icon_color");
-               $link_color       = PConfig::get($uid, "frio", "link_color");
-               $bgcolor          = PConfig::get($uid, "frio", "background_color");
-               $contentbg_transp = PConfig::get($uid, "frio", "contentbg_transp");
-               $background_image = PConfig::get($uid, "frio", "background_image");
-               $bg_image_option  = PConfig::get($uid, "frio", "bg_image_option");
-               $modified         = PConfig::get($uid, "frio", "css_modified");
+               $scheme           = PConfig::get($uid, 'frio', 'scheme', PConfig::get($uid, 'frio', 'schema'));
+               $nav_bg           = PConfig::get($uid, 'frio', 'nav_bg');
+               $nav_icon_color   = PConfig::get($uid, 'frio', 'nav_icon_color');
+               $link_color       = PConfig::get($uid, 'frio', 'link_color');
+               $background_color = PConfig::get($uid, 'frio', 'background_color');
+               $contentbg_transp = PConfig::get($uid, 'frio', 'contentbg_transp');
+               $background_image = PConfig::get($uid, 'frio', 'background_image');
+               $bg_image_option  = PConfig::get($uid, 'frio', 'bg_image_option');
+               $modified         = PConfig::get($uid, 'frio', 'css_modified');
 
                // There is maybe the case that the user did never modify the theme settings.
                // In this case we store the present time.
@@ -38,17 +38,17 @@ if ($a->module !== 'install') {
                Config::load('frio');
 
                // Load frios system config.
-               $schema           = Config::get("frio", "schema");
-               $nav_bg           = Config::get("frio", "nav_bg");
-               $nav_icon_color   = Config::get("frio", "nav_icon_color");
-               $link_color       = Config::get("frio", "link_color");
-               $bgcolor          = Config::get("frio", "background_color");
-               $contentbg_transp = Config::get("frio", "contentbg_transp");
-               $background_image = Config::get("frio", "background_image");
-               $bg_image_option  = Config::get("frio", "bg_image_option");
-               $login_bg_image   = Config::get("frio", "login_bg_image");
-               $login_bg_color   = Config::get("frio", "login_bg_color");
-               $modified         = Config::get("frio", "css_modified");
+               $scheme           = Config::get('frio', 'scheme', Config::get('frio', 'schema'));
+               $nav_bg           = Config::get('frio', 'nav_bg');
+               $nav_icon_color   = Config::get('frio', 'nav_icon_color');
+               $link_color       = Config::get('frio', 'link_color');
+               $background_color = Config::get('frio', 'background_color');
+               $contentbg_transp = Config::get('frio', 'contentbg_transp');
+               $background_image = Config::get('frio', 'background_image');
+               $bg_image_option  = Config::get('frio', 'bg_image_option');
+               $login_bg_image   = Config::get('frio', 'login_bg_image');
+               $login_bg_color   = Config::get('frio', 'login_bg_color');
+               $modified         = Config::get('frio', 'css_modified');
 
                // There is maybe the case that the user did never modify the theme settings.
                // In this case we store the present time.
@@ -59,60 +59,59 @@ if ($a->module !== 'install') {
 }
 
 // Now load the scheme.  If a value is changed above, we'll keep the settings
-// If not, we'll keep those defined by the schema
-// Setting $schema to '' wasn't working for some reason, so we'll check it's
+// If not, we'll keep those defined by the scheme
+// Setting $scheme to '' wasn't working for some reason, so we'll check it's
 // not --- like the mobile theme does instead.
-// Allow layouts to over-ride the schema.
-if (x($_REQUEST, 'schema')) {
-       $schema = $_REQUEST['schema'];
+// Allow layouts to over-ride the scheme.
+if (x($_REQUEST, 'scheme')) {
+       $scheme = $_REQUEST['scheme'];
 }
 
 // Sanitize the data.
-$schema = !empty($schema) ? basename($schema) : "";
+$scheme = !empty($scheme) ? basename($scheme) : '';
 
 
-if (($schema) && ($schema != '---')) {
-       if (file_exists('view/theme/frio/schema/' . $schema . '.php')) {
-               $schemefile = 'view/theme/frio/schema/' . $schema . '.php';
+if (($scheme) && ($scheme != '---')) {
+       if (file_exists('view/theme/frio/scheme/' . $scheme . '.php')) {
+               $schemefile = 'view/theme/frio/scheme/' . $scheme . '.php';
                require_once $schemefile;
        }
-       if (file_exists('view/theme/frio/schema/' . $schema . '.css')) {
-               $schemecssfile = 'view/theme/frio/schema/' . $schema . '.css';
+       if (file_exists('view/theme/frio/scheme/' . $scheme . '.css')) {
+               $schemecssfile = 'view/theme/frio/scheme/' . $scheme . '.css';
        }
 }
 
-// If we haven't got a schema, load the default.  We shouldn't touch this - we
+// If we haven't got a scheme, load the default.  We shouldn't touch this - we
 // should leave it for admins to define for themselves.
-// default.php and default.css MUST be symlinks to existing schema files.
-if (! $schema) {
-       if (file_exists('view/theme/frio/schema/default.php')) {
-               $schemefile = 'view/theme/frio/schema/default.php';
+// default.php and default.css MUST be symlinks to existing scheme files.
+if (!$scheme) {
+       if (file_exists('view/theme/frio/scheme/default.php')) {
+               $schemefile = 'view/theme/frio/scheme/default.php';
                require_once $schemefile;
        }
-       if (file_exists('view/theme/frio/schema/default.css')) {
-               $schemecssfile = 'view/theme/frio/schema/default.css';
+       if (file_exists('view/theme/frio/scheme/default.css')) {
+               $schemecssfile = 'view/theme/frio/scheme/default.css';
        }
 }
 
 //Set some defaults - we have to do this after pulling owner settings, and we have to check for each setting
 //individually.  If we don't, we'll have problems if a user has set one, but not all options.
-$nav_bg           = (empty($nav_bg)           ? "#708fa0"      : $nav_bg);
-$nav_icon_color   = (empty($nav_icon_color)   ? "#fff"         : $nav_icon_color);
-$link_color       = (empty($link_color)       ? "#6fdbe8"      : $link_color);
-$bgcolor          = (empty($bgcolor)          ? "#ededed"      : $bgcolor);
+$nav_bg           = (empty($nav_bg)           ? '#708fa0'      : $nav_bg);
+$nav_icon_color   = (empty($nav_icon_color)   ? '#fff'         : $nav_icon_color);
+$link_color       = (empty($link_color)       ? '#6fdbe8'      : $link_color);
+$background_color = (empty($background_color) ? '#ededed'      : $background_color);
 // The background image can not be empty. So we use a dummy jpg if no image was set.
 $background_image = (empty($background_image) ? 'img/none.jpg' : $background_image);
-$modified         = (empty($modified)         ? time()         :$modified);
+$modified         = (empty($modified)         ? time()         : $modified);
 
 
 // set a default login bg image if no custom image and no custom bg color are set.
 if (empty($login_bg_image) && empty($login_bg_color)) {
-       $login_bg_image   = (empty($login_bg_image)   ? 'img/login_bg.jpg' : $login_bg_image);
+       $login_bg_image = 'img/login_bg.jpg';
 }
-$login_bg_color = (empty($login_bg_color) ? "#ededed" : $login_bg_color);
+$login_bg_color   = (empty($login_bg_color)   ? '#ededed'      : $login_bg_color);
 
-
-$contentbg_transp = ((isset($contentbg_transp) && $contentbg_transp != "") ? $contentbg_transp : 100);
+$contentbg_transp = ((isset($contentbg_transp) && $contentbg_transp != '') ? $contentbg_transp : 100);
 
 // Calculate some colors in dependance of existing colors.
 // Some colors are calculated to don't have too many selection
@@ -153,29 +152,35 @@ if (!isset($link_hover_color)) {
 if (!isset($bg_image_option)) {
        $bg_image_option = null;
 }
+
 switch ($bg_image_option) {
-       case "stretch":
-               $background_size_img = "100%";
+       case 'stretch':
+               $background_size_img = '100%';
+               $background_repeat = 'no-repeat';
                break;
-       case "cover":
-               $background_size_img ="cover";
+       case 'cover':
+               $background_size_img = 'cover';
+               $background_repeat = 'no-repeat';
                break;
-       case "repeat":
-               $background_size_img = "auto";
+       case 'repeat':
+               $background_size_img = 'auto';
+               $background_repeat = 'repeat';
                break;
-       case "contain":
-               $background_size_img = "contain";
+       case 'contain':
+               $background_size_img = 'contain';
+               $background_repeat = 'repeat';
                break;
 
        default:
-               $background_size_img = "auto";
+               $background_size_img = 'auto';
+               $background_repeat = 'no-repeat';
                break;
 }
 
 // Convert transparency level from percentage to opacity value.
 $contentbg_transp = $contentbg_transp / 100;
 
-$options =  [
+$options = [
        '$nav_bg'                      => $nav_bg,
        '$nav_icon_color'              => $nav_icon_color,
        '$nav_icon_hover_color'        => $nav_icon_hover_color,
@@ -184,10 +189,11 @@ $options =  [
        '$menu_background_hover_color' => $menu_background_hover_color,
        '$btn_primary_color'           => $nav_icon_color,
        '$btn_primary_hover_color'     => $menu_background_hover_color,
-       '$bgcolor'                     => $bgcolor,
+       '$background_color'            => $background_color,
        '$contentbg_transp'            => $contentbg_transp,
        '$background_image'            => $background_image,
        '$background_size_img'         => $background_size_img,
+       '$background_repeat'           => $background_repeat,
        '$login_bg_image'              => $login_bg_image,
        '$login_bg_color'              => $login_bg_color
 ];
@@ -214,13 +220,13 @@ $etag = md5($css);
 
 // Set a header for caching.
 header('Cache-Control: public');
-header('ETag: "'.$etag.'"');
-header('Last-Modified: '.$modified);
+header('ETag: "' . $etag . '"');
+header('Last-Modified: ' . $modified);
 
 // Only send the CSS file if it was changed.
 if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) || isset($_SERVER['HTTP_IF_NONE_MATCH'])) {
        $cached_modified = gmdate('r', strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']));
-       $cached_etag = str_replace(['"', "-gzip"], ['', ''],
+       $cached_etag = str_replace(['"', '-gzip'], ['', ''],
                                stripslashes($_SERVER['HTTP_IF_NONE_MATCH']));
 
        if (($cached_modified == $modified) && ($cached_etag == $etag)) {
index adc2150cf9f64e204d0ebe245a2252e59a844032..50a8934d1ba1cacd519a92a4e5d36a74c2f32880 100644 (file)
@@ -4,13 +4,13 @@
 <script src="{{$baseurl}}/view/theme/frio/frameworks/jRange/jquery.range.js"></script>
 <script type="text/javascript" src="{{$baseurl}}/view/js/ajaxupload.js" ></script>
 
-{{include file="field_select.tpl" field=$schema}}
+{{include file="field_select.tpl" field=$scheme}}
 
 {{if $nav_bg}}{{include file="field_colorinput.tpl" field=$nav_bg}}{{/if}}
 {{if $nav_icon_color}}{{include file="field_colorinput.tpl" field=$nav_icon_color}}{{/if}}
 {{if $link_color}}{{include file="field_colorinput.tpl" field=$link_color}}{{/if}}
 
-{{if $bgcolor}}{{include file="field_colorinput.tpl" field=$bgcolor}}{{/if}}
+{{if $background_color}}{{include file="field_colorinput.tpl" field=$background_color}}{{/if}}
 
 {{* The slider for the content opacity - We use no template for this since it is only used at this page *}}
 {{if $contentbg_transp}}
@@ -25,6 +25,7 @@
 {{if $background_image}}{{include file="field_fileinput.tpl" field=$background_image}}{{/if}}
 
 <div id="frio_bg_image_options" style="display: none;">
+       <label>{{$bg_image_options_title}}:</label>
 {{foreach $bg_image_options as $options}}
        {{include file="field_radio.tpl" field=$options}}
 {{/foreach}}
index 74b1577ddf2837788c90a9c27e2b84b7bc2bb249..4f5756caf99aba834962e0d14d5dc6b23a237edd 100644 (file)
@@ -18,7 +18,7 @@ use Friendica\Core\System;
 use Friendica\Database\DBM;
 use Friendica\Model\Profile;
 
-$frio = "view/theme/frio";
+$frio = 'view/theme/frio';
 
 global $frio;
 
@@ -34,21 +34,21 @@ function frio_init(App $a)
 
        $style = PConfig::get(local_user(), 'frio', 'style');
 
-       $frio = "view/theme/frio";
+       $frio = 'view/theme/frio';
 
        global $frio;
 
        // if the device is a mobile device set js is_mobile
        // variable so the js scripts can use this information
        if ($a->is_mobile || $a->is_tablet) {
-               $a->page["htmlhead"] .= <<< EOT
+               $a->page['htmlhead'] .= <<< EOT
                        <script type="text/javascript">
                                var is_mobile = 1;
                        </script>
 EOT;
        }
 
-       if ($style == "") {
+       if ($style == '') {
                $style = Config::get('frio', 'style');
        }
 }
@@ -62,7 +62,7 @@ function frio_install()
        Addon::registerHook('acl_lookup_end', 'view/theme/frio/theme.php', 'frio_acl_lookup');
        Addon::registerHook('display_item', 'view/theme/frio/theme.php', 'frio_display_item');
 
-       logger("installed theme frio");
+       logger('installed theme frio');
 }
 
 function frio_uninstall()
@@ -74,7 +74,7 @@ function frio_uninstall()
        Addon::unregisterHook('acl_lookup_end', 'view/theme/frio/theme.php', 'frio_acl_lookup');
        Addon::unregisterHook('display_item', 'view/theme/frio/theme.php', 'frio_display_item');
 
-       logger("uninstalled theme frio");
+       logger('uninstalled theme frio');
 }
 
 /**
@@ -92,26 +92,26 @@ function frio_uninstall()
 function frio_item_photo_links(App $a, &$body_info)
 {
        $occurence = 0;
-       $p = Plaintext::getBoundariesPosition($body_info['html'], "<a", ">");
+       $p = Plaintext::getBoundariesPosition($body_info['html'], '<a', '>');
        while ($p !== false && ($occurence++ < 500)) {
                $link = substr($body_info['html'], $p['start'], $p['end'] - $p['start']);
                $matches = [];
 
-               preg_match("/\/photos\/[\w]+\/image\/([\w]+)/", $link, $matches);
+               preg_match('/\/photos\/[\w]+\/image\/([\w]+)/', $link, $matches);
                if ($matches) {
                        // Replace the link for the photo's page with a direct link to the photo itself
                        $newlink = str_replace($matches[0], "/photo/{$matches[1]}", $link);
 
                        // Add a "quiet" parameter to any redir links to prevent the "XX welcomes YY" info boxes
-                       $newlink = preg_replace("/href=\"([^\"]+)\/redir\/([^\"]+)&url=([^\"]+)\"/", 'href="$1/redir/$2&quiet=1&url=$3"', $newlink);
+                       $newlink = preg_replace('/href="([^"]+)\/redir\/([^"]+)&url=([^"]+)"/', 'href="$1/redir/$2&quiet=1&url=$3"', $newlink);
 
                        // Having any arguments to the link for Colorbox causes it to fetch base64 code instead of the image
-                       $newlink = preg_replace("/\/[?&]zrl=([^&\"]+)/", '', $newlink);
+                       $newlink = preg_replace('/\/[?&]zrl=([^&"]+)/', '', $newlink);
 
                        $body_info['html'] = str_replace($link, $newlink, $body_info['html']);
                }
 
-               $p = Plaintext::getBoundariesPosition($body_info['html'], "<a", ">", $occurence);
+               $p = Plaintext::getBoundariesPosition($body_info['html'], '<a', '>', $occurence);
        }
 }
 
@@ -127,10 +127,10 @@ function frio_item_photo_links(App $a, &$body_info)
  */
 function frio_item_photo_menu(App $a, &$arr)
 {
-       foreach ($arr["menu"] as $k => $v) {
+       foreach ($arr['menu'] as $k => $v) {
                if (strpos($v, 'poke/?f=&c=') === 0 || strpos($v, 'message/new/') === 0) {
-                       $v = "javascript:addToModal('" . $v . "'); return false;";
-                       $arr["menu"][$k] = $v;
+                       $v = 'javascript:addToModal(\'' . $v . '\'); return false;';
+                       $arr['menu'][$k] = $v;
                }
        }
 }
@@ -149,9 +149,9 @@ function frio_item_photo_menu(App $a, &$arr)
  */
 function frio_contact_photo_menu(App $a, &$args)
 {
-       $cid = $args["contact"]["id"];
-       $pokelink = $args["menu"]["poke"][1];
-       $pmlink = $args["menu"]["pm"][1];
+       $cid = $args['contact']['id'];
+       $pokelink = $args['menu']['poke'][1];
+       $pmlink = $args['menu']['pm'][1];
 
        // Set the the indicator for opening the status, profile and photo pages
        // in a new tab to false if the contact a dfrn (friendica) contact
@@ -160,12 +160,12 @@ function frio_contact_photo_menu(App $a, &$args)
        // friendica servers as remote user or visitor
        //
        // The value for opening in a new tab is e.g. when
-       // $args["menu"]["status"][2] is true. If the value of the [2] key is true
+       // $args['menu']['status'][2] is true. If the value of the [2] key is true
        // and if it's a friendica contact we set it to false
-       foreach ($args["menu"] as $k => $v) {
-               if ($k === "status" || $k === "profile" || $k === "photos") {
-                       $v[2] = (($args["contact"]["network"] === "dfrn") ? false : true);
-                       $args["menu"][$k][2] = $v[2];
+       foreach ($args['menu'] as $k => $v) {
+               if ($k === 'status' || $k === 'profile' || $k === 'photos') {
+                       $v[2] = (($args['contact']['network'] === 'dfrn') ? false : true);
+                       $args['menu'][$k][2] = $v[2];
                }
        }
 
@@ -173,11 +173,11 @@ function frio_contact_photo_menu(App $a, &$args)
        // Later we can make conditions in the corresponing templates (e.g.
        // contact_template.tpl)
        if (strpos($pokelink, 'poke/?f=&c=' . $cid) !== false) {
-               $args["menu"]["poke"][3] = "modal";
+               $args['menu']['poke'][3] = 'modal';
        }
 
        if (strpos($pmlink, 'message/new/' . $cid) !== false) {
-               $args["menu"]["pm"][3] = "modal";
+               $args['menu']['pm'][3] = 'modal';
        }
 }
 
@@ -231,43 +231,43 @@ function frio_remote_nav($a, &$nav)
                // user info
                $r = q("SELECT `micro` FROM `contact` WHERE `uid` = %d AND `self`", intval($a->user['uid']));
 
-               $r[0]['photo'] = (DBM::is_result($r) ? $a->remove_baseurl($r[0]['micro']) : "images/person-48.jpg");
+               $r[0]['photo'] = (DBM::is_result($r) ? $a->remove_baseurl($r[0]['micro']) : 'images/person-48.jpg');
                $r[0]['name'] = $a->user['username'];
        } elseif (!local_user() && remote_user()) {
                $r = q("SELECT `name`, `nick`, `micro` AS `photo` FROM `contact` WHERE `id` = %d", intval(remote_user()));
-               $nav['remote'] = L10n::t("Guest");
+               $nav['remote'] = L10n::t('Guest');
        } elseif (Profile::getMyURL()) {
                $r = q("SELECT `name`, `nick`, `photo` FROM `gcontact`
                                WHERE `addr` = '%s' AND `network` = 'dfrn'",
                        dbesc($webbie));
-               $nav['remote'] = L10n::t("Visitor");
+               $nav['remote'] = L10n::t('Visitor');
        } else {
                $r = false;
        }
 
        if (DBM::is_result($r)) {
                $nav['userinfo'] = [
-                       'icon' => (DBM::is_result($r) ? $r[0]['photo'] : "images/person-48.jpg"),
+                       'icon' => (DBM::is_result($r) ? $r[0]['photo'] : 'images/person-48.jpg'),
                        'name' => $r[0]['name'],
                ];
        }
 
        if (!local_user() && !empty($server_url)) {
-               $nav['logout'] = [$server_url . '/logout', L10n::t('Logout'), "", L10n::t('End this session')];
+               $nav['logout'] = [$server_url . '/logout', L10n::t('Logout'), '', L10n::t('End this session')];
 
                // user menu
-               $nav['usermenu'][] = [$server_url . '/profile/' . $a->user['nickname'], L10n::t('Status'), "", L10n::t('Your posts and conversations')];
-               $nav['usermenu'][] = [$server_url . '/profile/' . $a->user['nickname'] . '?tab=profile', L10n::t('Profile'), "", L10n::t('Your profile page')];
-               $nav['usermenu'][] = [$server_url . '/photos/' . $a->user['nickname'], L10n::t('Photos'), "", L10n::t('Your photos')];
-               $nav['usermenu'][] = [$server_url . '/videos/' . $a->user['nickname'], L10n::t('Videos'), "", L10n::t('Your videos')];
-               $nav['usermenu'][] = [$server_url . '/events/', L10n::t('Events'), "", L10n::t('Your events')];
+               $nav['usermenu'][] = [$server_url . '/profile/' . $a->user['nickname'], L10n::t('Status'), '', L10n::t('Your posts and conversations')];
+               $nav['usermenu'][] = [$server_url . '/profile/' . $a->user['nickname'] . '?tab=profile', L10n::t('Profile'), '', L10n::t('Your profile page')];
+               $nav['usermenu'][] = [$server_url . '/photos/' . $a->user['nickname'], L10n::t('Photos'), '', L10n::t('Your photos')];
+               $nav['usermenu'][] = [$server_url . '/videos/' . $a->user['nickname'], L10n::t('Videos'), '', L10n::t('Your videos')];
+               $nav['usermenu'][] = [$server_url . '/events/', L10n::t('Events'), '', L10n::t('Your events')];
 
                // navbar links
-               $nav['network'] = [$server_url . '/network', L10n::t('Network'), "", L10n::t('Conversations from your friends')];
-               $nav['events'] = [$server_url . '/events', L10n::t('Events'), "", L10n::t('Events and Calendar')];
-               $nav['messages'] = [$server_url . '/message', L10n::t('Messages'), "", L10n::t('Private mail')];
-               $nav['settings'] = [$server_url . '/settings', L10n::t('Settings'), "", L10n::t('Account settings')];
-               $nav['contacts'] = [$server_url . '/contacts', L10n::t('Contacts'), "", L10n::t('Manage/edit friends and contacts')];
+               $nav['network'] = [$server_url . '/network', L10n::t('Network'), '', L10n::t('Conversations from your friends')];
+               $nav['events'] = [$server_url . '/events', L10n::t('Events'), '', L10n::t('Events and Calendar')];
+               $nav['messages'] = [$server_url . '/message', L10n::t('Messages'), '', L10n::t('Private mail')];
+               $nav['settings'] = [$server_url . '/settings', L10n::t('Settings'), '', L10n::t('Account settings')];
+               $nav['contacts'] = [$server_url . '/contacts', L10n::t('Contacts'), '', L10n::t('Manage/edit friends and contacts')];
                $nav['sitename'] = $a->config['sitename'];
        }
 }
@@ -289,17 +289,17 @@ function frio_acl_lookup(App $a, &$results)
 {
        require_once 'mod/contacts.php';
 
-       $nets = x($_GET, "nets") ? notags(trim($_GET["nets"])) : "";
+       $nets = x($_GET, 'nets') ? notags(trim($_GET['nets'])) : '';
 
        // we introduce a new search type, r should do the same query like it's
        // done in /mod/contacts for connections
-       if ($results["type"] !== "r") {
+       if ($results['type'] !== 'r') {
                return;
        }
 
        $sql_extra = '';
-       if ($results["search"]) {
-               $search_txt = dbesc(protect_sprintf(preg_quote($results["search"])));
+       if ($results['search']) {
+               $search_txt = dbesc(protect_sprintf(preg_quote($results['search'])));
                $sql_extra .= " AND (`attag` LIKE '%%" . dbesc($search_txt) . "%%' OR `name` LIKE '%%" . dbesc($search_txt) . "%%' OR `nick` LIKE '%%" . dbesc($search_txt) . "%%') ";
        }
 
@@ -311,7 +311,7 @@ function frio_acl_lookup(App $a, &$results)
        $r = q("SELECT COUNT(*) AS `total` FROM `contact`
                WHERE `uid` = %d AND NOT `self` AND NOT `pending` $sql_extra ", intval($_SESSION['uid']));
        if (DBM::is_result($r)) {
-               $total = $r[0]["total"];
+               $total = $r[0]['total'];
        }
 
        $sql_extra3 = Widget::unavailableNetworks();
@@ -328,8 +328,8 @@ function frio_acl_lookup(App $a, &$results)
                }
        }
 
-       $results["items"] = $contacts;
-       $results["tot"] = $total;
+       $results['items'] = $contacts;
+       $results['tot'] = $total;
 }
 
 /**