]> git.mxchange.org Git - friendica.git/commitdiff
Merge remote-tracking branch 'upstream/develop' into develop
authorMichael <heluecht@pirati.ca>
Sat, 28 Apr 2018 08:57:52 +0000 (08:57 +0000)
committerMichael <heluecht@pirati.ca>
Sat, 28 Apr 2018 08:57:52 +0000 (08:57 +0000)
64 files changed:
.gitignore
boot.php
mod/admin.php
mod/install.php
mod/settings.php
src/Util/Network.php
util/htconfig.vagrant.php
view/install/style.css
view/templates/field_checkbox.tpl
view/templates/field_combobox.tpl
view/templates/field_custom.tpl
view/templates/field_input.tpl
view/templates/field_intcheckbox.tpl
view/templates/field_openid.tpl
view/templates/field_password.tpl
view/templates/field_radio.tpl
view/templates/field_richtext.tpl
view/templates/field_select.tpl
view/templates/field_select_raw.tpl
view/templates/field_textarea.tpl
view/templates/field_themeselect.tpl
view/templates/field_yesno.tpl
view/templates/htconfig.tpl
view/templates/install_checks.tpl
view/templates/login.tpl
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/field_checkbox.tpl
view/theme/frio/templates/field_colorinput.tpl
view/theme/frio/templates/field_custom.tpl
view/theme/frio/templates/field_fileinput.tpl
view/theme/frio/templates/field_input.tpl
view/theme/frio/templates/field_intcheckbox.tpl
view/theme/frio/templates/field_openid.tpl
view/theme/frio/templates/field_password.tpl
view/theme/frio/templates/field_radio.tpl
view/theme/frio/templates/field_select.tpl
view/theme/frio/templates/field_select_raw.tpl
view/theme/frio/templates/field_textarea.tpl
view/theme/frio/templates/field_themeselect.tpl
view/theme/frio/templates/field_yesno.tpl
view/theme/frio/templates/login.tpl
view/theme/frio/templates/theme_settings.tpl
view/theme/frio/theme.php
view/theme/vier/mobile.css
view/theme/vier/style.css

index 8d86b95875c44d3b384f3f98bce53ee9e8ad2d2a..9e6504184c03c4347f630441b34c0fc8e133c13c 100644 (file)
@@ -9,6 +9,7 @@ include/jquery-1.4.2.min.js
 favicon.*\r
 home.html\r
 addon\r
+*.orig\r
 *~\r
 robots.txt\r
 \r
@@ -57,4 +58,4 @@ venv/
 /view/asset\r
 \r
 #ignore config files from JetBrains\r
-/.idea
\ No newline at end of file
+/.idea\r
index 1ca8b8d8d8ccf720c977887789c6ebd5f8ade8cf..ba12f86d2c4f392bfcec9c8b73827e4822c8b0b8 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -1292,7 +1292,7 @@ function get_server()
        $server = Config::get("system", "directory");
 
        if ($server == "") {
-               $server = "http://dir.friendica.social";
+               $server = "https://dir.friendica.social";
        }
 
        return($server);
index 7749cff6dcd3be23fb95a79e2ae5f294beb03964..3090376bea5b4453c33b77c3d49676c5280e0c23 100644 (file)
@@ -1120,6 +1120,7 @@ function admin_page_site_post(App $a)
        }
        Config::set('system', 'language', $language);
        Config::set('system', 'theme', $theme);
