aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--assets/home.html42
-rwxr-xr-xboot.php16
-rw-r--r--mod/acl.php7
-rw-r--r--mod/profiles.php22
4 files changed, 57 insertions, 30 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 <div>s with a class of "wrapper" and lang attribute equal
@@ -347,7 +347,7 @@ Een van de traditionele problemen met onafhankelijke internetpublicaties is dat
</div>
<br />
<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-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 <strong>gedecentraliseerd</strong> 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&ouml;peratief publicatie en sociaal platform vormen. Het bestaat uit een opensource webapplicatie die een compleet <strong>gedecentraliseerd</strong> 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.
</div>
<br />
<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
diff --git a/boot.php b/boot.php
index 4e266f4f1..f57a6701c 100755
--- a/boot.php
+++ b/boot.php
@@ -2183,3 +2183,19 @@ function get_poller_runtime() {
$t = get_config('system','lastpoll');
return relative_date($t);
}
+
+function z_get_upload_dir() {
+ $upload_dir = get_config('system','uploaddir');
+ if(! $upload_dir)
+ $upload_dir = ini_get('upload_tmp_dir');
+ if(! $upload_dir)
+ $upload_dir = sys_get_temp_dir();
+ return $upload_dir;
+}
+
+function z_get_temp_dir() {
+ $temp_dir = get_config('system','tempdir');
+ if(! $temp_dir)
+ $temp_dir = sys_get_temp_dir();
+ return $upload_dir;
+} \ No newline at end of file
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)
);
}
diff --git a/mod/profiles.php b/mod/profiles.php
index 6bdc7f11a..fa6a6e35c 100644
--- a/mod/profiles.php
+++ b/mod/profiles.php
@@ -11,7 +11,7 @@ function profiles_init(&$a) {
if((argc() > 2) && (argv(1) === "drop") && intval(argv(2))) {
$r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d AND `is_default` = 0 LIMIT 1",
- intval($a->argv[2]),
+ intval(argv(2)),
intval(local_user())
);
if(! count($r)) {
@@ -159,9 +159,13 @@ function profiles_init(&$a) {
if(((argc() > 1) && (intval(argv(1)))) || !feature_enabled(local_user(),'multi_profiles')) {
if(feature_enabled(local_user(),'multi_profiles'))
$id = $a->argv[1];
- else
- $id = q("select id from profile where uid = %d and is_default = 1",local_user())[0]['id'];
-
+ else {
+ $x = q("select id from profile where uid = %d and is_default = 1",
+ intval(local_user())
+ );
+ if($x)
+ $id = $x[0]['id'];
+ }
$r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($id),
intval(local_user())
@@ -564,9 +568,13 @@ function profiles_content(&$a) {
if(((argc() > 1) && (intval(argv(1)))) || !feature_enabled(local_user(),'multi_profiles')) {
if(feature_enabled(local_user(),'multi_profiles'))
$id = $a->argv[1];
- else
- $id = q("select id from profile where uid = %d and is_default = 1",local_user())[0]['id'];
-
+ else {
+ $x = q("select id from profile where uid = %d and is_default = 1",
+ intval(local_user())
+ );
+ if($x)
+ $id = $x[0]['id'];
+ }
$r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($id),
intval(local_user())