From 6b5f8bfbe45740703de12ff3c5895a92c605cbda Mon Sep 17 00:00:00 2001 From: Stefan Parviainen Date: Fri, 2 Jan 2015 12:08:36 +0100 Subject: Sort acl results according to match position (only type='c' for now) --- mod/acl.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mod/acl.php b/mod/acl.php index 797a3633b..24f2a35e0 100644 --- a/mod/acl.php +++ b/mod/acl.php @@ -30,6 +30,9 @@ function acl_init(&$a){ $sql_extra = " AND `name` LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " "; $sql_extra2 = "AND ( xchan_name LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " OR xchan_addr LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . ") "; + // This horrible mess is needed because position also returns 0 if nothing is found. W/ould be MUCH easier if it instead returned a very large value + // Otherwise we could just order by LEAST(POSTION($search IN xchan_name),POSITION($search IN xchan_addr)). + $order_extra2 = "CASE WHEN xchan_name LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) ." then POSITION('".dbesc($search)."' IN xchan_name) else position('".dbesc($search)."' IN xchan_addr) end, "; $col = ((strpos($search,'@') !== false) ? 'xchan_addr' : 'xchan_name' ); $sql_extra3 = "AND $col like " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " "; @@ -141,7 +144,7 @@ function acl_init(&$a){ if ($type=='' || $type=='c') { $r = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, abook_flags FROM abook left join xchan on abook_xchan = xchan_hash - WHERE abook_channel = %d AND not ( abook_flags & %d )>0 and not (xchan_flags & %d )>0 $sql_extra2 order by xchan_name asc" , + WHERE abook_channel = %d AND not ( abook_flags & %d )>0 and not (xchan_flags & %d )>0 $sql_extra2 order by $order_extra2 xchan_name asc" , intval(local_user()), intval(ABOOK_FLAG_BLOCKED|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED), intval(XCHAN_FLAGS_DELETED) @@ -150,7 +153,7 @@ function acl_init(&$a){ if((! $r) && $type == 'c') { $r = q("SELECT substr(xchan_hash,1,18) as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, 0 as abook_their_perms, 0 as abook_flags FROM xchan - WHERE not (xchan_flags & %d )>0 $sql_extra2 order by xchan_name asc" , + WHERE not (xchan_flags & %d )>0 $sql_extra2 order by $order_extra2 xchan_name asc" , intval(XCHAN_FLAGS_DELETED) ); } -- cgit v1.2.3 From 53a26661141fcba123da22ff9d96459299d469e3 Mon Sep 17 00:00:00 2001 From: Erik Lundin Date: Fri, 2 Jan 2015 16:40:50 +0100 Subject: Use HTML entities --- assets/home.html | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/assets/home.html b/assets/home.html index 16baab838..2c3aa6e69 100644 --- a/assets/home.html +++ b/assets/home.html @@ -198,35 +198,35 @@ $(document).ready(function() { "Gratuit", null); else if (lang == "sv") // SWEDISH TRANSLATIONS - terms = new Array("Sekretess skalad för Internet", - "Socialt nätverkande", + terms = new Array("Sekretess skalad för Internet", + "Socialt nätverkande", "Single Sign-On", "Fotoalbum", "Decentraliserat", "Molnlagring", - "Ditt eget innehåll", + "Ditt eget innehåll", "Blogg", "End-to-end-kryptering", "Chattrum", - "Delbara tilläggsprogram", - "Kontrollera behörighet mellan webbplatser", - "Ångra privata meddelanden", + "Delbara tilläggsprogram", + "Kontrollera behörighet mellan webbplatser", + "Ångra privata meddelanden", "Skapa webbsidor", - "Innehållshantering", - "Tidsbegränsade meddelanden", + "Innehållshantering", + "Tidsbegränsade meddelanden", "Spel och verktyg", - "Inte styrt av företag", + "Inte styrt av företag", "Forum", "Gilla + Ogilla", - "Dela allt som är digitalt", + "Dela allt som är digitalt", "Kommunikation", - "Identitsmedvetet innehåll", + "Identitsmedvetet innehåll", "Pseudonymer", "Multipla identiteter", "Reklamfritt", - "Rich Text-inlägg/-kommentarer", - "Händelsekalender", - "Bokmärken", + "Rich Text-inlägg/-kommentarer", + "Händelsekalender", + "Bokmärken", "Gemensam taggning", "Speglad katalog", "Nomadisk identitet", @@ -236,15 +236,15 @@ $(document).ready(function() { "Sekretessgrupper", "Fildelning", "MIT-licens", - "Självständighet", - "Samhörighetsfiltrering", - "Vänförslag", - "Fjärrinloggning", + "Självständighet", + "Samhörighetsfiltrering", + "Vänförslag", + "Fjärrinloggning", "Teman", - "Tillägg", + "Tillägg", "Externt API", "Tredjepartsappar", - "Öppen källkod", + "Öppen källkod", null); // Find all
s with a class of "wrapper" and lang attribute equal @@ -347,7 +347,7 @@ Een van de traditionele problemen met onafhankelijke internetpublicaties is dat

-De RedMatrix is een supernetwerk bestaande uit een enorme hoeveelheid kleinere onafhankelijke en autonome websites, die aan elkaar gekoppeld een coöperatief publicatie en sociaal platform vormen. Het bestaat uit een opensource webapplicatie die een compleet gedecentraliseerd multi-user publicatie-, communicatie- en social media-systeem biedt, een “hub” geheten. Elke hub verzorgt de communicatie (privéberichten, chatten, bloggen, forums en een sociaal netwerk) en het mediabeheer (foto's, agenda, webpagina's en apps) voor zijn leden; alles in een functie-rijke omgeving. Deze hubs maken automatisch contact met elkaar en de rest van de matrix. Het individu blijft altijd directe controle houden over zijn/haar privacy en eigendom; en aan elk item in de gehele matrix kan aan wie dan ook toegang verleend of geweigerd worden. +De RedMatrix is een supernetwerk bestaande uit een enorme hoeveelheid kleinere onafhankelijke en autonome websites, die aan elkaar gekoppeld een coöperatief publicatie en sociaal platform vormen. Het bestaat uit een opensource webapplicatie die een compleet gedecentraliseerd multi-user publicatie-, communicatie- en social media-systeem biedt, een “hub” geheten. Elke hub verzorgt de communicatie (privéberichten, chatten, bloggen, forums en een sociaal netwerk) en het mediabeheer (foto's, agenda, webpagina's en apps) voor zijn leden; alles in een functie-rijke omgeving. Deze hubs maken automatisch contact met elkaar en de rest van de matrix. Het individu blijft altijd directe controle houden over zijn/haar privacy en eigendom; en aan elk item in de gehele matrix kan aan wie dan ook toegang verleend of geweigerd worden.

-- cgit v1.2.3 From 42773a11220a5bba7bdf3395e3f00913dce9f5a0 Mon Sep 17 00:00:00 2001 From: Stefan Parviainen Date: Fri, 2 Jan 2015 18:14:23 +0100 Subject: Reworked switch to also display text --- view/css/mod_connect.css | 4 +- view/css/mod_group.css | 4 +- view/css/mod_settings.css | 8 +-- view/css/mod_thing.css | 4 +- view/theme/redbasic/css/style.css | 122 +++++++++++++++++--------------------- view/tpl/field_checkbox.tpl | 2 +- view/tpl/field_intcheckbox.tpl | 2 +- 7 files changed, 63 insertions(+), 83 deletions(-) diff --git a/view/css/mod_connect.css b/view/css/mod_connect.css index 218b1d2cb..e1f28484a 100644 --- a/view/css/mod_connect.css +++ b/view/css/mod_connect.css @@ -6,8 +6,6 @@ margin-top: 25px; } -/* first-of-type needed to style switches */ -#sellpage-edit label.mainlabel, -#sellpage-edit label:first-of-type { +#sellpage-edit > label { width: 300px; } diff --git a/view/css/mod_group.css b/view/css/mod_group.css index 30a954d2a..91d5b2136 100644 --- a/view/css/mod_group.css +++ b/view/css/mod_group.css @@ -3,9 +3,7 @@ margin-top: 30px; } -/* first-of-type needed to style switches */ -#group-edit-form label.mainlabel, -#group-edit-form label:first-of-type { +#group-edit-form > label { float: left; width: 300px; } diff --git a/view/css/mod_settings.css b/view/css/mod_settings.css index b066e6059..cd66684f8 100644 --- a/view/css/mod_settings.css +++ b/view/css/mod_settings.css @@ -28,9 +28,7 @@ ul#settings-privacy-macros { margin-bottom: 10px; } -/* first-of-type needed to be able to style switches */ -#settings-permissions-wrapper .field label.mainlabel, -#settings-permissions-wrapper .field label:first-of-type { +#settings-permissions-wrapper .field > label { width: 350px; } @@ -43,9 +41,7 @@ ul#settings-privacy-macros { margin-bottom: 45px; } -/* first-of-type needed to be able to style switches */ -#settings-notifications .field label.mainlabel, -#settings-notifications .field label:first-of-type { +#settings-notifications .field > label { margin-left: 20px; width: 330px; } diff --git a/view/css/mod_thing.css b/view/css/mod_thing.css index ddb2faa87..1b091860b 100644 --- a/view/css/mod_thing.css +++ b/view/css/mod_thing.css @@ -4,9 +4,7 @@ margin-left: 0; } -/* first-of-type needed to style switches */ -.field label.mainlabel, -.thing-label, .field label:first-of-type, .thing-verb-label, .thing-profile-label{ +.thing-label, .field > label, .thing-verb-label, .thing-profile-label{ float: left; width: 350px; } diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css index 61acc8ec7..63cf27d58 100644 --- a/view/theme/redbasic/css/style.css +++ b/view/theme/redbasic/css/style.css @@ -306,9 +306,7 @@ footer { width: 20px; } -/* first-of-type needed to style switches */ -#main-login .field.checkbox label.mainlabel, -#main-login .field.checkbox label:first-of-type { +#main-login .field.checkbox > label { margin-bottom: 0; float: left; width: 100px; @@ -376,9 +374,7 @@ footer { #profile-edit-wrapper .field { margin-top: 20px; } -/* first-of-type needed to style switches */ -#profile-edit-wrapper .field label.mainlabel, -#profile-edit-wrapper .field label:first-of-type { +#profile-edit-wrapper .field > label { width: 175px; } @@ -1245,9 +1241,7 @@ footer { width: 100% } -/* first-of-type needed to style switches */ -.field label.mainlabel, -.field label:first-of-type { +.field > label { float: left; width: 350px; } @@ -2358,69 +2352,65 @@ aside .nav > li > a:hover, aside .nav > li > a:focus { border: 1px solid #cccccc; } -/* Hide the placeholder label which is used for styling switches */ -/* Many places give a width to all labels, so need to specifically set these to 0 width */ -/* This should probably be moved to core */ -.field.checkbox label.switchlabel, -.field.checkbox label:nth-of-type(2) { - width: 0px; - margin: 0px; - float: none; -} + /* Turn checkboxes into switches */ -/* Doesn't work with IE<9. */ +.field.checkbox .fieldhelp { vertical-align:top; } +.field.checkbox > div { + position: relative; width: 70px; + -webkit-user-select:none; -moz-user-select:none; -ms-user-select: none; + display:inline-block; +} + .field.checkbox input { - position: absolute; - margin-left: -9999px; - visibility: hidden; + display: none; } -.field.checkbox input + label.switchlabel, -.field.checkbox input + label:nth-of-type(2) { - display: block; - position: relative; - cursor: pointer; - outline: none; - user-select: none; - padding: 2px; - width: 60px; - height: 24px; - background-color: #dddddd; - border-radius: 60px; - transition: background 0.4s; +.field.checkbox > div label { + display: block; overflow: hidden; cursor: pointer; + border: 2px solid #999999; + border-radius: 20px; + margin:0px; +} - float:left; +.onoffswitch-inner { + display: block; width: 200%; margin-left: -100%; + -moz-transition: margin 0.3s ease-in 0s; -webkit-transition: margin 0.3s ease-in 0s; + -o-transition: margin 0.3s ease-in 0s; transition: margin 0.3s ease-in 0s; } -.field.checkbox input + label:before, -.field.checkbox input + label:after { - display: block; - position: absolute; - content: ""; -} -.field.checkbox input + label:before { - top: 2px; - left: 2px; - bottom: 2px; - right: 2px; - background-color: #fff; - border-radius: 30px; - transition: background 0.4s; -} -.field.checkbox input + label:after { - top: 4px; - left: 4px; - bottom: 4px; - width: 30px; - background-color: #dddddd; - border-radius: 30px; - transition: margin 0.4s, background 0.4s; -} -.field.checkbox input:checked + label { - background-color: #8ce196; -} -.field.checkbox input:checked + label:after { - margin-left: 22px; - background-color: #8ce196; +.onoffswitch-inner:before, .onoffswitch-inner:after { + display: block; float: left; width: 50%; height: 20px; padding: 0; line-height:20px; + -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; +} + +.onoffswitch-inner:before { + content: attr(data-on); + padding-left: 10px; + background-color: #EEEEEE; +} + +.onoffswitch-inner:after { + content: attr(data-off); + padding-right: 10px; + background-color: #EEEEEE; color: #999999; + text-align: right; +} + +.onoffswitch-switch { + display: block; width: 25px; margin-left: 6px; margin-right: 6px; margin-top:5%; margin-bottom:5%; + background: #A1A1A1; + border: 2px solid #999999; border-radius: 20px; + position: absolute; top: 0; bottom: 0; right: 36px; + -moz-transition: all 0.3s ease-in 0s; -webkit-transition: all 0.3s ease-in 0s; + -o-transition: all 0.3s ease-in 0s; transition: all 0.3s ease-in 0s; +} + +.field.checkbox > div > input:checked + label .onoffswitch-inner { + margin-left: 0; +} + +.field.checkbox > div > input:checked + label .onoffswitch-switch { + right: -2px; + background-color: #27A1CA; } diff --git a/view/tpl/field_checkbox.tpl b/view/tpl/field_checkbox.tpl index 5c7f58ad1..7a2781be0 100755 --- a/view/tpl/field_checkbox.tpl +++ b/view/tpl/field_checkbox.tpl @@ -1,4 +1,4 @@
- {{$field.3}} +
{{$field.3}}
diff --git a/view/tpl/field_intcheckbox.tpl b/view/tpl/field_intcheckbox.tpl index 1d0bd9175..847783518 100755 --- a/view/tpl/field_intcheckbox.tpl +++ b/view/tpl/field_intcheckbox.tpl @@ -1,4 +1,4 @@
- {{$field.4}} +
{{$field.4}}
-- cgit v1.2.3