+       Theme::install($theme);
 
        if ($theme_mobile == '---') {
                Config::delete('system', 'mobile-theme');
index eb740c7b64785ad09fa315815d0c4da951344b6d..06f728729c216bf2db7f0f13be34ba61b9c7d9d3 100644 (file)
@@ -303,12 +303,13 @@ function install_content(App $a) {
  * required : boolean
  * help                : string optional
  */
-function check_add(&$checks, $title, $status, $required, $help) {
+function check_add(&$checks, $title, $status, $required, $help, $error_msg = "") {
        $checks[] = [
                'title' => $title,
                'status' => $status,
                'required' => $required,
                'help'  => $help,
+               'error_msg' => $error_msg,
        ];
 }
 
@@ -489,18 +490,24 @@ function check_smarty3(&$checks) {
 function check_htaccess(&$checks) {
        $status = true;
        $help = "";
+       $error_msg = "";
        if (function_exists('curl_init')) {
-               $test = Network::fetchUrl(System::baseUrl()."/install/testrewrite");
+               $test = Network::fetchUrlFull(System::baseUrl()."/install/testrewrite");
 
-               if ($test != "ok") {
-                       $test = Network::fetchUrl(normalise_link(System::baseUrl()."/install/testrewrite"));
+               $url = normalise_link(System::baseUrl()."/install/testrewrite");
+               if ($test['body'] != "ok") {
+                       $test = Network::fetchUrlFull($url);
                }
 
-               if ($test != "ok") {
+               if ($test['body'] != "ok") {
                        $status = false;
                        $help = L10n::t('Url rewrite in .htaccess is not working. Check your server configuration.');
+                       $error_msg = [];
+                       $error_msg['head'] = L10n::t('Error message from Curl when fetching');
+                       $error_msg['url'] = $test['redirect_url'];
+                       $error_msg['msg'] = $test['error'];
                }
-               check_add($checks, L10n::t('Url rewrite is working'), $status, true, $help);
+               check_add($checks, L10n::t('Url rewrite is working'), $status, true, $help, $error_msg);
        } else {
                // cannot check modrewrite if libcurl is not installed
                /// @TODO Maybe issue warning here?
index aec2b2a0501d8f8eb7a9a12ce045eab88f8ffd76..3102fef2335d82b5d5f06ff17725d4b9bf6034ac 100644 (file)
@@ -12,6 +12,7 @@ use Friendica\Core\Config;
 use Friendica\Core\L10n;
 use Friendica\Core\PConfig;
 use Friendica\Core\System;
+use Friendica\Core\Theme;
 use Friendica\Core\Worker;
 use Friendica\Database\DBM;
 use Friendica\Model\Contact;
@@ -354,6 +355,7 @@ function settings_post(App $a)
                                theme_post($a);
                        }
                }
+               Theme::install($theme);
 
                $r = q("UPDATE `user` SET `theme` = '%s' WHERE `uid` = %d",
                                dbesc($theme),
index 4a11f9259579e31272b57fdfbe9a1c6d363a8212..c1ea6e354765c7d2da1fffbaaf38e0c0aaca34eb 100644 (file)
@@ -36,7 +36,30 @@ class Network
         */
        public static function fetchUrl($url, $binary = false, &$redirects = 0, $timeout = 0, $accept_content = null, $cookiejar = 0)
        {
-               $ret = self::curl(
+               $ret = self::fetchUrlFull($url, $binary, $redirects, $timeout, $accept_content, $cookiejar);
+
+               return $ret['body'];
+       }
+
+       /**
+        * @brief Curl wrapper with array of return values.
+        *
+        * Inner workings and parameters are the same as @ref fetchUrl but returns an array with
+        * all the information collected during the fetch.
+        *
+        * @param string  $url            URL to fetch
+        * @param boolean $binary         default false
+        *                                TRUE if asked to return binary results (file download)
+        * @param integer $redirects      The recursion counter for internal use - default 0
+        * @param integer $timeout        Timeout in seconds, default system config value or 60 seconds
+        * @param string  $accept_content supply Accept: header with 'accept_content' as the value
+        * @param string  $cookiejar      Path to cookie jar file
+        *
+        * @return array With all relevant information, 'body' contains the actual fetched content.
+        */
+       public static function fetchUrlFull($url, $binary = false, &$redirects = 0, $timeout = 0, $accept_content = null, $cookiejar = 0)
+       {
+               return self::curl(
                        $url,
                        $binary,
                        $redirects,
@@ -45,8 +68,6 @@ class Network
                        'cookiejar'=>$cookiejar
                        ]
                );
-
-               return($ret['body']);
        }
 
        /**
index 9c96687e71af4b53418c878ef3b5293b42676de4..623b587ef014e84ef0fb341659b83a1bcbf31c48 100644 (file)
@@ -65,7 +65,7 @@ $a->config['system']['no_regfullname'] = true;
 //$a->config['system']['block_local_dir'] = false;
 
 // Location of the global directory
-$a->config['system']['directory'] = 'http://dir.friendica.social';
+$a->config['system']['directory'] = 'https://dir.friendica.social';
 
 // turn on friendica's log
 $a->config['system']['debugging'] = true;
index 2f995d5993ebf130774936fd6a5bc48d2f090ef5..d6140a1bb315c517433a09f6641110bb0935ccdc 100644 (file)
@@ -32,6 +32,9 @@ td.help {
 td.help blockquote {\r
        margin-left: 60px;\r
 }\r
+.error_header {\r
+       margin-left: 60px;\r
+}\r
 input[type="submit"] {\r
        margin: 2em 0;\r
 }\r
index b66cced8767f0c778ec01a47ccd385892d5cc615..8275d4595ded2734fe038bab7db3d7d8c3e52464 100644 (file)
@@ -1,6 +1,8 @@
        <div class="field checkbox" id="div_id_{{$field.0}}">
-               <label for="id_{{$field.0}}">{{$field.1}}</label>
+               <label id="id_{{$field.0}}_label" for="id_{{$field.0}}">{{$field.1}}</label>
                <input type="hidden" name="{{$field.0}}" value="0">
                <input type="checkbox" name="{{$field.0}}" id="id_{{$field.0}}" aria-describedby="{{$field.0}}_tip" value="1" {{if $field.2}}checked="checked"{{/if}} {{if $field.4}}{{$field.4}}{{/if}}>
+               {{if $field.3}}
                <span class="field_help" role="tooltip" id="{{$field.0}}_tip">{{$field.3}}</span>
+               {{/if}}
        </div>
index 45865501662a7d1e1ba7e6a5347659eaaca0339c..876e607cdfef9958c6f48acfe2442be10bda180e 100644 (file)
@@ -13,6 +13,8 @@
                        {{foreach $field.4 as $opt=>$val}}<option value="{{$val|escape:'html'}}">{{$val}}</option>{{/foreach}}
                </select>
                
-               <span class='field_help' role='tooltip' id='{{$field.0}}_tip'>{{$field.3}}</span>
+               {{if $field.3}}
+               <span class="field_help" role="tooltip" id="{{$field.0}}_tip">{{$field.3}}</span>
+               {{/if}}
        </div>
 
index 0b09284023781f4525b3ef562ad360678e046816..6649b0ff94e1c334b5138c88ae801d4e00d0cc20 100644 (file)
@@ -3,5 +3,7 @@
        <div class='field custom'>
                <label for='{{$field.0}}'>{{$field.1}}</label>
                {{$field.2}}
-               <span class='field_help'>{{$field.3}}</span>
+               {{if $field.3}}
+               <span class="field_help" role="tooltip" id="{{$field.0}}_tip">{{$field.3}}</span>
+               {{/if}}
        </div>
index 495493f2fdf83cb864ebf60b874db3717d35c185..850656bb8c8f0da0cc8a814f2bdcfc2839737efe 100644 (file)
@@ -2,5 +2,7 @@
        <div class='field input' id='wrapper_{{$field.0}}'>
                <label for='id_{{$field.0}}'>{{$field.1}}</label>
                <input{{if $field.6 eq 'email'}} type='email'{{elseif $field.6 eq 'url'}} type='url'{{else}} type="text"{{/if}} name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.2|escape:'html'}}"{{if $field.4 eq 'required'}} required{{/if}}{{if $field.5 eq "autofocus"}} autofocus{{elseif $field.5}} {{$field.5}}{{/if}} aria-describedby='{{$field.0}}_tip'>
+               {{if $field.3}}
                <span class='field_help' role='tooltip' id='{{$field.0}}_tip'>{{$field.3}}</span>
+               {{/if}}
        </div>
index 73bdf604170085b9c404cec81d11d65d9ae4cf1d..9c5f04e796d6ddeefc403e4622dc289f66b6a597 100644 (file)
@@ -3,5 +3,7 @@
        <div class='field checkbox'>
                <label for='id_{{$field.0}}'>{{$field.1}}</label>
                <input type="checkbox" name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.3|escape:'html'}}" {{if $field.2}}checked="true"{{/if}} aria-describedby='{{$field.0}}_tip'>
+               {{if $field.4}}
                <span class='field_help' role='tooltip' id='{{$field.0}}_tip'>{{$field.4}}</span>
+               {{/if}}
        </div>
index 062ac6ac6eb19b4bd9941daf5ef6a4d8184d2174..9a18bbc13c3cb02a9659090be948e5364ea1ae55 100644 (file)
@@ -2,5 +2,7 @@
        <div class='field input openid' id='wrapper_{{$field.0}}'>
                <label for='id_{{$field.0}}'>{{$field.1}}</label>
                <input name='{{$field.0}}' id='id_{{$field.0}}' type="text" value="{{$field.2|escape:'html'}}" aria-describedby='{{$field.0}}_tip'>
-               <span class='field_help' role='tooltip' id='{{$field.0}}_tip'>{{$field.3}}</span>
+               {{if $field.3}}
+               <span class="field_help" role="tooltip" id="{{$field.0}}_tip">{{$field.3}}</span>
+               {{/if}}
        </div>
index 333ce67c3839ff6cbea8dcfd6cbc185502bfbcda..4b4d4f2b2e3a5905390007ad63fdfed33ec0d571 100644 (file)
@@ -2,5 +2,7 @@
        <div class='field password' id='wrapper_{{$field.0}}'>
                <label for='id_{{$field.0}}'>{{$field.1}}</label>
                <input type='password' name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.2|escape:'html'}}"{{if $field.4 eq 'required'}} required{{/if}}{{if $field.5 eq 'autofocus'}} autofocus{{/if}} aria-describedby='{{$field.0}}_tip'>
+               {{if $field.3}}
                <span class='field_help' role='tooltip' id='{{$field.0}}_tip'>{{$field.3}}</span>
+               {{/if}}
        </div>
index 6b880ed9975097f469cc488cedcd1ef7268eb5cc..1e1d8e0b10c129131380e846a7eca61ef2421bba 100644 (file)
@@ -1,5 +1,7 @@
        <div class='field radio'>
                <label for='id_{{$field.0}}_{{$field.2}}'>{{$field.1}}</label>
                <input type="radio" name='{{$field.0}}' id='id_{{$field.0}}_{{$field.2}}' value="{{$field.2|escape:'html'}}" {{if $field.4}}checked{{/if}} aria-describedby={{$field.0}}_{{$field.2}}_tip'>
+               {{if $field.3}}
                <span class='field_help' role='tooltip' id='{{$field.0}}_{{$field.2}}_tip'>{{$field.3}}</span>
+               {{/if}}
        </div>
index 67553bb95a2bca3460d02767c7dd4bf4aefc0342..bc346ddb0b86d3671d2da984c007392acc3da162 100644 (file)
@@ -3,5 +3,7 @@
        <div class='field richtext'>
                <label for='id_{{$field.0}}'>{{$field.1}}</label>
                <textarea name='{{$field.0}}' id='id_{{$field.0}}' class="fieldRichtext" aria-describedby='{{$field.0}}_tip'>{{$field.2}}</textarea>
-               <span class='field_help' role='tooltip' id='{{$field.0}}_tip'>{{$field.3}}</span>
+               {{if $field.3}}
+               <span class="field_help" role="tooltip" id="{{$field.0}}_tip">{{$field.3}}</span>
+               {{/if}}
        </div>
index 2d037439df6b644dc92a7e10af58109beff6566c..87a2ab9ff8eb6fedbd2ab8a99c01e69963689c71 100644 (file)
@@ -5,5 +5,7 @@
                <select name='{{$field.0}}' id='id_{{$field.0}}' aria-describedby='{{$field.0}}_tip'>
                        {{foreach $field.4 as $opt=>$val}}<option value="{{$opt|escape:'html'}}" {{if $opt==$field.2}}selected="selected"{{/if}}>{{$val}}</option>{{/foreach}}
                </select>
-               <span class='field_help' role='tooltip' id='{{$field.0}}_tip'>{{$field.3}}</span>
+               {{if $field.3}}
+               <span class="field_help" role="tooltip" id="{{$field.0}}_tip">{{$field.3}}</span>
+               {{/if}}
        </div>
index 4c826a042749e593ec685a9af94bfa035c7daf16..147c028eff36f82c3256746e5f06e19f777cbd56 100644 (file)
@@ -5,5 +5,7 @@
                <select name='{{$field.0}}' id='id_{{$field.0}}' aria-describedby='{{$field.0}}_tip'>
                        {{$field.4}}
                </select>
-               <span class='field_help' role='tooltip' id='{{$field.0}}_tip'>{{$field.3}}</span>
+               {{if $field.3}}
+               <span class="field_help" role="tooltip" id="{{$field.0}}_tip">{{$field.3}}</span>
+               {{/if}}
        </div>
index c37537d6ec57a21bffe900ff4e92be1ea16da799..60594a26667a0bdd36b9e447ef4db86ef518bea8 100644 (file)
@@ -3,5 +3,7 @@
        <div class='field textarea'>
                <label for='id_{{$field.0}}'>{{$field.1}}</label>
                <textarea name='{{$field.0}}' id='id_{{$field.0}}' aria-describedby='{{$field.0}}_tip'>{{$field.2}}</textarea>
-               <span class='field_help' role='tooltip' id='{{$field.0}}_tip'>{{$field.3}}</span>
+               {{if $field.3}}
+               <span class="field_help" role="tooltip" id="{{$field.0}}_tip">{{$field.3}}</span>
+               {{/if}}
        </div>
index 51f6057ae3b25c2de05acfc98f4a6930230ed128..5f56c187ef957df5a4a253cbe233645612a34379 100644 (file)
@@ -5,6 +5,8 @@
                <select name='{{$field.0}}' id='id_{{$field.0}}' {{if $field.5}}onchange="previewTheme(this);"{{/if}} aria-describedby='{{$field.0}}_tip'>
                        {{foreach $field.4 as $opt=>$val}}<option value="{{$opt|escape:'html'}}" {{if $opt==$field.2}}selected="selected"{{/if}}>{{$val}}</option>{{/foreach}}
                </select>
-               <span class='field_help' role='tooltip' id='{{$field.0}}_tip'>{{$field.3}}</span>
+               {{if $field.3}}
+               <span class="field_help" role="tooltip" id="{{$field.0}}_tip">{{$field.3}}</span>
+               {{/if}}
                {{if $field.5}}<div id="theme-preview"></div>{{/if}}
        </div>
index 155d0488b32563a606ce805b2a3166d8a73efd3e..7e7c3cc4eea64f683cf1692058f02d0a5a093cdf 100644 (file)
@@ -10,5 +10,7 @@
                                {{if $field.4}}{{$field.4.1}}{{else}}ON{{/if}}
                        </a>
                </div>
-               <span class='field_help' role='tooltip' id='{{$field.0}}_tip'>{{$field.3}}</span>
+               {{if $field.3}}
+               <span class="field_help" role="tooltip" id="{{$field.0}}_tip">{{$field.3}}</span>
+               {{/if}}
        </div>
index d72307fb5a90348b5a0f81cd16d8b051a658095a..1325a6177131a005a99c95acf4ebe7fd75e679fb 100644 (file)
@@ -107,7 +107,7 @@ $a->config['system']['no_regfullname'] = true;
 //$a->config['system']['block_local_dir'] = false;
 
 // Location of the global directory
-$a->config['system']['directory'] = 'http://dir.friendica.social';
+$a->config['system']['directory'] = 'https://dir.friendica.social';
 
 // Authentication cookie lifetime, in days
 $a->config['system']['auth_cookie_lifetime'] = 7;
index 10a197482b9b2689bdaa047f93f8f894649025c4..f960729111f77d862577f1203d31532003c3a68c 100644 (file)
        {{/if}}
        </td><td>{{if $check.required}}(required){{/if}}</td></tr>
        {{if $check.help}}
-       <tr><td class="help" colspan="3"><blockquote>{{$check.help}}</blockquote></td></tr>
+       <tr><td class="help" colspan="3">
+               <blockquote>{{$check.help}}</blockquote>
+               {{if $check.error_msg}}
+               <div class="error_header"><b>{{$check.error_msg.head}}</br><a href="{{$check.error_msg.url}}">{{$check.error_msg.url}}</a></b></div>
+               <blockquote>{{$check.error_msg.msg}}</blockquote>
+               {{/if}}
+       </td></tr>
        {{/if}}
 {{/foreach}}
 </table>
index e1e8c5f3a6cc581c9b38afef16848583c1871577..029ebb0343591c35b34ca9465966be0d4d7e5a1f 100644 (file)
@@ -4,11 +4,14 @@
 <div id="login-group" role="group" aria-labelledby="login-head">
        <input type="hidden" name="auth-params" value="login" />
 
-       <div id="login-head" class="sr-only">{{$login}}</div>
+       <h3 id="login-head" class="sr-only">{{$login}}</h3>
 
        <div id="login_standard">
        {{include file="field_input.tpl" field=$lname}}
        {{include file="field_password.tpl" field=$lpassword}}
+       <div id="login-lost-password-link">
+               <a href="lostpass" title="{{$lostpass|escape:'html'}}" id="lost-password-link" >{{$lostlink}}</a>
+       </div>
        </div>
        
        {{if $openid}}
                </div>
        {{/if}}
 
-       {{include file="field_checkbox.tpl" field=$lremember}}
-
-       <div id="login-extra-links">
-               {{if $register}}<a href="register" title="{{$register.title|escape:'html'}}" id="register-link">{{$register.desc}}</a>{{/if}}
-               <a href="lostpass" title="{{$lostpass|escape:'html'}}" id="lost-password-link" >{{$lostlink}}</a>
-       </div>
-       
        <div id="login-submit-wrapper" >
                <input type="submit" name="submit" id="login-submit-button" value="{{$login|escape:'html'}}" />
        </div>
+
+       {{include file="field_checkbox.tpl" field=$lremember}}
        
        {{foreach $hiddens as $k=>$v}}
                <input type="hidden" name="{{$k}}" value="{{$v|escape:'html'}}" />
 </div>
 </form>
 
+{{if $register}}
+<div id="login-extra-links">
+       <h3 id="login-head" class="sr-only">{{$register.title|escape:'html'}}</h3>
+       <a href="register" title="{{$register.title|escape:'html'}}" id="register-link">{{$register.desc}}</a>
+</div>
+{{/if}}
 
 <script type="text/javascript"> $(document).ready(function() { $("#id_{{$lname.0}}").focus();} );</script>
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..18b2f4208899a4dc945fdbd89fba7569b944ce77 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;*/
@@ -3136,12 +3137,30 @@ section .profile-match-wrapper {
  * Login page
  */
 #login-submit-wrapper {
-    display: flex;
-    flex-wrap: wrap;
-    justify-content: space-between;
-    align-items: center;
+    float: right;
 }
 #lost-password-link { flex-grow: 2; }
+#login-lost-password-link {
+    margin-bottom: 10px;
+    float: right;
+}
+#div_id_remember {
+    float: left;
+}
+#id_password_wrapper {
+    margin-bottom: unset;
+}
+#login_openid {
+    clear: both;
+}
+#register-link {
+    color: white;
+    background: #8ad0a1;
+    width: 100%;
+}
+#login-end {
+    clear: both;
+}
 
 .mod-home.is-not-singleuser,
 .mod-login {
@@ -3166,12 +3185,15 @@ section .profile-match-wrapper {
     margin-top: 2.5%;
 }
 
+.mod-home.is-not-singleuser .login-form > #login-extra-links {
+    margin-top: 4em;
+}
+
 .mod-home.is-not-singleuser .login-form > #login-form label,
 .mod-login #content #login-form label {
     color: #eee;
 }
 
