aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/bookmarks.apd2
-rw-r--r--app/chat.apd2
-rw-r--r--app/probe.apd2
-rw-r--r--app/suggest.apd2
-rw-r--r--app/webpages.apd2
-rw-r--r--doc/hidden_configs.bb41
-rw-r--r--include/Contact.php29
-rw-r--r--view/theme/redbasic/css/style.css9
-rw-r--r--view/tpl/app.tpl2
-rwxr-xr-xview/tpl/apps.tpl11
10 files changed, 60 insertions, 42 deletions
diff --git a/app/bookmarks.apd b/app/bookmarks.apd
index f126a35c5..6c3d718a8 100644
--- a/app/bookmarks.apd
+++ b/app/bookmarks.apd
@@ -1,4 +1,4 @@
url: $baseurl/bookmarks
requires: local_user
-name: Bookmarks
+name: View bookmarks
photo: $baseurl/app/bookmarks.png
diff --git a/app/chat.apd b/app/chat.apd
index 2eba8edba..249608f57 100644
--- a/app/chat.apd
+++ b/app/chat.apd
@@ -1,4 +1,4 @@
url: $baseurl/chat/$nick
requires: local_user
-name: Chat
+name: My chatrooms
photo: $baseurl/app/chat.png
diff --git a/app/probe.apd b/app/probe.apd
index c96399391..e2d2428a0 100644
--- a/app/probe.apd
+++ b/app/probe.apd
@@ -1,4 +1,4 @@
url: $baseurl/probe
requires: local_user
-name: Probe
+name: Remote diagnostics
photo: $baseurl/app/probe.png
diff --git a/app/suggest.apd b/app/suggest.apd
index ff82a73d3..f4ca79410 100644
--- a/app/suggest.apd
+++ b/app/suggest.apd
@@ -1,4 +1,4 @@
url: $baseurl/suggest
requires: local_user
-name: Suggest
+name: Suggest channels
photo: $baseurl/app/suggest.png
diff --git a/app/webpages.apd b/app/webpages.apd
index 4241dbb8e..7c7528d6b 100644
--- a/app/webpages.apd
+++ b/app/webpages.apd
@@ -1,4 +1,4 @@
url: $baseurl/webpages/$nick
-requires: local_user
+requires: local_user, webpages
name: Webpages
photo: $baseurl/app/webpages.png
diff --git a/doc/hidden_configs.bb b/doc/hidden_configs.bb
index 727428176..bf9705920 100644
--- a/doc/hidden_configs.bb
+++ b/doc/hidden_configs.bb
@@ -106,24 +106,29 @@ This document assumes you're an administrator.
list of names (no spaces)
[b]system > auto_follow[/b]
Make the first channel of an account auto-follow channels listed here - comma separated list of webbies (member@hub addresses).
- [b]system > admin_email[/b]
- Specifies the administrators email for this site. This is initially set during install.
- [b]system > cron_hour[/b]
- Specify an hour in which to run cron_daily. By default with no config, this will run at midnight UTC.
- [b]system > minimum_feedcheck_minutes[/b]
- The minimum interval between polling RSS feeds. If this is lower than the cron interval, feeds will be polled with each cronjob
- [b]system > blacklisted_sites[/b]
- An array of specific hubs to block from this hub completely.
- [b]system > ignore_imagick[/b]
- Ignore imagick and use GD, even if imagick is installed on the server. Prevents some issues with PNG files in older versions of imagick.
- [b]system > no_age_restriction[/b]
- Do not restric registration to people over the age of 13
- [b]system > override_poll_lockfile[/b]
- Ignore the lock file in the poller process to allow more than one process to run at a time.
- [b]system > projecthome[/b]
- Display the project page on your home page for logged out viewers.
- [b]system > sellpage[/b]
- A URL shown in the public sites list to sell your hub - display service classes, etc.
+ [b]system > admin_email[/b]
+ Specifies the administrators email for this site. This is initially set during install.
+ [b]system > cron_hour[/b]
+ Specify an hour in which to run cron_daily. By default with no config, this will run at midnight UTC.
+ [b]system > minimum_feedcheck_minutes[/b]
+ The minimum interval between polling RSS feeds. If this is lower than the cron interval, feeds will be polled with each cronjob
+ [b]system > blacklisted_sites[/b]
+ An array of specific hubs to block from this hub completely.
+ [b]system > ignore_imagick[/b]
+ Ignore imagick and use GD, even if imagick is installed on the server. Prevents some issues with PNG files in older versions of imagick.
+ [b]system > no_age_restriction[/b]
+ Do not restric registration to people over the age of 13
+ [b]system > override_poll_lockfile[/b]
+ Ignore the lock file in the poller process to allow more than one process to run at a time.
+ [b]system > projecthome[/b]
+ Display the project page on your home page for logged out viewers.
+ [b]system > sellpage[/b]
+ A URL shown in the public sites list to sell your hub - display service classes, etc.
+ [b]randprofile > check[/b]
+ When requesting a random profile, check that it actually exists first
+ [b]randprofile > retry[/b]
+ Number of times to retry getting a random profile
+
#include doc/macros/main_footer.bb;
diff --git a/include/Contact.php b/include/Contact.php
index 4fd43db44..4b45a2392 100644
--- a/include/Contact.php
+++ b/include/Contact.php
@@ -581,12 +581,29 @@ function contact_remove($channel_id, $abook_id) {
function random_profile() {
$randfunc = db_getfunc('rand');
- $r = q("select xchan_url from xchan left join hubloc on hubloc_hash = xchan_hash where hubloc_connected > %s - interval %s order by $randfunc limit 1",
- db_utcnow(), db_quoteinterval('30 day')
- );
- if($r)
- return $r[0]['xchan_url'];
+
+ $checkrandom = get_config('randprofile','check'); // False by default
+ $retryrandom = intval(get_config('randprofile','retry'));
+ if($retryrandom === false) $retryrandom = 5;
+
+ for($i = 0; $i < $retryrandom; $i++) {
+ $r = q("select xchan_url from xchan left join hubloc on hubloc_hash = xchan_hash where hubloc_connected > %s - interval %s order by $randfunc limit 1",
+ db_utcnow(), db_quoteinterval('30 day')
+ );
+
+ if(!$r) return ''; // Couldn't get a random channel
+
+ if($checkrandom) {
+ if(z_fetch_url($r[0]['xchan_url'])['success'])
+ return $r[0]['xchan_url'];
+ else
+ logger('Random channel turned out to be bad.');
+ }
+ else {
+ return $r[0]['xchan_url'];
+ }
+
+ }
return '';
}
-
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index d0b86982a..0d1f45bda 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -583,10 +583,17 @@ footer {
}
.app-name {
- width: 125px;
overflow: none;
}
+.app-container img {
+ margin-left: auto;
+ margin-right: auto;
+ width: 80px;
+ height: 80px;
+ display: block;
+}
+
.pager {
padding: 10px;
diff --git a/view/tpl/app.tpl b/view/tpl/app.tpl
index 4719f7f96..9f0b1746b 100644
--- a/view/tpl/app.tpl
+++ b/view/tpl/app.tpl
@@ -1,6 +1,6 @@
<div class="app-container">
<a href="{{$app.url}}" {{if $ap.target}}target="{{$ap.target}}" {{/if}}{{if $app.desc}}title="{{$app.desc}}{{if $app.price}} ({{$app.price}}){{/if}}"{{else}}title="{{$app.name}}"{{/if}}><img src="{{$app.photo}}" width="80" height="80" />
-<div class="app-name">{{$app.name}}</div>
+<div class="app-name" style="text-align:center;">{{$app.name}}</div>
</a>
{{if $app.type !== 'system'}}
{{if $purchase}}
diff --git a/view/tpl/apps.tpl b/view/tpl/apps.tpl
deleted file mode 100755
index d8e538cb7..000000000
--- a/view/tpl/apps.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-<h3>{{$title}}</h3>
-
-{{foreach $apps as $ap}}
-<div class="app-container">
-<a href="{{$ap.url}}" {{if $ap.target}}target="{{$ap.target}}" {{/if}}{{if $ap.hover}}title="{{$ap.hover}}"{{/if}}><img src="{{$ap.photo}}" width="80" height="80" />
-<div class="app-name">{{$ap.name}}</div>
-</a>
-</div>
-{{/foreach}}
-<div class="clear"></div>
-