aboutsummaryrefslogtreecommitdiffstats
path: root/mod
diff options
context:
space:
mode:
Diffstat (limited to 'mod')
-rw-r--r--mod/admin.php22
-rw-r--r--mod/dirprofile.php4
-rw-r--r--mod/editpost.php12
-rw-r--r--mod/online.php11
-rw-r--r--mod/photos.php4
-rw-r--r--mod/ping.php29
-rw-r--r--mod/rpost.php6
-rw-r--r--mod/settings.php7
8 files changed, 90 insertions, 5 deletions
diff --git a/mod/admin.php b/mod/admin.php
index 70a753c46..950c7e5ce 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -468,6 +468,28 @@ function admin_page_site(&$a) {
}
function admin_page_hubloc_post(&$a){
check_form_security_token_redirectOnErr('/admin/hubloc', 'admin_hubloc');
+
+ //prepare for ping
+
+ if ( $_POST['hublocid']) {
+ $hublocid = $_POST['hublocid'];
+ $arrhublocurl = q("SELECT hubloc_url FROM hubloc WHERE hubloc_id = %d ",
+ intval($hublocid)
+ );
+ $hublocurl = $arrhublocurl[0]['hubloc_url'] . '/post';
+ logger('hubloc_url : ' . $hublocurl , LOGGER_DEBUG);
+ }
+
+ //if ( $_POST'' == "check" ) {
+ // //todo
+ //}
+
+ //perform ping
+ //handle results and set the hubloc flags in db to make results visible
+
+ //in case of repair store new pub key for tested hubloc (all channel with this hubloc) in db
+ //after repair set hubloc flags to 0
+
goaway($a->get_baseurl(true) . '/admin/hubloc' );
return;
}
diff --git a/mod/dirprofile.php b/mod/dirprofile.php
index 1593b014a..d88144f52 100644
--- a/mod/dirprofile.php
+++ b/mod/dirprofile.php
@@ -74,6 +74,9 @@ function dirprofile_init(&$a) {
$qrlink = zid($rr['url']);
$connect_link = ((local_user()) ? z_root() . '/follow?f=&url=' . urlencode($rr['address']) : '');
+ $online = remote_online_status($rr['address']);
+
+
if(in_array($rr['hash'],$contacts))
$connect_link = '';
@@ -151,6 +154,7 @@ function dirprofile_init(&$a) {
'$photo' => $rr['photo_l'],
'$alttext' => $rr['name'] . ' ' . $rr['address'],
'$name' => $rr['name'],
+ '$online' => (($online) ? t('Online Now') : ''),
'$details' => $pdesc . $details,
'$profile' => $profile,
'$address' => $rr['address'],
diff --git a/mod/editpost.php b/mod/editpost.php
index 7cc33d60d..918a70d36 100644
--- a/mod/editpost.php
+++ b/mod/editpost.php
@@ -92,6 +92,11 @@ function editpost_content(&$a) {
}
+ $cipher = get_pconfig(get_app()->profile['profile_uid'],'system','default_cipher');
+ if(! $cipher)
+ $cipher = 'aes256';
+
+
$o .= replace_macros($tpl,array(
'$return_path' => $_SESSION['return_url'],
'$action' => 'item',
@@ -128,11 +133,12 @@ function editpost_content(&$a) {
'$jotplugins' => $jotplugins,
'$sourceapp' => t($a->sourcename),
'$catsenabled' => $catsenabled,
- '$defexpire' => $itm[0]['expires'],
- '$feature_expire' => 'none',
+ '$defexpire' => datetime_convert('UTC', date_default_timezone_get(),$itm[0]['expires']),
+ '$feature_expire' => ((feature_enabled(get_app()->profile['profile_uid'],'content_expire') && (! $webpage)) ? 'block' : 'none'),
'$expires' => t('Set expiration date'),
- '$feature_encrypt' => 'none',
+ '$feature_encrypt' => ((feature_enabled(get_app()->profile['profile_uid'],'content_encrypt') && (! $webpage)) ? 'block' : 'none'),
'$encrypt' => t('Encrypt text'),
+ '$cipher' => $cipher,
'$expiryModalOK' => t('OK'),
'$expiryModalCANCEL' => t('Cancel'),
));
diff --git a/mod/online.php b/mod/online.php
new file mode 100644
index 000000000..c6500347a
--- /dev/null
+++ b/mod/online.php
@@ -0,0 +1,11 @@
+<?php /** @file */
+
+function online_init(&$a) {
+
+ $ret = array('result' => false);
+ if(argc() != 2)
+ json_return_and_die($ret);
+
+ $ret = get_online_status(argv(1));
+ json_return_and_die($ret);
+}
diff --git a/mod/photos.php b/mod/photos.php
index 23733e121..c299fe778 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -778,6 +778,8 @@ function photos_content(&$a) {
return;
}
+
+
$prevlink = '';
$nextlink = '';
@@ -898,6 +900,8 @@ function photos_content(&$a) {
}
}
+// logger('mod_photo: link_item' . print_r($link_item,true));
+
// FIXME - remove this when we move to conversation module
$r = $r[0]['children'];
diff --git a/mod/ping.php b/mod/ping.php
index dda87dec2..2d5deb9ad 100644
--- a/mod/ping.php
+++ b/mod/ping.php
@@ -43,6 +43,35 @@ function ping_init(&$a) {
unset($_SESSION['sysmsg_info']);
}
+ if(get_observer_hash() && (! $result['invalid'])) {
+ $r = q("select cp_id, cp_room from chatpresence where cp_xchan = '%s' and cp_client = '%s'",
+ dbesc(get_observer_hash()),
+ dbesc($_SERVER['REMOTE_ADDR'])
+ );
+ $basic_presence = false;
+ if($r) {
+ foreach($r as $rr) {
+ if($rr['cp_room'] == 0)
+ $basic_presence = true;
+ q("update chatpresence set cp_last = '%s' where cp_id = %d limit 1",
+ dbesc(datetime_convert()),
+ intval($rr['cp_id'])
+ );
+ }
+ }
+ if(! $basic_presence) {
+ q("insert into chatpresence ( cp_xchan, cp_last, cp_status, cp_client)
+ values( '%s', '%s', '%s', '%s' ) ",
+ dbesc(get_observer_hash()),
+ dbesc(datetime_convert()),
+ dbesc('online'),
+ dbesc($_SERVER['REMOTE_ADDR'])
+ );
+ }
+ }
+
+ q("delete from chatpresence where cp_last < UTC_TIMESTAMP() - INTERVAL 3 MINUTE");
+
if((! local_user()) || ($result['invalid'])) {
echo json_encode($result);
killme();
diff --git a/mod/rpost.php b/mod/rpost.php
index 8e01ef5d4..852a57d78 100644
--- a/mod/rpost.php
+++ b/mod/rpost.php
@@ -65,8 +65,10 @@ function rpost_content(&$a) {
if($_REQUEST['remote_return']) {
$_SESSION['remote_return'] = $_REQUEST['remote_return'];
}
- if(argc() > 1 && argv(1) === 'return' && $_SESSION['remote_return']) {
- goaway($_SESSION['remote_return']);
+ if(argc() > 1 && argv(1) === 'return') {
+ if($_SESSION['remote_return'])
+ goaway($_SESSION['remote_return']);
+ goaway(z_root() . '/network');
}
$plaintext = true;
diff --git a/mod/settings.php b/mod/settings.php
index ee6ef45de..7ff76cd3e 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -266,6 +266,7 @@ function settings_post(&$a) {
$expire_network_only = ((x($_POST,'expire_network_only'))? intval($_POST['expire_network_only']) : 0);
$allow_location = (((x($_POST,'allow_location')) && (intval($_POST['allow_location']) == 1)) ? 1: 0);
+ $hide_presence = (((x($_POST,'hide_presence')) && (intval($_POST['hide_presence']) == 1)) ? 1: 0);
$publish = (((x($_POST,'profile_in_directory')) && (intval($_POST['profile_in_directory']) == 1)) ? 1: 0);
$page_flags = (((x($_POST,'page-flags')) && (intval($_POST['page-flags']))) ? intval($_POST['page-flags']) : 0);
@@ -395,6 +396,7 @@ function settings_post(&$a) {
set_pconfig(local_user(),'system','post_joingroup', $post_joingroup);
set_pconfig(local_user(),'system','post_profilechange', $post_profilechange);
set_pconfig(local_user(),'system','blocktags',$blocktags);
+ set_pconfig(local_user(),'system','hide_online_status',$hide_presence);
$r = q("update channel set channel_name = '%s', channel_pageflags = %d, channel_timezone = '%s', channel_location = '%s', channel_notifyflags = %d, channel_max_anon_mail = %d, channel_max_friend_req = %d, channel_expire_days = %d, channel_default_group = '%s', channel_r_stream = %d, channel_r_profile = %d, channel_r_photos = %d, channel_r_abook = %d, channel_w_stream = %d, channel_w_wall = %d, channel_w_tagwall = %d, channel_w_comment = %d, channel_w_mail = %d, channel_w_photos = %d, channel_w_chat = %d, channel_a_delegate = %d, channel_r_storage = %d, channel_w_storage = %d, channel_r_pages = %d, channel_w_pages = %d, channel_a_republish = %d, channel_allow_cid = '%s', channel_allow_gid = '%s', channel_deny_cid = '%s', channel_deny_gid = '%s' where channel_id = %d limit 1",
@@ -821,6 +823,9 @@ function settings_content(&$a) {
$unkmail = $a->user['unkmail'];
$cntunkmail = $a->user['cntunkmail'];
+ $hide_presence = intval(get_pconfig(local_user(), 'system','hide_online_status'));
+
+
$expire_items = get_pconfig(local_user(), 'expire','items');
$expire_items = (($expire_items===false)? '1' : $expire_items); // default if not set: 1
@@ -918,6 +923,8 @@ function settings_content(&$a) {
'$h_prv' => t('Security and Privacy Settings'),
+ '$hide_presence' => array('hide_presence', t('Hide my online presence'),$hide_presence, t('Prevents showing if you are available for chat')),
+
'$lbl_pmacro' => t('Quick Privacy Settings:'),
'$pmacro3' => t('Very Public - extremely permissive'),
'$pmacro2' => t('Typical - default public, privacy when desired'),