-
 .mod-home.is-not-singleuser .login-panel-content,
 .mod-login .login-panel-content {
     background-color: rgba(255,255,255,.85);
@@ -3185,11 +3207,15 @@ section .profile-match-wrapper {
     }
 
     .mod-home.is-not-singleuser .login-form > #login-form,
+    .mod-home.is-not-singleuser .login-form > #login-extra-links,
     .mod-login #content #login-form {
         background-color: #fff;
         padding: 1em;
         position: relative;
-        margin-top: 4em;
+    }
+    .mod-home.is-not-singleuser .login-form > #login-extra-links {
+        margin-top: unset;
+        background-color: white;
     }
 
     .mod-home.is-not-singleuser .login-form > #login-form label,
@@ -3197,7 +3223,7 @@ section .profile-match-wrapper {
         color: #444;
     }
 
-    .mod-home.is-not-singleuser .login-form > #login-form::before,
+    .mod-home.is-not-singleuser .login-form::before,
     .mod-login #content #login-form::before {
         display: block;
         position: absolute;
@@ -3210,7 +3236,7 @@ section .profile-match-wrapper {
         z-index: -1;
     }
 
-    .mod-home.is-not-singleuser .login-form > #login-form::after,
+    .mod-home.is-not-singleuser .login-form::after,
     .mod-login #content #login-form::after {
         display: block;
         position: absolute;
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 787a82ebdcd14f7d3bbf7c3cb7973070b76148cf..1fde3634abebe8433a1f36f3fa08720026052dd7 100644 (file)
@@ -4,6 +4,8 @@
                        <input type="checkbox" name="{{$field.0}}" id="id_{{$field.0}}" value="1" {{if $field.2}}checked="checked"{{/if}} aria-checked="{{if $field.2}}true{{else}}false{{/if}}" aria-describedby="{{$field.0}}_tip" {{if $field.4}}{{$field.4}}{{/if}}>
                        <label for="id_{{$field.0}}">
                                {{$field.1}}
+                               {{if $field.3}}
                                <span class="help-block" id="{{$field.0}}_tip" role="tooltip">{{$field.3}}</span>
+                               {{/if}}
                        </label>
-       </div>
\ No newline at end of file
+       </div>
index 886d647e9cf1cdae1e0fa0f2c7eac2beaed4677a..704db346d265e66fba1f6a2f9ab1fd548da90d8d 100644 (file)
@@ -6,6 +6,8 @@
                {{if $field.4}}<span class="required">{{$field.4}}</span>{{/if}}
                <span class="input-group-addon"><i></i></span>
        </div>
-       <span id="{{$field.0}}_tip" class="help-block" role="tooltip">{{$field.3}}</span>
+       {{if $field.3}}
+       <span class="help-block" id="{{$field.0}}_tip" role="tooltip">{{$field.3}}</span>
+       {{/if}}
        <div id="end_{{$field.0}}" class="field_end"></div>
 </div>
index 20f529278d2228ab62d5bf80a3fe5a54dc8e8c56..158073a64e88bcc5a217fb5eb3e77f683fc7bcd4 100644 (file)
@@ -2,5 +2,7 @@
 <div class="form-group field custom">
        <label for="{{$field.0}}">{{$field.1}}</label>
        {{$field.2}}
-       <span class="help-block" id="{{$field.0}}_tip">{{$field.3}}</span>
+       {{if $field.3}}
+       <span class="help-block" id="{{$field.0}}_tip" role="tooltip">{{$field.3}}</span>
+       {{/if}}
 </div>
index 721a6535fbb6f501fbcc2d9d73bab8ad6aa5109a..c5f8ac86d2e5a00833c88ff8d0de40f22c80850a 100644 (file)
@@ -6,6 +6,8 @@
                {{if $field.4}}<span class="required">{{$field.4}}</span>{{/if}}
                <span class="input-group-addon image-select"><i class="fa fa-picture-o"></i></span>
        </div>
-       <span id="{{$field.0}}_tip" class="help-block" role="tooltip">{{$field.3}}</span>
+       {{if $field.3}}
+       <span class="help-block" id="{{$field.0}}_tip" role="tooltip">{{$field.3}}</span>
+       {{/if}}
        <div id="end_{{$field.0}}" class="field_end"></div>
 </div>
index bbd7535e54fef0cb3badbe5eb01748a67af20457..62a7d72e83387ac70466414fdb34f860707ecb23 100644 (file)
@@ -2,6 +2,8 @@
 <div id="id_{{$field.0}}_wrapper" class="form-group field input">
        <label for="id_{{$field.0}}" id="label_{{$field.0}}">{{$field.1}}{{if $field.4}}<span class="required"> {{$field.4}}</span>{{/if}}</label>
        <input class="form-control" name="{{$field.0}}" id="id_{{$field.0}}"{{if $field.6 eq "email"}} type="email"{{elseif $field.6 eq "url"}} type="url"{{else}} type="text"{{/if}} value="{{$field.2|escape:'html'}}"{{if $field.4 eq "required"}} required{{/if}}{{if $field.5 eq "autofocus"}} autofocus{{elseif $field.5}} {{$field.5}}{{/if}} aria-describedby="{{$field.0}}_tip">
-       <span id="{{$field.0}}_tip" class="help-block" role="tooltip">{{$field.3}}</span>
+       {{if $field.3}}
+       <span class="help-block" id="{{$field.0}}_tip" role="tooltip">{{$field.3}}</span>
+       {{/if}}
        <div class="clear"></div>
 </div>
index 8863d14c4d794cc5621c14499a878a0ab984039d..f898c87faf0001b5a81035afafd2db179492559c 100644 (file)
@@ -2,6 +2,8 @@
        <div class="form-group field checkbox">
                <input type="checkbox" name="{{$field.0}}" id="id_{{$field.0}}" value="{{$field.3|escape:'html'}}" {{if $field.2}}checked="checked"{{/if}} aria-checked="{{if $field.2}}true{{else}}false{{/if}}" aria-describedby="{{$field.0}}_tip">
                <label for="id_{{$field.0}}">{{$field.1}}</label>
-               <span class="help-block" role="tooltip" id="{{$field.0}}_tip">{{$field.4}}</span>
+               {{if $field.4}}
+               <span class="help-block" id="{{$field.0}}_tip" role="tooltip">{{$field.4}}</span>
+               {{/if}}
        </div>
        <div class="clear"></div>
index 8081f9cf110f2a374b2b3d73c1ca478925429dec..66f8c9e80927c1dedc91b4c510594011b24ab306 100644 (file)
@@ -2,6 +2,8 @@
 <div id="id_{{$field.0}}_wrapper" class="form-group field input openid">
        <label for="id_{{$field.0}}" id="label_{{$field.0}}">{{$field.1}}</label>
        <input class="form-control" name="{{$field.0}}" id="id_{{$field.0}}" type="text" value="{{$field.2|escape:'html'}}" aria-describedby="{{$field.0}}_tip">
-       <span id="{{$field.0}}_tip" class="help-block" role="tooltip">{{$field.3}}</span>
+       {{if $field.3}}
+       <span class="help-block" id="{{$field.0}}_tip" role="tooltip">{{$field.3}}</span>
+       {{/if}}
        <div class="clear"></div>
 </div>
index 31defaf33c31470deb4a9cf83d1ab3cc0a4d6350..7bef420a18aea32fbdb187d8eef47cf4d43f3f0b 100644 (file)
@@ -2,6 +2,8 @@
 <div id="id_{{$field.0}}_wrapper" class="form-group field input password">
        <label for="id_{{$field.0}}" id="label_{{$field.0}}">{{$field.1}}{{if $field.4}}<span class="required"> {{$field.4}}</span>{{/if}}</label>
        <input class="form-control" name="{{$field.0}}" id="id_{{$field.0}}" type="password" value="{{$field.2|escape:'html'}}" {{if $field.4 eq "required"}} required{{/if}}{{if $field.5 eq "autofocus"}} autofocus{{elseif $field.5}} {{$field.5}}{{/if}} aria-describedby="{{$field.0}}_tip">
-       <span id="{{$field.0}}_tip" class="help-block" role="tooltip">{{$field.3}}</span>
+       {{if $field.3}}
+       <span class="help-block" id="{{$field.0}}_tip" role="tooltip">{{$field.3}}</span>
+       {{/if}}
        <div class="clear"></div>
 </div>
index 42c145e3a89ee3b701ff38fe3dccb2c8c97ac6a7..725e1c96aff8926a77f43c7c02f27d34761964ef 100644 (file)
@@ -4,7 +4,9 @@
                        <input type="radio" name="{{$field.0}}" id="id_{{$field.0}}_{{$field.2}}" value="{{$field.2}}" {{if $field.4}}checked{{/if}} aria-checked="{{if $field.4}}true{{else}}false{{/if}}" aria-describedby="{{$field.0}}_{{$field.2}}_tip">
                        <label for="id_{{$field.0}}_{{$field.2}}">
                                {{$field.1}}
+                               {{if $field.3}}
                                <span class="help-block" id="{{$field.0}}_{{$field.2}}_tip" role="tooltip">{{$field.3}}</span>
+                               {{/if}}
                        </label>
                </div>
-       </div>
\ No newline at end of file
+       </div>
index 9c03151214da869a42ff5e96b2ac637470777b93..594b91002efa5e246f783772ec538c106f9c6ed6 100644 (file)
@@ -4,5 +4,7 @@
                <select name="{{$field.0}}" id="id_{{$field.0}}" class="form-control" aria-describedby="{{$field.0}}_tip">
                        {{foreach $field.4 as $opt=>$val}}<option value="{{$opt|escape:'html'}}" {{if $opt==$field.2}}selected="selected"{{/if}}>{{$val}}</option>{{/foreach}}
                </select>
-               <span class="help-block" id="{{$field.0}}_tip">{{$field.3}}</span>
-</div>
\ No newline at end of file
+               {{if $field.3}}
+               <span class="help-block" id="{{$field.0}}_tip" role="tooltip">{{$field.3}}</span>
+               {{/if}}
+</div>
index d4f4768603b3992f04795185902db0d5f3cfbb82..52b63079c1a2db07f09285fbc16181d25847be19 100644 (file)
@@ -4,5 +4,7 @@
        <select class="form-control" name="{{$field.0}}" id="id_{{$field.0}}" aria-describedby="{{$field.0}}_tip">
                {{$field.4}}
        </select>
-       <span class="help-block" id="{{$field.0}}_tip">{{$field.3}}</span>
-</div>
\ No newline at end of file
+       {{if $field.3}}
+       <span class="help-block" id="{{$field.0}}_tip" role="tooltip">{{$field.3}}</span>
+       {{/if}}
+</div>
index 8ef56babb78c3b061367e11e9a9564f87b60b7b2..1aea484de786fe3a9cb530789692689270e0044e 100644 (file)
@@ -2,6 +2,8 @@
        <div class="form-group field textarea">
                <label for="id_{{$field.0}}">{{$field.1}}</label>
                <textarea class="form-control text-autosize" name="{{$field.0}}" id="id_{{$field.0}}" {{if $field.4}}{{$field.4}}{{/if}} aria-describedby="{{$field.0}}_tip">{{$field.2}}</textarea>
-               <span id="{{$field.0}}_tip" class="help-block" role="tooltip">{{$field.3}}</span>
+               {{if $field.3}}
+               <span class="help-block" id="{{$field.0}}_tip" role="tooltip">{{$field.3}}</span>
+               {{/if}}
                <div class="clear"></div>
        </div>
index 3b2cb780c89193a0d21b9fdfaa63736d685f516b..fc1f7243af55cb5576d3a88c64c2567630bb877c 100644 (file)
@@ -5,6 +5,8 @@
        <select class="form-control" name="{{$field.0}}" id="id_{{$field.0}}" {{if $field.5=="preview"}}onchange="previewTheme(this);"{{/if}} aria-describedby="{{$field.0}}_tip" >
                {{foreach $field.4 as $opt=>$val}}<option value="{{$opt}}" {{if $opt==$field.2}}selected="selected"{{/if}}>{{$val}}</option>{{/foreach}}
        </select>
+       {{if $field.3}}
        <span class="help-block" id="{{$field.0}}_tip" role="tooltip">{{$field.3}}</span>
+       {{/if}}
        {{if $field.5=="preview"}}<div id="theme-preview"></div>{{/if}}
-</div>
\ No newline at end of file
+</div>
index 85096c70e3b44835fe5ae79aa8aea23b0c7e86cd..47649fe676b6cc28695da3b2f08e0f1a45a7c11f 100644 (file)
@@ -14,6 +14,8 @@
                                <span class="toggle-handle btn btn-default btn-xs"></span>
                        </div>
                </div>
+               {{if $field.3}}
                <span class="help-block" id="{{$field.0}}_tip" role="tooltip">{{$field.3}}</span>
+               {{/if}}
        </div>
        <div class="clear"></div>
index aaa42d24b4e00214e5d7b45501d4a3ae8992af1a..ae586a3e6a020bbded3e3612aafaa6b7f87b7438 100644 (file)
@@ -8,6 +8,10 @@
                <div id="login_standard">
                        {{include file="field_input.tpl" field=$lname}}
                        {{include file="field_password.tpl" field=$lpassword}}
+                       <div id="login-lost-password-link">
+                               <a href="lostpass" title="{{$lostpass|escape:'html'}}" id="lost-password-link" >{{$lostlink}}</a>
+                       </div>
+                       <div id="login-end"></div>
                </div>
 
                {{if $openid}}
                {{include file="field_checkbox.tpl" field=$lremember}}
 
                <div id="login-submit-wrapper">
-                       <a href="lostpass" title="{{$lostpass|escape:'html'}}" id="lost-password-link">{{$lostlink}}</a>
-
                        <div class="pull-right" >
-                               {{if $register}}<a href="register" title="{{$register.title|escape:'html'}}" id="register-link" class="btn btn-default">{{$register.desc}}</a>{{/if}}
                                <button type="submit" name="submit" id="login-submit-button" class="btn btn-primary" value="{{$login|escape:'html'}}">{{$login|escape:'html'}}</button>
                        </div>
                </div>
                        <input type="hidden" name="{{$k}}" value="{{$v|escape:'html'}}" />
                {{/foreach}}
 
+               <div id="login-end"></div>
        </div>
 </form>
 
+{{if $register}}
+<div id="login-extra-links">
+       <h3 id="login-head" class="sr-only">{{$register.title|escape:'html'}}</h3>
+       <a href="register" title="{{$register.title|escape:'html'}}" id="register-link" class="btn btn-default">{{$register.desc}}</a>
+</div>
+{{/if}}
+
 <script type="text/javascript"> $(document).ready(function() { $("#id_{{$lname.0}}").focus();} );</script>
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;
 }
 
 /**
index 66721a1b8891d2fad68de601feb90782b7581827..b528ca4bd0749a1abe0950add8253ecaef518476 100644 (file)
@@ -91,6 +91,13 @@ nav ul {
     width: 100% !important; height: 110px !important;
   }
 
+  #login-extra-links, #login-form {
+    /* width: 341px; */
+    width: 100%;
+  }
+  #id_remember_label {
+    width: unset;
+  }
 }
 
 @media screen and (max-width: 480px) {
index ba10b16021959413ad77b3b2dcadd8e53198788f..288ede31d95a6768fdcdcb8067a0be7db352a90c 100644 (file)
@@ -2422,10 +2422,60 @@ aside #div_id_remember label {
  float:  inherit;
 }
 
+#login-group {
+  overflow: hidden;
+}
+
+#login-head {
+  position: unset;
+  width: unset;
+  height: unset;
+  margin-bottom: 10px;
+}
+
+div #wrapper_username {
+  padding: 0px;
+}
+
+div #wrapper_password {
+  padding: 0px;
+  margin-bottom: 0px;
+}
+
+#div_id_remember {
+  float: left;
+  width: unset;
+}
+
+#remember_tip {
+  display: none;
+}
+
+#login-submit-wrapper {
+  float: right;
+}
+
+#login-form {
+  margin-top: 20px;
+}
+
+#login-extra-links, #login-form {
+  /* width: 341px; */
+  width: 341px;
+  clear: both;
+  border-top: 3px solid white;
+  padding-top: 20px;
+}
+
 aside div #login-submit-button {
   margin-left:0px;
 }
 
+#login-lost-password-link {
+  margin-bottom: 10px;
+  float: right;
+}
+
 aside #register-link, aside #lost-password-link {
   display: block;
 }