From 82a4bbd571131462bbff1cb2455af46747f3b840 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Sun, 15 Jul 2018 23:32:09 -0700 Subject: spellcheck --- Zotlabs/Module/Settings/Oauth2.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Oauth2.php b/Zotlabs/Module/Settings/Oauth2.php index 985095115..f58d01d8c 100644 --- a/Zotlabs/Module/Settings/Oauth2.php +++ b/Zotlabs/Module/Settings/Oauth2.php @@ -115,8 +115,8 @@ class Oauth2 { '$name' => array('name', t('Name'), $app['client_id'], t('Name of application')), '$secret' => array('secret', t('Consumer Secret'), $app['client_secret'], t('Automatically generated - change if desired. Max length 20')), '$redirect' => array('redirect', t('Redirect'), $app['redirect_uri'], t('Redirect URI - leave blank unless your application specifically requires this')), - '$grant' => array('grant', t('Grant Types'), $app['grant_types'], t('leave blank unless your application sepcifically requires this')), - '$scope' => array('scope', t('Authorization scope'), $app['scope'], t('leave blank unless your application sepcifically requires this')), + '$grant' => array('grant', t('Grant Types'), $app['grant_types'], t('leave blank unless your application specifically requires this')), + '$scope' => array('scope', t('Authorization scope'), $app['scope'], t('leave blank unless your application specifically requires this')), )); return $o; } -- cgit v1.2.3 From 5ce50d0a2e15ae66765a68ba2785a87ecda57f6a Mon Sep 17 00:00:00 2001 From: zotlabs Date: Wed, 18 Jul 2018 17:05:38 -0700 Subject: mangled urls on redirects --- Zotlabs/Module/Magic.php | 7 ++++--- Zotlabs/Module/Manage.php | 2 +- Zotlabs/Module/Nojs.php | 4 ++-- Zotlabs/Module/Rmagic.php | 10 +++++----- 4 files changed, 12 insertions(+), 11 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Magic.php b/Zotlabs/Module/Magic.php index 25c318f30..e034f1cdf 100644 --- a/Zotlabs/Module/Magic.php +++ b/Zotlabs/Module/Magic.php @@ -14,15 +14,16 @@ class Magic extends \Zotlabs\Web\Controller { logger('mod_magic: args: ' . print_r($_REQUEST,true),LOGGER_DATA); $addr = ((x($_REQUEST,'addr')) ? $_REQUEST['addr'] : ''); + $bdest = ((x($_REQUEST,'bdest')) ? $_REQUEST['bdest'] : ''); $dest = ((x($_REQUEST,'dest')) ? $_REQUEST['dest'] : ''); $test = ((x($_REQUEST,'test')) ? intval($_REQUEST['test']) : 0); $rev = ((x($_REQUEST,'rev')) ? intval($_REQUEST['rev']) : 0); $owa = ((x($_REQUEST,'owa')) ? intval($_REQUEST['owa']) : 0); $delegate = ((x($_REQUEST,'delegate')) ? $_REQUEST['delegate'] : ''); - // Apache(?) appears to perform an htmlentities() operation on this variable - - $dest = html_entity_decode($dest); + + if($bdest) + $dest = hex2bin($bdest); $parsed = parse_url($dest); if(! $parsed) { diff --git a/Zotlabs/Module/Manage.php b/Zotlabs/Module/Manage.php index 9c5c32294..2c88a4df0 100644 --- a/Zotlabs/Module/Manage.php +++ b/Zotlabs/Module/Manage.php @@ -156,7 +156,7 @@ class Manage extends \Zotlabs\Web\Controller { if($delegates) { for($x = 0; $x < count($delegates); $x ++) { - $delegates[$x]['link'] = 'magic?f=&dest=' . urlencode($delegates[$x]['xchan_url']) + $delegates[$x]['link'] = 'magic?f=&bdest=' . bin2hex($delegates[$x]['xchan_url']) . '&delegate=' . urlencode($delegates[$x]['xchan_addr']); $delegates[$x]['channel_name'] = $delegates[$x]['xchan_name']; $delegates[$x]['delegate'] = 1; diff --git a/Zotlabs/Module/Nojs.php b/Zotlabs/Module/Nojs.php index 6fd6d8106..5f3d80ecd 100644 --- a/Zotlabs/Module/Nojs.php +++ b/Zotlabs/Module/Nojs.php @@ -7,8 +7,8 @@ class Nojs extends \Zotlabs\Web\Controller { function init() { $n = ((argc() > 1) ? intval(argv(1)) : 1); setcookie('jsdisabled', $n, 0, '/'); - $p = $_GET['redir']; - $hasq = strpos($p,'?'); + $p = hex2bin($_GET['redir']); + $hasq = strpbrk($p,'?&'); goaway(z_root() . (($p) ? '/' . $p : '') . (($hasq) ? '' : '?f=' ) . '&jsdisabled=' . $n); } diff --git a/Zotlabs/Module/Rmagic.php b/Zotlabs/Module/Rmagic.php index bfc03f6ec..33a6689ca 100644 --- a/Zotlabs/Module/Rmagic.php +++ b/Zotlabs/Module/Rmagic.php @@ -17,8 +17,8 @@ class Rmagic extends \Zotlabs\Web\Controller { if($r) { if($r[0]['hubloc_url'] === z_root()) goaway(z_root() . '/login'); - $dest = z_root() . '/' . str_replace(['rmagic','zid='],['','zid_='],\App::$query_string); - goaway($r[0]['hubloc_url'] . '/magic' . '?f=&owa=1&dest=' . $dest); + $dest = bin2hex(z_root() . '/' . str_replace(['rmagic','zid='],['','zid_='],\App::$query_string)); + goaway($r[0]['hubloc_url'] . '/magic' . '?f=&owa=1&bdest=' . $dest); } } } @@ -59,11 +59,11 @@ class Rmagic extends \Zotlabs\Web\Controller { if($url) { if($_SESSION['return_url']) - $dest = urlencode(z_root() . '/' . str_replace('zid=','zid_=',$_SESSION['return_url'])); + $dest = bin2hex(z_root() . '/' . str_replace('zid=','zid_=',$_SESSION['return_url'])); else - $dest = urlencode(z_root() . '/' . str_replace([ 'rmagic', 'zid=' ] ,[ '', 'zid_='],\App::$query_string)); + $dest = bin2hex(z_root() . '/' . str_replace([ 'rmagic', 'zid=' ] ,[ '', 'zid_='],\App::$query_string)); - goaway($url . '/magic' . '?f=&owa=1&dest=' . $dest); + goaway($url . '/magic' . '?f=&owa=1&bdest=' . $dest); } } } -- cgit v1.2.3 From a05c8ff66bd8d09f69f6c59bc49b7627792f4109 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Wed, 18 Jul 2018 17:48:23 -0700 Subject: query filter was a bit greedy --- Zotlabs/Module/Magic.php | 1 - 1 file changed, 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Magic.php b/Zotlabs/Module/Magic.php index e034f1cdf..be6866592 100644 --- a/Zotlabs/Module/Magic.php +++ b/Zotlabs/Module/Magic.php @@ -21,7 +21,6 @@ class Magic extends \Zotlabs\Web\Controller { $owa = ((x($_REQUEST,'owa')) ? intval($_REQUEST['owa']) : 0); $delegate = ((x($_REQUEST,'delegate')) ? $_REQUEST['delegate'] : ''); - if($bdest) $dest = hex2bin($bdest); -- cgit v1.2.3 From b0c8e75c6e1621470e360f42eff1454241e41e8b Mon Sep 17 00:00:00 2001 From: kostikov Date: Wed, 25 Jul 2018 22:28:21 +0200 Subject: Fix duplicate transport displaying --- Zotlabs/Module/Siteinfo.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Siteinfo.php b/Zotlabs/Module/Siteinfo.php index 25276815d..79b94662d 100644 --- a/Zotlabs/Module/Siteinfo.php +++ b/Zotlabs/Module/Siteinfo.php @@ -32,7 +32,7 @@ class Siteinfo extends \Zotlabs\Web\Controller { '$transport_link' => 'https://zotlabs.com', '$additional_text' => t('Additional federated transport protocols:'), - '$additional_fed' => implode(',',$federated), + '$additional_fed' => implode(', ',array_unique($federated)), '$prj_version' => ((get_config('system','hidden_version_siteinfo')) ? '' : sprintf( t('Version %s'), \Zotlabs\Lib\System::get_project_version())), '$prj_linktxt' => t('Project homepage'), '$prj_srctxt' => t('Developer homepage'), -- cgit v1.2.3 From e8aeecc4c9842d4c6b25f7b488ede9644afc5d78 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Mon, 30 Jul 2018 17:41:37 -0700 Subject: When checking permissions ignore checking site "Block Public" settings in cases where site permissions aren't applicable --- Zotlabs/Module/Connedit.php | 2 +- Zotlabs/Module/Defperms.php | 1 - Zotlabs/Module/Settings/Tokens.php | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Connedit.php b/Zotlabs/Module/Connedit.php index cb9c19cf0..712215bc3 100644 --- a/Zotlabs/Module/Connedit.php +++ b/Zotlabs/Module/Connedit.php @@ -774,7 +774,7 @@ class Connedit extends \Zotlabs\Web\Controller { $global_perms = \Zotlabs\Access\Permissions::Perms(); - $existing = get_all_perms(local_channel(),$contact['abook_xchan']); + $existing = get_all_perms(local_channel(),$contact['abook_xchan'],false); $unapproved = array('pending', t('Approve this connection'), '', t('Accept connection to allow communication'), array(t('No'),('Yes'))); diff --git a/Zotlabs/Module/Defperms.php b/Zotlabs/Module/Defperms.php index 97d9cfd1d..63acc9795 100644 --- a/Zotlabs/Module/Defperms.php +++ b/Zotlabs/Module/Defperms.php @@ -209,7 +209,6 @@ class Defperms extends \Zotlabs\Web\Controller { $global_perms = \Zotlabs\Access\Permissions::Perms(); - $existing = get_all_perms(local_channel(),$contact['abook_xchan']); $hidden_perms = []; foreach($global_perms as $k => $v) { diff --git a/Zotlabs/Module/Settings/Tokens.php b/Zotlabs/Module/Settings/Tokens.php index 619c8b5ba..e59cf8d1c 100644 --- a/Zotlabs/Module/Settings/Tokens.php +++ b/Zotlabs/Module/Settings/Tokens.php @@ -117,7 +117,7 @@ class Tokens { $global_perms = \Zotlabs\Access\Permissions::Perms(); $their_perms = []; - $existing = get_all_perms(local_channel(),(($atoken_xchan) ? $atoken_xchan : '')); + $existing = get_all_perms(local_channel(),(($atoken_xchan) ? $atoken_xchan : ''),false); if($atoken_xchan) { $theirs = q("select * from abconfig where chan = %d and xchan = '%s' and cat = 'their_perms'", -- cgit v1.2.3 From d908f53607512b8bfa3fbf65cb6fc9623fab5c63 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Thu, 2 Aug 2018 22:49:30 -0700 Subject: add app_options field --- Zotlabs/Module/Probe.php | 7 +++---- Zotlabs/Module/Zfinger.php | 4 ---- 2 files changed, 3 insertions(+), 8 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Probe.php b/Zotlabs/Module/Probe.php index 2e65f107c..2c67c6aae 100644 --- a/Zotlabs/Module/Probe.php +++ b/Zotlabs/Module/Probe.php @@ -27,12 +27,11 @@ class Probe extends \Zotlabs\Web\Controller { $o .= '
';
 			if(! $j['success']) {
-				$o .= sprintf( t('Fetching URL returns error: %1$s'),$res['error'] . "\r\n\r\n");
 				$o .= "https connection failed. Trying again with auto failover to http.\r\n\r\n";
 				$j = \Zotlabs\Zot\Finger::run($addr,$channel,true);
-				if(! $j['success']) 
-					$o .= sprintf( t('Fetching URL returns error: %1$s'),$res['error'] . "\r\n\r\n");
-	
+				if(! $j['success']) {
+					return $o;	
+				}
 			}
 			if($do_import && $j)
 				$x = import_xchan($j);
diff --git a/Zotlabs/Module/Zfinger.php b/Zotlabs/Module/Zfinger.php
index 0f7f6a64b..6ed001df5 100644
--- a/Zotlabs/Module/Zfinger.php
+++ b/Zotlabs/Module/Zfinger.php
@@ -36,10 +36,6 @@ class Zfinger extends \Zotlabs\Web\Controller {
 
 		echo $ret;
 		killme();
-
-
-
-		json_return_and_die($x);
 	
 	}
 	
-- 
cgit v1.2.3


From 166879b8b04f8656a0ef105c319b8b4a82626bd9 Mon Sep 17 00:00:00 2001
From: zotlabs 
Date: Mon, 6 Aug 2018 17:43:22 -0700
Subject: bring some Zot6 libraries and interfaces to red/hubzilla

---
 Zotlabs/Module/Zot.php | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 Zotlabs/Module/Zot.php

(limited to 'Zotlabs/Module')

diff --git a/Zotlabs/Module/Zot.php b/Zotlabs/Module/Zot.php
new file mode 100644
index 000000000..8c34dced1
--- /dev/null
+++ b/Zotlabs/Module/Zot.php
@@ -0,0 +1,25 @@
+run(),'application/x-zot+jzon');
+	}
+
+}
-- 
cgit v1.2.3


From d3362dfa0c7e1cbd76342e83c480effc1b8765f8 Mon Sep 17 00:00:00 2001
From: Max Kostikov 
Date: Fri, 10 Aug 2018 16:56:22 +0200
Subject: Add translation for missed string

---
 Zotlabs/Module/Admin/Site.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'Zotlabs/Module')

diff --git a/Zotlabs/Module/Admin/Site.php b/Zotlabs/Module/Admin/Site.php
index 292de4c3a..5912a7c97 100644
--- a/Zotlabs/Module/Admin/Site.php
+++ b/Zotlabs/Module/Admin/Site.php
@@ -332,7 +332,7 @@ class Site {
 			'$register_policy'	=> array('register_policy', t("Does this site allow new member registration?"), get_config('system','register_policy'), "", $register_choices),
 			'$invite_only'		=> array('invite_only', t("Invitation only"), get_config('system','invitation_only'), t("Only allow new member registrations with an invitation code. Above register policy must be set to Yes.")),
 			'$minimum_age'		=> array('minimum_age', t("Minimum age"), (x(get_config('system','minimum_age'))?get_config('system','minimum_age'):13), t("Minimum age (in years) for who may register on this site.")),
-			'$access_policy'	=> array('access_policy', t("Which best describes the types of account offered by this hub?"), get_config('system','access_policy'), "This is displayed on the public server site list.", $access_choices),
+			'$access_policy'	=> array('access_policy', t("Which best describes the types of account offered by this hub?"), get_config('system','access_policy'), t("This is displayed on the public server site list."), $access_choices),
 			'$register_text'	=> array('register_text', t("Register text"), htmlspecialchars(get_config('system','register_text'), ENT_QUOTES, 'UTF-8'), t("Will be displayed prominently on the registration page.")),
 			'$role'         => $role,
 			'$frontpage'	=> array('frontpage', t("Site homepage to show visitors (default: login box)"), get_config('system','frontpage'), t("example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file.")),
-- 
cgit v1.2.3


From 0b31c677f253907ee9a36e12ae51763b2d69a574 Mon Sep 17 00:00:00 2001
From: "M.Dent" 
Date: Thu, 9 Aug 2018 22:35:12 -0400
Subject: Fixes to OAuth2 connect-with-openid.  Add zothash Claim.  Add
 zotwebbie Claim.

---
 Zotlabs/Module/Authorize.php | 12 ++++++++----
 Zotlabs/Module/Token.php     |  8 ++++----
 Zotlabs/Module/Userinfo.php  | 17 +++++++++++++++++
 3 files changed, 29 insertions(+), 8 deletions(-)
 create mode 100644 Zotlabs/Module/Userinfo.php

(limited to 'Zotlabs/Module')

diff --git a/Zotlabs/Module/Authorize.php b/Zotlabs/Module/Authorize.php
index bfb76150f..e042848d8 100644
--- a/Zotlabs/Module/Authorize.php
+++ b/Zotlabs/Module/Authorize.php
@@ -60,12 +60,16 @@ class Authorize extends \Zotlabs\Web\Controller {
 		$request = \OAuth2\Request::createFromGlobals();
 		$response = new \OAuth2\Response();
 
+                // Note, "sub" field must match type and content. $user_id is used to populate - make sure it's a string. 
+                $channel = channelx_by_n(local_channel());
+		$user_id = $channel["channel_id"];
+
 		// If the client is not registered, add to the database
 		if (!$client = $storage->getClientDetails($client_id)) {
-			$client_secret = random_string(16);
+                        // Until "Dynamic Client Registration" is pursued - allow new clients to assign their own secret in the REQUEST
+			$client_secret = (isset($_REQUEST["client_secret"])) ? $_REQUEST["client_secret"] : random_string(16);
 			// Client apps are registered per channel
-			$user_id = local_channel();
-			$storage->setClientDetails($client_id, $client_secret, $redirect_uri, 'authorization_code', null, $user_id);
+			$storage->setClientDetails($client_id, $client_secret, $redirect_uri, 'authorization_code', urldecode($_REQUEST["scope"]), $user_id);
 			
 		}
 		if (!$client = $storage->getClientDetails($client_id)) {
@@ -83,7 +87,7 @@ class Authorize extends \Zotlabs\Web\Controller {
 
 		// print the authorization code if the user has authorized your client
 		$is_authorized = ($_POST['authorize'] === 'allow');
-		$s->handleAuthorizeRequest($request, $response, $is_authorized, local_channel());
+		$s->handleAuthorizeRequest($request, $response, $is_authorized, $user_id);
 		if ($is_authorized) {
 			$code = substr($response->getHttpHeader('Location'), strpos($response->getHttpHeader('Location'), 'code=') + 5, 40);
 			logger('Authorization Code: ' .  $code);
diff --git a/Zotlabs/Module/Token.php b/Zotlabs/Module/Token.php
index 32cf95c61..2bd33c761 100644
--- a/Zotlabs/Module/Token.php
+++ b/Zotlabs/Module/Token.php
@@ -27,11 +27,11 @@ class Token extends \Zotlabs\Web\Controller {
 				$_SERVER['PHP_AUTH_PW'] = $password;
 			}
 		}
-
-		$s = new \Zotlabs\Identity\OAuth2Server(new OAuth2Storage(\DBA::$dba->db));
+                $storage = new OAuth2Storage(\DBA::$dba->db);
+		$s = new \Zotlabs\Identity\OAuth2Server($storage);
 		$request = \OAuth2\Request::createFromGlobals();
-		$s->handleTokenRequest($request)->send();
-
+		$response = $s->handleTokenRequest($request);
+                $response->send();
 		killme();
 	}
 
diff --git a/Zotlabs/Module/Userinfo.php b/Zotlabs/Module/Userinfo.php
new file mode 100644
index 000000000..6c881f078
--- /dev/null
+++ b/Zotlabs/Module/Userinfo.php
@@ -0,0 +1,17 @@
+db));
+		$request = \OAuth2\Request::createFromGlobals();
+		$s->handleUserInfoRequest($request)->send();
+		killme();
+	}
+
+}
-- 
cgit v1.2.3


From e587fe5ce84ed5c248287eb55c6ae193ebd3222b Mon Sep 17 00:00:00 2001
From: "M.Dent" 
Date: Fri, 10 Aug 2018 12:44:57 -0400
Subject: Add user_id = local_channel() to the where clause of updates

---
 Zotlabs/Module/Settings/Oauth2.php | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

(limited to 'Zotlabs/Module')

diff --git a/Zotlabs/Module/Settings/Oauth2.php b/Zotlabs/Module/Settings/Oauth2.php
index 985095115..52da20598 100644
--- a/Zotlabs/Module/Settings/Oauth2.php
+++ b/Zotlabs/Module/Settings/Oauth2.php
@@ -45,14 +45,15 @@ class Oauth2 {
 								grant_types = '%s',
 								scope = '%s', 
 								user_id = %d
-							WHERE client_id='%s'",
+							WHERE client_id='%s' and user_id = %s",
 							dbesc($name),
 							dbesc($secret),
 							dbesc($redirect),
 							dbesc($grant),
 							dbesc($scope),
 							intval(local_channel()),
-							dbesc($name));
+							dbesc($name),
+                                                        intval(local_channel()));
 				} else {
 					$r = q("INSERT INTO oauth_clients (client_id, client_secret, redirect_uri, grant_types, scope, user_id)
 						VALUES ('%s','%s','%s','%s','%s',%d)",
-- 
cgit v1.2.3


From af042ccf07b00af70b5e7844747dde9a263c697c Mon Sep 17 00:00:00 2001
From: "M.Dent" 
Date: Fri, 10 Aug 2018 13:51:45 -0400
Subject: OAuth2 UI and settings updates

---
 Zotlabs/Module/Settings/Oauth2.php | 30 ++++++++++++++++++++++++++----
 1 file changed, 26 insertions(+), 4 deletions(-)

(limited to 'Zotlabs/Module')

diff --git a/Zotlabs/Module/Settings/Oauth2.php b/Zotlabs/Module/Settings/Oauth2.php
index 52da20598..91abd1de3 100644
--- a/Zotlabs/Module/Settings/Oauth2.php
+++ b/Zotlabs/Module/Settings/Oauth2.php
@@ -10,10 +10,19 @@ class Oauth2 {
 	
 		if(x($_POST,'remove')){
 			check_form_security_token_redirectOnErr('/settings/oauth2', 'settings_oauth2');
-			
+			$name   	= ((x($_POST,'name')) ? escape_tags(trim($_POST['name'])) : '');
+		logger("REMOVE! ".$name." uid: ".local_channel());	
 			$key = $_POST['remove'];
-			q("DELETE FROM tokens WHERE id='%s' AND uid=%d",
-				dbesc($key),
+			q("DELETE FROM oauth_authorization_codes WHERE client_id='%s' AND user_id=%d",
+				dbesc($name),
+				intval(local_channel())
+			);
+			q("DELETE FROM oauth_access_tokens WHERE client_id='%s' AND user_id=%d",
+				dbesc($name),
+				intval(local_channel())
+			);
+			q("DELETE FROM oauth_refresh_tokens WHERE client_id='%s' AND user_id=%d",
+				dbesc($name),
 				intval(local_channel())
 			);
 			goaway(z_root()."/settings/oauth2/");
@@ -129,6 +138,18 @@ class Oauth2 {
 					dbesc(argv(3)),
 					intval(local_channel())
 			);
+			$r = q("DELETE FROM oauth_access_tokens WHERE client_id = '%s' AND user_id = %d",
+					dbesc(argv(3)),
+					intval(local_channel())
+			);
+			$r = q("DELETE FROM oauth_authorization_codes WHERE client_id = '%s' AND user_id = %d",
+					dbesc(argv(3)),
+					intval(local_channel())
+			);
+			$r = q("DELETE FROM oauth_refresh_tokens WHERE client_id = '%s' AND user_id = %d",
+					dbesc(argv(3)),
+					intval(local_channel())
+			);
 			goaway(z_root()."/settings/oauth2/");
 			return;			
 		}
@@ -136,7 +157,8 @@ class Oauth2 {
 
 		$r = q("SELECT oauth_clients.*, oauth_access_tokens.access_token as oauth_token, (oauth_clients.user_id = %d) AS my 
 				FROM oauth_clients
-				LEFT JOIN oauth_access_tokens ON oauth_clients.client_id=oauth_access_tokens.client_id
+				LEFT JOIN oauth_access_tokens ON oauth_clients.client_id=oauth_access_tokens.client_id AND
+                                                                 oauth_clients.user_id=oauth_access_tokens.user_id
 				WHERE oauth_clients.user_id IN (%d,0)",
 				intval(local_channel()),
 				intval(local_channel())
-- 
cgit v1.2.3


From 5afe779ffc69bc5889a83a6fcbc4bcefc7c40a5c Mon Sep 17 00:00:00 2001
From: zotlabs 
Date: Sat, 11 Aug 2018 16:16:54 -0700
Subject: prevent json-ld bombing, turn off browser autocomplete on channel
 sources creation

---
 Zotlabs/Module/Sources.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'Zotlabs/Module')

diff --git a/Zotlabs/Module/Sources.php b/Zotlabs/Module/Sources.php
index 91e2efa60..2a2fa1835 100644
--- a/Zotlabs/Module/Sources.php
+++ b/Zotlabs/Module/Sources.php
@@ -111,7 +111,7 @@ class Sources extends \Zotlabs\Web\Controller {
 				'$title' => t('New Source'),
 				'$desc' => t('Import all or selected content from the following channel into this channel and distribute it according to your channel settings.'),
 				'$words' => array( 'words', t('Only import content with these words (one per line)'),'',t('Leave blank to import all public content')),
-				'$name' => array( 'name', t('Channel Name'), '', ''),
+				'$name' => array( 'name', t('Channel Name'), '', '', '', 'autocomplete="off"'),
 				'$tags' => array('tags', t('Add the following categories to posts imported from this source (comma separated)'),'',t('Optional')),
 				'$resend' => [ 'resend', t('Resend posts with this channel as author'), 0, t('Copyrights may apply'), [ t('No'), t('Yes') ]],  
 				'$submit' => t('Submit')
-- 
cgit v1.2.3


From 4fdf5d28caa5d4af2bc6dfc088fdd51111baf390 Mon Sep 17 00:00:00 2001
From: zotlabs 
Date: Mon, 13 Aug 2018 17:24:48 -0700
Subject: minor oauth2 updates - renamed zot webbie to 'webfinger' and zothash
 to 'portable_id', fixed/simplified cgi auth mode

---
 Zotlabs/Module/Authorize.php | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

(limited to 'Zotlabs/Module')

diff --git a/Zotlabs/Module/Authorize.php b/Zotlabs/Module/Authorize.php
index e042848d8..265dea661 100644
--- a/Zotlabs/Module/Authorize.php
+++ b/Zotlabs/Module/Authorize.php
@@ -14,9 +14,9 @@ class Authorize extends \Zotlabs\Web\Controller {
 			// OpenID Connect Dynamic Client Registration 1.0 Client Metadata
 			// http://openid.net/specs/openid-connect-registration-1_0.html
 			$app = array(
-				'name' => (x($_REQUEST, 'client_name') ? urldecode($_REQUEST['client_name']) : t('Unknown App')),
-				'icon' => (x($_REQUEST, 'logo_uri')    ? urldecode($_REQUEST['logo_uri']) : z_root() . '/images/icons/plugin.png'),
-				'url'  => (x($_REQUEST, 'client_uri')  ? urldecode($_REQUEST['client_uri']) : ''),
+				'name' => (x($_REQUEST, 'client_id') ? $_REQUEST['client_id'] : t('Unknown App')),
+				'icon' => (x($_REQUEST, 'logo_uri')  ? $_REQUEST['logo_uri'] : z_root() . '/images/icons/plugin.png'),
+				'url'  => (x($_REQUEST, 'client_uri')  ? $_REQUEST['client_uri'] : ''),
 			);
 			$o .= replace_macros(get_markup_template('oauth_authorize.tpl'), array(
 				'$title' => t('Authorize'),
-- 
cgit v1.2.3


From 62925c4c3f0fb184c194f0cb177c1525ccdb72cb Mon Sep 17 00:00:00 2001
From: zotlabs 
Date: Mon, 13 Aug 2018 20:24:04 -0700
Subject: oidc cleanup and discovery

---
 Zotlabs/Module/Authorize.php  | 56 ++++++++++++++++++++++++-------------------
 Zotlabs/Module/Oauthinfo.php  |  6 ++---
 Zotlabs/Module/Well_known.php |  1 +
 Zotlabs/Module/Wfinger.php    |  5 ++++
 4 files changed, 39 insertions(+), 29 deletions(-)

(limited to 'Zotlabs/Module')

diff --git a/Zotlabs/Module/Authorize.php b/Zotlabs/Module/Authorize.php
index 265dea661..c6709f602 100644
--- a/Zotlabs/Module/Authorize.php
+++ b/Zotlabs/Module/Authorize.php
@@ -7,27 +7,34 @@ use Zotlabs\Identity\OAuth2Storage;
 class Authorize extends \Zotlabs\Web\Controller {
 
 	function get() {
-		if (!local_channel()) {
+		if (! local_channel()) {
 			return login();
-		} else {
-			// TODO: Fully implement the dynamic client registration protocol:
-			// OpenID Connect Dynamic Client Registration 1.0 Client Metadata
-			// http://openid.net/specs/openid-connect-registration-1_0.html
-			$app = array(
-				'name' => (x($_REQUEST, 'client_id') ? $_REQUEST['client_id'] : t('Unknown App')),
-				'icon' => (x($_REQUEST, 'logo_uri')  ? $_REQUEST['logo_uri'] : z_root() . '/images/icons/plugin.png'),
+		} 
+		else {
+
+			$name = $_REQUEST['client_name'];
+			if(! $name) {
+				$name = (($_REQUEST['client_id']) ?: t('Unknown App'));
+			}
+
+			$app = [
+				'name' => $name,
+				'icon' => (x($_REQUEST, 'logo_uri')    ? $_REQUEST['logo_uri'] : z_root() . '/images/icons/plugin.png'),
 				'url'  => (x($_REQUEST, 'client_uri')  ? $_REQUEST['client_uri'] : ''),
-			);
-			$o .= replace_macros(get_markup_template('oauth_authorize.tpl'), array(
-				'$title' => t('Authorize'),
-				'$authorize' => sprintf( t('Do you authorize the app %s to access your channel data?'), '' . $app['name'] . ' '),
-				'$app' => $app,
-				'$yes' => t('Allow'),
-				'$no' => t('Deny'),
-				'$client_id' => (x($_REQUEST, 'client_id') ? $_REQUEST['client_id'] : ''),
+			];
+
+			$link = (($app['url']) ? '' . $app['name'] . ' ' : $app['name']);
+
+			$o .= replace_macros(get_markup_template('oauth_authorize.tpl'), [
+				'$title'        => t('Authorize'),
+				'$authorize'    => sprintf( t('Do you authorize the app %s to access your channel data?'), $link ),
+				'$app'          => $app,
+				'$yes'          => t('Allow'),
+				'$no'           => t('Deny'),
+				'$client_id'    => (x($_REQUEST, 'client_id') ? $_REQUEST['client_id'] : ''),
 				'$redirect_uri' => (x($_REQUEST, 'redirect_uri') ? $_REQUEST['redirect_uri'] : ''),
-				'$state' => (x($_REQUEST, 'state') ? $_REQUEST['state'] : ''),
-			));
+				'$state'        => (x($_REQUEST, 'state') ? $_REQUEST['state'] : ''),
+			]);
 			return $o;
 		}
 	}
@@ -60,17 +67,16 @@ class Authorize extends \Zotlabs\Web\Controller {
 		$request = \OAuth2\Request::createFromGlobals();
 		$response = new \OAuth2\Response();
 
-                // Note, "sub" field must match type and content. $user_id is used to populate - make sure it's a string. 
-                $channel = channelx_by_n(local_channel());
-		$user_id = $channel["channel_id"];
+		// Note, "sub" field must match type and content. $user_id is used to populate - make sure it's a string. 
+		$channel = channelx_by_n(local_channel());
+		$user_id = $channel['channel_id'];
 
 		// If the client is not registered, add to the database
 		if (!$client = $storage->getClientDetails($client_id)) {
-                        // Until "Dynamic Client Registration" is pursued - allow new clients to assign their own secret in the REQUEST
-			$client_secret = (isset($_REQUEST["client_secret"])) ? $_REQUEST["client_secret"] : random_string(16);
+			// Until "Dynamic Client Registration" is pursued - allow new clients to assign their own secret in the REQUEST
+			$client_secret = (isset($_REQUEST['client_secret'])) ? $_REQUEST['client_secret'] : random_string(16);
 			// Client apps are registered per channel
-			$storage->setClientDetails($client_id, $client_secret, $redirect_uri, 'authorization_code', urldecode($_REQUEST["scope"]), $user_id);
-			
+			$storage->setClientDetails($client_id, $client_secret, $redirect_uri, 'authorization_code', $_REQUEST['scope'], $user_id);
 		}
 		if (!$client = $storage->getClientDetails($client_id)) {
 			// There was an error registering the client.
diff --git a/Zotlabs/Module/Oauthinfo.php b/Zotlabs/Module/Oauthinfo.php
index 2d10913c4..f380cec97 100644
--- a/Zotlabs/Module/Oauthinfo.php
+++ b/Zotlabs/Module/Oauthinfo.php
@@ -5,19 +5,17 @@ namespace Zotlabs\Module;
 
 class Oauthinfo extends \Zotlabs\Web\Controller {
 
-
 	function init() {
 
 		$ret = [
 			'issuer'                   => z_root(),
 			'authorization_endpoint'   => z_root() . '/authorize',
 			'token_endpoint'           => z_root() . '/token',
+			'userinfo_endpoint'        => z_root() . '/userinfo',
+			'scopes_supported'         => [ 'openid', 'profile', 'email' ],
 			'response_types_supported' => [ 'code', 'token', 'id_token', 'code id_token', 'token id_token' ] 
 		];
 
-
 		json_return_and_die($ret);
 	}
-
-
 }
\ No newline at end of file
diff --git a/Zotlabs/Module/Well_known.php b/Zotlabs/Module/Well_known.php
index 442994b54..09e743788 100644
--- a/Zotlabs/Module/Well_known.php
+++ b/Zotlabs/Module/Well_known.php
@@ -52,6 +52,7 @@ class Well_known extends \Zotlabs\Web\Controller {
 					break;
 
 				case 'oauth-authorization-server':
+				case 'openid-configuration':
 					\App::$argc -= 1;
 					array_shift(\App::$argv);
 					\App::$argv[0] = 'oauthinfo';
diff --git a/Zotlabs/Module/Wfinger.php b/Zotlabs/Module/Wfinger.php
index 88cb3e879..1866bce40 100644
--- a/Zotlabs/Module/Wfinger.php
+++ b/Zotlabs/Module/Wfinger.php
@@ -172,6 +172,11 @@ class Wfinger extends \Zotlabs\Web\Controller {
 						'href' => z_root() . '/hcard/' . $r[0]['channel_address']	
 					],
 
+					[
+						'rel'  => 'http://openid.net/specs/connect/1.0/issuer',
+						'href' => z_root()
+					],
+
 
 					[
 						'rel'  => 'http://webfinger.net/rel/profile-page',
-- 
cgit v1.2.3


From 12f4787b67561be8afc78620823b81e290cddfaa Mon Sep 17 00:00:00 2001
From: zotlabs 
Date: Mon, 13 Aug 2018 23:11:10 -0700
Subject: issue with mdpost addon and archive.org links which contain a full
 url as a path/query component

---
 Zotlabs/Module/Item.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'Zotlabs/Module')

diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php
index ef1eb3700..640b4fa5c 100644
--- a/Zotlabs/Module/Item.php
+++ b/Zotlabs/Module/Item.php
@@ -533,7 +533,7 @@ class Item extends \Zotlabs\Web\Controller {
 	
 			// Look for tags and linkify them
 			$results = linkify_tags($a, $body, ($uid) ? $uid : $profile_uid);
-logger('linkify: ' . print_r($results,true));
+
 			if($results) {
 	
 				// Set permissions based on tag replacements
-- 
cgit v1.2.3


From 32acb0ff01b8fde3801fafbd7953aa36b5933f96 Mon Sep 17 00:00:00 2001
From: zotlabs 
Date: Wed, 15 Aug 2018 21:33:11 -0700
Subject: missing files

---
 Zotlabs/Module/Zot_probe.php | 47 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 Zotlabs/Module/Zot_probe.php

(limited to 'Zotlabs/Module')

diff --git a/Zotlabs/Module/Zot_probe.php b/Zotlabs/Module/Zot_probe.php
new file mode 100644
index 000000000..d0c7e688f
--- /dev/null
+++ b/Zotlabs/Module/Zot_probe.php
@@ -0,0 +1,47 @@
+Zot6 Probe Diagnostic';
+	
+		$o .= '
'; + $o .= 'Lookup URI:
'; + $o .= '
'; + + $o .= '

'; + + if(x($_GET,'addr')) { + $addr = $_GET['addr']; + + + $x = Zotfinger::exec($addr); + + $o .= '
' . htmlspecialchars(print_array($x)) . '
'; + + $headers = 'Accept: application/x-zot+json, application/jrd+json, application/json'; + + $redirects = 0; + $x = z_fetch_url($addr,true,$redirects, [ 'headers' => [ $headers ]]); + + if($x['success']) { + + $o .= '
' . htmlspecialchars($x['header']) . '
' . EOL; + + $o .= 'verify returns: ' . str_replace("\n",EOL,print_r(HTTPSig::verify($x),true)) . EOL; + + $o .= '
' . htmlspecialchars(json_encode(json_decode($x['body']),JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES)) . '
' . EOL; + + } + + } + return $o; + } + +} -- cgit v1.2.3 From d95735deaf321eb560b3fdc0b88d25bca4be3b48 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Mon, 20 Aug 2018 17:22:49 -0700 Subject: channel page performance improvement: don't use "checkjs" with an associated page reload. Wrap a static copy of the content in noscript tags instead. --- Zotlabs/Module/Channel.php | 86 ++++++++++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 42 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php index b5e6b3aee..f1ae2f507 100644 --- a/Zotlabs/Module/Channel.php +++ b/Zotlabs/Module/Channel.php @@ -2,6 +2,8 @@ namespace Zotlabs\Module; +use \App; + require_once('include/contact_widgets.php'); require_once('include/items.php'); require_once("include/bbcode.php"); @@ -26,7 +28,7 @@ class Channel extends \Zotlabs\Web\Controller { $which = argv(1); if(! $which) { if(local_channel()) { - $channel = \App::get_channel(); + $channel = App::get_channel(); if($channel && $channel['channel_address']) $which = $channel['channel_address']; } @@ -37,7 +39,7 @@ class Channel extends \Zotlabs\Web\Controller { } $profile = 0; - $channel = \App::get_channel(); + $channel = App::get_channel(); if((local_channel()) && (argc() > 2) && (argv(2) === 'view')) { $which = $channel['channel_address']; @@ -70,8 +72,6 @@ class Channel extends \Zotlabs\Web\Controller { if($load) $_SESSION['loadtime'] = datetime_convert(); - $checkjs = new \Zotlabs\Web\CheckJS(1); - $category = $datequery = $datequery2 = ''; $mid = ((x($_REQUEST,'mid')) ? $_REQUEST['mid'] : ''); @@ -95,22 +95,22 @@ class Channel extends \Zotlabs\Web\Controller { if($update) { // Ensure we've got a profile owner if updating. - \App::$profile['profile_uid'] = \App::$profile_uid = $update; + App::$profile['profile_uid'] = App::$profile_uid = $update; } - $is_owner = (((local_channel()) && (\App::$profile['profile_uid'] == local_channel())) ? true : false); + $is_owner = (((local_channel()) && (App::$profile['profile_uid'] == local_channel())) ? true : false); - $channel = \App::get_channel(); - $observer = \App::get_observer(); + $channel = App::get_channel(); + $observer = App::get_observer(); $ob_hash = (($observer) ? $observer['xchan_hash'] : ''); - $perms = get_all_perms(\App::$profile['profile_uid'],$ob_hash); + $perms = get_all_perms(App::$profile['profile_uid'],$ob_hash); if(! $perms['view_stream']) { // We may want to make the target of this redirect configurable if($perms['view_profile']) { notice( t('Insufficient permissions. Request redirected to profile page.') . EOL); - goaway (z_root() . "/profile/" . \App::$profile['channel_address']); + goaway (z_root() . "/profile/" . App::$profile['channel_address']); } notice( t('Permission denied.') . EOL); return; @@ -121,7 +121,7 @@ class Channel extends \Zotlabs\Web\Controller { nav_set_selected('Channel Home'); - $static = channel_manual_conv_update(\App::$profile['profile_uid']); + $static = channel_manual_conv_update(App::$profile['profile_uid']); // search terms header if($search) { @@ -147,16 +147,16 @@ class Channel extends \Zotlabs\Web\Controller { $x = array( 'is_owner' => $is_owner, - 'allow_location' => ((($is_owner || $observer) && (intval(get_pconfig(\App::$profile['profile_uid'],'system','use_browser_location')))) ? true : false), - 'default_location' => (($is_owner) ? \App::$profile['channel_location'] : ''), - 'nickname' => \App::$profile['channel_address'], - 'lockstate' => (((strlen(\App::$profile['channel_allow_cid'])) || (strlen(\App::$profile['channel_allow_gid'])) || (strlen(\App::$profile['channel_deny_cid'])) || (strlen(\App::$profile['channel_deny_gid']))) ? 'lock' : 'unlock'), + 'allow_location' => ((($is_owner || $observer) && (intval(get_pconfig(App::$profile['profile_uid'],'system','use_browser_location')))) ? true : false), + 'default_location' => (($is_owner) ? App::$profile['channel_location'] : ''), + 'nickname' => App::$profile['channel_address'], + 'lockstate' => (((strlen(App::$profile['channel_allow_cid'])) || (strlen(App::$profile['channel_allow_gid'])) || (strlen(App::$profile['channel_deny_cid'])) || (strlen(App::$profile['channel_deny_gid']))) ? 'lock' : 'unlock'), 'acl' => (($is_owner) ? populate_acl($channel_acl,true, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post') : ''), 'permissions' => $channel_acl, 'showacl' => (($is_owner) ? 'yes' : ''), 'bang' => '', 'visitor' => (($is_owner || $observer) ? true : false), - 'profile_uid' => \App::$profile['profile_uid'], + 'profile_uid' => App::$profile['profile_uid'], 'editor_autocomplete' => true, 'bbco_autocomplete' => 'bbcode', 'bbcode' => true, @@ -176,14 +176,14 @@ class Channel extends \Zotlabs\Web\Controller { $item_normal = item_normal(); $item_normal_update = item_normal_update(); - $sql_extra = item_permissions_sql(\App::$profile['profile_uid']); + $sql_extra = item_permissions_sql(App::$profile['profile_uid']); - if(get_pconfig(\App::$profile['profile_uid'],'system','channel_list_mode') && (! $mid)) + if(get_pconfig(App::$profile['profile_uid'],'system','channel_list_mode') && (! $mid)) $page_mode = 'list'; else $page_mode = 'client'; - $abook_uids = " and abook.abook_channel = " . intval(\App::$profile['profile_uid']) . " "; + $abook_uids = " and abook.abook_channel = " . intval(App::$profile['profile_uid']) . " "; $simple_update = (($update) ? " AND item_unseen = 1 " : ''); @@ -203,7 +203,7 @@ class Channel extends \Zotlabs\Web\Controller { head_add_link([ 'rel' => 'alternate', 'type' => 'application/json+oembed', - 'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$query_string), + 'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . App::$query_string), 'title' => 'oembed' ]); @@ -221,7 +221,7 @@ class Channel extends \Zotlabs\Web\Controller { $r = q("SELECT parent AS item_id from item where mid like '%s' and uid = %d $item_normal_update AND item_wall = 1 $simple_update $sql_extra limit 1", dbesc($mid . '%'), - intval(\App::$profile['profile_uid']) + intval(App::$profile['profile_uid']) ); $_SESSION['loadtime'] = datetime_convert(); } @@ -233,7 +233,7 @@ class Channel extends \Zotlabs\Web\Controller { AND (abook.abook_blocked = 0 or abook.abook_flags is null) $sql_extra ORDER BY created DESC", - intval(\App::$profile['profile_uid']) + intval(App::$profile['profile_uid']) ); $_SESSION['loadtime'] = datetime_convert(); } @@ -242,10 +242,10 @@ class Channel extends \Zotlabs\Web\Controller { else { if(x($category)) { - $sql_extra2 .= protect_sprintf(term_item_parent_query(\App::$profile['profile_uid'],'item', $category, TERM_CATEGORY)); + $sql_extra2 .= protect_sprintf(term_item_parent_query(App::$profile['profile_uid'],'item', $category, TERM_CATEGORY)); } if(x($hashtags)) { - $sql_extra2 .= protect_sprintf(term_item_parent_query(\App::$profile['profile_uid'],'item', $hashtags, TERM_HASHTAG, TERM_COMMUNITYTAG)); + $sql_extra2 .= protect_sprintf(term_item_parent_query(App::$profile['profile_uid'],'item', $hashtags, TERM_HASHTAG, TERM_COMMUNITYTAG)); } if($datequery) { @@ -267,15 +267,15 @@ class Channel extends \Zotlabs\Web\Controller { $itemspage = get_pconfig(local_channel(),'system','itemspage'); - \App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20)); - $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start'])); + App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20)); + $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start'])); - if($load || ($checkjs->disabled())) { + if((! $update) || ($load)) { if($mid) { $r = q("SELECT parent AS item_id from item where mid like '%s' and uid = %d $item_normal AND item_wall = 1 $sql_extra limit 1", dbesc($mid . '%'), - intval(\App::$profile['profile_uid']) + intval(App::$profile['profile_uid']) ); if (! $r) { notice( t('Permission denied.') . EOL); @@ -289,7 +289,7 @@ class Channel extends \Zotlabs\Web\Controller { AND item.item_wall = 1 AND item.item_thread_top = 1 $sql_extra $sql_extra2 ORDER BY $ordering DESC $pager_sql ", - intval(\App::$profile['profile_uid']) + intval(App::$profile['profile_uid']) ); } } @@ -306,7 +306,7 @@ class Channel extends \Zotlabs\Web\Controller { WHERE item.uid = %d $item_normal AND item.parent IN ( %s ) $sql_extra ", - intval(\App::$profile['profile_uid']), + intval(App::$profile['profile_uid']), dbesc($parents_str) ); @@ -329,19 +329,19 @@ class Channel extends \Zotlabs\Web\Controller { // This is ugly, but we can't pass the profile_uid through the session to the ajax updater, // because browser prefetching might change it on us. We have to deliver it with the page. - $maxheight = get_pconfig(\App::$profile['profile_uid'],'system','channel_divmore_height'); + $maxheight = get_pconfig(App::$profile['profile_uid'],'system','channel_divmore_height'); if(! $maxheight) $maxheight = 400; $o .= '
' . "\r\n"; - $o .= "\r\n"; - \App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array( + App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array( '$baseurl' => z_root(), '$pgtype' => 'channel', - '$uid' => ((\App::$profile['profile_uid']) ? \App::$profile['profile_uid'] : '0'), + '$uid' => ((App::$profile['profile_uid']) ? App::$profile['profile_uid'] : '0'), '$gid' => '0', '$cid' => '0', '$cmin' => '(-1)', @@ -354,7 +354,7 @@ class Channel extends \Zotlabs\Web\Controller { '$wall' => '1', '$fh' => '0', '$static' => $static, - '$page' => ((\App::$pager['page'] != 1) ? \App::$pager['page'] : 1), + '$page' => ((App::$pager['page'] != 1) ? App::$pager['page'] : 1), '$search' => $search, '$xchan' => '', '$order' => $order, @@ -405,17 +405,19 @@ class Channel extends \Zotlabs\Web\Controller { $mode = (($search) ? 'search' : 'channel'); - if($checkjs->disabled()) { - $o .= conversation($items,$mode,$update,'traditional'); + if($update) { + $o .= conversation($items,$mode,$update,$page_mode); } else { + $o .= ''; $o .= conversation($items,$mode,$update,$page_mode); - } - if((! $update) || ($checkjs->disabled())) { - $o .= alt_pager(count($items)); if ($mid && $items[0]['title']) - \App::$page['title'] = $items[0]['title'] . " - " . \App::$page['title']; + App::$page['title'] = $items[0]['title'] . " - " . App::$page['title']; + } if($mid) -- cgit v1.2.3 From 9b620b2a35e256c905b6e3bd0e6f0228a0426e07 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Mon, 20 Aug 2018 20:07:54 -0700 Subject: remove checkjs reloader from mod_display also --- Zotlabs/Module/Display.php | 90 ++++++++++++++++++++++------------------------ 1 file changed, 42 insertions(+), 48 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Display.php b/Zotlabs/Module/Display.php index fe0408c6f..bdaed0933 100644 --- a/Zotlabs/Module/Display.php +++ b/Zotlabs/Module/Display.php @@ -21,8 +21,6 @@ class Display extends \Zotlabs\Web\Controller { $module_format = 'html'; } - $checkjs = new \Zotlabs\Web\CheckJS(1); - if($load) $_SESSION['loadtime'] = datetime_convert(); @@ -253,53 +251,44 @@ class Display extends \Zotlabs\Web\Controller { $sql_extra = public_permissions_sql($observer_hash); - if(($update && $load) || ($checkjs->disabled()) || ($module_format !== 'html')) { + if((! $update) || ($load)) { - $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']),intval(\App::$pager['start'])); + $r = null; - if($load || ($checkjs->disabled()) || ($module_format !== 'html')) { + require_once('include/channel.php'); + $sys = get_sys_channel(); + $sysid = $sys['channel_id']; - $r = null; + if(local_channel()) { + $r = q("SELECT item.id as item_id from item WHERE uid = %d and mid = '%s' $item_normal limit 1", + intval(local_channel()), + dbesc($target_item['parent_mid']) + ); + if($r) { + $updateable = true; + } + } - require_once('include/channel.php'); - $sys = get_sys_channel(); - $sysid = $sys['channel_id']; + if(! $r) { - if(local_channel()) { - $r = q("SELECT item.id as item_id from item - WHERE uid = %d - and mid = '%s' - $item_normal - limit 1", - intval(local_channel()), - dbesc($target_item['parent_mid']) - ); - if($r) { - $updateable = true; - } - } + // in case somebody turned off public access to sys channel content using permissions + // make that content unsearchable by ensuring the owner uid can't match - if(! $r) { - - // in case somebody turned off public access to sys channel content using permissions - // make that content unsearchable by ensuring the owner uid can't match - - if(! perm_is_allowed($sysid,$observer_hash,'view_stream')) - $sysid = 0; - - $r = q("SELECT item.id as item_id from item - WHERE mid = '%s' - AND (((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = '' - AND item.deny_gid = '' AND item_private = 0 ) - and uid in ( " . stream_perms_api_uids(($observer_hash) ? (PERMS_NETWORK|PERMS_PUBLIC) : PERMS_PUBLIC) . " )) - OR uid = %d ) - $sql_extra ) - $item_normal - limit 1", - dbesc($target_item['parent_mid']), - intval($sysid) - ); - } + if(! perm_is_allowed($sysid,$observer_hash,'view_stream')) + $sysid = 0; + + $r = q("SELECT item.id as item_id from item + WHERE mid = '%s' + AND (((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = '' + AND item.deny_gid = '' AND item_private = 0 ) + and uid in ( " . stream_perms_api_uids(($observer_hash) ? (PERMS_NETWORK|PERMS_PUBLIC) : PERMS_PUBLIC) . " )) + OR uid = %d ) + $sql_extra ) + $item_normal + limit 1", + dbesc($target_item['parent_mid']), + intval($sysid) + ); } } @@ -373,14 +362,19 @@ class Display extends \Zotlabs\Web\Controller { case 'html': - if ($checkjs->disabled()) { + if ($update) { + $o .= conversation($items, 'display', $update, 'client'); + } + else { + $o .= ''; + if ($items[0]['title']) \App::$page['title'] = $items[0]['title'] . " - " . \App::$page['title']; - } - else { + $o .= conversation($items, 'display', $update, 'client'); - } + } break; @@ -435,7 +429,7 @@ class Display extends \Zotlabs\Web\Controller { $o .= '
'; - if((($update && $load) || $checkjs->disabled()) && (! $items)) { + if(((! $update) || ($load)) && (! $items)) { $r = q("SELECT id, item_deleted FROM item WHERE mid = '%s' LIMIT 1", dbesc($item_hash) -- cgit v1.2.3 From 8bf1e3a9449b95307d6d991284dce1addade813a Mon Sep 17 00:00:00 2001 From: zotlabs Date: Mon, 20 Aug 2018 22:02:08 -0700 Subject: more code optimisation --- Zotlabs/Module/Channel.php | 14 ++++++++------ Zotlabs/Module/Network.php | 22 ++++++++++++---------- 2 files changed, 20 insertions(+), 16 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php index f1ae2f507..9d4c23e4c 100644 --- a/Zotlabs/Module/Channel.php +++ b/Zotlabs/Module/Channel.php @@ -2,21 +2,23 @@ namespace Zotlabs\Module; -use \App; -require_once('include/contact_widgets.php'); +use App; +use Zotlabs\Web\Controller; +use Zotlabs\Lib\PermissionDescription; + require_once('include/items.php'); -require_once("include/bbcode.php"); require_once('include/security.php'); require_once('include/conversation.php'); require_once('include/acl_selectors.php'); -require_once('include/permissions.php'); + /** * @brief Channel Controller * */ -class Channel extends \Zotlabs\Web\Controller { + +class Channel extends Controller { function init() { @@ -151,7 +153,7 @@ class Channel extends \Zotlabs\Web\Controller { 'default_location' => (($is_owner) ? App::$profile['channel_location'] : ''), 'nickname' => App::$profile['channel_address'], 'lockstate' => (((strlen(App::$profile['channel_allow_cid'])) || (strlen(App::$profile['channel_allow_gid'])) || (strlen(App::$profile['channel_deny_cid'])) || (strlen(App::$profile['channel_deny_gid']))) ? 'lock' : 'unlock'), - 'acl' => (($is_owner) ? populate_acl($channel_acl,true, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post') : ''), + 'acl' => (($is_owner) ? populate_acl($channel_acl,true, PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post') : ''), 'permissions' => $channel_acl, 'showacl' => (($is_owner) ? 'yes' : ''), 'bang' => '', diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php index 77a08585b..ca0ec7844 100644 --- a/Zotlabs/Module/Network.php +++ b/Zotlabs/Module/Network.php @@ -1,6 +1,8 @@ \App::$query_string); + $arr = array('query' => App::$query_string); call_hooks('network_content_init', $arr); - $channel = \App::get_channel(); + $channel = App::get_channel(); $item_normal = item_normal(); $item_normal_update = item_normal_update(); @@ -326,10 +328,10 @@ class Network extends \Zotlabs\Web\Controller { $o .= '
' . "\r\n"; $o .= "\r\n"; - \App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array( + App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array( '$baseurl' => z_root(), '$pgtype' => 'network', '$uid' => ((local_channel()) ? local_channel() : '0'), @@ -346,7 +348,7 @@ class Network extends \Zotlabs\Web\Controller { '$wall' => '0', '$static' => $static, '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0), - '$page' => ((\App::$pager['page'] != 1) ? \App::$pager['page'] : 1), + '$page' => ((App::$pager['page'] != 1) ? App::$pager['page'] : 1), '$search' => (($search) ? $search : ''), '$xchan' => $xchan, '$order' => $order, @@ -417,8 +419,8 @@ class Network extends \Zotlabs\Web\Controller { } else { $itemspage = get_pconfig(local_channel(),'system','itemspage'); - \App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20)); - $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start'])); + App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20)); + $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start'])); } // cmin and cmax are both -1 when the affinity tool is disabled -- cgit v1.2.3 From 6ecd31a715c3d4fb5f2073f376cb9509bc6427d6 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Wed, 22 Aug 2018 13:30:16 -0700 Subject: tweak archive widget for articles --- Zotlabs/Module/Articles.php | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Articles.php b/Zotlabs/Module/Articles.php index 284868241..e1f0b4ab0 100644 --- a/Zotlabs/Module/Articles.php +++ b/Zotlabs/Module/Articles.php @@ -51,6 +51,8 @@ class Articles extends \Zotlabs\Web\Controller { $sql_extra2 .= protect_sprintf(term_item_parent_query(\App::$profile['profile_uid'],'item', $category, TERM_CATEGORY)); } + $datequery = ((x($_GET,'dend') && is_a_date_arg($_GET['dend'])) ? notags($_GET['dend']) : ''); + $datequery2 = ((x($_GET,'dbegin') && is_a_date_arg($_GET['dbegin'])) ? notags($_GET['dbegin']) : ''); $which = argv(1); @@ -143,10 +145,21 @@ class Articles extends \Zotlabs\Web\Controller { $sql_item = "and item.id = " . intval($r[0]['iid']) . " "; } } - + if($datequery) { + $sql_extra2 .= protect_sprintf(sprintf(" AND item.created <= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery)))); + $order = 'post'; + } + if($datequery2) { + $sql_extra2 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery2)))); + } + + if($datequery || $datequery2) { + $sql_extra2 .= " and item.item_thread_top != 0 "; + } + $r = q("select * from item where item.uid = %d and item_type = %d - $sql_extra $sql_item order by item.created desc $pager_sql", + $sql_extra $sql_extra2 $sql_item order by item.created desc $pager_sql", intval($owner), intval(ITEM_TYPE_ARTICLE) ); -- cgit v1.2.3 From 2893f7d4810de99a989f7d36d041a120fafac029 Mon Sep 17 00:00:00 2001 From: "M.Dent" Date: Thu, 23 Aug 2018 23:54:18 -0400 Subject: Get full page of items --- Zotlabs/Module/Network.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php index ca0ec7844..9eedf113d 100644 --- a/Zotlabs/Module/Network.php +++ b/Zotlabs/Module/Network.php @@ -510,7 +510,7 @@ class Network extends \Zotlabs\Web\Controller { if($load) { // Fetch a page full of parent items for this page - $r = q("SELECT item.parent AS item_id FROM item + $r = q("SELECT DISTINCT(item.parent) AS item_id FROM item left join abook on ( item.owner_xchan = abook.abook_xchan $abook_uids ) $net_query WHERE true $uids $item_thread_top $item_normal @@ -524,7 +524,7 @@ class Network extends \Zotlabs\Web\Controller { else { // this is an update - $r = q("SELECT item.parent AS item_id FROM item + $r = q("SELECT DISTINCT(item.parent) AS item_id FROM item left join abook on ( item.owner_xchan = abook.abook_xchan $abook_uids ) $net_query WHERE true $uids $item_normal_update $simple_update -- cgit v1.2.3 From 308dda1587bc175cab41bc4a02dae8ec568668b3 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Sat, 25 Aug 2018 21:21:57 +0200 Subject: Update Wiki.php --- Zotlabs/Module/Wiki.php | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php index 322a3933c..548a83c22 100644 --- a/Zotlabs/Module/Wiki.php +++ b/Zotlabs/Module/Wiki.php @@ -384,6 +384,8 @@ class Wiki extends \Zotlabs\Web\Controller { '$modalerrorlist' => t('Error getting album list'), '$modalerrorlink' => t('Error getting photo link'), '$modalerroralbum' => t('Error getting album'), + '$view_lbl' => t('View'), + '$history_lbl' => t('History') )); if($p['pageMimeType'] === 'text/markdown') -- cgit v1.2.3 From c9b80a3612755628cbb6af57458006dd39cf0f5f Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Sat, 25 Aug 2018 21:26:50 +0200 Subject: Update Wiki.php --- Zotlabs/Module/Wiki.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php index 548a83c22..25ecb6a6a 100644 --- a/Zotlabs/Module/Wiki.php +++ b/Zotlabs/Module/Wiki.php @@ -384,8 +384,8 @@ class Wiki extends \Zotlabs\Web\Controller { '$modalerrorlist' => t('Error getting album list'), '$modalerrorlink' => t('Error getting photo link'), '$modalerroralbum' => t('Error getting album'), - '$view_lbl' => t('View'), - '$history_lbl' => t('History') + '$view_lbl' => t('View'), + '$history_lbl' => t('History') )); if($p['pageMimeType'] === 'text/markdown') -- cgit v1.2.3 From 6a2bbed73dfb34975c4525c34c03f20c6945dedc Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Mon, 27 Aug 2018 10:19:10 +0200 Subject: remove distinct from network query again until performance issue is resolved or another fix for the underlying problem is found --- Zotlabs/Module/Network.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php index 9eedf113d..ca0ec7844 100644 --- a/Zotlabs/Module/Network.php +++ b/Zotlabs/Module/Network.php @@ -510,7 +510,7 @@ class Network extends \Zotlabs\Web\Controller { if($load) { // Fetch a page full of parent items for this page - $r = q("SELECT DISTINCT(item.parent) AS item_id FROM item + $r = q("SELECT item.parent AS item_id FROM item left join abook on ( item.owner_xchan = abook.abook_xchan $abook_uids ) $net_query WHERE true $uids $item_thread_top $item_normal @@ -524,7 +524,7 @@ class Network extends \Zotlabs\Web\Controller { else { // this is an update - $r = q("SELECT DISTINCT(item.parent) AS item_id FROM item + $r = q("SELECT item.parent AS item_id FROM item left join abook on ( item.owner_xchan = abook.abook_xchan $abook_uids ) $net_query WHERE true $uids $item_normal_update $simple_update -- cgit v1.2.3 From 4376f8f030ea36fd5fed263efcee3a5276af0da1 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 1 Sep 2018 13:43:32 +0200 Subject: do not count sys channel in totals --- Zotlabs/Module/Admin.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Admin.php b/Zotlabs/Module/Admin.php index 2df8dc25d..6edced9b5 100644 --- a/Zotlabs/Module/Admin.php +++ b/Zotlabs/Module/Admin.php @@ -109,7 +109,7 @@ class Admin extends \Zotlabs\Web\Controller { // available channels, primary and clones $channels = array(); - $r = q("SELECT COUNT(*) AS total, COUNT(CASE WHEN channel_primary = 1 THEN 1 ELSE NULL END) AS main, COUNT(CASE WHEN channel_primary = 0 THEN 1 ELSE NULL END) AS clones FROM channel WHERE channel_removed = 0"); + $r = q("SELECT COUNT(*) AS total, COUNT(CASE WHEN channel_primary = 1 THEN 1 ELSE NULL END) AS main, COUNT(CASE WHEN channel_primary = 0 THEN 1 ELSE NULL END) AS clones FROM channel WHERE channel_removed = 0 and channel_system = 0"); if ($r) { $channels['total'] = array('label' => t('Channels'), 'val' => $r[0]['total']); $channels['main'] = array('label' => t('Primary'), 'val' => $r[0]['main']); -- cgit v1.2.3 From e2824f925964fbfe160255de6e733b4c2de3cecb Mon Sep 17 00:00:00 2001 From: "M.Dent" Date: Sat, 1 Sep 2018 13:45:05 -0400 Subject: Fix: Authors unable to comment on posts they authored when under owned by others in certain circumstances. --- Zotlabs/Module/Item.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php index 640b4fa5c..a24d6da9c 100644 --- a/Zotlabs/Module/Item.php +++ b/Zotlabs/Module/Item.php @@ -29,7 +29,7 @@ use \Zotlabs\Lib as Zlib; class Item extends \Zotlabs\Web\Controller { function post() { - + // This will change. Figure out who the observer is and whether or not // they have permission to post here. Else ignore the post. @@ -237,10 +237,12 @@ class Item extends \Zotlabs\Web\Controller { if($parent) { logger('mod_item: item_post parent=' . $parent); $can_comment = false; - if((array_key_exists('owner',$parent_item)) && intval($parent_item['owner']['abook_self'])) - $can_comment = perm_is_allowed($profile_uid,$observer['xchan_hash'],'post_comments'); - else - $can_comment = can_comment_on_post($observer['xchan_hash'],$parent_item); + + $can_comment = can_comment_on_post($observer['xchan_hash'],$parent_item); + if (!$can_comment) { + if((array_key_exists('owner',$parent_item)) && intval($parent_item['owner']['abook_self'])==1 ) + $can_comment = perm_is_allowed($profile_uid,$observer['xchan_hash'],'post_comments'); + } if(! $can_comment) { notice( t('Permission denied.') . EOL) ; -- cgit v1.2.3 From d66f58a550d61f17c46eca42cba84f45ae9c4628 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 1 Sep 2018 21:09:04 +0200 Subject: fix undefined constant warning --- Zotlabs/Module/Filestorage.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Filestorage.php b/Zotlabs/Module/Filestorage.php index cd9ab601d..23bd63f95 100644 --- a/Zotlabs/Module/Filestorage.php +++ b/Zotlabs/Module/Filestorage.php @@ -128,7 +128,7 @@ class Filestorage extends \Zotlabs\Web\Controller { } } - if(json_return) + if($json_return) json_return_and_die([ 'success' => true ]); goaway(dirname($url)); -- cgit v1.2.3 From 41ccb61c2e2f2123ae510a39ebd048a56832825e Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Mon, 3 Sep 2018 18:14:17 +0200 Subject: Revert "Fix: Authors unable to comment on posts they authored when under owned by others in certain circumstances." This reverts commit e2824f925964fbfe160255de6e733b4c2de3cecb. Reverting because it breaks forum mentions. --- Zotlabs/Module/Item.php | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php index a24d6da9c..640b4fa5c 100644 --- a/Zotlabs/Module/Item.php +++ b/Zotlabs/Module/Item.php @@ -29,7 +29,7 @@ use \Zotlabs\Lib as Zlib; class Item extends \Zotlabs\Web\Controller { function post() { - + // This will change. Figure out who the observer is and whether or not // they have permission to post here. Else ignore the post. @@ -237,12 +237,10 @@ class Item extends \Zotlabs\Web\Controller { if($parent) { logger('mod_item: item_post parent=' . $parent); $can_comment = false; - - $can_comment = can_comment_on_post($observer['xchan_hash'],$parent_item); - if (!$can_comment) { - if((array_key_exists('owner',$parent_item)) && intval($parent_item['owner']['abook_self'])==1 ) - $can_comment = perm_is_allowed($profile_uid,$observer['xchan_hash'],'post_comments'); - } + if((array_key_exists('owner',$parent_item)) && intval($parent_item['owner']['abook_self'])) + $can_comment = perm_is_allowed($profile_uid,$observer['xchan_hash'],'post_comments'); + else + $can_comment = can_comment_on_post($observer['xchan_hash'],$parent_item); if(! $can_comment) { notice( t('Permission denied.') . EOL) ; -- cgit v1.2.3 From 9446e0348efa151ef7d75fa8206bb578633273dd Mon Sep 17 00:00:00 2001 From: "M.Dent" Date: Tue, 4 Sep 2018 07:54:24 -0400 Subject: Corrected resubmit of fixes to Authors unable to comment on posts they authored when owned by others. --- Zotlabs/Module/Item.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php index 640b4fa5c..a24d6da9c 100644 --- a/Zotlabs/Module/Item.php +++ b/Zotlabs/Module/Item.php @@ -29,7 +29,7 @@ use \Zotlabs\Lib as Zlib; class Item extends \Zotlabs\Web\Controller { function post() { - + // This will change. Figure out who the observer is and whether or not // they have permission to post here. Else ignore the post. @@ -237,10 +237,12 @@ class Item extends \Zotlabs\Web\Controller { if($parent) { logger('mod_item: item_post parent=' . $parent); $can_comment = false; - if((array_key_exists('owner',$parent_item)) && intval($parent_item['owner']['abook_self'])) - $can_comment = perm_is_allowed($profile_uid,$observer['xchan_hash'],'post_comments'); - else - $can_comment = can_comment_on_post($observer['xchan_hash'],$parent_item); + + $can_comment = can_comment_on_post($observer['xchan_hash'],$parent_item); + if (!$can_comment) { + if((array_key_exists('owner',$parent_item)) && intval($parent_item['owner']['abook_self'])==1 ) + $can_comment = perm_is_allowed($profile_uid,$observer['xchan_hash'],'post_comments'); + } if(! $can_comment) { notice( t('Permission denied.') . EOL) ; -- cgit v1.2.3 From bb42ec2bfc0826dde3e3915566c4689762b128d7 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Fri, 7 Sep 2018 10:39:15 +0200 Subject: apps: change page title to available/installed, display install action label in button and use different icons for installable and updateable apps --- Zotlabs/Module/Apps.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Apps.php b/Zotlabs/Module/Apps.php index 78c8d99ae..11025ce6e 100644 --- a/Zotlabs/Module/Apps.php +++ b/Zotlabs/Module/Apps.php @@ -47,7 +47,7 @@ class Apps extends \Zotlabs\Web\Controller { return replace_macros(get_markup_template('myapps.tpl'), array( '$sitename' => get_config('system','sitename'), '$cat' => $cat, - '$title' => t('Apps'), + '$title' => (($available) ? t('Available Apps') : t('Installed Apps')), '$apps' => $apps, '$authed' => ((local_channel()) ? true : false), '$manage' => (($available) ? '' : t('Manage apps')), -- cgit v1.2.3 From d29415a6e2f1b89e7e9463ce337946d7bf78aa5c Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Fri, 7 Sep 2018 14:23:16 +0200 Subject: provide a noscript_content switch for mod channel and display --- Zotlabs/Module/Channel.php | 15 ++++++++++++--- Zotlabs/Module/Display.php | 14 ++++++++++---- 2 files changed, 22 insertions(+), 7 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php index 9d4c23e4c..dff44660c 100644 --- a/Zotlabs/Module/Channel.php +++ b/Zotlabs/Module/Channel.php @@ -71,6 +71,8 @@ class Channel extends Controller { function get($update = 0, $load = false) { + $noscript_content = get_config('system', 'noscript_content', '1'); + if($load) $_SESSION['loadtime'] = datetime_convert(); @@ -272,7 +274,7 @@ class Channel extends Controller { App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20)); $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start'])); - if((! $update) || ($load)) { + if($noscript_content || $load) { if($mid) { $r = q("SELECT parent AS item_id from item where mid like '%s' and uid = %d $item_normal AND item_wall = 1 $sql_extra limit 1", @@ -411,10 +413,17 @@ class Channel extends Controller { $o .= conversation($items,$mode,$update,$page_mode); } else { + $o .= ''; + $o .= conversation($items,$mode,$update,$page_mode); if ($mid && $items[0]['title']) diff --git a/Zotlabs/Module/Display.php b/Zotlabs/Module/Display.php index bdaed0933..1d21b64ac 100644 --- a/Zotlabs/Module/Display.php +++ b/Zotlabs/Module/Display.php @@ -12,8 +12,9 @@ class Display extends \Zotlabs\Web\Controller { function get($update = 0, $load = false) { - $module_format = 'html'; + $noscript_content = get_config('system', 'noscript_content', '1'); + $module_format = 'html'; if(argc() > 1) { $module_format = substr(argv(1),strrpos(argv(1),'.') + 1); @@ -251,7 +252,7 @@ class Display extends \Zotlabs\Web\Controller { $sql_extra = public_permissions_sql($observer_hash); - if((! $update) || ($load)) { + if($noscript_content || $load) { $r = null; @@ -367,7 +368,12 @@ class Display extends \Zotlabs\Web\Controller { } else { $o .= ''; if ($items[0]['title']) @@ -429,7 +435,7 @@ class Display extends \Zotlabs\Web\Controller { $o .= '
'; - if(((! $update) || ($load)) && (! $items)) { + if((($update && $load) || $noscript_content) && (! $items)) { $r = q("SELECT id, item_deleted FROM item WHERE mid = '%s' LIMIT 1", dbesc($item_hash) -- cgit v1.2.3 From 9607bb29fd354245f915fcf8c2d109035dc52ede Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Fri, 7 Sep 2018 14:58:16 +0200 Subject: missing text --- Zotlabs/Module/Channel.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php index dff44660c..8941faf56 100644 --- a/Zotlabs/Module/Channel.php +++ b/Zotlabs/Module/Channel.php @@ -420,7 +420,7 @@ class Channel extends Controller { $o .= alt_pager(count($items)); } else { - $o .= '
' . t('You must enable javascript for your browser to view this content.') . '
'; + $o .= '
' . t('You must enable javascript for your browser to be able to view this content.') . '
'; } $o .= ''; -- cgit v1.2.3 From c6abe87ec2e08fc38ff9c505ac2000d52d45c228 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Mon, 10 Sep 2018 13:34:05 +0200 Subject: move cards from features to apps --- Zotlabs/Module/Cards.php | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Cards.php b/Zotlabs/Module/Cards.php index f196988a2..f81d9324f 100644 --- a/Zotlabs/Module/Cards.php +++ b/Zotlabs/Module/Cards.php @@ -1,12 +1,16 @@ Cards App - Not Installed:
'; + $o .= 'Create personal planning cards'; + return $o; } - nav_set_selected(t('Cards')); + nav_set_selected('Cards'); head_add_link([ 'rel' => 'alternate', 'type' => 'application/json+oembed', - 'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$query_string), + 'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . App::$query_string), 'title' => 'oembed' ]); @@ -52,7 +58,7 @@ class Cards extends \Zotlabs\Web\Controller { $category = (($_REQUEST['cat']) ? escape_tags(trim($_REQUEST['cat'])) : ''); if($category) { - $sql_extra2 .= protect_sprintf(term_item_parent_query(\App::$profile['profile_uid'], 'item', $category, TERM_CATEGORY)); + $sql_extra2 .= protect_sprintf(term_item_parent_query(App::$profile['profile_uid'], 'item', $category, TERM_CATEGORY)); } @@ -60,11 +66,11 @@ class Cards extends \Zotlabs\Web\Controller { $selected_card = ((argc() > 2) ? argv(2) : ''); - $_SESSION['return_url'] = \App::$query_string; + $_SESSION['return_url'] = App::$query_string; $uid = local_channel(); - $owner = \App::$profile_uid; - $observer = \App::get_observer(); + $owner = App::$profile_uid; + $observer = App::get_observer(); $ob_hash = (($observer) ? $observer['xchan_hash'] : ''); @@ -101,8 +107,8 @@ class Cards extends \Zotlabs\Web\Controller { 'nickname' => $channel['channel_address'], 'lockstate' => (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'), - 'acl' => (($is_owner) ? populate_acl($channel_acl, false, - \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_pages')) : ''), + 'acl' => (($is_owner) ? populate_acl($channel_acl, false, + PermissionDescription::fromGlobalPermission('view_pages')) : ''), 'permissions' => $channel_acl, 'showacl' => (($is_owner) ? true : false), 'visitor' => true, @@ -132,8 +138,8 @@ class Cards extends \Zotlabs\Web\Controller { $itemspage = get_pconfig(local_channel(),'system','itemspage'); - \App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20)); - $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start'])); + App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20)); + $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start'])); $sql_extra = item_permissions_sql($owner); @@ -171,7 +177,7 @@ class Cards extends \Zotlabs\Web\Controller { WHERE item.uid = %d $item_normal AND item.parent IN ( %s ) $sql_extra $sql_extra2 ", - intval(\App::$profile['profile_uid']), + intval(App::$profile['profile_uid']), dbesc($parents_str) ); if($items) { -- cgit v1.2.3 From 28e4977c33e11e4bb65c85977c82f3523f685bac Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Tue, 11 Sep 2018 11:16:58 +0200 Subject: include item.title in /network and /channel search --- Zotlabs/Module/Channel.php | 3 ++- Zotlabs/Module/Network.php | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php index 8941faf56..74fdc1cb4 100644 --- a/Zotlabs/Module/Channel.php +++ b/Zotlabs/Module/Channel.php @@ -197,7 +197,8 @@ class Channel extends Controller { $sql_extra .= term_query('item',substr($search,1),TERM_HASHTAG,TERM_COMMUNITYTAG); } else { - $sql_extra .= sprintf(" AND item.body like '%s' ", + $sql_extra .= sprintf(" AND (item.body like '%s' OR item.title like '%s') ", + dbesc(protect_sprintf('%' . $search . '%')), dbesc(protect_sprintf('%' . $search . '%')) ); } diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php index ca0ec7844..c3db15ef2 100644 --- a/Zotlabs/Module/Network.php +++ b/Zotlabs/Module/Network.php @@ -382,7 +382,8 @@ class Network extends \Zotlabs\Web\Controller { $sql_extra .= term_query('item',substr($search,1),TERM_HASHTAG,TERM_COMMUNITYTAG); } else { - $sql_extra .= sprintf(" AND item.body like '%s' ", + $sql_extra .= sprintf(" AND (item.body like '%s' OR item.title like '%s') ", + dbesc(protect_sprintf('%' . $search . '%')), dbesc(protect_sprintf('%' . $search . '%')) ); } -- cgit v1.2.3 From 2651eae663869e78aa0166bd33ac80a44b26b5ea Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Wed, 12 Sep 2018 11:08:53 +0200 Subject: mpre feature to app transition --- Zotlabs/Module/Articles.php | 38 ++++++++----- Zotlabs/Module/Cards.php | 7 ++- Zotlabs/Module/Webpages.php | 55 ++++++++++++------- Zotlabs/Module/Wiki.php | 131 +++++++++++++++++++++++--------------------- 4 files changed, 134 insertions(+), 97 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Articles.php b/Zotlabs/Module/Articles.php index e1f0b4ab0..d622b221a 100644 --- a/Zotlabs/Module/Articles.php +++ b/Zotlabs/Module/Articles.php @@ -1,12 +1,17 @@ Articles App (Not Installed):
'; + $o .= t('Create interactive articles'); + return $o; } nav_set_selected(t('Articles')); @@ -40,7 +50,7 @@ class Articles extends \Zotlabs\Web\Controller { head_add_link([ 'rel' => 'alternate', 'type' => 'application/json+oembed', - 'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$query_string), + 'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . App::$query_string), 'title' => 'oembed' ]); @@ -48,7 +58,7 @@ class Articles extends \Zotlabs\Web\Controller { $category = (($_REQUEST['cat']) ? escape_tags(trim($_REQUEST['cat'])) : ''); if($category) { - $sql_extra2 .= protect_sprintf(term_item_parent_query(\App::$profile['profile_uid'],'item', $category, TERM_CATEGORY)); + $sql_extra2 .= protect_sprintf(term_item_parent_query(App::$profile['profile_uid'],'item', $category, TERM_CATEGORY)); } $datequery = ((x($_GET,'dend') && is_a_date_arg($_GET['dend'])) ? notags($_GET['dend']) : ''); @@ -58,11 +68,11 @@ class Articles extends \Zotlabs\Web\Controller { $selected_card = ((argc() > 2) ? argv(2) : ''); - $_SESSION['return_url'] = \App::$query_string; + $_SESSION['return_url'] = App::$query_string; $uid = local_channel(); - $owner = \App::$profile_uid; - $observer = \App::get_observer(); + $owner = App::$profile_uid; + $observer = App::get_observer(); $ob_hash = (($observer) ? $observer['xchan_hash'] : ''); @@ -100,7 +110,7 @@ class Articles extends \Zotlabs\Web\Controller { 'lockstate' => (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'), 'acl' => (($is_owner) ? populate_acl($channel_acl, false, - \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_pages')) : ''), + PermissionDescription::fromGlobalPermission('view_pages')) : ''), 'permissions' => $channel_acl, 'showacl' => (($is_owner) ? true : false), 'visitor' => true, @@ -130,8 +140,8 @@ class Articles extends \Zotlabs\Web\Controller { } $itemspage = get_pconfig(local_channel(),'system','itemspage'); - \App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20)); - $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start'])); + App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20)); + $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start'])); $sql_extra = item_permissions_sql($owner); @@ -179,7 +189,7 @@ class Articles extends \Zotlabs\Web\Controller { WHERE item.uid = %d $item_normal AND item.parent IN ( %s ) $sql_extra $sql_extra2 ", - intval(\App::$profile['profile_uid']), + intval(App::$profile['profile_uid']), dbesc($parents_str) ); if($items) { diff --git a/Zotlabs/Module/Cards.php b/Zotlabs/Module/Cards.php index f81d9324f..78cbad5fd 100644 --- a/Zotlabs/Module/Cards.php +++ b/Zotlabs/Module/Cards.php @@ -40,8 +40,11 @@ class Cards extends Controller { } if(! Apps::system_app_installed(App::$profile_uid, 'Cards')) { - $o = 'Cards App - Not Installed:
'; - $o .= 'Create personal planning cards'; + //Do not display any associated widgets at this point + App::$pdl = ''; + + $o = 'Cards App (Not Installed):
'; + $o .= t('Create personal planning cards'); return $o; } diff --git a/Zotlabs/Module/Webpages.php b/Zotlabs/Module/Webpages.php index 97ec55ba3..991c5ee71 100644 --- a/Zotlabs/Module/Webpages.php +++ b/Zotlabs/Module/Webpages.php @@ -1,19 +1,25 @@ 1 && argv(1) === 'sys' && is_site_admin()) { $sys = get_sys_channel(); if($sys && intval($sys['channel_id'])) { - \App::$is_sys = true; + App::$is_sys = true; } } @@ -29,23 +35,32 @@ class Webpages extends \Zotlabs\Web\Controller { function get() { - if(! \App::$profile) { + if(! App::$profile) { notice( t('Requested profile is not available.') . EOL ); - \App::$error = 404; + App::$error = 404; return; } + if(! Apps::system_app_installed(App::$profile_uid, 'Webpages')) { + //Do not display any associated widgets at this point + App::$pdl = ''; + + $o = 'Webpages App (Not Installed):
'; + $o .= t('Provide managed web pages on your channel'); + return $o; + } + nav_set_selected('Webpages'); $which = argv(1); - $_SESSION['return_url'] = \App::$query_string; + $_SESSION['return_url'] = App::$query_string; $uid = local_channel(); $owner = 0; - $observer = \App::get_observer(); + $observer = App::get_observer(); - $channel = \App::get_channel(); + $channel = App::get_channel(); switch ($_SESSION['action']) { case 'import': @@ -91,7 +106,7 @@ class Webpages extends \Zotlabs\Web\Controller { } - if(\App::$is_sys && is_site_admin()) { + if(App::$is_sys && is_site_admin()) { $sys = get_sys_channel(); if($sys && intval($sys['channel_id'])) { $uid = $owner = intval($sys['channel_id']); @@ -127,8 +142,8 @@ class Webpages extends \Zotlabs\Web\Controller { // Nickname is set to the observers xchan, and profile_uid to the owner's. // This lets you post pages at other people's channels. - if((! $channel) && ($uid) && ($uid == \App::$profile_uid)) { - $channel = \App::get_channel(); + if((! $channel) && ($uid) && ($uid == App::$profile_uid)) { + $channel = App::get_channel(); } if($channel) { $channel_acl = array( @@ -144,15 +159,15 @@ class Webpages extends \Zotlabs\Web\Controller { $is_owner = ($uid && $uid == $owner); - //$o = profile_tabs($a, $is_owner, \App::$profile['channel_address']); + //$o = profile_tabs($a, $is_owner, App::$profile['channel_address']); $o = ''; $x = array( 'webpage' => ITEM_TYPE_WEBPAGE, 'is_owner' => true, - 'nickname' => \App::$profile['channel_address'], + 'nickname' => App::$profile['channel_address'], 'lockstate' => (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'), - 'acl' => (($is_owner) ? populate_acl($channel_acl,false, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_pages')) : ''), + 'acl' => (($is_owner) ? populate_acl($channel_acl,false, PermissionDescription::fromGlobalPermission('view_pages')) : ''), 'permissions' => $channel_acl, 'showacl' => (($is_owner) ? true : false), 'visitor' => true, @@ -280,7 +295,7 @@ class Webpages extends \Zotlabs\Web\Controller { notice( t('Invalid file type.') . EOL); return; } - $zip = new \ZipArchive(); + $zip = new ZipArchive(); if ($zip->open($source) === true) { $tmp_folder_name = random_string(5); $website = dirname($source) . '/' . $tmp_folder_name; @@ -297,7 +312,7 @@ class Webpages extends \Zotlabs\Web\Controller { // Website files are to be imported from the channel cloud files if (($_POST) && array_key_exists('path',$_POST) && isset($_POST['cloudsubmit'])) { - $channel = \App::get_channel(); + $channel = App::get_channel(); $dirpath = get_dirpath_by_cloudpath($channel, $_POST['path']); if(!$dirpath) { notice( t('Invalid folder path.') . EOL); @@ -343,7 +358,7 @@ class Webpages extends \Zotlabs\Web\Controller { case 'importselected': require_once('include/import.php'); - $channel = \App::get_channel(); + $channel = App::get_channel(); // Import layout first so that pages that reference new layouts will find // the mid of layout items in the database @@ -438,7 +453,7 @@ class Webpages extends \Zotlabs\Web\Controller { case 'cloud': case 'zipfile': - $channel = \App::get_channel(); + $channel = App::get_channel(); $tmp_folder_name = random_string(10); $zip_folder_name = random_string(10); @@ -657,7 +672,7 @@ class Webpages extends \Zotlabs\Web\Controller { } if($action === 'zipfile') { // Generate the zip file - \Zotlabs\Lib\ExtendedZip::zipTree($tmp_folderpath, $zip_filepath, \ZipArchive::CREATE); + ExtendedZip::zipTree($tmp_folderpath, $zip_filepath, ZipArchive::CREATE); // Output the file for download header('Content-disposition: attachment; filename="' . $zip_filename . '"'); header("Content-Type: application/zip"); @@ -666,7 +681,7 @@ class Webpages extends \Zotlabs\Web\Controller { if(isset($_SESSION['exportcloudpath'])) { require_once('include/attach.php'); $cloudpath = urldecode($_SESSION['exportcloudpath']); - $channel = \App::get_channel(); + $channel = App::get_channel(); $dirpath = get_dirpath_by_cloudpath($channel, $cloudpath); if(!$dirpath) { $x = attach_mkdirp($channel, $channel['channel_hash'], array('pathname' => $cloudpath)); diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php index 25ecb6a6a..828af8f83 100644 --- a/Zotlabs/Module/Wiki.php +++ b/Zotlabs/Module/Wiki.php @@ -2,15 +2,20 @@ namespace Zotlabs\Module; -use \Zotlabs\Lib as Zlib; -use \Michelf\MarkdownExtra; +use App; +use Zotlabs\Web\Controller; +use Zotlabs\Lib\Apps; +use Zotlabs\Lib\PermissionDescription; +use Zotlabs\Lib\NativeWiki; +use Zotlabs\Lib\NativeWikiPage; +use Zotlabs\Lib\MarkdownSoap; +use Michelf\MarkdownExtra; require_once('include/acl_selectors.php'); require_once('include/conversation.php'); require_once('include/bbcode.php'); - -class Wiki extends \Zotlabs\Web\Controller { +class Wiki extends Controller { private $wiki = null; @@ -40,10 +45,14 @@ class Wiki extends \Zotlabs\Web\Controller { return login(); } - if(! feature_enabled(\App::$profile_uid,'wiki')) { - notice( t('Not found') . EOL); - return; - } + if(! Apps::system_app_installed(App::$profile_uid, 'Wiki')) { + //Do not display any associated widgets at this point + App::$pdl = ''; + + $o = 'Wiki App (Not Installed):
'; + $o .= t('Provide a wiki for your channel'); + return $o; + } if(! perm_is_allowed(\App::$profile_uid,get_observer_hash(),'view_wiki')) { @@ -95,7 +104,7 @@ class Wiki extends \Zotlabs\Web\Controller { $owner['channel_deny_gid']) ? 'lock' : 'unlock' ), - 'acl' => populate_acl($owner_acl, false, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_wiki')), + 'acl' => populate_acl($owner_acl, false, PermissionDescription::fromGlobalPermission('view_wiki')), 'allow_cid' => acl2json($owner_acl['allow_cid']), 'allow_gid' => acl2json($owner_acl['allow_gid']), 'deny_cid' => acl2json($owner_acl['deny_cid']), @@ -117,9 +126,9 @@ class Wiki extends \Zotlabs\Web\Controller { if((argc() > 3) && (argv(2) === 'download') && (argv(3) === 'wiki')) { $resource_id = argv(4); - $w = Zlib\NativeWiki::get_wiki($owner['channel_id'],$observer_hash,$resource_id); + $w = NativeWiki::get_wiki($owner['channel_id'],$observer_hash,$resource_id); -// $w = Zlib\NativeWiki::get_wiki($owner,$observer_hash,$resource_id); +// $w = NativeWiki::get_wiki($owner,$observer_hash,$resource_id); if(! $w['htmlName']) { notice(t('Error retrieving wiki') . EOL); } @@ -157,9 +166,9 @@ class Wiki extends \Zotlabs\Web\Controller { $content = html_entity_decode($iv['body'],ENT_COMPAT,'UTF-8'); } elseif($iv['mimetype'] === 'text/markdown') { - $content = html_entity_decode(Zlib\MarkdownSoap::unescape($iv['body']),ENT_COMPAT,'UTF-8'); + $content = html_entity_decode(MarkdownSoap::unescape($iv['body']),ENT_COMPAT,'UTF-8'); } - $fname = get_iconfig($iv['id'],'nwikipage','pagetitle') . Zlib\NativeWikiPage::get_file_ext($iv); + $fname = get_iconfig($iv['id'],'nwikipage','pagetitle') . NativeWikiPage::get_file_ext($iv); $zip->addFromString($fname,$content); $pages[] = $iv['mid']; } @@ -190,7 +199,7 @@ class Wiki extends \Zotlabs\Web\Controller { switch(argc()) { case 2: - $wikis = Zlib\NativeWiki::listwikis($owner, get_observer_hash()); + $wikis = NativeWiki::listwikis($owner, get_observer_hash()); if($wikis) { $o .= replace_macros(get_markup_template('wikilist.tpl'), array( @@ -256,7 +265,7 @@ class Wiki extends \Zotlabs\Web\Controller { $pageUrlName = urldecode($page_name); $langPageUrlName = urldecode(\App::$language . '/' . $page_name); - $w = Zlib\NativeWiki::exists_by_name($owner['channel_id'], $wikiUrlName); + $w = NativeWiki::exists_by_name($owner['channel_id'], $wikiUrlName); if(! $w['resource_id']) { notice(t('Wiki not found') . EOL); @@ -268,7 +277,7 @@ class Wiki extends \Zotlabs\Web\Controller { if(! $wiki_owner) { // Check for observer permissions $observer_hash = get_observer_hash(); - $perms = Zlib\NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash); + $perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash); if(! $perms['read']) { notice(t('Permission denied.') . EOL); goaway(z_root() . '/' . argv(0) . '/' . argv(1)); @@ -289,10 +298,10 @@ class Wiki extends \Zotlabs\Web\Controller { $p = []; if(! $ignore_language) { - $p = Zlib\NativeWikiPage::get_page_content(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'resource_id' => $resource_id, 'pageUrlName' => $langPageUrlName)); + $p = NativeWikiPage::get_page_content(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'resource_id' => $resource_id, 'pageUrlName' => $langPageUrlName)); } if(! ($p && $p['success'])) { - $p = Zlib\NativeWikiPage::get_page_content(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'resource_id' => $resource_id, 'pageUrlName' => $pageUrlName)); + $p = NativeWikiPage::get_page_content(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'resource_id' => $resource_id, 'pageUrlName' => $pageUrlName)); } if(! ($p && $p['success'])) { $x = new \Zotlabs\Widget\Wiki_pages(); @@ -306,7 +315,7 @@ class Wiki extends \Zotlabs\Web\Controller { //json_return_and_die(array('pages' => $page_list_html, 'message' => '', 'success' => true)); notice( t('Error retrieving page content') . EOL); //goaway(z_root() . '/' . argv(0) . '/' . argv(1) ); - $renderedContent = Zlib\NativeWikiPage::convert_links($html, argv(0) . '/' . argv(1) . '/' . $wikiUrlName); + $renderedContent = NativeWikiPage::convert_links($html, argv(0) . '/' . argv(1) . '/' . $wikiUrlName); $showPageControls = $wiki_editor; } else { @@ -320,15 +329,15 @@ class Wiki extends \Zotlabs\Web\Controller { // Render the Markdown-formatted page content in HTML if($mimeType == 'text/bbcode') { - $renderedContent = Zlib\NativeWikiPage::convert_links(zidify_links(smilies(bbcode($content))), argv(0) . '/' . argv(1) . '/' . $wikiUrlName); + $renderedContent = NativeWikiPage::convert_links(zidify_links(smilies(bbcode($content))), argv(0) . '/' . argv(1) . '/' . $wikiUrlName); } elseif($mimeType === 'text/plain') { $renderedContent = str_replace(["\n",' ',"\t"],[EOL,' ','    '],htmlentities($content,ENT_COMPAT,'UTF-8',false)); } elseif($mimeType === 'text/markdown') { - $content = Zlib\MarkdownSoap::unescape($content); - $html = Zlib\NativeWikiPage::generate_toc(zidify_text(MarkdownExtra::defaultTransform(Zlib\NativeWikiPage::bbcode($content)))); - $renderedContent = Zlib\NativeWikiPage::convert_links($html, argv(0) . '/' . argv(1) . '/' . $wikiUrlName); + $content = MarkdownSoap::unescape($content); + $html = NativeWikiPage::generate_toc(zidify_text(MarkdownExtra::defaultTransform(NativeWikiPage::bbcode($content)))); + $renderedContent = NativeWikiPage::convert_links($html, argv(0) . '/' . argv(1) . '/' . $wikiUrlName); } $showPageControls = $wiki_editor; } @@ -413,23 +422,23 @@ class Wiki extends \Zotlabs\Web\Controller { $content = $_POST['content']; $resource_id = $_POST['resource_id']; - $w = Zlib\NativeWiki::get_wiki($owner['channel_id'],$observer_hash,$resource_id); + $w = NativeWiki::get_wiki($owner['channel_id'],$observer_hash,$resource_id); $wikiURL = argv(0) . '/' . argv(1) . '/' . $w['urlName']; $mimeType = $_POST['mimetype']; if($mimeType === 'text/bbcode') { - $html = Zlib\NativeWikiPage::convert_links(zidify_links(smilies(bbcode($content))),$wikiURL); + $html = NativeWikiPage::convert_links(zidify_links(smilies(bbcode($content))),$wikiURL); } elseif($mimeType === 'text/markdown') { - $bb = Zlib\NativeWikiPage::bbcode($content); - $x = new ZLib\MarkdownSoap($bb); + $bb = NativeWikiPage::bbcode($content); + $x = new MarkdownSoap($bb); $md = $x->clean(); - $md = ZLib\MarkdownSoap::unescape($md); + $md = MarkdownSoap::unescape($md); $html = MarkdownExtra::defaultTransform($md); - $html = Zlib\NativeWikiPage::generate_toc(zidify_text($html)); - $html = Zlib\NativeWikiPage::convert_links($html,$wikiURL); + $html = NativeWikiPage::generate_toc(zidify_text($html)); + $html = NativeWikiPage::convert_links($html,$wikiURL); } elseif($mimeType === 'text/plain') { $html = str_replace(["\n",' ',"\t"],[EOL,' ','    '],htmlentities($content,ENT_COMPAT,'UTF-8',false)); @@ -466,7 +475,7 @@ class Wiki extends \Zotlabs\Web\Controller { return; //not reached } - $exists = Zlib\NativeWiki::exists_by_name($owner['channel_id'], $wiki['urlName']); + $exists = NativeWiki::exists_by_name($owner['channel_id'], $wiki['urlName']); if($exists['id']) { notice( t('A wiki with this name already exists.') . EOL); goaway('/wiki'); @@ -476,15 +485,15 @@ class Wiki extends \Zotlabs\Web\Controller { // Get ACL for permissions $acl = new \Zotlabs\Access\AccessList($owner); $acl->set_from_array($_POST); - $r = Zlib\NativeWiki::create_wiki($owner, $observer_hash, $wiki, $acl); + $r = NativeWiki::create_wiki($owner, $observer_hash, $wiki, $acl); if($r['success']) { - Zlib\NativeWiki::sync_a_wiki_item($owner['channel_id'],$r['item_id'],$r['item']['resource_id']); - $homePage = Zlib\NativeWikiPage::create_page($owner['channel_id'],$observer_hash,'Home', $r['item']['resource_id'], $wiki['mimeType']); + NativeWiki::sync_a_wiki_item($owner['channel_id'],$r['item_id'],$r['item']['resource_id']); + $homePage = NativeWikiPage::create_page($owner['channel_id'],$observer_hash,'Home', $r['item']['resource_id'], $wiki['mimeType']); if(! $homePage['success']) { notice( t('Wiki created, but error creating Home page.')); goaway(z_root() . '/wiki/' . $nick . '/' . $wiki['urlName']); } - Zlib\NativeWiki::sync_a_wiki_item($owner['channel_id'],$homePage['item_id'],$r['item']['resource_id']); + NativeWiki::sync_a_wiki_item($owner['channel_id'],$homePage['item_id'],$r['item']['resource_id']); goaway(z_root() . '/wiki/' . $nick . '/' . $wiki['urlName'] . '/' . $homePage['page']['urlName']); } else { @@ -516,7 +525,7 @@ class Wiki extends \Zotlabs\Web\Controller { return; //not reached } - $wiki = Zlib\NativeWiki::exists_by_name($owner['channel_id'], urldecode($arr['urlName'])); + $wiki = NativeWiki::exists_by_name($owner['channel_id'], urldecode($arr['urlName'])); if($wiki['resource_id']) { @@ -525,9 +534,9 @@ class Wiki extends \Zotlabs\Web\Controller { $acl = new \Zotlabs\Access\AccessList($owner); $acl->set_from_array($_POST); - $r = Zlib\NativeWiki::update_wiki($owner['channel_id'], $observer_hash, $arr, $acl); + $r = NativeWiki::update_wiki($owner['channel_id'], $observer_hash, $arr, $acl); if($r['success']) { - Zlib\NativeWiki::sync_a_wiki_item($owner['channel_id'],$r['item_id'],$r['item']['resource_id']); + NativeWiki::sync_a_wiki_item($owner['channel_id'],$r['item_id'],$r['item']['resource_id']); goaway(z_root() . '/wiki/' . $nick); } else { @@ -549,9 +558,9 @@ class Wiki extends \Zotlabs\Web\Controller { json_return_and_die(array('message' => t('Wiki delete permission denied.'), 'success' => false)); } $resource_id = $_POST['resource_id']; - $deleted = Zlib\NativeWiki::delete_wiki($owner['channel_id'],$observer_hash,$resource_id); + $deleted = NativeWiki::delete_wiki($owner['channel_id'],$observer_hash,$resource_id); if ($deleted['success']) { - Zlib\NativeWiki::sync_a_wiki_item($owner['channel_id'],$deleted['item_id'],$resource_id); + NativeWiki::sync_a_wiki_item($owner['channel_id'],$deleted['item_id'],$resource_id); json_return_and_die(array('message' => '', 'success' => true)); } else { @@ -570,7 +579,7 @@ class Wiki extends \Zotlabs\Web\Controller { // Determine if observer has permission to create a page - $perms = Zlib\NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash, $mimetype); + $perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash, $mimetype); if(! $perms['write']) { logger('Wiki write permission denied. ' . EOL); json_return_and_die(array('success' => false)); @@ -585,10 +594,10 @@ class Wiki extends \Zotlabs\Web\Controller { json_return_and_die(array('message' => 'Error creating page. Invalid name (' . print_r($_POST,true) . ').', 'success' => false)); } - $page = Zlib\NativeWikiPage::create_page($owner['channel_id'],$observer_hash, $name, $resource_id, $mimetype); + $page = NativeWikiPage::create_page($owner['channel_id'],$observer_hash, $name, $resource_id, $mimetype); if($page['item_id']) { - $commit = Zlib\NativeWikiPage::commit(array( + $commit = NativeWikiPage::commit(array( 'commit_msg' => t('New page created'), 'resource_id' => $resource_id, 'channel_id' => $owner['channel_id'], @@ -597,7 +606,7 @@ class Wiki extends \Zotlabs\Web\Controller { )); if($commit['success']) { - Zlib\NativeWiki::sync_a_wiki_item($owner['channel_id'],$commit['item_id'],$resource_id); + NativeWiki::sync_a_wiki_item($owner['channel_id'],$commit['item_id'],$resource_id); json_return_and_die(array('url' => '/' . argv(0) . '/' . argv(1) . '/' . urlencode($page['wiki']['urlName']) . '/' . urlencode($page['page']['urlName']), 'success' => true)); } else { @@ -616,7 +625,7 @@ class Wiki extends \Zotlabs\Web\Controller { if((argc() === 5) && (argv(2) === 'get') && (argv(3) === 'page') && (argv(4) === 'list')) { $resource_id = $_POST['resource_id']; // resource_id for wiki in db - $perms = Zlib\NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash); + $perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash); if(!$perms['read']) { logger('Wiki read permission denied.' . EOL); json_return_and_die(array('pages' => null, 'message' => 'Permission denied.', 'success' => false)); @@ -648,16 +657,16 @@ class Wiki extends \Zotlabs\Web\Controller { } // Determine if observer has permission to save content - $perms = Zlib\NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash); + $perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash); if(! $perms['write']) { logger('Wiki write permission denied. ' . EOL); json_return_and_die(array('success' => false)); } - $saved = Zlib\NativeWikiPage::save_page(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'resource_id' => $resource_id, 'pageUrlName' => $pageUrlName, 'content' => $content)); + $saved = NativeWikiPage::save_page(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'resource_id' => $resource_id, 'pageUrlName' => $pageUrlName, 'content' => $content)); if($saved['success']) { - $commit = Zlib\NativeWikiPage::commit(array( + $commit = NativeWikiPage::commit(array( 'commit_msg' => $commitMsg, 'pageUrlName' => $pageUrlName, 'resource_id' => $resource_id, @@ -667,7 +676,7 @@ class Wiki extends \Zotlabs\Web\Controller { )); if($commit['success']) { - Zlib\NativeWiki::sync_a_wiki_item($owner['channel_id'],$commit['item_id'],$resource_id); + NativeWiki::sync_a_wiki_item($owner['channel_id'],$commit['item_id'],$resource_id); json_return_and_die(array('message' => 'Wiki git repo commit made', 'success' => true)); } else { @@ -688,7 +697,7 @@ class Wiki extends \Zotlabs\Web\Controller { // Determine if observer has permission to read content - $perms = Zlib\NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash); + $perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash); if(! $perms['read']) { logger('Wiki read permission denied.' . EOL); json_return_and_die(array('historyHTML' => '', 'message' => 'Permission denied.', 'success' => false)); @@ -720,15 +729,15 @@ class Wiki extends \Zotlabs\Web\Controller { json_return_and_die(array('success' => false)); } - $perms = Zlib\NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash); + $perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash); if(! $perms['write']) { logger('Wiki write permission denied. ' . EOL); json_return_and_die(array('success' => false)); } - $deleted = Zlib\NativeWikiPage::delete_page(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'resource_id' => $resource_id, 'pageUrlName' => $pageUrlName)); + $deleted = NativeWikiPage::delete_page(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'resource_id' => $resource_id, 'pageUrlName' => $pageUrlName)); if($deleted['success']) { - Zlib\NativeWiki::sync_a_wiki_item($owner['channel_id'],$commit['item_id'],$resource_id); + NativeWiki::sync_a_wiki_item($owner['channel_id'],$commit['item_id'],$resource_id); json_return_and_die(array('message' => 'Wiki git repo commit made', 'success' => true)); } else { @@ -744,13 +753,13 @@ class Wiki extends \Zotlabs\Web\Controller { $commitHash = $_POST['commitHash']; // Determine if observer has permission to revert pages - $perms = Zlib\NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash); + $perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash); if(! $perms['write']) { logger('Wiki write permission denied.' . EOL); json_return_and_die(array('success' => false)); } - $reverted = Zlib\NativeWikiPage::revert_page(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'commitHash' => $commitHash, 'resource_id' => $resource_id, 'pageUrlName' => $pageUrlName)); + $reverted = NativeWikiPage::revert_page(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'commitHash' => $commitHash, 'resource_id' => $resource_id, 'pageUrlName' => $pageUrlName)); if($reverted['success']) { json_return_and_die(array('content' => $reverted['content'], 'message' => '', 'success' => true)); } else { @@ -766,13 +775,13 @@ class Wiki extends \Zotlabs\Web\Controller { $currentCommit = $_POST['currentCommit']; // Determine if observer has permission to revert pages - $perms = Zlib\NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash); + $perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash); if(!$perms['read']) { logger('Wiki read permission denied.' . EOL); json_return_and_die(array('success' => false)); } - $compare = Zlib\NativeWikiPage::compare_page(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'currentCommit' => $currentCommit, 'compareCommit' => $compareCommit, 'resource_id' => $resource_id, 'pageUrlName' => $pageUrlName)); + $compare = NativeWikiPage::compare_page(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'currentCommit' => $currentCommit, 'compareCommit' => $compareCommit, 'resource_id' => $resource_id, 'pageUrlName' => $pageUrlName)); if($compare['success']) { $diffHTML = '
' . t('Current Revision') . '' . t('Selected Revision') . '
' . $compare['diff']; json_return_and_die(array('diff' => $diffHTML, 'message' => '', 'success' => true)); @@ -794,16 +803,16 @@ class Wiki extends \Zotlabs\Web\Controller { } // Determine if observer has permission to rename pages - $perms = Zlib\NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash); + $perms = NativeWiki::get_permissions($resource_id, intval($owner['channel_id']), $observer_hash); if(! $perms['write']) { logger('Wiki write permission denied. ' . EOL); json_return_and_die(array('success' => false)); } - $renamed = Zlib\NativeWikiPage::rename_page(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'resource_id' => $resource_id, 'pageUrlName' => $pageUrlName, 'pageNewName' => $pageNewName)); + $renamed = NativeWikiPage::rename_page(array('channel_id' => $owner['channel_id'], 'observer_hash' => $observer_hash, 'resource_id' => $resource_id, 'pageUrlName' => $pageUrlName, 'pageNewName' => $pageNewName)); if($renamed['success']) { - $commit = Zlib\NativeWikiPage::commit(array( + $commit = NativeWikiPage::commit(array( 'channel_id' => $owner['channel_id'], 'commit_msg' => 'Renamed ' . urldecode($pageUrlName) . ' to ' . $renamed['page']['htmlName'], 'resource_id' => $resource_id, @@ -811,7 +820,7 @@ class Wiki extends \Zotlabs\Web\Controller { 'pageUrlName' => $pageNewName )); if($commit['success']) { - Zlib\NativeWiki::sync_a_wiki_item($owner['channel_id'],$commit['item_id'],$resource_id); + NativeWiki::sync_a_wiki_item($owner['channel_id'],$commit['item_id'],$resource_id); json_return_and_die(array('name' => $renamed['page'], 'message' => 'Wiki git repo commit made', 'success' => true)); } else { -- cgit v1.2.3 From a1d5ce3716d09b7ccd81e252309ca9fd5e841b26 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Thu, 13 Sep 2018 10:59:37 +0200 Subject: remove profile_tabs() which has been deprecated and replaced by channel_apps() --- Zotlabs/Module/Bookmarks.php | 1 - Zotlabs/Module/Cal.php | 6 +----- Zotlabs/Module/Chat.php | 1 - Zotlabs/Module/Photos.php | 3 --- Zotlabs/Module/Sharedwithme.php | 1 - Zotlabs/Module/Webpages.php | 2 +- Zotlabs/Module/Wiki.php | 2 +- 7 files changed, 3 insertions(+), 13 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Bookmarks.php b/Zotlabs/Module/Bookmarks.php index e147ffe6c..cea0d9759 100644 --- a/Zotlabs/Module/Bookmarks.php +++ b/Zotlabs/Module/Bookmarks.php @@ -71,7 +71,6 @@ class Bookmarks extends \Zotlabs\Web\Controller { $channel = \App::get_channel(); - //$o = profile_tabs($a,true,$channel['channel_address']); $o = ''; $o .= '
'; diff --git a/Zotlabs/Module/Cal.php b/Zotlabs/Module/Cal.php index c8403e979..87c13ef4e 100644 --- a/Zotlabs/Module/Cal.php +++ b/Zotlabs/Module/Cal.php @@ -88,9 +88,6 @@ class Cal extends \Zotlabs\Web\Controller { $o = ''; - //$tabs = profile_tabs($a, True, $channel['channel_address']); - $tabs = ''; - $mode = 'view'; $y = 0; $m = 0; @@ -347,8 +344,7 @@ class Cal extends \Zotlabs\Web\Controller { '$next' => t('Next'), '$today' => t('Today'), '$form' => $form, - '$expandform' => ((x($_GET,'expandform')) ? true : false), - '$tabs' => $tabs + '$expandform' => ((x($_GET,'expandform')) ? true : false) )); if (x($_GET,'id')){ echo $o; killme(); } diff --git a/Zotlabs/Module/Chat.php b/Zotlabs/Module/Chat.php index 378c9f4dd..71138e8d8 100644 --- a/Zotlabs/Module/Chat.php +++ b/Zotlabs/Module/Chat.php @@ -212,7 +212,6 @@ class Chat extends \Zotlabs\Web\Controller { require_once('include/conversation.php'); - //$o = profile_tabs($a,((local_channel() && local_channel() == \App::$profile['profile_uid']) ? true : false),\App::$profile['channel_address']); $o = ''; if(! feature_enabled(\App::$profile['profile_uid'],'ajaxchat')) { diff --git a/Zotlabs/Module/Photos.php b/Zotlabs/Module/Photos.php index 489bffc4a..f97f31ff7 100644 --- a/Zotlabs/Module/Photos.php +++ b/Zotlabs/Module/Photos.php @@ -620,10 +620,7 @@ class Photos extends \Zotlabs\Web\Controller { $o .= "\r\n"; - // tabs - $_is_owner = (local_channel() && (local_channel() == $owner_uid)); - //$o .= profile_tabs($a,$_is_owner, \App::$data['channel']['channel_address']); /** * Display upload form diff --git a/Zotlabs/Module/Sharedwithme.php b/Zotlabs/Module/Sharedwithme.php index 2c97e9726..c986f6695 100644 --- a/Zotlabs/Module/Sharedwithme.php +++ b/Zotlabs/Module/Sharedwithme.php @@ -97,7 +97,6 @@ class Sharedwithme extends \Zotlabs\Web\Controller { } - //$o = profile_tabs($a, $is_owner, $channel['channel_address']); $o = ''; $o .= replace_macros(get_markup_template('sharedwithme.tpl'), array( diff --git a/Zotlabs/Module/Webpages.php b/Zotlabs/Module/Webpages.php index 991c5ee71..c6599db3b 100644 --- a/Zotlabs/Module/Webpages.php +++ b/Zotlabs/Module/Webpages.php @@ -159,7 +159,7 @@ class Webpages extends Controller { $is_owner = ($uid && $uid == $owner); - //$o = profile_tabs($a, $is_owner, App::$profile['channel_address']); + $o = ''; $x = array( diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php index 828af8f83..0fb5a4605 100644 --- a/Zotlabs/Module/Wiki.php +++ b/Zotlabs/Module/Wiki.php @@ -118,7 +118,7 @@ class Wiki extends Controller { } $is_owner = ((local_channel()) && (local_channel() == \App::$profile['profile_uid']) ? true : false); - //$o = profile_tabs($a, $is_owner, \App::$profile['channel_address']); + $o = ''; // Download a wiki -- cgit v1.2.3 From 56f88f2e30ef75fa7e41cbcbbc6344abc6b7d37d Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Thu, 13 Sep 2018 11:32:43 +0200 Subject: move chat from feature to apps --- Zotlabs/Module/Apps.php | 4 +-- Zotlabs/Module/Chat.php | 69 ++++++++++++++++++++++++++++--------------------- 2 files changed, 41 insertions(+), 32 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Apps.php b/Zotlabs/Module/Apps.php index 11025ce6e..05b4495fc 100644 --- a/Zotlabs/Module/Apps.php +++ b/Zotlabs/Module/Apps.php @@ -50,8 +50,8 @@ class Apps extends \Zotlabs\Web\Controller { '$title' => (($available) ? t('Available Apps') : t('Installed Apps')), '$apps' => $apps, '$authed' => ((local_channel()) ? true : false), - '$manage' => (($available) ? '' : t('Manage apps')), - '$create' => (($mode == 'edit') ? t('Create new app') : '') + '$manage' => (($available) ? '' : t('Manage Apps')), + '$create' => (($mode == 'edit') ? t('Create Custom App') : '') )); } diff --git a/Zotlabs/Module/Chat.php b/Zotlabs/Module/Chat.php index 71138e8d8..551dc5e2a 100644 --- a/Zotlabs/Module/Chat.php +++ b/Zotlabs/Module/Chat.php @@ -1,13 +1,19 @@ 2) && (argv(2) === 'view')) { $which = $channel['channel_address']; @@ -49,16 +55,16 @@ class Chat extends \Zotlabs\Web\Controller { if((! $room) || (! local_channel())) return; - $channel = \App::get_channel(); + $channel = App::get_channel(); if($_POST['action'] === 'drop') { logger('delete chatroom'); - Zlib\Chatroom::destroy($channel,array('cr_name' => $room)); + Chatroom::destroy($channel,array('cr_name' => $room)); goaway(z_root() . '/chat/' . $channel['channel_address']); } - $acl = new \Zotlabs\Access\AccessList($channel); + $acl = new AccessList($channel); $acl->set_from_array($_REQUEST); $arr = $acl->get(); @@ -67,7 +73,7 @@ class Chat extends \Zotlabs\Web\Controller { if(intval($arr['expire']) < 0) $arr['expire'] = 0; - Zlib\Chatroom::create($channel,$arr); + Chatroom::create($channel,$arr); $x = q("select * from chatroom where cr_name = '%s' and cr_uid = %d limit 1", dbesc($room), @@ -88,26 +94,35 @@ class Chat extends \Zotlabs\Web\Controller { function get() { + + if(! Apps::system_app_installed(App::$profile_uid, 'Chatrooms')) { + //Do not display any associated widgets at this point + App::$pdl = ''; + + $o = 'Chatrooms App (Not Installed):
'; + $o .= t('Access Controlled Chatrooms'); + return $o; + } if(local_channel()) { - $channel = \App::get_channel(); - nav_set_selected('My Chatrooms'); + $channel = App::get_channel(); + nav_set_selected('Chatrooms'); } - $ob = \App::get_observer(); + $ob = App::get_observer(); $observer = get_observer_hash(); if(! $observer) { notice( t('Permission denied.') . EOL); return; } - if(! perm_is_allowed(\App::$profile['profile_uid'],$observer,'chat')) { + if(! perm_is_allowed(App::$profile['profile_uid'],$observer,'chat')) { notice( t('Permission denied.') . EOL); return; } if((argc() > 3) && intval(argv(2)) && (argv(3) === 'leave')) { - Zlib\Chatroom::leave($observer,argv(2),$_SERVER['REMOTE_ADDR']); + Chatroom::leave($observer,argv(2),$_SERVER['REMOTE_ADDR']); goaway(z_root() . '/channel/' . argv(1)); } @@ -160,16 +175,16 @@ class Chat extends \Zotlabs\Web\Controller { $room_id = intval(argv(2)); $bookmark_link = get_bookmark_link($ob); - $x = Zlib\Chatroom::enter($observer,$room_id,'online',$_SERVER['REMOTE_ADDR']); + $x = Chatroom::enter($observer,$room_id,'online',$_SERVER['REMOTE_ADDR']); if(! $x) return; $x = q("select * from chatroom where cr_id = %d and cr_uid = %d $sql_extra limit 1", intval($room_id), - intval(\App::$profile['profile_uid']) + intval(App::$profile['profile_uid']) ); if($x) { - $acl = new \Zotlabs\Access\AccessList(false); + $acl = new AccessList(false); $acl->set($x[0]); $private = $acl->is_private(); @@ -208,18 +223,12 @@ class Chat extends \Zotlabs\Web\Controller { )); return $o; } - - + require_once('include/conversation.php'); $o = ''; - - if(! feature_enabled(\App::$profile['profile_uid'],'ajaxchat')) { - notice( t('Feature disabled.') . EOL); - return $o; - } - $acl = new \Zotlabs\Access\AccessList($channel); + $acl = new AccessList($channel); $channel_acl = $acl->get(); $lockstate = (($channel_acl['allow_cid'] || $channel_acl['allow_gid'] || $channel_acl['deny_cid'] || $channel_acl['deny_gid']) ? 'lock' : 'unlock'); @@ -243,17 +252,17 @@ class Chat extends \Zotlabs\Web\Controller { )); } - $rooms = Zlib\Chatroom::roomlist(\App::$profile['profile_uid']); + $rooms = Chatroom::roomlist(App::$profile['profile_uid']); $o .= replace_macros(get_markup_template('chatrooms.tpl'), array( - '$header' => sprintf( t('%1$s\'s Chatrooms'), \App::$profile['fullname']), + '$header' => sprintf( t('%1$s\'s Chatrooms'), App::$profile['fullname']), '$name' => t('Name'), '$baseurl' => z_root(), - '$nickname' => \App::$profile['channel_address'], + '$nickname' => App::$profile['channel_address'], '$rooms' => $rooms, '$norooms' => t('No chatrooms available'), '$newroom' => t('Create New'), - '$is_owner' => ((local_channel() && local_channel() == \App::$profile['profile_uid']) ? 1 : 0), + '$is_owner' => ((local_channel() && local_channel() == App::$profile['profile_uid']) ? 1 : 0), '$chatroom_new' => $chatroom_new, '$expire' => t('Expiration'), '$expire_unit' => t('min') //minutes -- cgit v1.2.3 From 869534fafa543a76e58c32d5aa8f674217682162 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Thu, 13 Sep 2018 11:53:59 +0200 Subject: remove network_tabs() which has been deprecated and replaced by activity_{order, filters} widgets --- Zotlabs/Module/Network.php | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php index c3db15ef2..ffe605538 100644 --- a/Zotlabs/Module/Network.php +++ b/Zotlabs/Module/Network.php @@ -167,8 +167,6 @@ class Network extends \Zotlabs\Web\Controller { } if(! $update) { - $tabs = ''; //network_tabs(); - $o .= $tabs; // search terms header if($search) { @@ -256,8 +254,7 @@ class Network extends \Zotlabs\Web\Controller { )); } - $o = $tabs; - $o .= $title; + $o = $title; $o .= $status_editor; } @@ -283,8 +280,7 @@ class Network extends \Zotlabs\Web\Controller { '$title' => '' . urlencode($cid_r[0]['xchan_name']) . ' ' . $cid_r[0]['xchan_name'] . '' )); - $o = $tabs; - $o .= $title; + $o = $title; $o .= $status_editor; } elseif($xchan) { @@ -297,8 +293,8 @@ class Network extends \Zotlabs\Web\Controller { $title = replace_macros(get_markup_template("section_title.tpl"),array( '$title' => '' . urlencode($r[0]['xchan_name']) . ' ' . $r[0]['xchan_name'] . '' )); - $o = $tabs; - $o .= $title; + + $o = $title; $o .= $status_editor; } -- cgit v1.2.3 From 7856f5882bceaf83d5df42e117c23badc89ad1a8 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 15 Sep 2018 10:10:43 +0200 Subject: appify cdav stuff. WARNING: if you use caldav or carddav from a client or the webinterface you will need to enable those apps to make things work again --- Zotlabs/Module/Cdav.php | 52 ++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 47 insertions(+), 5 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Cdav.php b/Zotlabs/Module/Cdav.php index 6737ac4ee..69030b582 100644 --- a/Zotlabs/Module/Cdav.php +++ b/Zotlabs/Module/Cdav.php @@ -1,6 +1,9 @@ setRealm(ucfirst(\Zotlabs\Lib\System::get_platform_name()) . 'CalDAV/CardDAV'); if (local_channel()) { + logger('loggedin'); - $channel = \App::get_channel(); + + if((argv(1) == 'calendars') && (!Apps::system_app_installed(local_channel(), 'CalDAV'))) { + killme(); + } + + if((argv(1) == 'addressbooks') && (!Apps::system_app_installed(local_channel(), 'CardDAV'))) { + killme(); + } + + $channel = App::get_channel(); $auth->setCurrentUser($channel['channel_address']); $auth->channel_id = $channel['channel_id']; $auth->channel_hash = $channel['channel_hash']; @@ -161,12 +174,15 @@ class Cdav extends \Zotlabs\Web\Controller { $nodes = [ // /principals new \Sabre\CalDAV\Principal\Collection($principalBackend), + // /calendars new \Sabre\CalDAV\CalendarRoot($principalBackend, $caldavBackend), + // /addressbook - new \Sabre\CardDAV\AddressBookRoot($principalBackend, $carddavBackend), + new \Sabre\CardDAV\AddressBookRoot($principalBackend, $carddavBackend) ]; + // The object tree needs in turn to be passed to the server class $server = new \Sabre\DAV\Server($nodes); @@ -204,7 +220,15 @@ class Cdav extends \Zotlabs\Web\Controller { if(! local_channel()) return; - $channel = \App::get_channel(); + if((argv(1) === 'calendar') && (! Apps::system_app_installed(local_channel(), 'CalDAV'))) { + return; + } + + if((argv(1) === 'addressbook') && (! Apps::system_app_installed(local_channel(), 'CardDAV'))) { + return; + } + + $channel = App::get_channel(); $principalUri = 'principals/' . $channel['channel_address']; if(!cdav_principal($principalUri)) @@ -807,7 +831,25 @@ class Cdav extends \Zotlabs\Web\Controller { if(!local_channel()) return; - $channel = \App::get_channel(); + if((argv(1) === 'calendar') && (! Apps::system_app_installed(local_channel(), 'CalDAV'))) { + //Do not display any associated widgets at this point + App::$pdl = ''; + + $o = 'CalDAV App (Not Installed):
'; + $o .= t('CalDAV capable calendar'); + return $o; + } + + if((argv(1) === 'addressbook') && (! Apps::system_app_installed(local_channel(), 'CardDAV'))) { + //Do not display any associated widgets at this point + App::$pdl = ''; + + $o = 'CardDAV App (Not Installed):
'; + $o .= t('CalDAV capable addressbook'); + return $o; + } + + $channel = App::get_channel(); $principalUri = 'principals/' . $channel['channel_address']; $pdo = \DBA::$dba->db; @@ -874,7 +916,7 @@ class Cdav extends \Zotlabs\Web\Controller { $o .= replace_macros(get_markup_template('cdav_calendar.tpl'), [ '$sources' => $sources, '$color' => $color, - '$lang' => \App::$language, + '$lang' => App::$language, '$first_day' => $first_day, '$prev' => t('Previous'), '$next' => t('Next'), -- cgit v1.2.3 From 0f9a8a43e4ab274e251240f6091a5bf87c2ac205 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 15 Sep 2018 10:48:51 +0200 Subject: appify invite --- Zotlabs/Module/Cdav.php | 3 ++- Zotlabs/Module/Invite.php | 21 +++++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Cdav.php b/Zotlabs/Module/Cdav.php index 69030b582..bff308dfa 100644 --- a/Zotlabs/Module/Cdav.php +++ b/Zotlabs/Module/Cdav.php @@ -3,13 +3,14 @@ namespace Zotlabs\Module; use App; use Zotlabs\Lib\Apps; +use Zotlabs\Web\Controller; require_once('include/event.php'); require_once('include/auth.php'); require_once('include/security.php'); -class Cdav extends \Zotlabs\Web\Controller { +class Cdav extends Controller { function init() { diff --git a/Zotlabs/Module/Invite.php b/Zotlabs/Module/Invite.php index 359f99b3e..0a79387ce 100644 --- a/Zotlabs/Module/Invite.php +++ b/Zotlabs/Module/Invite.php @@ -1,6 +1,10 @@ Invite App (Not Installed):
'; + $o .= t('Send email invitations to join this network'); + return $o; + } + nav_set_selected('Invite'); $tpl = get_markup_template('invite.tpl'); @@ -127,11 +140,11 @@ class Invite extends \Zotlabs\Web\Controller { } } - $ob = \App::get_observer(); + $ob = App::get_observer(); if(! $ob) return $o; - $channel = \App::get_channel(); + $channel = App::get_channel(); $o = replace_macros($tpl, array( '$form_security_token' => get_form_security_token("send_invite"), -- cgit v1.2.3 From 299eb469f8d4d674c49e41162d28f237c0d7294f Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 15 Sep 2018 11:00:41 +0200 Subject: appify mood --- Zotlabs/Module/Invite.php | 4 ++++ Zotlabs/Module/Mood.php | 23 ++++++++++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Invite.php b/Zotlabs/Module/Invite.php index 0a79387ce..234802746 100644 --- a/Zotlabs/Module/Invite.php +++ b/Zotlabs/Module/Invite.php @@ -21,6 +21,10 @@ class Invite extends Controller { notice( t('Permission denied.') . EOL); return; } + + if(! Apps::system_app_installed(local_channel(), 'Invite')) { + return; + } check_form_security_token_redirectOnErr('/', 'send_invite'); diff --git a/Zotlabs/Module/Mood.php b/Zotlabs/Module/Mood.php index ad29ec7e8..cceef5ffa 100644 --- a/Zotlabs/Module/Mood.php +++ b/Zotlabs/Module/Mood.php @@ -1,21 +1,29 @@ Mood App (Not Installed):
'; + $o .= t('Set your current mood and tell your friends'); + return $o; + } + nav_set_selected('Mood'); $parent = ((x($_GET,'parent')) ? intval($_GET['parent']) : '0'); -- cgit v1.2.3 From 791ff25d52c7f7e95758f1218a1621012b15be7c Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 15 Sep 2018 11:09:16 +0200 Subject: appify poke --- Zotlabs/Module/Poke.php | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Poke.php b/Zotlabs/Module/Poke.php index d13ec5ced..46dcf6dd3 100644 --- a/Zotlabs/Module/Poke.php +++ b/Zotlabs/Module/Poke.php @@ -1,6 +1,10 @@ Poke App (Not Installed):
'; + $o .= t('Poke somebody in your addressbook'); + return $o; + } + nav_set_selected('Poke'); $name = ''; -- cgit v1.2.3 From 07cd1d1272bd301c2f41f5579697754ccbbf5ae3 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sun, 16 Sep 2018 09:30:07 +0200 Subject: appification of the lang module --- Zotlabs/Module/Lang.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Lang.php b/Zotlabs/Module/Lang.php index 0e5d85d05..9858beecd 100644 --- a/Zotlabs/Module/Lang.php +++ b/Zotlabs/Module/Lang.php @@ -1,13 +1,28 @@ Language App (Not Installed):
'; + $o .= t('Change UI language'); + return $o; + } + } + nav_set_selected('Language'); return lang_selector(); + } - } -- cgit v1.2.3 From 593a5072d9b738ea036167f15776f90e829a1e64 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Sun, 16 Sep 2018 20:00:20 -0700 Subject: Some improvements to setup checks: image library and pdo support --- Zotlabs/Module/Setup.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Setup.php b/Zotlabs/Module/Setup.php index a3832d156..50b40834b 100644 --- a/Zotlabs/Module/Setup.php +++ b/Zotlabs/Module/Setup.php @@ -526,14 +526,21 @@ class Setup extends \Zotlabs\Web\Controller { $ck_funcs[0]['status'] = false; $ck_funcs[0]['help'] = t('Error: libCURL PHP module required but not installed.'); } - if(! function_exists('imagecreatefromjpeg')) { + if((! function_exists('imagecreatefromjpeg')) || (! class_exists('Imagick'))) { $ck_funcs[1]['status'] = false; - $ck_funcs[1]['help'] = t('Error: GD graphics PHP module with JPEG support required but not installed.'); + $ck_funcs[1]['help'] = t('Error: GD PHP module with JPEG support or ImageMagick graphics library required but not installed.'); } if(! function_exists('openssl_public_encrypt')) { $ck_funcs[2]['status'] = false; $ck_funcs[2]['help'] = t('Error: openssl PHP module required but not installed.'); } + if(class_exists('PDO')) { + $x = PDO::getAvailableDrivers(); + if((! in_array('mysql',$x)) && (! in_array('pgsql',$x))) { + $ck_funcs[3]['status'] = false; + $ck_funcs[3]['help'] = t('Error: PDO database PHP module missing a driver for either mysql or pgsql.'); + } + } if(! class_exists('PDO')) { $ck_funcs[3]['status'] = false; $ck_funcs[3]['help'] = t('Error: PDO database PHP module required but not installed.'); -- cgit v1.2.3 From 2f6cb764a4670f848123153e44d6aa58d6ab01b7 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Mon, 17 Sep 2018 10:30:47 +0200 Subject: prepare submodule to interact with route --- Zotlabs/Module/Articles.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Articles.php b/Zotlabs/Module/Articles.php index d622b221a..7af1ab6b8 100644 --- a/Zotlabs/Module/Articles.php +++ b/Zotlabs/Module/Articles.php @@ -45,7 +45,7 @@ class Articles extends Controller { return $o; } - nav_set_selected(t('Articles')); + nav_set_selected('Articles'); head_add_link([ 'rel' => 'alternate', -- cgit v1.2.3 From a9853e6033ed6a9af639606fa73bb5b40d2fbbcb Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Mon, 17 Sep 2018 11:36:11 +0200 Subject: seperate settings for mod network --- Zotlabs/Module/Settings/Network.php | 128 ++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 Zotlabs/Module/Settings/Network.php (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Network.php b/Zotlabs/Module/Settings/Network.php new file mode 100644 index 000000000..14a118f2c --- /dev/null +++ b/Zotlabs/Module/Settings/Network.php @@ -0,0 +1,128 @@ + 'settings/network', + '$form_security_token' => get_form_security_token("settings_network"), + '$title' => t('Activity Settings'), + '$features' => $arr, + '$baseurl' => z_root(), + '$submit' => t('Submit'), + )); + + return $o; + } + + function get_features() { + $arr = [ + + [ + 'archives', + t('Search by Date'), + t('Ability to select posts by date ranges'), + false, + get_config('feature_lock','archives') + ], + + [ + 'savedsearch', + t('Saved Searches'), + t('Save search terms for re-use'), + false, + get_config('feature_lock','savedsearch') + ], + + [ + 'order_tab', + t('Alternate Stream Order'), + t('Ability to order the stream by last post date, last comment date or unthreaded activities'), + false, + get_config('feature_lock','order_tab') + ], + + [ + 'name_tab', + t('Contact Filter'), + t('Ability to display only posts of a selected contact'), + false, + get_config('feature_lock','name_tab') + ], + + [ + 'forums_tab', + t('Forum Filter'), + t('Ability to display only posts of a specific forum'), + false, + get_config('feature_lock','forums_tab') + ], + + [ + 'personal_tab', + t('Personal Posts Filter'), + t('Ability to display only posts that you\'ve interacted on'), + false, + get_config('feature_lock','personal_tab') + ], + + [ + 'affinity', + t('Affinity Tool'), + t('Filter stream activity by depth of relationships'), + false, + get_config('feature_lock','affinity') + ], + + [ + 'suggest', + t('Suggest Channels'), + t('Show friend and connection suggestions'), + false, + get_config('feature_lock','suggest') + ], + + [ + 'connfilter', + t('Connection Filtering'), + t('Filter incoming posts from connections based on keywords/content'), + false, + get_config('feature_lock','connfilter') + ] + + ]; + + return $arr; + + } + +} -- cgit v1.2.3 From fdc89d1b8972c2bad896eb3d42086b0e91e3c01b Mon Sep 17 00:00:00 2001 From: zotlabs Date: Mon, 17 Sep 2018 13:03:17 -0700 Subject: pdo install check requires namespacing --- Zotlabs/Module/Setup.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Setup.php b/Zotlabs/Module/Setup.php index 50b40834b..693f3309e 100644 --- a/Zotlabs/Module/Setup.php +++ b/Zotlabs/Module/Setup.php @@ -526,7 +526,7 @@ class Setup extends \Zotlabs\Web\Controller { $ck_funcs[0]['status'] = false; $ck_funcs[0]['help'] = t('Error: libCURL PHP module required but not installed.'); } - if((! function_exists('imagecreatefromjpeg')) || (! class_exists('Imagick'))) { + if((! function_exists('imagecreatefromjpeg')) || (! class_exists('\\Imagick'))) { $ck_funcs[1]['status'] = false; $ck_funcs[1]['help'] = t('Error: GD PHP module with JPEG support or ImageMagick graphics library required but not installed.'); } @@ -534,14 +534,14 @@ class Setup extends \Zotlabs\Web\Controller { $ck_funcs[2]['status'] = false; $ck_funcs[2]['help'] = t('Error: openssl PHP module required but not installed.'); } - if(class_exists('PDO')) { - $x = PDO::getAvailableDrivers(); + if(class_exists('\\PDO')) { + $x = \PDO::getAvailableDrivers(); if((! in_array('mysql',$x)) && (! in_array('pgsql',$x))) { $ck_funcs[3]['status'] = false; $ck_funcs[3]['help'] = t('Error: PDO database PHP module missing a driver for either mysql or pgsql.'); } } - if(! class_exists('PDO')) { + if(! class_exists('\\PDO')) { $ck_funcs[3]['status'] = false; $ck_funcs[3]['help'] = t('Error: PDO database PHP module required but not installed.'); } -- cgit v1.2.3 From a1f3a5d9b680157b8a9f0bf61852a76530ee11f3 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Mon, 17 Sep 2018 22:16:10 +0200 Subject: remove unused variable --- Zotlabs/Module/Settings/Network.php | 1 - 1 file changed, 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Network.php b/Zotlabs/Module/Settings/Network.php index 14a118f2c..7d19d7c51 100644 --- a/Zotlabs/Module/Settings/Network.php +++ b/Zotlabs/Module/Settings/Network.php @@ -37,7 +37,6 @@ class Network { '$form_security_token' => get_form_security_token("settings_network"), '$title' => t('Activity Settings'), '$features' => $arr, - '$baseurl' => z_root(), '$submit' => t('Submit'), )); -- cgit v1.2.3 From 71c599f50ef2933f3898d55823aec351f95d5828 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Mon, 17 Sep 2018 22:16:42 +0200 Subject: remove superfluous comma --- Zotlabs/Module/Settings/Network.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Network.php b/Zotlabs/Module/Settings/Network.php index 7d19d7c51..4e2e3915e 100644 --- a/Zotlabs/Module/Settings/Network.php +++ b/Zotlabs/Module/Settings/Network.php @@ -37,7 +37,7 @@ class Network { '$form_security_token' => get_form_security_token("settings_network"), '$title' => t('Activity Settings'), '$features' => $arr, - '$submit' => t('Submit'), + '$submit' => t('Submit') )); return $o; -- cgit v1.2.3 From 2c1560e027bc3dc6c1d611ff782b29eeabdb76f0 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Wed, 19 Sep 2018 17:56:23 -0700 Subject: fix setup --- Zotlabs/Module/Setup.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Setup.php b/Zotlabs/Module/Setup.php index 693f3309e..c0716ca7c 100644 --- a/Zotlabs/Module/Setup.php +++ b/Zotlabs/Module/Setup.php @@ -526,7 +526,7 @@ class Setup extends \Zotlabs\Web\Controller { $ck_funcs[0]['status'] = false; $ck_funcs[0]['help'] = t('Error: libCURL PHP module required but not installed.'); } - if((! function_exists('imagecreatefromjpeg')) || (! class_exists('\\Imagick'))) { + if((! function_exists('imagecreatefromjpeg')) && (! class_exists('\\Imagick'))) { $ck_funcs[1]['status'] = false; $ck_funcs[1]['help'] = t('Error: GD PHP module with JPEG support or ImageMagick graphics library required but not installed.'); } -- cgit v1.2.3 From 1ca558f011b21b0a493d294501f530e57bdd574e Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Thu, 20 Sep 2018 13:22:41 +0200 Subject: move connection filtering setting from network to connections, provide a link to settings in the navbar if present for a module and some code optimisation --- Zotlabs/Module/Connections.php | 21 ++++++++------ Zotlabs/Module/Settings/Connections.php | 51 +++++++++++++++++++++++++++++++++ Zotlabs/Module/Settings/Network.php | 14 ++------- 3 files changed, 65 insertions(+), 21 deletions(-) create mode 100644 Zotlabs/Module/Settings/Connections.php (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Connections.php b/Zotlabs/Module/Connections.php index cecada769..0e5f1dfe2 100644 --- a/Zotlabs/Module/Connections.php +++ b/Zotlabs/Module/Connections.php @@ -1,6 +1,7 @@ (($searching) ? t('Connections search') . ": '" . $search . "'" : ""), '$submit' => t('Find'), '$edit' => t('Edit'), - '$cmd' => \App::$cmd, + '$cmd' => App::$cmd, '$contacts' => $contacts, '$paginate' => paginate($a), diff --git a/Zotlabs/Module/Settings/Connections.php b/Zotlabs/Module/Settings/Connections.php new file mode 100644 index 000000000..361d86ccb --- /dev/null +++ b/Zotlabs/Module/Settings/Connections.php @@ -0,0 +1,51 @@ + 'settings/connections', + '$form_security_token' => get_form_security_token("settings_connections"), + '$title' => t('Connections Settings'), + '$features' => process_features_get(local_channel(), $features), + '$submit' => t('Submit') + )); + + return $o; + } + + function get_features() { + $arr = [ + [ + 'connfilter', + t('Connection Filtering'), + t('Filter incoming posts from connections based on keywords/content'), + false, + get_config('feature_lock','connfilter') + ] + ]; + + return $arr; + + } + +} diff --git a/Zotlabs/Module/Settings/Network.php b/Zotlabs/Module/Settings/Network.php index 4e2e3915e..eaf11f3da 100644 --- a/Zotlabs/Module/Settings/Network.php +++ b/Zotlabs/Module/Settings/Network.php @@ -10,13 +10,7 @@ class Network { $features = self::get_features(); - foreach($features as $f) { - $k = $f[0]; - if(array_key_exists("feature_$k",$_POST)) - set_pconfig(local_channel(),'feature',$k, (string) $_POST["feature_$k"]); - else - set_pconfig(local_channel(),'feature', $k, ''); - } + process_features_post(local_channel(), $features, $_POST); build_sync_packet(); return; @@ -26,17 +20,13 @@ class Network { $features = self::get_features(); - foreach($features as $f) { - $arr[] = array('feature_' . $f[0],$f[1],((intval(feature_enabled(local_channel(),$f[0]))) ? "1" : ''),$f[2],array(t('Off'),t('On'))); - } - $tpl = get_markup_template("settings_module.tpl"); $o .= replace_macros($tpl, array( '$action_url' => 'settings/network', '$form_security_token' => get_form_security_token("settings_network"), '$title' => t('Activity Settings'), - '$features' => $arr, + '$features' => process_features_get(local_channel(), $features), '$submit' => t('Submit') )); -- cgit v1.2.3 From 369f34b2d122c7bd22522101fc9e4ce0f597a04e Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Thu, 20 Sep 2018 13:25:47 +0200 Subject: remove connection filter from network settings --- Zotlabs/Module/Settings/Network.php | 8 -------- 1 file changed, 8 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Network.php b/Zotlabs/Module/Settings/Network.php index eaf11f3da..1e39121c8 100644 --- a/Zotlabs/Module/Settings/Network.php +++ b/Zotlabs/Module/Settings/Network.php @@ -98,14 +98,6 @@ class Network { t('Show friend and connection suggestions'), false, get_config('feature_lock','suggest') - ], - - [ - 'connfilter', - t('Connection Filtering'), - t('Filter incoming posts from connections based on keywords/content'), - false, - get_config('feature_lock','connfilter') ] ]; -- cgit v1.2.3 From 3cc66b68162a82493cd68d369e4f0cbb01f941d0 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Thu, 20 Sep 2018 16:07:32 -0700 Subject: bookmarks fail to sync --- Zotlabs/Module/Bookmarks.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Bookmarks.php b/Zotlabs/Module/Bookmarks.php index cea0d9759..cee86a47d 100644 --- a/Zotlabs/Module/Bookmarks.php +++ b/Zotlabs/Module/Bookmarks.php @@ -59,7 +59,7 @@ class Bookmarks extends \Zotlabs\Web\Controller { killme(); } - function get() { + function get() { if(! local_channel()) { notice( t('Permission denied.') . EOL); return; -- cgit v1.2.3 From 5525f082e64bb942f8aae97d4976ea1ec0aa91ec Mon Sep 17 00:00:00 2001 From: zotlabs Date: Thu, 20 Sep 2018 22:43:01 -0700 Subject: remove bbcode from event hovertip --- Zotlabs/Module/Cal.php | 2 ++ Zotlabs/Module/Events.php | 5 ++--- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Cal.php b/Zotlabs/Module/Cal.php index 87c13ef4e..3809064b0 100644 --- a/Zotlabs/Module/Cal.php +++ b/Zotlabs/Module/Cal.php @@ -6,6 +6,7 @@ require_once('include/bbcode.php'); require_once('include/datetime.php'); require_once('include/event.php'); require_once('include/items.php'); +require_once('include/html2plain.php'); class Cal extends \Zotlabs\Web\Controller { @@ -293,6 +294,7 @@ class Cal extends \Zotlabs\Web\Controller { } $html = format_event_html($rr); $rr['desc'] = zidify_links(smilies(bbcode($rr['desc']))); + $rr['description'] = htmlentities(html2plain(bbcode($rr['description'])),ENT_COMPAT,'UTF-8'); $rr['location'] = zidify_links(smilies(bbcode($rr['location']))); $events[] = array( 'id'=>$rr['id'], diff --git a/Zotlabs/Module/Events.php b/Zotlabs/Module/Events.php index 33c8b8249..2115edde5 100644 --- a/Zotlabs/Module/Events.php +++ b/Zotlabs/Module/Events.php @@ -6,7 +6,7 @@ require_once('include/bbcode.php'); require_once('include/datetime.php'); require_once('include/event.php'); require_once('include/items.php'); - +require_once('include/html2plain.php'); class Events extends \Zotlabs\Web\Controller { @@ -641,6 +641,7 @@ class Events extends \Zotlabs\Web\Controller { } $html = format_event_html($rr); $rr['desc'] = zidify_links(smilies(bbcode($rr['desc']))); + $rr['description'] = htmlentities(html2plain(bbcode($rr['description'])),ENT_COMPAT,'UTF-8'); $rr['location'] = zidify_links(smilies(bbcode($rr['location']))); $events[] = array( 'id'=>$rr['id'], @@ -659,8 +660,6 @@ class Events extends \Zotlabs\Web\Controller { 'html'=>$html, 'plink' => array($rr['plink'],t('Link to Source'),'',''), ); - - } } -- cgit v1.2.3 From ba49e6a5889ffbb91ce783a00334d2b6221c42b7 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Thu, 20 Sep 2018 22:46:47 -0700 Subject: don't double encode --- Zotlabs/Module/Cal.php | 2 +- Zotlabs/Module/Events.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Cal.php b/Zotlabs/Module/Cal.php index 3809064b0..14c109515 100644 --- a/Zotlabs/Module/Cal.php +++ b/Zotlabs/Module/Cal.php @@ -294,7 +294,7 @@ class Cal extends \Zotlabs\Web\Controller { } $html = format_event_html($rr); $rr['desc'] = zidify_links(smilies(bbcode($rr['desc']))); - $rr['description'] = htmlentities(html2plain(bbcode($rr['description'])),ENT_COMPAT,'UTF-8'); + $rr['description'] = htmlentities(html2plain(bbcode($rr['description'])),ENT_COMPAT,'UTF-8',false); $rr['location'] = zidify_links(smilies(bbcode($rr['location']))); $events[] = array( 'id'=>$rr['id'], diff --git a/Zotlabs/Module/Events.php b/Zotlabs/Module/Events.php index 2115edde5..213fa6bff 100644 --- a/Zotlabs/Module/Events.php +++ b/Zotlabs/Module/Events.php @@ -641,7 +641,7 @@ class Events extends \Zotlabs\Web\Controller { } $html = format_event_html($rr); $rr['desc'] = zidify_links(smilies(bbcode($rr['desc']))); - $rr['description'] = htmlentities(html2plain(bbcode($rr['description'])),ENT_COMPAT,'UTF-8'); + $rr['description'] = htmlentities(html2plain(bbcode($rr['description'])),ENT_COMPAT,'UTF-8',false); $rr['location'] = zidify_links(smilies(bbcode($rr['location']))); $events[] = array( 'id'=>$rr['id'], -- cgit v1.2.3 From 9638bf2b1eeb805b27eaf2f2e1e8a09bfd5c5514 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Fri, 21 Sep 2018 20:23:31 +0200 Subject: provide a return path from settings pages --- Zotlabs/Module/Settings/Connections.php | 2 ++ Zotlabs/Module/Settings/Network.php | 2 ++ 2 files changed, 4 insertions(+) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Connections.php b/Zotlabs/Module/Settings/Connections.php index 361d86ccb..425409502 100644 --- a/Zotlabs/Module/Settings/Connections.php +++ b/Zotlabs/Module/Settings/Connections.php @@ -19,10 +19,12 @@ class Connections { function get() { $features = self::get_features(); + $rpath = (($_GET['rpath']) ? $_GET['rpath'] : ''); $tpl = get_markup_template("settings_module.tpl"); $o .= replace_macros($tpl, array( + '$rpath' => $rpath, '$action_url' => 'settings/connections', '$form_security_token' => get_form_security_token("settings_connections"), '$title' => t('Connections Settings'), diff --git a/Zotlabs/Module/Settings/Network.php b/Zotlabs/Module/Settings/Network.php index 1e39121c8..a2e606565 100644 --- a/Zotlabs/Module/Settings/Network.php +++ b/Zotlabs/Module/Settings/Network.php @@ -19,10 +19,12 @@ class Network { function get() { $features = self::get_features(); + $rpath = (($_GET['rpath']) ? $_GET['rpath'] : ''); $tpl = get_markup_template("settings_module.tpl"); $o .= replace_macros($tpl, array( + '$rpath' => $rpath, '$action_url' => 'settings/network', '$form_security_token' => get_form_security_token("settings_network"), '$title' => t('Activity Settings'), -- cgit v1.2.3 From 4484985c2d48d8256ae114d55a8f4e6db0303425 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Fri, 21 Sep 2018 21:37:00 +0200 Subject: add file --- Zotlabs/Module/Settings/Editor.php | 120 +++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 Zotlabs/Module/Settings/Editor.php (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Editor.php b/Zotlabs/Module/Settings/Editor.php new file mode 100644 index 000000000..a87f31fe7 --- /dev/null +++ b/Zotlabs/Module/Settings/Editor.php @@ -0,0 +1,120 @@ + $rpath, + '$action_url' => 'settings/editor', + '$form_security_token' => get_form_security_token("settings_editor"), + '$title' => t('Editor Settings'), + '$features' => process_features_get(local_channel(), $features), + '$submit' => t('Submit') + )); + + return $o; + } + + function get_features() { + $arr = [ + + [ + 'large_photos', + t('Large Photos'), + t('Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails'), + false, + get_config('feature_lock','large_photos'), + ], + + [ + //TODO: This should be its own app + 'channel_sources', + t('Channel Sources'), + t('Automatically import channel content from other channels or feeds'), + false, + get_config('feature_lock','channel_sources'), + ], + + [ + 'content_encrypt', + t('Even More Encryption'), + t('Allow optional encryption of content end-to-end with a shared secret key'), + false, + get_config('feature_lock','content_encrypt'), + ], + + [ + 'consensus_tools', + t('Enable Voting Tools'), + t('Provide a class of post which others can vote on'), + false, + get_config('feature_lock','consensus_tools'), + ], + + [ + 'disable_comments', + t('Disable Comments'), + t('Provide the option to disable comments for a post'), + false, + get_config('feature_lock','disable_comments'), + ], + + [ + 'delayed_posting', + t('Delayed Posting'), + t('Allow posts to be published at a later date'), + false, + get_config('feature_lock','delayed_posting'), + ], + + [ + 'content_expire', + t('Content Expiration'), + t('Remove posts/comments and/or private messages at a future time'), + false, + get_config('feature_lock','content_expire'), + ], + + [ + 'suppress_duplicates', + t('Suppress Duplicate Posts/Comments'), + t('Prevent posts with identical content to be published with less than two minutes in between submissions.'), + true, + get_config('feature_lock','suppress_duplicates'), + ], + + [ + 'auto_save_draft', + t('Auto-save drafts of posts and comments'), + t('Automatically saves post and comment drafts in local browser storage to help prevent accidental loss of compositions'), + true, + get_config('feature_lock','auto_save_draft'), + ] + + ]; + + return $arr; + + } + +} -- cgit v1.2.3 From 1e5405ccaf3ddff88653cc34a04cfce9b7102891 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 22 Sep 2018 13:32:42 +0200 Subject: appification of sources --- Zotlabs/Module/Settings/Editor.php | 9 --------- Zotlabs/Module/Sources.php | 22 +++++++++++++++------- 2 files changed, 15 insertions(+), 16 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Editor.php b/Zotlabs/Module/Settings/Editor.php index a87f31fe7..92775f154 100644 --- a/Zotlabs/Module/Settings/Editor.php +++ b/Zotlabs/Module/Settings/Editor.php @@ -46,15 +46,6 @@ class Editor { get_config('feature_lock','large_photos'), ], - [ - //TODO: This should be its own app - 'channel_sources', - t('Channel Sources'), - t('Automatically import channel content from other channels or feeds'), - false, - get_config('feature_lock','channel_sources'), - ], - [ 'content_encrypt', t('Even More Encryption'), diff --git a/Zotlabs/Module/Sources.php b/Zotlabs/Module/Sources.php index 2a2fa1835..5d05244a7 100644 --- a/Zotlabs/Module/Sources.php +++ b/Zotlabs/Module/Sources.php @@ -1,15 +1,18 @@ Sources App (Not Installed):
'; + $o .= t('Automatically import channel content from other channels or feeds'); + return $o; + } // list sources if(argc() == 1) { -- cgit v1.2.3 From 45078dda825d6412f755e2727e25c027ca48c1e9 Mon Sep 17 00:00:00 2001 From: Mario Date: Sat, 22 Sep 2018 19:48:17 +0200 Subject: introduce profile settings and provide a way for modules without an app to still be able to link to its settings page from the navbar --- Zotlabs/Module/Profiles.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Profiles.php b/Zotlabs/Module/Profiles.php index 202ee462a..de4075ba9 100644 --- a/Zotlabs/Module/Profiles.php +++ b/Zotlabs/Module/Profiles.php @@ -8,8 +8,8 @@ require_once('include/selectors.php'); class Profiles extends \Zotlabs\Web\Controller { function init() { - - nav_set_selected('Profiles'); + + nav_set_selected('Profiles', 'settings/profiles'); if(! local_channel()) { return; -- cgit v1.2.3 From 65be3de200040bad89a4b5bc78fb6ff72bfffaad Mon Sep 17 00:00:00 2001 From: Mario Date: Sat, 22 Sep 2018 20:10:48 +0200 Subject: add files and settings for channel manager --- Zotlabs/Module/Manage.php | 2 +- Zotlabs/Module/Settings/Manage.php | 55 +++++++++++++++++++++++++++ Zotlabs/Module/Settings/Profiles.php | 72 ++++++++++++++++++++++++++++++++++++ 3 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 Zotlabs/Module/Settings/Manage.php create mode 100644 Zotlabs/Module/Settings/Profiles.php (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Manage.php b/Zotlabs/Module/Manage.php index 2c88a4df0..ea24bbf61 100644 --- a/Zotlabs/Module/Manage.php +++ b/Zotlabs/Module/Manage.php @@ -11,7 +11,7 @@ class Manage extends \Zotlabs\Web\Controller { return; } - nav_set_selected('Channel Manager'); + nav_set_selected('Channel Manager', 'settings/manage'); require_once('include/security.php'); diff --git a/Zotlabs/Module/Settings/Manage.php b/Zotlabs/Module/Settings/Manage.php new file mode 100644 index 000000000..f10f4d502 --- /dev/null +++ b/Zotlabs/Module/Settings/Manage.php @@ -0,0 +1,55 @@ + $rpath, + '$action_url' => 'settings/manage', + '$form_security_token' => get_form_security_token("settings_manage"), + '$title' => t('Channel Manager Settings'), + '$features' => process_features_get(local_channel(), $features), + '$submit' => t('Submit') + )); + + return $o; + } + + function get_features() { + $arr = [ + + [ + 'nav_channel_select', + t('Navigation Channel Select'), + t('Change channels directly from within the navigation dropdown menu'), + true, + get_config('feature_lock','nav_channel_select'), + ] + + ]; + + return $arr; + + } + +} diff --git a/Zotlabs/Module/Settings/Profiles.php b/Zotlabs/Module/Settings/Profiles.php new file mode 100644 index 000000000..801bb7b10 --- /dev/null +++ b/Zotlabs/Module/Settings/Profiles.php @@ -0,0 +1,72 @@ + $rpath, + '$action_url' => 'settings/profiles', + '$form_security_token' => get_form_security_token("settings_profiles"), + '$title' => t('Profile Settings'), + '$features' => process_features_get(local_channel(), $features), + '$submit' => t('Submit') + )); + + return $o; + } + + function get_features() { + $arr = [ + + [ + 'advanced_profiles', + t('Advanced Profiles'), + t('Additional profile sections and selections'), + false, + get_config('feature_lock','advanced_profiles'), + ], + + [ + 'profile_export', + t('Profile Import/Export'), + t('Save and load profile details across sites/channels'), + false, + get_config('feature_lock','profile_export'), + ], + + [ + 'multi_profiles', + t('Multiple Profiles'), + t('Ability to create multiple profiles'), + false, + get_config('feature_lock','multi_profiles'), + ] + + + ]; + + return $arr; + + } + +} -- cgit v1.2.3 From b296a73330267ea0e7444f1ab66b546ecfef02af Mon Sep 17 00:00:00 2001 From: Mario Date: Sat, 22 Sep 2018 20:15:34 +0200 Subject: this should be off by default --- Zotlabs/Module/Settings/Manage.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Manage.php b/Zotlabs/Module/Settings/Manage.php index f10f4d502..e13017d6b 100644 --- a/Zotlabs/Module/Settings/Manage.php +++ b/Zotlabs/Module/Settings/Manage.php @@ -42,7 +42,7 @@ class Manage { 'nav_channel_select', t('Navigation Channel Select'), t('Change channels directly from within the navigation dropdown menu'), - true, + false, get_config('feature_lock','nav_channel_select'), ] -- cgit v1.2.3 From 9e22ec267c0020e27e4b1cdf5da23b442529da6a Mon Sep 17 00:00:00 2001 From: Mario Date: Sun, 23 Sep 2018 01:11:06 +0200 Subject: keep the features in the central array but sort them by module name --- Zotlabs/Module/Settings/Connections.php | 23 ++-------- Zotlabs/Module/Settings/Editor.php | 81 ++------------------------------- Zotlabs/Module/Settings/Manage.php | 25 ++-------- Zotlabs/Module/Settings/Network.php | 81 ++------------------------------- Zotlabs/Module/Settings/Profiles.php | 42 ++--------------- 5 files changed, 20 insertions(+), 232 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Connections.php b/Zotlabs/Module/Settings/Connections.php index 425409502..f3638862b 100644 --- a/Zotlabs/Module/Settings/Connections.php +++ b/Zotlabs/Module/Settings/Connections.php @@ -8,9 +8,9 @@ class Connections { function post() { check_form_security_token_redirectOnErr('/settings/connections', 'settings_connections'); - $features = self::get_features(); + $features = get_module_features('connections'); - process_features_post(local_channel(), $features, $_POST); + process_module_features_post(local_channel(), $features, $_POST); build_sync_packet(); return; @@ -18,7 +18,7 @@ class Connections { function get() { - $features = self::get_features(); + $features = get_module_features('connections'); $rpath = (($_GET['rpath']) ? $_GET['rpath'] : ''); $tpl = get_markup_template("settings_module.tpl"); @@ -28,26 +28,11 @@ class Connections { '$action_url' => 'settings/connections', '$form_security_token' => get_form_security_token("settings_connections"), '$title' => t('Connections Settings'), - '$features' => process_features_get(local_channel(), $features), + '$features' => process_module_features_get(local_channel(), $features), '$submit' => t('Submit') )); return $o; } - function get_features() { - $arr = [ - [ - 'connfilter', - t('Connection Filtering'), - t('Filter incoming posts from connections based on keywords/content'), - false, - get_config('feature_lock','connfilter') - ] - ]; - - return $arr; - - } - } diff --git a/Zotlabs/Module/Settings/Editor.php b/Zotlabs/Module/Settings/Editor.php index 92775f154..514417e49 100644 --- a/Zotlabs/Module/Settings/Editor.php +++ b/Zotlabs/Module/Settings/Editor.php @@ -8,9 +8,9 @@ class Editor { function post() { check_form_security_token_redirectOnErr('/settings/editor', 'settings_editor'); - $features = self::get_features(); + $features = get_module_features('editor'); - process_features_post(local_channel(), $features, $_POST); + process_module_features_post(local_channel(), $features, $_POST); build_sync_packet(); return; @@ -18,7 +18,7 @@ class Editor { function get() { - $features = self::get_features(); + $features = get_module_features('editor'); $rpath = (($_GET['rpath']) ? $_GET['rpath'] : ''); $tpl = get_markup_template("settings_module.tpl"); @@ -28,84 +28,11 @@ class Editor { '$action_url' => 'settings/editor', '$form_security_token' => get_form_security_token("settings_editor"), '$title' => t('Editor Settings'), - '$features' => process_features_get(local_channel(), $features), + '$features' => process_module_features_get(local_channel(), $features), '$submit' => t('Submit') )); return $o; } - function get_features() { - $arr = [ - - [ - 'large_photos', - t('Large Photos'), - t('Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails'), - false, - get_config('feature_lock','large_photos'), - ], - - [ - 'content_encrypt', - t('Even More Encryption'), - t('Allow optional encryption of content end-to-end with a shared secret key'), - false, - get_config('feature_lock','content_encrypt'), - ], - - [ - 'consensus_tools', - t('Enable Voting Tools'), - t('Provide a class of post which others can vote on'), - false, - get_config('feature_lock','consensus_tools'), - ], - - [ - 'disable_comments', - t('Disable Comments'), - t('Provide the option to disable comments for a post'), - false, - get_config('feature_lock','disable_comments'), - ], - - [ - 'delayed_posting', - t('Delayed Posting'), - t('Allow posts to be published at a later date'), - false, - get_config('feature_lock','delayed_posting'), - ], - - [ - 'content_expire', - t('Content Expiration'), - t('Remove posts/comments and/or private messages at a future time'), - false, - get_config('feature_lock','content_expire'), - ], - - [ - 'suppress_duplicates', - t('Suppress Duplicate Posts/Comments'), - t('Prevent posts with identical content to be published with less than two minutes in between submissions.'), - true, - get_config('feature_lock','suppress_duplicates'), - ], - - [ - 'auto_save_draft', - t('Auto-save drafts of posts and comments'), - t('Automatically saves post and comment drafts in local browser storage to help prevent accidental loss of compositions'), - true, - get_config('feature_lock','auto_save_draft'), - ] - - ]; - - return $arr; - - } - } diff --git a/Zotlabs/Module/Settings/Manage.php b/Zotlabs/Module/Settings/Manage.php index e13017d6b..841e58be3 100644 --- a/Zotlabs/Module/Settings/Manage.php +++ b/Zotlabs/Module/Settings/Manage.php @@ -8,9 +8,9 @@ class Manage { function post() { check_form_security_token_redirectOnErr('/settings/manage', 'settings_manage'); - $features = self::get_features(); + $features = get_module_features('manage'); - process_features_post(local_channel(), $features, $_POST); + process_module_features_post(local_channel(), $features, $_POST); build_sync_packet(); return; @@ -18,7 +18,7 @@ class Manage { function get() { - $features = self::get_features(); + $features = get_module_features('manage'); $rpath = (($_GET['rpath']) ? $_GET['rpath'] : ''); $tpl = get_markup_template("settings_module.tpl"); @@ -28,28 +28,11 @@ class Manage { '$action_url' => 'settings/manage', '$form_security_token' => get_form_security_token("settings_manage"), '$title' => t('Channel Manager Settings'), - '$features' => process_features_get(local_channel(), $features), + '$features' => process__module_features_get(local_channel(), $features), '$submit' => t('Submit') )); return $o; } - function get_features() { - $arr = [ - - [ - 'nav_channel_select', - t('Navigation Channel Select'), - t('Change channels directly from within the navigation dropdown menu'), - false, - get_config('feature_lock','nav_channel_select'), - ] - - ]; - - return $arr; - - } - } diff --git a/Zotlabs/Module/Settings/Network.php b/Zotlabs/Module/Settings/Network.php index a2e606565..bc0ba7143 100644 --- a/Zotlabs/Module/Settings/Network.php +++ b/Zotlabs/Module/Settings/Network.php @@ -8,9 +8,9 @@ class Network { function post() { check_form_security_token_redirectOnErr('/settings/network', 'settings_network'); - $features = self::get_features(); + $features = get_module_features('network'); - process_features_post(local_channel(), $features, $_POST); + process_module_features_post(local_channel(), $features, $_POST); build_sync_packet(); return; @@ -18,7 +18,7 @@ class Network { function get() { - $features = self::get_features(); + $features = get_module_features('network'); $rpath = (($_GET['rpath']) ? $_GET['rpath'] : ''); $tpl = get_markup_template("settings_module.tpl"); @@ -28,84 +28,11 @@ class Network { '$action_url' => 'settings/network', '$form_security_token' => get_form_security_token("settings_network"), '$title' => t('Activity Settings'), - '$features' => process_features_get(local_channel(), $features), + '$features' => process_module_features_get(local_channel(), $features), '$submit' => t('Submit') )); return $o; } - function get_features() { - $arr = [ - - [ - 'archives', - t('Search by Date'), - t('Ability to select posts by date ranges'), - false, - get_config('feature_lock','archives') - ], - - [ - 'savedsearch', - t('Saved Searches'), - t('Save search terms for re-use'), - false, - get_config('feature_lock','savedsearch') - ], - - [ - 'order_tab', - t('Alternate Stream Order'), - t('Ability to order the stream by last post date, last comment date or unthreaded activities'), - false, - get_config('feature_lock','order_tab') - ], - - [ - 'name_tab', - t('Contact Filter'), - t('Ability to display only posts of a selected contact'), - false, - get_config('feature_lock','name_tab') - ], - - [ - 'forums_tab', - t('Forum Filter'), - t('Ability to display only posts of a specific forum'), - false, - get_config('feature_lock','forums_tab') - ], - - [ - 'personal_tab', - t('Personal Posts Filter'), - t('Ability to display only posts that you\'ve interacted on'), - false, - get_config('feature_lock','personal_tab') - ], - - [ - 'affinity', - t('Affinity Tool'), - t('Filter stream activity by depth of relationships'), - false, - get_config('feature_lock','affinity') - ], - - [ - 'suggest', - t('Suggest Channels'), - t('Show friend and connection suggestions'), - false, - get_config('feature_lock','suggest') - ] - - ]; - - return $arr; - - } - } diff --git a/Zotlabs/Module/Settings/Profiles.php b/Zotlabs/Module/Settings/Profiles.php index 801bb7b10..a22a540da 100644 --- a/Zotlabs/Module/Settings/Profiles.php +++ b/Zotlabs/Module/Settings/Profiles.php @@ -8,9 +8,9 @@ class Profiles { function post() { check_form_security_token_redirectOnErr('/settings/profiles', 'settings_profiles'); - $features = self::get_features(); + $features = get_module_features('profiles'); - process_features_post(local_channel(), $features, $_POST); + process_module_features_post(local_channel(), $features, $_POST); build_sync_packet(); return; @@ -18,7 +18,7 @@ class Profiles { function get() { - $features = self::get_features(); + $features = get_module_features('profiles'); $rpath = (($_GET['rpath']) ? $_GET['rpath'] : ''); $tpl = get_markup_template("settings_module.tpl"); @@ -28,45 +28,11 @@ class Profiles { '$action_url' => 'settings/profiles', '$form_security_token' => get_form_security_token("settings_profiles"), '$title' => t('Profile Settings'), - '$features' => process_features_get(local_channel(), $features), + '$features' => process_module_features_get(local_channel(), $features), '$submit' => t('Submit') )); return $o; } - function get_features() { - $arr = [ - - [ - 'advanced_profiles', - t('Advanced Profiles'), - t('Additional profile sections and selections'), - false, - get_config('feature_lock','advanced_profiles'), - ], - - [ - 'profile_export', - t('Profile Import/Export'), - t('Save and load profile details across sites/channels'), - false, - get_config('feature_lock','profile_export'), - ], - - [ - 'multi_profiles', - t('Multiple Profiles'), - t('Ability to create multiple profiles'), - false, - get_config('feature_lock','multi_profiles'), - ] - - - ]; - - return $arr; - - } - } -- cgit v1.2.3 From 1f1d5b9181dd7a9800a2d5c596d8da0f906c53e3 Mon Sep 17 00:00:00 2001 From: Mario Date: Sun, 23 Sep 2018 17:52:32 +0200 Subject: provide settings for mod photo and make it slightly simpler to create new module settings --- Zotlabs/Module/Settings/Connections.php | 17 +++++++++++------ Zotlabs/Module/Settings/Editor.php | 17 +++++++++++------ Zotlabs/Module/Settings/Manage.php | 19 ++++++++++++------- Zotlabs/Module/Settings/Network.php | 17 +++++++++++------ Zotlabs/Module/Settings/Profiles.php | 19 ++++++++++++------- 5 files changed, 57 insertions(+), 32 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Connections.php b/Zotlabs/Module/Settings/Connections.php index f3638862b..70b4daa42 100644 --- a/Zotlabs/Module/Settings/Connections.php +++ b/Zotlabs/Module/Settings/Connections.php @@ -6,9 +6,12 @@ namespace Zotlabs\Module\Settings; class Connections { function post() { - check_form_security_token_redirectOnErr('/settings/connections', 'settings_connections'); + + $module = substr(strrchr(strtolower(static::class), '\\'), 1); + + check_form_security_token_redirectOnErr('/settings/' . $module, 'settings_' . $module); - $features = get_module_features('connections'); + $features = get_module_features($module); process_module_features_post(local_channel(), $features, $_POST); @@ -17,16 +20,18 @@ class Connections { } function get() { - - $features = get_module_features('connections'); + + $module = substr(strrchr(strtolower(static::class), '\\'), 1); + + $features = get_module_features($module); $rpath = (($_GET['rpath']) ? $_GET['rpath'] : ''); $tpl = get_markup_template("settings_module.tpl"); $o .= replace_macros($tpl, array( '$rpath' => $rpath, - '$action_url' => 'settings/connections', - '$form_security_token' => get_form_security_token("settings_connections"), + '$action_url' => 'settings/' . $module, + '$form_security_token' => get_form_security_token('settings_' . $module), '$title' => t('Connections Settings'), '$features' => process_module_features_get(local_channel(), $features), '$submit' => t('Submit') diff --git a/Zotlabs/Module/Settings/Editor.php b/Zotlabs/Module/Settings/Editor.php index 514417e49..93e3ce602 100644 --- a/Zotlabs/Module/Settings/Editor.php +++ b/Zotlabs/Module/Settings/Editor.php @@ -6,9 +6,12 @@ namespace Zotlabs\Module\Settings; class Editor { function post() { - check_form_security_token_redirectOnErr('/settings/editor', 'settings_editor'); + + $module = substr(strrchr(strtolower(static::class), '\\'), 1); + + check_form_security_token_redirectOnErr('/settings/' . $module, 'settings_' . $module); - $features = get_module_features('editor'); + $features = get_module_features($module); process_module_features_post(local_channel(), $features, $_POST); @@ -17,16 +20,18 @@ class Editor { } function get() { - - $features = get_module_features('editor'); + + $module = substr(strrchr(strtolower(static::class), '\\'), 1); + + $features = get_module_features($module); $rpath = (($_GET['rpath']) ? $_GET['rpath'] : ''); $tpl = get_markup_template("settings_module.tpl"); $o .= replace_macros($tpl, array( '$rpath' => $rpath, - '$action_url' => 'settings/editor', - '$form_security_token' => get_form_security_token("settings_editor"), + '$action_url' => 'settings/' . $module, + '$form_security_token' => get_form_security_token('settings_' . $module), '$title' => t('Editor Settings'), '$features' => process_module_features_get(local_channel(), $features), '$submit' => t('Submit') diff --git a/Zotlabs/Module/Settings/Manage.php b/Zotlabs/Module/Settings/Manage.php index 841e58be3..15d3216e9 100644 --- a/Zotlabs/Module/Settings/Manage.php +++ b/Zotlabs/Module/Settings/Manage.php @@ -6,9 +6,12 @@ namespace Zotlabs\Module\Settings; class Manage { function post() { - check_form_security_token_redirectOnErr('/settings/manage', 'settings_manage'); + + $module = substr(strrchr(strtolower(static::class), '\\'), 1); + + check_form_security_token_redirectOnErr('/settings/' . $module, 'settings_' . $module); - $features = get_module_features('manage'); + $features = get_module_features($module); process_module_features_post(local_channel(), $features, $_POST); @@ -17,18 +20,20 @@ class Manage { } function get() { - - $features = get_module_features('manage'); + + $module = substr(strrchr(strtolower(static::class), '\\'), 1); + + $features = get_module_features($module); $rpath = (($_GET['rpath']) ? $_GET['rpath'] : ''); $tpl = get_markup_template("settings_module.tpl"); $o .= replace_macros($tpl, array( '$rpath' => $rpath, - '$action_url' => 'settings/manage', - '$form_security_token' => get_form_security_token("settings_manage"), + '$action_url' => 'settings/' . $module, + '$form_security_token' => get_form_security_token('settings_' . $module), '$title' => t('Channel Manager Settings'), - '$features' => process__module_features_get(local_channel(), $features), + '$features' => process_module_features_get(local_channel(), $features), '$submit' => t('Submit') )); diff --git a/Zotlabs/Module/Settings/Network.php b/Zotlabs/Module/Settings/Network.php index bc0ba7143..c51b780f1 100644 --- a/Zotlabs/Module/Settings/Network.php +++ b/Zotlabs/Module/Settings/Network.php @@ -6,9 +6,12 @@ namespace Zotlabs\Module\Settings; class Network { function post() { - check_form_security_token_redirectOnErr('/settings/network', 'settings_network'); + + $module = substr(strrchr(strtolower(static::class), '\\'), 1); + + check_form_security_token_redirectOnErr('/settings/' . $module, 'settings_' . $module); - $features = get_module_features('network'); + $features = get_module_features($module); process_module_features_post(local_channel(), $features, $_POST); @@ -17,16 +20,18 @@ class Network { } function get() { - - $features = get_module_features('network'); + + $module = substr(strrchr(strtolower(static::class), '\\'), 1); + + $features = get_module_features($module); $rpath = (($_GET['rpath']) ? $_GET['rpath'] : ''); $tpl = get_markup_template("settings_module.tpl"); $o .= replace_macros($tpl, array( '$rpath' => $rpath, - '$action_url' => 'settings/network', - '$form_security_token' => get_form_security_token("settings_network"), + '$action_url' => 'settings/' . $module, + '$form_security_token' => get_form_security_token('settings_' . $module), '$title' => t('Activity Settings'), '$features' => process_module_features_get(local_channel(), $features), '$submit' => t('Submit') diff --git a/Zotlabs/Module/Settings/Profiles.php b/Zotlabs/Module/Settings/Profiles.php index a22a540da..78dc0160e 100644 --- a/Zotlabs/Module/Settings/Profiles.php +++ b/Zotlabs/Module/Settings/Profiles.php @@ -6,9 +6,12 @@ namespace Zotlabs\Module\Settings; class Profiles { function post() { - check_form_security_token_redirectOnErr('/settings/profiles', 'settings_profiles'); + + $module = substr(strrchr(strtolower(static::class), '\\'), 1); + + check_form_security_token_redirectOnErr('/settings/' . $module, 'settings_' . $module); - $features = get_module_features('profiles'); + $features = get_module_features($module); process_module_features_post(local_channel(), $features, $_POST); @@ -17,17 +20,19 @@ class Profiles { } function get() { - - $features = get_module_features('profiles'); + + $module = substr(strrchr(strtolower(static::class), '\\'), 1); + + $features = get_module_features($module); $rpath = (($_GET['rpath']) ? $_GET['rpath'] : ''); $tpl = get_markup_template("settings_module.tpl"); $o .= replace_macros($tpl, array( '$rpath' => $rpath, - '$action_url' => 'settings/profiles', - '$form_security_token' => get_form_security_token("settings_profiles"), - '$title' => t('Profile Settings'), + '$action_url' => 'settings/' . $module, + '$form_security_token' => get_form_security_token('settings_' . $module), + '$title' => t('Profiles Settings'), '$features' => process_module_features_get(local_channel(), $features), '$submit' => t('Submit') )); -- cgit v1.2.3 From 781fdaafcd6a8086b76409b0a39d8edbca2e04c9 Mon Sep 17 00:00:00 2001 From: Mario Date: Sun, 23 Sep 2018 19:18:05 +0200 Subject: settings for events and cdav calendar --- Zotlabs/Module/Cal.php | 2 +- Zotlabs/Module/Cdav.php | 4 +++- Zotlabs/Module/Events.php | 6 +++-- Zotlabs/Module/Settings/Calendar.php | 43 ++++++++++++++++++++++++++++++++++++ Zotlabs/Module/Settings/Channel.php | 2 +- Zotlabs/Module/Settings/Events.php | 43 ++++++++++++++++++++++++++++++++++++ Zotlabs/Module/Settings/Photos.php | 43 ++++++++++++++++++++++++++++++++++++ 7 files changed, 138 insertions(+), 5 deletions(-) create mode 100644 Zotlabs/Module/Settings/Calendar.php create mode 100644 Zotlabs/Module/Settings/Events.php create mode 100644 Zotlabs/Module/Settings/Photos.php (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Cal.php b/Zotlabs/Module/Cal.php index 14c109515..2962d31fd 100644 --- a/Zotlabs/Module/Cal.php +++ b/Zotlabs/Module/Cal.php @@ -75,7 +75,7 @@ class Cal extends \Zotlabs\Web\Controller { $sql_extra = permissions_sql($channel['channel_id'],get_observer_hash(),'event'); - $first_day = get_pconfig(local_channel(),'system','cal_first_day'); + $first_day = feature_enabled($channel['channel_id'], 'cal_first_day'); $first_day = (($first_day) ? $first_day : 0); $htpl = get_markup_template('event_head.tpl'); diff --git a/Zotlabs/Module/Cdav.php b/Zotlabs/Module/Cdav.php index bff308dfa..7142615d5 100644 --- a/Zotlabs/Module/Cdav.php +++ b/Zotlabs/Module/Cdav.php @@ -850,6 +850,8 @@ class Cdav extends Controller { return $o; } + App::$profile_uid = local_channel(); + $channel = App::get_channel(); $principalUri = 'principals/' . $channel['channel_address']; @@ -905,7 +907,7 @@ class Cdav extends Controller { $sources = rtrim($sources, ', '); - $first_day = get_pconfig(local_channel(),'system','cal_first_day'); + $first_day = feature_enabled(local_channel(), 'cal_first_day'); $first_day = (($first_day) ? $first_day : 0); $title = ['title', t('Event title')]; diff --git a/Zotlabs/Module/Events.php b/Zotlabs/Module/Events.php index 213fa6bff..b63921ce3 100644 --- a/Zotlabs/Module/Events.php +++ b/Zotlabs/Module/Events.php @@ -271,8 +271,10 @@ class Events extends \Zotlabs\Web\Controller { notice( t('Permission denied.') . EOL); return; } - + + \App::$profile_uid = local_channel(); nav_set_selected('Events'); + if((argc() > 2) && (argv(1) === 'ignore') && intval(argv(2))) { $r = q("update event set dismissed = 1 where id = %d and uid = %d", @@ -288,7 +290,7 @@ class Events extends \Zotlabs\Web\Controller { ); } - $first_day = get_pconfig(local_channel(),'system','cal_first_day'); + $first_day = feature_enabled(local_channel(), 'cal_first_day'); $first_day = (($first_day) ? $first_day : 0); $htpl = get_markup_template('event_head.tpl'); diff --git a/Zotlabs/Module/Settings/Calendar.php b/Zotlabs/Module/Settings/Calendar.php new file mode 100644 index 000000000..b3a611cdf --- /dev/null +++ b/Zotlabs/Module/Settings/Calendar.php @@ -0,0 +1,43 @@ + $rpath, + '$action_url' => 'settings/' . $module, + '$form_security_token' => get_form_security_token('settings_' . $module), + '$title' => t('CalDAV Settings'), + '$features' => process_module_features_get(local_channel(), $features), + '$submit' => t('Submit') + )); + + return $o; + } + +} diff --git a/Zotlabs/Module/Settings/Channel.php b/Zotlabs/Module/Settings/Channel.php index 3a6e03588..6fea970fe 100644 --- a/Zotlabs/Module/Settings/Channel.php +++ b/Zotlabs/Module/Settings/Channel.php @@ -622,7 +622,7 @@ class Channel { '$removeme' => t('Remove Channel'), '$removechannel' => t('Remove this channel.'), '$firefoxshare' => t('Firefox Share $Projectname provider'), - '$cal_first_day' => array('first_day', t('Start calendar week on Monday'), ((get_pconfig(local_channel(),'system','cal_first_day')) ? 1 : ''), '', $yes_no), + )); call_hooks('settings_form',$o); diff --git a/Zotlabs/Module/Settings/Events.php b/Zotlabs/Module/Settings/Events.php new file mode 100644 index 000000000..fcb4441e1 --- /dev/null +++ b/Zotlabs/Module/Settings/Events.php @@ -0,0 +1,43 @@ + $rpath, + '$action_url' => 'settings/' . $module, + '$form_security_token' => get_form_security_token('settings_' . $module), + '$title' => t('Events Settings'), + '$features' => process_module_features_get(local_channel(), $features), + '$submit' => t('Submit') + )); + + return $o; + } + +} diff --git a/Zotlabs/Module/Settings/Photos.php b/Zotlabs/Module/Settings/Photos.php new file mode 100644 index 000000000..f403b4d38 --- /dev/null +++ b/Zotlabs/Module/Settings/Photos.php @@ -0,0 +1,43 @@ + $rpath, + '$action_url' => 'settings/' . $module, + '$form_security_token' => get_form_security_token('settings_' . $module), + '$title' => t('Photos Settings'), + '$features' => process_module_features_get(local_channel(), $features), + '$submit' => t('Submit') + )); + + return $o; + } + +} -- cgit v1.2.3 From a1d1d5dba7c975e00bcf8c8dfc8e6ccd13f3df90 Mon Sep 17 00:00:00 2001 From: Mario Date: Sun, 23 Sep 2018 19:40:52 +0200 Subject: use different settings for cal_first_day in events and cdav/calendar. This is a tradeoff. It would be better to have one setting for both but if we want to preserve the *all settings* view, this would break its functionality --- Zotlabs/Module/Cal.php | 2 +- Zotlabs/Module/Events.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Cal.php b/Zotlabs/Module/Cal.php index 2962d31fd..70098a2a1 100644 --- a/Zotlabs/Module/Cal.php +++ b/Zotlabs/Module/Cal.php @@ -75,7 +75,7 @@ class Cal extends \Zotlabs\Web\Controller { $sql_extra = permissions_sql($channel['channel_id'],get_observer_hash(),'event'); - $first_day = feature_enabled($channel['channel_id'], 'cal_first_day'); + $first_day = feature_enabled($channel['channel_id'], 'events_cal_first_day'); $first_day = (($first_day) ? $first_day : 0); $htpl = get_markup_template('event_head.tpl'); diff --git a/Zotlabs/Module/Events.php b/Zotlabs/Module/Events.php index b63921ce3..7e5204e62 100644 --- a/Zotlabs/Module/Events.php +++ b/Zotlabs/Module/Events.php @@ -290,7 +290,7 @@ class Events extends \Zotlabs\Web\Controller { ); } - $first_day = feature_enabled(local_channel(), 'cal_first_day'); + $first_day = feature_enabled(local_channel(), 'events_cal_first_day'); $first_day = (($first_day) ? $first_day : 0); $htpl = get_markup_template('event_head.tpl'); -- cgit v1.2.3 From d83fe9d417d8e7773e0f36b0605f79ab5eec07b7 Mon Sep 17 00:00:00 2001 From: Mario Date: Sun, 23 Sep 2018 20:02:28 +0200 Subject: minor cleanup --- Zotlabs/Module/Settings/Channel.php | 2 -- 1 file changed, 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Channel.php b/Zotlabs/Module/Settings/Channel.php index 6fea970fe..27a8e695d 100644 --- a/Zotlabs/Module/Settings/Channel.php +++ b/Zotlabs/Module/Settings/Channel.php @@ -154,7 +154,6 @@ class Channel { $adult = (($_POST['adult'] == 1) ? 1 : 0); $defpermcat = ((x($_POST,'defpermcat')) ? notags(trim($_POST['defpermcat'])) : 'default'); - $cal_first_day = (((x($_POST,'first_day')) && (intval($_POST['first_day']) == 1)) ? 1: 0); $mailhost = ((array_key_exists('mailhost',$_POST)) ? notags(trim($_POST['mailhost'])) : ''); $profile_assign = ((x($_POST,'profile_assign')) ? notags(trim($_POST['profile_assign'])) : ''); @@ -251,7 +250,6 @@ class Channel { set_pconfig(local_channel(),'system','evdays',$evdays); set_pconfig(local_channel(),'system','photo_path',$photo_path); set_pconfig(local_channel(),'system','attach_path',$attach_path); - set_pconfig(local_channel(),'system','cal_first_day',$cal_first_day); set_pconfig(local_channel(),'system','default_permcat',$defpermcat); set_pconfig(local_channel(),'system','email_notify_host',$mailhost); set_pconfig(local_channel(),'system','profile_assign',$profile_assign); -- cgit v1.2.3 From e735220691366fb29276dbc3f47ad0347c40aaf5 Mon Sep 17 00:00:00 2001 From: Mario Date: Sun, 23 Sep 2018 20:54:36 +0200 Subject: only explain how to select a channel if there are channels to select --- Zotlabs/Module/Manage.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Manage.php b/Zotlabs/Module/Manage.php index ea24bbf61..20d5b0449 100644 --- a/Zotlabs/Module/Manage.php +++ b/Zotlabs/Module/Manage.php @@ -129,7 +129,7 @@ class Manage extends \Zotlabs\Web\Controller { } } - + $r = q("select count(channel_id) as total from channel where channel_account_id = %d and channel_removed = 0", intval(get_account_id()) ); @@ -170,7 +170,7 @@ class Manage extends \Zotlabs\Web\Controller { '$header' => t('Channel Manager'), '$msg_selected' => t('Current Channel'), '$selected' => local_channel(), - '$desc' => t('Switch to one of your channels by selecting it.'), + '$desc' => ((count($channels) > 1 || $delegates) ? t('Switch to one of your channels by selecting it.') : ''), '$msg_default' => t('Default Channel'), '$msg_make_default' => t('Make Default'), '$create' => $create, -- cgit v1.2.3 From 7cadc30914041364663b947d787da6f8b980b894 Mon Sep 17 00:00:00 2001 From: Mario Date: Mon, 24 Sep 2018 09:33:52 +0200 Subject: settings for directory and set App::$profile_uid in directory if local_channel() --- Zotlabs/Module/Directory.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Directory.php b/Zotlabs/Module/Directory.php index 8a7c6baf6..c29fa8326 100644 --- a/Zotlabs/Module/Directory.php +++ b/Zotlabs/Module/Directory.php @@ -12,13 +12,16 @@ class Directory extends \Zotlabs\Web\Controller { function init() { \App::set_pager_itemspage(60); - if(x($_GET,'ignore')) { + if(local_channel() && x($_GET,'ignore')) { q("insert into xign ( uid, xchan ) values ( %d, '%s' ) ", intval(local_channel()), dbesc($_GET['ignore']) ); goaway(z_root() . '/directory?f=&suggest=1'); } + + if(local_channel()) + \App::$profile_uid = local_channel(); $observer = get_observer_hash(); $global_changed = false; @@ -55,6 +58,7 @@ class Directory extends \Zotlabs\Web\Controller { if($observer) set_xconfig($observer,'directory','pubforums',$pubforums); } + } function get() { -- cgit v1.2.3 From 85e06a77af7c81dab185b7a5757564215c41a2ed Mon Sep 17 00:00:00 2001 From: Mario Date: Mon, 24 Sep 2018 09:34:28 +0200 Subject: add file --- Zotlabs/Module/Settings/Directory.php | 43 +++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 Zotlabs/Module/Settings/Directory.php (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Directory.php b/Zotlabs/Module/Settings/Directory.php new file mode 100644 index 000000000..2682bcafc --- /dev/null +++ b/Zotlabs/Module/Settings/Directory.php @@ -0,0 +1,43 @@ + $rpath, + '$action_url' => 'settings/' . $module, + '$form_security_token' => get_form_security_token('settings_' . $module), + '$title' => t('Directory Settings'), + '$features' => process_module_features_get(local_channel(), $features), + '$submit' => t('Submit') + )); + + return $o; + } + +} -- cgit v1.2.3 From c3aa15cc165730b6e67de580065ace255454dfb5 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Mon, 24 Sep 2018 11:46:18 +0200 Subject: appification of notes --- Zotlabs/Module/Notes.php | 41 ++++++++++++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 7 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Notes.php b/Zotlabs/Module/Notes.php index e530e6ff4..cd383a6c2 100644 --- a/Zotlabs/Module/Notes.php +++ b/Zotlabs/Module/Notes.php @@ -1,13 +1,19 @@ true); if(array_key_exists('note_text',$_REQUEST)) { @@ -24,17 +30,38 @@ class Notes extends \Zotlabs\Web\Controller { } set_pconfig(local_channel(),'notes','text',$body); } - + // push updates to channel clones - + if((argc() > 1) && (argv(1) === 'sync')) { require_once('include/zot.php'); build_sync_packet(); } - + logger('notes saved.', LOGGER_DEBUG); json_return_and_die($ret); - + + } + + function get() { + + if(! local_channel()) + return EMPTY_STR; + + if(! Apps::system_app_installed(local_channel(), 'Notes')) { + //Do not display any associated widgets at this point + App::$pdl = EMPTY_STR; + + $o = 'Notes App (Not Installed):
'; + $o .= t('A simple notes app with a widget (note: notes are not encrypted)'); + return $o; + } + + $w = new \Zotlabs\Widget\Notes; + $arr = ['app' => true]; + + return $w->widget($arr); + } } -- cgit v1.2.3 From 4c58a5cef278357c1bc31b76cfbd2719e3338398 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Tue, 25 Sep 2018 10:06:24 +0200 Subject: premium channel app --- Zotlabs/Module/Connect.php | 68 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 47 insertions(+), 21 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Connect.php b/Zotlabs/Module/Connect.php index cd43ea290..7194e7039 100644 --- a/Zotlabs/Module/Connect.php +++ b/Zotlabs/Module/Connect.php @@ -1,21 +1,21 @@ 1) $which = argv(1); else { notice( t('Requested profile is not available.') . EOL ); - \App::$error = 404; + App::$error = 404; return; } @@ -24,20 +24,32 @@ class Connect extends \Zotlabs\Web\Controller { ); if($r) - \App::$data['channel'] = $r[0]; + App::$data['channel'] = $r[0]; + + $channel_id = App::$data['channel']['channel_id']; + + if(! Apps::system_app_installed($channel_id, 'Premium Channel')) { + return; + } profile_load($which,''); } function post() { - if(! array_key_exists('channel', \App::$data)) + if(! array_key_exists('channel', App::$data)) + return; + + $channel_id = App::$data['channel']['channel_id']; + + if(! Apps::system_app_installed($channel_id, 'Premium Channel')) { return; + } - $edit = ((local_channel() && (local_channel() == \App::$data['channel']['channel_id'])) ? true : false); + $edit = ((local_channel() && (local_channel() == $channel_id)) ? true : false); if($edit) { - $has_premium = ((\App::$data['channel']['channel_pageflags'] & PAGE_PREMIUM) ? 1 : 0); + $has_premium = ((App::$data['channel']['channel_pageflags'] & PAGE_PREMIUM) ? 1 : 0); $premium = (($_POST['premium']) ? intval($_POST['premium']) : 0); $text = escape_tags($_POST['text']); @@ -48,25 +60,25 @@ class Connect extends \Zotlabs\Web\Controller { intval(local_channel()) ); - \Zotlabs\Daemon\Master::Summon(array('Notifier','refresh_all',\App::$data['channel']['channel_id'])); + \Zotlabs\Daemon\Master::Summon(array('Notifier','refresh_all',$channel_id)); } - set_pconfig(\App::$data['channel']['channel_id'],'system','selltext',$text); + set_pconfig($channel_id,'system','selltext',$text); // reload the page completely to get fresh data - goaway(z_root() . '/' . \App::$query_string); + goaway(z_root() . '/' . App::$query_string); } $url = ''; - $observer = \App::get_observer(); + $observer = App::get_observer(); if(($observer) && ($_POST['submit'] === t('Continue'))) { if($observer['xchan_follow']) - $url = sprintf($observer['xchan_follow'],urlencode(channel_reddress(\App::$data['channel']))); + $url = sprintf($observer['xchan_follow'],urlencode(channel_reddress(App::$data['channel']))); if(! $url) { $r = q("select * from hubloc where hubloc_hash = '%s' order by hubloc_id desc limit 1", dbesc($observer['xchan_hash']) ); if($r) - $url = $r[0]['hubloc_url'] . '/follow?f=&url=' . urlencode(channel_reddress(\App::$data['channel'])); + $url = $r[0]['hubloc_url'] . '/follow?f=&url=' . urlencode(channel_reddress(App::$data['channel'])); } } if($url) @@ -79,17 +91,31 @@ class Connect extends \Zotlabs\Web\Controller { function get() { + + if(! array_key_exists('channel', App::$data)) + return; + + $channel_id = App::$data['channel']['channel_id']; + + if(! Apps::system_app_installed($channel_id, 'Premium Channel')) { + //Do not display any associated widgets at this point + App::$pdl = ''; + + $o = 'Premium Channel App (Not Installed):
'; + $o .= t('Allows you to set restrictions and terms on those that connect with your channel'); + return $o; + } - $edit = ((local_channel() && (local_channel() == \App::$data['channel']['channel_id'])) ? true : false); + $edit = ((local_channel() && (local_channel() == $channel_id)) ? true : false); - $text = get_pconfig(\App::$data['channel']['channel_id'],'system','selltext'); + $text = get_pconfig($channel_id,'system','selltext'); if($edit) { $o = replace_macros(get_markup_template('sellpage_edit.tpl'),array( '$header' => t('Premium Channel Setup'), - '$address' => \App::$data['channel']['channel_address'], - '$premium' => array('premium', t('Enable premium channel connection restrictions'),((\App::$data['channel']['channel_pageflags'] & PAGE_PREMIUM) ? '1' : ''),''), + '$address' => App::$data['channel']['channel_address'], + '$premium' => array('premium', t('Enable premium channel connection restrictions'),((App::$data['channel']['channel_pageflags'] & PAGE_PREMIUM) ? '1' : ''),''), '$lbl_about' => t('Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc.'), '$text' => $text, '$desc' => t('This channel may require additional steps or acknowledgement of the following conditions prior to connecting:'), @@ -107,7 +133,7 @@ class Connect extends \Zotlabs\Web\Controller { $submit = replace_macros(get_markup_template('sellpage_submit.tpl'), array( '$continue' => t('Continue'), - '$address' => \App::$data['channel']['channel_address'] + '$address' => App::$data['channel']['channel_address'] )); $o = replace_macros(get_markup_template('sellpage_view.tpl'),array( @@ -120,7 +146,7 @@ class Connect extends \Zotlabs\Web\Controller { )); - $arr = array('channel' => \App::$data['channel'],'observer' => \App::get_observer(), 'sellpage' => $o, 'submit' => $submit); + $arr = array('channel' => App::$data['channel'],'observer' => App::get_observer(), 'sellpage' => $o, 'submit' => $submit); call_hooks('connect_premium', $arr); $o = $arr['sellpage']; -- cgit v1.2.3 From 39866b74637a58df5b1ffb8f2b6f164849d65315 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Tue, 25 Sep 2018 11:37:22 +0200 Subject: move start_menu switch to settings/display for now --- Zotlabs/Module/Settings/Display.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Display.php b/Zotlabs/Module/Settings/Display.php index 340b3c0bb..dbc383135 100644 --- a/Zotlabs/Module/Settings/Display.php +++ b/Zotlabs/Module/Settings/Display.php @@ -30,6 +30,7 @@ class Display { $channel_list_mode = ((x($_POST,'channel_list_mode')) ? intval($_POST['channel_list_mode']) : 0); $network_list_mode = ((x($_POST,'network_list_mode')) ? intval($_POST['network_list_mode']) : 0); $manual_update = ((array_key_exists('manual_update',$_POST)) ? intval($_POST['manual_update']) : 0); + $start_menu = ((x($_POST,'start_menu')) ? intval($_POST['start_menu']) : 0); $channel_divmore_height = ((x($_POST,'channel_divmore_height')) ? intval($_POST['channel_divmore_height']) : 400); if($channel_divmore_height < 50) @@ -60,6 +61,7 @@ class Display { set_pconfig(local_channel(),'system','network_divmore_height', $network_divmore_height); set_pconfig(local_channel(),'system','manual_conversation_update', $manual_update); set_pconfig(local_channel(),'system','channel_menu', $channel_menu); + set_pconfig(local_channel(),'system','start_menu', $start_menu); $newschema = ''; if($theme){ @@ -150,6 +152,14 @@ class Display { $theme_selected = explode(':', $theme_selected)[0]; } + $account = \App::get_account(); + + if($account['account_created'] > datetime_convert('','','now - 60 days')) { + $start_menu = get_pconfig(local_channel(), 'system', 'start_menu', 1); + } + else { + $start_menu = get_pconfig(local_channel(), 'system', 'start_menu', 0); + } $preload_images = get_pconfig(local_channel(),'system','preload_images'); $preload_images = (($preload_images===false)? '0': $preload_images); // default if not set: 0 @@ -211,7 +221,7 @@ class Display { '$network_list_mode' => array('network_list_mode', t('Use blog/list mode on grid page'), get_pconfig(local_channel(),'system','network_list_mode'), t('(comments displayed separately)'), $yes_no), '$channel_divmore_height' => array('channel_divmore_height', t('Channel page max height of content (in pixels)'), ((get_pconfig(local_channel(),'system','channel_divmore_height')) ? get_pconfig(local_channel(),'system','channel_divmore_height') : 400), t('click to expand content exceeding this height')), '$network_divmore_height' => array('network_divmore_height', t('Grid page max height of content (in pixels)'), ((get_pconfig(local_channel(),'system','network_divmore_height')) ? get_pconfig(local_channel(),'system','network_divmore_height') : 400) , t('click to expand content exceeding this height')), - + '$start_menu' => ['start_menu', t('New Member Links'), $start_menu, t('Display new member quick links menu'), $yes_no] )); -- cgit v1.2.3 From 9bb0f1d18ece05ac1d37800c61d0b071f560dac3 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Tue, 25 Sep 2018 12:02:00 +0200 Subject: move advanced_theming switch to settings/display for now --- Zotlabs/Module/Settings/Display.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Display.php b/Zotlabs/Module/Settings/Display.php index dbc383135..d35c54a90 100644 --- a/Zotlabs/Module/Settings/Display.php +++ b/Zotlabs/Module/Settings/Display.php @@ -30,7 +30,8 @@ class Display { $channel_list_mode = ((x($_POST,'channel_list_mode')) ? intval($_POST['channel_list_mode']) : 0); $network_list_mode = ((x($_POST,'network_list_mode')) ? intval($_POST['network_list_mode']) : 0); $manual_update = ((array_key_exists('manual_update',$_POST)) ? intval($_POST['manual_update']) : 0); - $start_menu = ((x($_POST,'start_menu')) ? intval($_POST['start_menu']) : 0); + $start_menu = ((x($_POST,'start_menu')) ? intval($_POST['start_menu']) : 0); + $advanced_theming = ((x($_POST,'advanced_theming')) ? intval($_POST['advanced_theming']) : 0); $channel_divmore_height = ((x($_POST,'channel_divmore_height')) ? intval($_POST['channel_divmore_height']) : 400); if($channel_divmore_height < 50) @@ -62,6 +63,7 @@ class Display { set_pconfig(local_channel(),'system','manual_conversation_update', $manual_update); set_pconfig(local_channel(),'system','channel_menu', $channel_menu); set_pconfig(local_channel(),'system','start_menu', $start_menu); + set_pconfig(local_channel(),'system','advanced_theming', $advanced_theming); $newschema = ''; if($theme){ @@ -179,6 +181,8 @@ class Display { $title_tosource = get_pconfig(local_channel(),'system','title_tosource'); $title_tosource = (($title_tosource===false)? '0': $title_tosource); // default if not set: 0 + $advanced_theming = get_pconfig(local_channel(),'system','advanced_theming', 0); + $theme_config = ""; if(($themeconfigfile = $this->get_theme_config_file($theme)) != null){ require_once($themeconfigfile); @@ -216,12 +220,13 @@ class Display { '$title_tosource' => array('title_tosource', t("Link post titles to source"), $title_tosource, '', $yes_no), '$layout_editor' => t('System Page Layout Editor - (advanced)'), '$theme_config' => $theme_config, - '$expert' => feature_enabled(local_channel(),'advanced_theming'), + '$expert' => $advanced_theming, '$channel_list_mode' => array('channel_list_mode', t('Use blog/list mode on channel page'), get_pconfig(local_channel(),'system','channel_list_mode'), t('(comments displayed separately)'), $yes_no), '$network_list_mode' => array('network_list_mode', t('Use blog/list mode on grid page'), get_pconfig(local_channel(),'system','network_list_mode'), t('(comments displayed separately)'), $yes_no), '$channel_divmore_height' => array('channel_divmore_height', t('Channel page max height of content (in pixels)'), ((get_pconfig(local_channel(),'system','channel_divmore_height')) ? get_pconfig(local_channel(),'system','channel_divmore_height') : 400), t('click to expand content exceeding this height')), '$network_divmore_height' => array('network_divmore_height', t('Grid page max height of content (in pixels)'), ((get_pconfig(local_channel(),'system','network_divmore_height')) ? get_pconfig(local_channel(),'system','network_divmore_height') : 400) , t('click to expand content exceeding this height')), - '$start_menu' => ['start_menu', t('New Member Links'), $start_menu, t('Display new member quick links menu'), $yes_no] + '$start_menu' => ['start_menu', t('New Member Links'), $start_menu, t('Display new member quick links menu'), $yes_no], + '$advanced_theming' => ['advanced_theming', t('Advanced Theme and Layout Settings'), $advanced_theming, t('Allows fine tuning of themes and page layouts'), $yes_no] )); -- cgit v1.2.3 From 9948bb3f2aa3bf3efa68623b87ba854fb59b4926 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Tue, 25 Sep 2018 12:59:53 +0200 Subject: appification of privacy groups --- Zotlabs/Module/Group.php | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Group.php b/Zotlabs/Module/Group.php index acebe995d..bf0edb1ed 100644 --- a/Zotlabs/Module/Group.php +++ b/Zotlabs/Module/Group.php @@ -1,11 +1,13 @@ Privacy Groups App (Not Installed):
'; + $o .= t('Management of privacy groups'); + return $o; + } + // Switch to text mode interface if we have more than 'n' contacts or group members $switchtotext = get_pconfig(local_channel(),'system','groupedit_image_limit'); if($switchtotext === false) -- cgit v1.2.3 From 9bc76b425948e7a6118e7749a3eb7c08c447bab3 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Wed, 26 Sep 2018 15:02:20 +0200 Subject: appification of the pdl editor and move advanced_theming to theme settings where it belongs --- Zotlabs/Module/Pdledit.php | 21 +++++++++++++++------ Zotlabs/Module/Settings/Display.php | 10 +--------- 2 files changed, 16 insertions(+), 15 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Pdledit.php b/Zotlabs/Module/Pdledit.php index 9b86b599b..d0bde7715 100644 --- a/Zotlabs/Module/Pdledit.php +++ b/Zotlabs/Module/Pdledit.php @@ -1,15 +1,20 @@ PDL Editor App (Not Installed):
'; + $o .= t('Provides the ability to edit system page layouts'); + return $o; } if(argc() > 2 && argv(2) === 'reset') { diff --git a/Zotlabs/Module/Settings/Display.php b/Zotlabs/Module/Settings/Display.php index d35c54a90..0c63a3056 100644 --- a/Zotlabs/Module/Settings/Display.php +++ b/Zotlabs/Module/Settings/Display.php @@ -31,7 +31,6 @@ class Display { $network_list_mode = ((x($_POST,'network_list_mode')) ? intval($_POST['network_list_mode']) : 0); $manual_update = ((array_key_exists('manual_update',$_POST)) ? intval($_POST['manual_update']) : 0); $start_menu = ((x($_POST,'start_menu')) ? intval($_POST['start_menu']) : 0); - $advanced_theming = ((x($_POST,'advanced_theming')) ? intval($_POST['advanced_theming']) : 0); $channel_divmore_height = ((x($_POST,'channel_divmore_height')) ? intval($_POST['channel_divmore_height']) : 400); if($channel_divmore_height < 50) @@ -63,7 +62,6 @@ class Display { set_pconfig(local_channel(),'system','manual_conversation_update', $manual_update); set_pconfig(local_channel(),'system','channel_menu', $channel_menu); set_pconfig(local_channel(),'system','start_menu', $start_menu); - set_pconfig(local_channel(),'system','advanced_theming', $advanced_theming); $newschema = ''; if($theme){ @@ -181,8 +179,6 @@ class Display { $title_tosource = get_pconfig(local_channel(),'system','title_tosource'); $title_tosource = (($title_tosource===false)? '0': $title_tosource); // default if not set: 0 - $advanced_theming = get_pconfig(local_channel(),'system','advanced_theming', 0); - $theme_config = ""; if(($themeconfigfile = $this->get_theme_config_file($theme)) != null){ require_once($themeconfigfile); @@ -218,16 +214,12 @@ class Display { '$channel_menu' => [ 'channel_menu', t('Provide channel menu in navigation bar'), get_pconfig(local_channel(),'system','channel_menu',get_config('system','channel_menu',0)), t('Default: channel menu located in app menu'),$yes_no ], '$manual_update' => array('manual_update', t('Manual conversation updates'), channel_manual_conv_update(local_channel()), t('Default is on, turning this off may increase screen jumping'), $yes_no), '$title_tosource' => array('title_tosource', t("Link post titles to source"), $title_tosource, '', $yes_no), - '$layout_editor' => t('System Page Layout Editor - (advanced)'), '$theme_config' => $theme_config, - '$expert' => $advanced_theming, '$channel_list_mode' => array('channel_list_mode', t('Use blog/list mode on channel page'), get_pconfig(local_channel(),'system','channel_list_mode'), t('(comments displayed separately)'), $yes_no), '$network_list_mode' => array('network_list_mode', t('Use blog/list mode on grid page'), get_pconfig(local_channel(),'system','network_list_mode'), t('(comments displayed separately)'), $yes_no), '$channel_divmore_height' => array('channel_divmore_height', t('Channel page max height of content (in pixels)'), ((get_pconfig(local_channel(),'system','channel_divmore_height')) ? get_pconfig(local_channel(),'system','channel_divmore_height') : 400), t('click to expand content exceeding this height')), '$network_divmore_height' => array('network_divmore_height', t('Grid page max height of content (in pixels)'), ((get_pconfig(local_channel(),'system','network_divmore_height')) ? get_pconfig(local_channel(),'system','network_divmore_height') : 400) , t('click to expand content exceeding this height')), - '$start_menu' => ['start_menu', t('New Member Links'), $start_menu, t('Display new member quick links menu'), $yes_no], - '$advanced_theming' => ['advanced_theming', t('Advanced Theme and Layout Settings'), $advanced_theming, t('Allows fine tuning of themes and page layouts'), $yes_no] - + '$start_menu' => ['start_menu', t('New Member Links'), $start_menu, t('Display new member quick links menu'), $yes_no] )); call_hooks('display_settings',$o); -- cgit v1.2.3 From aab97adb23c65dfc54f4f160742f8066fcd98032 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Wed, 26 Sep 2018 16:22:34 +0200 Subject: oauth and oauth2 apps manager --- Zotlabs/Module/Oauth.php | 177 +++++++++++++++++++++++++++++++++ Zotlabs/Module/Oauth2.php | 199 +++++++++++++++++++++++++++++++++++++ Zotlabs/Module/Settings/Oauth.php | 161 ------------------------------ Zotlabs/Module/Settings/Oauth2.php | 184 ---------------------------------- 4 files changed, 376 insertions(+), 345 deletions(-) create mode 100644 Zotlabs/Module/Oauth.php create mode 100644 Zotlabs/Module/Oauth2.php delete mode 100644 Zotlabs/Module/Settings/Oauth.php delete mode 100644 Zotlabs/Module/Settings/Oauth2.php (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Oauth.php b/Zotlabs/Module/Oauth.php new file mode 100644 index 000000000..196209308 --- /dev/null +++ b/Zotlabs/Module/Oauth.php @@ -0,0 +1,177 @@ + 1) && (argv(1) === 'edit' || argv(1) === 'add') && x($_POST,'submit')) { + + check_form_security_token_redirectOnErr('oauth', 'oauth'); + + $name = ((x($_POST,'name')) ? escape_tags($_POST['name']) : ''); + $key = ((x($_POST,'key')) ? escape_tags($_POST['key']) : ''); + $secret = ((x($_POST,'secret')) ? escape_tags($_POST['secret']) : ''); + $redirect = ((x($_POST,'redirect')) ? escape_tags($_POST['redirect']) : ''); + $icon = ((x($_POST,'icon')) ? escape_tags($_POST['icon']) : ''); + $oauth2 = ((x($_POST,'oauth2')) ? intval($_POST['oauth2']) : 0); + $ok = true; + if($name == '') { + $ok = false; + notice( t('Name is required') . EOL); + } + if($key == '' || $secret == '') { + $ok = false; + notice( t('Key and Secret are required') . EOL); + } + + if($ok) { + if ($_POST['submit']==t("Update")){ + $r = q("UPDATE clients SET + client_id='%s', + pw='%s', + clname='%s', + redirect_uri='%s', + icon='%s', + uid=%d + WHERE client_id='%s'", + dbesc($key), + dbesc($secret), + dbesc($name), + dbesc($redirect), + dbesc($icon), + intval(local_channel()), + dbesc($key)); + } else { + $r = q("INSERT INTO clients (client_id, pw, clname, redirect_uri, icon, uid) + VALUES ('%s','%s','%s','%s','%s',%d)", + dbesc($key), + dbesc($secret), + dbesc($name), + dbesc($redirect), + dbesc($icon), + intval(local_channel()) + ); + $r = q("INSERT INTO xperm (xp_client, xp_channel, xp_perm) VALUES ('%s', %d, '%s') ", + dbesc($key), + intval(local_channel()), + dbesc('all') + ); + } + } + goaway(z_root()."/oauth"); + return; + } + } + + function get() { + + if(! Apps::system_app_installed(local_channel(), 'OAuth Apps Manager')) { + //Do not display any associated widgets at this point + App::$pdl = ''; + + $o = 'OAuth App (Not Installed):
'; + $o .= t('An OAuth apps manager'); + return $o; + } + + + if((argc() > 1) && (argv(1) === 'add')) { + $tpl = get_markup_template("oauth_edit.tpl"); + $o .= replace_macros($tpl, array( + '$form_security_token' => get_form_security_token("oauth"), + '$title' => t('Add application'), + '$submit' => t('Submit'), + '$cancel' => t('Cancel'), + '$name' => array('name', t('Name'), '', t('Name of application')), + '$key' => array('key', t('Consumer Key'), random_string(16), t('Automatically generated - change if desired. Max length 20')), + '$secret' => array('secret', t('Consumer Secret'), random_string(16), t('Automatically generated - change if desired. Max length 20')), + '$redirect' => array('redirect', t('Redirect'), '', t('Redirect URI - leave blank unless your application specifically requires this')), + '$icon' => array('icon', t('Icon url'), '', t('Optional')), + )); + return $o; + } + + if((argc() > 2) && (argv(1) === 'edit')) { + $r = q("SELECT * FROM clients WHERE client_id='%s' AND uid=%d", + dbesc(argv(2)), + local_channel()); + + if (!count($r)){ + notice(t('Application not found.')); + return; + } + $app = $r[0]; + + $tpl = get_markup_template("oauth_edit.tpl"); + $o .= replace_macros($tpl, array( + '$form_security_token' => get_form_security_token("oauth"), + '$title' => t('Add application'), + '$submit' => t('Update'), + '$cancel' => t('Cancel'), + '$name' => array('name', t('Name'), $app['clname'] , ''), + '$key' => array('key', t('Consumer Key'), $app['client_id'], ''), + '$secret' => array('secret', t('Consumer Secret'), $app['pw'], ''), + '$redirect' => array('redirect', t('Redirect'), $app['redirect_uri'], ''), + '$icon' => array('icon', t('Icon url'), $app['icon'], ''), + )); + return $o; + } + + if((argc() > 2) && (argv(1) === 'delete')) { + check_form_security_token_redirectOnErr('/oauth', 'oauth', 't'); + + $r = q("DELETE FROM clients WHERE client_id='%s' AND uid=%d", + dbesc(argv(2)), + local_channel()); + goaway(z_root()."/oauth"); + return; + } + + + $r = q("SELECT clients.*, tokens.id as oauth_token, (clients.uid=%d) AS my + FROM clients + LEFT JOIN tokens ON clients.client_id=tokens.client_id + WHERE clients.uid IN (%d,0)", + local_channel(), + local_channel()); + + + $tpl = get_markup_template("oauth.tpl"); + $o .= replace_macros($tpl, array( + '$form_security_token' => get_form_security_token("oauth"), + '$baseurl' => z_root(), + '$title' => t('Connected OAuth Apps'), + '$add' => t('Add application'), + '$edit' => t('Edit'), + '$delete' => t('Delete'), + '$consumerkey' => t('Client key starts with'), + '$noname' => t('No name'), + '$remove' => t('Remove authorization'), + '$apps' => $r, + )); + return $o; + + } + +} diff --git a/Zotlabs/Module/Oauth2.php b/Zotlabs/Module/Oauth2.php new file mode 100644 index 000000000..2302d1b10 --- /dev/null +++ b/Zotlabs/Module/Oauth2.php @@ -0,0 +1,199 @@ + 1) && (argv(1) === 'edit' || argv(1) === 'add') && x($_POST,'submit')) { + + check_form_security_token_redirectOnErr('oauth2', 'oauth2'); + + $name = ((x($_POST,'name')) ? escape_tags(trim($_POST['name'])) : ''); + $secret = ((x($_POST,'secret')) ? escape_tags(trim($_POST['secret'])) : ''); + $redirect = ((x($_POST,'redirect')) ? escape_tags(trim($_POST['redirect'])) : ''); + $grant = ((x($_POST,'grant')) ? escape_tags(trim($_POST['grant'])) : ''); + $scope = ((x($_POST,'scope')) ? escape_tags(trim($_POST['scope'])) : ''); + + $ok = true; + if($name == '' || $secret == '') { + $ok = false; + notice( t('Name and Secret are required') . EOL); + } + + if($ok) { + if ($_POST['submit']==t("Update")){ + $r = q("UPDATE oauth_clients SET + client_id = '%s', + client_secret = '%s', + redirect_uri = '%s', + grant_types = '%s', + scope = '%s', + user_id = %d + WHERE client_id='%s' and user_id = %s", + dbesc($name), + dbesc($secret), + dbesc($redirect), + dbesc($grant), + dbesc($scope), + intval(local_channel()), + dbesc($name), + intval(local_channel())); + } else { + $r = q("INSERT INTO oauth_clients (client_id, client_secret, redirect_uri, grant_types, scope, user_id) + VALUES ('%s','%s','%s','%s','%s',%d)", + dbesc($name), + dbesc($secret), + dbesc($redirect), + dbesc($grant), + dbesc($scope), + intval(local_channel()) + ); + $r = q("INSERT INTO xperm (xp_client, xp_channel, xp_perm) VALUES ('%s', %d, '%s') ", + dbesc($name), + intval(local_channel()), + dbesc('all') + ); + } + } + goaway(z_root()."/oauth2"); + return; + } + } + + function get() { + + if(! Apps::system_app_installed(local_channel(), 'OAuth2 Apps Manager')) { + //Do not display any associated widgets at this point + App::$pdl = ''; + + $o = 'OAuth2 App (Not Installed):
'; + $o .= t('An OAuth2 apps manager'); + return $o; + } + + if((argc() > 1) && (argv(1) === 'add')) { + $tpl = get_markup_template("oauth2_edit.tpl"); + $o .= replace_macros($tpl, array( + '$form_security_token' => get_form_security_token("oauth2"), + '$title' => t('Add OAuth2 application'), + '$submit' => t('Submit'), + '$cancel' => t('Cancel'), + '$name' => array('name', t('Name'), '', t('Name of application')), + '$secret' => array('secret', t('Consumer Secret'), random_string(16), t('Automatically generated - change if desired. Max length 20')), + '$redirect' => array('redirect', t('Redirect'), '', t('Redirect URI - leave blank unless your application specifically requires this')), + '$grant' => array('grant', t('Grant Types'), '', t('leave blank unless your application sepcifically requires this')), + '$scope' => array('scope', t('Authorization scope'), '', t('leave blank unless your application sepcifically requires this')), + )); + return $o; + } + + if((argc() > 2) && (argv(1) === 'edit')) { + $r = q("SELECT * FROM oauth_clients WHERE client_id='%s' AND user_id= %d", + dbesc(argv(2)), + intval(local_channel()) + ); + + if (! $r){ + notice(t('OAuth2 Application not found.')); + return; + } + + $app = $r[0]; + + $tpl = get_markup_template("oauth2_edit.tpl"); + $o .= replace_macros($tpl, array( + '$form_security_token' => get_form_security_token("oauth2"), + '$title' => t('Add application'), + '$submit' => t('Update'), + '$cancel' => t('Cancel'), + '$name' => array('name', t('Name'), $app['client_id'], t('Name of application')), + '$secret' => array('secret', t('Consumer Secret'), $app['client_secret'], t('Automatically generated - change if desired. Max length 20')), + '$redirect' => array('redirect', t('Redirect'), $app['redirect_uri'], t('Redirect URI - leave blank unless your application specifically requires this')), + '$grant' => array('grant', t('Grant Types'), $app['grant_types'], t('leave blank unless your application specifically requires this')), + '$scope' => array('scope', t('Authorization scope'), $app['scope'], t('leave blank unless your application specifically requires this')), + )); + return $o; + } + + if((argc() > 2) && (argv(1) === 'delete')) { + check_form_security_token_redirectOnErr('oauth2', 'oauth2', 't'); + + $r = q("DELETE FROM oauth_clients WHERE client_id = '%s' AND user_id = %d", + dbesc(argv(2)), + intval(local_channel()) + ); + $r = q("DELETE FROM oauth_access_tokens WHERE client_id = '%s' AND user_id = %d", + dbesc(argv(2)), + intval(local_channel()) + ); + $r = q("DELETE FROM oauth_authorization_codes WHERE client_id = '%s' AND user_id = %d", + dbesc(argv(2)), + intval(local_channel()) + ); + $r = q("DELETE FROM oauth_refresh_tokens WHERE client_id = '%s' AND user_id = %d", + dbesc(argv(2)), + intval(local_channel()) + ); + goaway(z_root()."/oauth2"); + return; + } + + + $r = q("SELECT oauth_clients.*, oauth_access_tokens.access_token as oauth_token, (oauth_clients.user_id = %d) AS my + FROM oauth_clients + LEFT JOIN oauth_access_tokens ON oauth_clients.client_id=oauth_access_tokens.client_id AND + oauth_clients.user_id=oauth_access_tokens.user_id + WHERE oauth_clients.user_id IN (%d,0)", + intval(local_channel()), + intval(local_channel()) + ); + + $tpl = get_markup_template("oauth2.tpl"); + $o .= replace_macros($tpl, array( + '$form_security_token' => get_form_security_token("oauth2"), + '$baseurl' => z_root(), + '$title' => t('Connected OAuth2 Apps'), + '$add' => t('Add application'), + '$edit' => t('Edit'), + '$delete' => t('Delete'), + '$consumerkey' => t('Client key starts with'), + '$noname' => t('No name'), + '$remove' => t('Remove authorization'), + '$apps' => $r, + )); + return $o; + + } + +} diff --git a/Zotlabs/Module/Settings/Oauth.php b/Zotlabs/Module/Settings/Oauth.php deleted file mode 100644 index d6576c6de..000000000 --- a/Zotlabs/Module/Settings/Oauth.php +++ /dev/null @@ -1,161 +0,0 @@ - 2) && (argv(2) === 'edit' || argv(2) === 'add') && x($_POST,'submit')) { - - check_form_security_token_redirectOnErr('/settings/oauth', 'settings_oauth'); - - $name = ((x($_POST,'name')) ? escape_tags($_POST['name']) : ''); - $key = ((x($_POST,'key')) ? escape_tags($_POST['key']) : ''); - $secret = ((x($_POST,'secret')) ? escape_tags($_POST['secret']) : ''); - $redirect = ((x($_POST,'redirect')) ? escape_tags($_POST['redirect']) : ''); - $icon = ((x($_POST,'icon')) ? escape_tags($_POST['icon']) : ''); - $oauth2 = ((x($_POST,'oauth2')) ? intval($_POST['oauth2']) : 0); - $ok = true; - if($name == '') { - $ok = false; - notice( t('Name is required') . EOL); - } - if($key == '' || $secret == '') { - $ok = false; - notice( t('Key and Secret are required') . EOL); - } - - if($ok) { - if ($_POST['submit']==t("Update")){ - $r = q("UPDATE clients SET - client_id='%s', - pw='%s', - clname='%s', - redirect_uri='%s', - icon='%s', - uid=%d - WHERE client_id='%s'", - dbesc($key), - dbesc($secret), - dbesc($name), - dbesc($redirect), - dbesc($icon), - intval(local_channel()), - dbesc($key)); - } else { - $r = q("INSERT INTO clients (client_id, pw, clname, redirect_uri, icon, uid) - VALUES ('%s','%s','%s','%s','%s',%d)", - dbesc($key), - dbesc($secret), - dbesc($name), - dbesc($redirect), - dbesc($icon), - intval(local_channel()) - ); - $r = q("INSERT INTO xperm (xp_client, xp_channel, xp_perm) VALUES ('%s', %d, '%s') ", - dbesc($key), - intval(local_channel()), - dbesc('all') - ); - } - } - goaway(z_root()."/settings/oauth/"); - return; - } - } - - function get() { - - if((argc() > 2) && (argv(2) === 'add')) { - $tpl = get_markup_template("settings_oauth_edit.tpl"); - $o .= replace_macros($tpl, array( - '$form_security_token' => get_form_security_token("settings_oauth"), - '$title' => t('Add application'), - '$submit' => t('Submit'), - '$cancel' => t('Cancel'), - '$name' => array('name', t('Name'), '', t('Name of application')), - '$key' => array('key', t('Consumer Key'), random_string(16), t('Automatically generated - change if desired. Max length 20')), - '$secret' => array('secret', t('Consumer Secret'), random_string(16), t('Automatically generated - change if desired. Max length 20')), - '$redirect' => array('redirect', t('Redirect'), '', t('Redirect URI - leave blank unless your application specifically requires this')), - '$icon' => array('icon', t('Icon url'), '', t('Optional')), - )); - return $o; - } - - if((argc() > 3) && (argv(2) === 'edit')) { - $r = q("SELECT * FROM clients WHERE client_id='%s' AND uid=%d", - dbesc(argv(3)), - local_channel()); - - if (!count($r)){ - notice(t('Application not found.')); - return; - } - $app = $r[0]; - - $tpl = get_markup_template("settings_oauth_edit.tpl"); - $o .= replace_macros($tpl, array( - '$form_security_token' => get_form_security_token("settings_oauth"), - '$title' => t('Add application'), - '$submit' => t('Update'), - '$cancel' => t('Cancel'), - '$name' => array('name', t('Name'), $app['clname'] , ''), - '$key' => array('key', t('Consumer Key'), $app['client_id'], ''), - '$secret' => array('secret', t('Consumer Secret'), $app['pw'], ''), - '$redirect' => array('redirect', t('Redirect'), $app['redirect_uri'], ''), - '$icon' => array('icon', t('Icon url'), $app['icon'], ''), - )); - return $o; - } - - if((argc() > 3) && (argv(2) === 'delete')) { - check_form_security_token_redirectOnErr('/settings/oauth', 'settings_oauth', 't'); - - $r = q("DELETE FROM clients WHERE client_id='%s' AND uid=%d", - dbesc(argv(3)), - local_channel()); - goaway(z_root()."/settings/oauth/"); - return; - } - - - $r = q("SELECT clients.*, tokens.id as oauth_token, (clients.uid=%d) AS my - FROM clients - LEFT JOIN tokens ON clients.client_id=tokens.client_id - WHERE clients.uid IN (%d,0)", - local_channel(), - local_channel()); - - - $tpl = get_markup_template("settings_oauth.tpl"); - $o .= replace_macros($tpl, array( - '$form_security_token' => get_form_security_token("settings_oauth"), - '$baseurl' => z_root(), - '$title' => t('Connected Apps'), - '$add' => t('Add application'), - '$edit' => t('Edit'), - '$delete' => t('Delete'), - '$consumerkey' => t('Client key starts with'), - '$noname' => t('No name'), - '$remove' => t('Remove authorization'), - '$apps' => $r, - )); - return $o; - - } - -} \ No newline at end of file diff --git a/Zotlabs/Module/Settings/Oauth2.php b/Zotlabs/Module/Settings/Oauth2.php deleted file mode 100644 index 70fd3a5c3..000000000 --- a/Zotlabs/Module/Settings/Oauth2.php +++ /dev/null @@ -1,184 +0,0 @@ - 2) && (argv(2) === 'edit' || argv(2) === 'add') && x($_POST,'submit')) { - - check_form_security_token_redirectOnErr('/settings/oauth2', 'settings_oauth2'); - - $name = ((x($_POST,'name')) ? escape_tags(trim($_POST['name'])) : ''); - $secret = ((x($_POST,'secret')) ? escape_tags(trim($_POST['secret'])) : ''); - $redirect = ((x($_POST,'redirect')) ? escape_tags(trim($_POST['redirect'])) : ''); - $grant = ((x($_POST,'grant')) ? escape_tags(trim($_POST['grant'])) : ''); - $scope = ((x($_POST,'scope')) ? escape_tags(trim($_POST['scope'])) : ''); - - $ok = true; - if($name == '' || $secret == '') { - $ok = false; - notice( t('Name and Secret are required') . EOL); - } - - if($ok) { - if ($_POST['submit']==t("Update")){ - $r = q("UPDATE oauth_clients SET - client_id = '%s', - client_secret = '%s', - redirect_uri = '%s', - grant_types = '%s', - scope = '%s', - user_id = %d - WHERE client_id='%s' and user_id = %s", - dbesc($name), - dbesc($secret), - dbesc($redirect), - dbesc($grant), - dbesc($scope), - intval(local_channel()), - dbesc($name), - intval(local_channel())); - } else { - $r = q("INSERT INTO oauth_clients (client_id, client_secret, redirect_uri, grant_types, scope, user_id) - VALUES ('%s','%s','%s','%s','%s',%d)", - dbesc($name), - dbesc($secret), - dbesc($redirect), - dbesc($grant), - dbesc($scope), - intval(local_channel()) - ); - $r = q("INSERT INTO xperm (xp_client, xp_channel, xp_perm) VALUES ('%s', %d, '%s') ", - dbesc($name), - intval(local_channel()), - dbesc('all') - ); - } - } - goaway(z_root()."/settings/oauth2/"); - return; - } - } - - function get() { - - if((argc() > 2) && (argv(2) === 'add')) { - $tpl = get_markup_template("settings_oauth2_edit.tpl"); - $o .= replace_macros($tpl, array( - '$form_security_token' => get_form_security_token("settings_oauth2"), - '$title' => t('Add OAuth2 application'), - '$submit' => t('Submit'), - '$cancel' => t('Cancel'), - '$name' => array('name', t('Name'), '', t('Name of application')), - '$secret' => array('secret', t('Consumer Secret'), random_string(16), t('Automatically generated - change if desired. Max length 20')), - '$redirect' => array('redirect', t('Redirect'), '', t('Redirect URI - leave blank unless your application specifically requires this')), - '$grant' => array('grant', t('Grant Types'), '', t('leave blank unless your application sepcifically requires this')), - '$scope' => array('scope', t('Authorization scope'), '', t('leave blank unless your application sepcifically requires this')), - )); - return $o; - } - - if((argc() > 3) && (argv(2) === 'edit')) { - $r = q("SELECT * FROM oauth_clients WHERE client_id='%s' AND user_id= %d", - dbesc(argv(3)), - intval(local_channel()) - ); - - if (! $r){ - notice(t('OAuth2 Application not found.')); - return; - } - - $app = $r[0]; - - $tpl = get_markup_template("settings_oauth2_edit.tpl"); - $o .= replace_macros($tpl, array( - '$form_security_token' => get_form_security_token("settings_oauth2"), - '$title' => t('Add application'), - '$submit' => t('Update'), - '$cancel' => t('Cancel'), - '$name' => array('name', t('Name'), $app['client_id'], t('Name of application')), - '$secret' => array('secret', t('Consumer Secret'), $app['client_secret'], t('Automatically generated - change if desired. Max length 20')), - '$redirect' => array('redirect', t('Redirect'), $app['redirect_uri'], t('Redirect URI - leave blank unless your application specifically requires this')), - '$grant' => array('grant', t('Grant Types'), $app['grant_types'], t('leave blank unless your application specifically requires this')), - '$scope' => array('scope', t('Authorization scope'), $app['scope'], t('leave blank unless your application specifically requires this')), - )); - return $o; - } - - if((argc() > 3) && (argv(2) === 'delete')) { - check_form_security_token_redirectOnErr('/settings/oauth2', 'settings_oauth2', 't'); - - $r = q("DELETE FROM oauth_clients WHERE client_id = '%s' AND user_id = %d", - dbesc(argv(3)), - intval(local_channel()) - ); - $r = q("DELETE FROM oauth_access_tokens WHERE client_id = '%s' AND user_id = %d", - dbesc(argv(3)), - intval(local_channel()) - ); - $r = q("DELETE FROM oauth_authorization_codes WHERE client_id = '%s' AND user_id = %d", - dbesc(argv(3)), - intval(local_channel()) - ); - $r = q("DELETE FROM oauth_refresh_tokens WHERE client_id = '%s' AND user_id = %d", - dbesc(argv(3)), - intval(local_channel()) - ); - goaway(z_root()."/settings/oauth2/"); - return; - } - - - $r = q("SELECT oauth_clients.*, oauth_access_tokens.access_token as oauth_token, (oauth_clients.user_id = %d) AS my - FROM oauth_clients - LEFT JOIN oauth_access_tokens ON oauth_clients.client_id=oauth_access_tokens.client_id AND - oauth_clients.user_id=oauth_access_tokens.user_id - WHERE oauth_clients.user_id IN (%d,0)", - intval(local_channel()), - intval(local_channel()) - ); - - $tpl = get_markup_template("settings_oauth2.tpl"); - $o .= replace_macros($tpl, array( - '$form_security_token' => get_form_security_token("settings_oauth2"), - '$baseurl' => z_root(), - '$title' => t('Connected OAuth2 Apps'), - '$add' => t('Add application'), - '$edit' => t('Edit'), - '$delete' => t('Delete'), - '$consumerkey' => t('Client key starts with'), - '$noname' => t('No name'), - '$remove' => t('Remove authorization'), - '$apps' => $r, - )); - return $o; - - } - -} -- cgit v1.2.3 From d7ec36e3da017bff3bed64d2714e9cdf460e0c18 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Wed, 26 Sep 2018 16:23:12 +0200 Subject: wrong app name --- Zotlabs/Module/Oauth.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Oauth.php b/Zotlabs/Module/Oauth.php index 196209308..9297eb65d 100644 --- a/Zotlabs/Module/Oauth.php +++ b/Zotlabs/Module/Oauth.php @@ -11,7 +11,7 @@ class Oauth extends Controller { function post() { - if(! Apps::system_app_installed(local_channel(), 'OAuth')) + if(! Apps::system_app_installed(local_channel(), 'OAuth Apps Manager')) return; if(x($_POST,'remove')){ -- cgit v1.2.3 From 9af1b62beef76781e3384a536377d9f8123aab07 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Wed, 26 Sep 2018 16:26:36 +0200 Subject: change wording --- Zotlabs/Module/Oauth.php | 4 ++-- Zotlabs/Module/Oauth2.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Oauth.php b/Zotlabs/Module/Oauth.php index 9297eb65d..d087ecec4 100644 --- a/Zotlabs/Module/Oauth.php +++ b/Zotlabs/Module/Oauth.php @@ -90,8 +90,8 @@ class Oauth extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'OAuth App (Not Installed):
'; - $o .= t('An OAuth apps manager'); + $o = 'OAuth Apps Manager App (Not Installed):
'; + $o .= t('OAuth authenticatication tokens for mobile and remote apps'); return $o; } diff --git a/Zotlabs/Module/Oauth2.php b/Zotlabs/Module/Oauth2.php index 2302d1b10..4c34b499f 100644 --- a/Zotlabs/Module/Oauth2.php +++ b/Zotlabs/Module/Oauth2.php @@ -97,8 +97,8 @@ class Oauth2 extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'OAuth2 App (Not Installed):
'; - $o .= t('An OAuth2 apps manager'); + $o = 'OAuth2 Apps Manager App (Not Installed):
'; + $o .= t('OAuth2 authenticatication tokens for mobile and remote apps'); return $o; } -- cgit v1.2.3 From 1353c291e9d6fbe4cdbe8e4911f99d51e1da9198 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Wed, 26 Sep 2018 16:32:06 +0200 Subject: add check for local_channel() --- Zotlabs/Module/Oauth.php | 7 +++++++ Zotlabs/Module/Oauth2.php | 6 ++++++ 2 files changed, 13 insertions(+) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Oauth.php b/Zotlabs/Module/Oauth.php index d087ecec4..5aae71ae7 100644 --- a/Zotlabs/Module/Oauth.php +++ b/Zotlabs/Module/Oauth.php @@ -11,6 +11,10 @@ class Oauth extends Controller { function post() { + if(! local_channel()) + return; + + if(! Apps::system_app_installed(local_channel(), 'OAuth Apps Manager')) return; @@ -86,6 +90,9 @@ class Oauth extends Controller { function get() { + if(! local_channel()) + return; + if(! Apps::system_app_installed(local_channel(), 'OAuth Apps Manager')) { //Do not display any associated widgets at this point App::$pdl = ''; diff --git a/Zotlabs/Module/Oauth2.php b/Zotlabs/Module/Oauth2.php index 4c34b499f..c27d7534b 100644 --- a/Zotlabs/Module/Oauth2.php +++ b/Zotlabs/Module/Oauth2.php @@ -11,6 +11,9 @@ class Oauth2 extends Controller { function post() { + if(! local_channel()) + return; + if(! Apps::system_app_installed(local_channel(), 'OAuth2 Apps Manager')) return; @@ -93,6 +96,9 @@ class Oauth2 extends Controller { function get() { + if(! local_channel()) + return; + if(! Apps::system_app_installed(local_channel(), 'OAuth2 Apps Manager')) { //Do not display any associated widgets at this point App::$pdl = ''; -- cgit v1.2.3 From a7948d7bfee1c0c8c9f1a731aabdc636c280bff0 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Wed, 26 Sep 2018 22:02:50 +0200 Subject: permcats app --- Zotlabs/Module/Connedit.php | 3 +- Zotlabs/Module/Defperms.php | 3 +- Zotlabs/Module/Permcats.php | 135 +++++++++++++++++++++++++++++++++++ Zotlabs/Module/Settings/Permcats.php | 120 ------------------------------- 4 files changed, 139 insertions(+), 122 deletions(-) create mode 100644 Zotlabs/Module/Permcats.php delete mode 100644 Zotlabs/Module/Settings/Permcats.php (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Connedit.php b/Zotlabs/Module/Connedit.php index 712215bc3..3d7ee449a 100644 --- a/Zotlabs/Module/Connedit.php +++ b/Zotlabs/Module/Connedit.php @@ -7,6 +7,7 @@ namespace Zotlabs\Module; * */ +use Zotlabs\Lib\Apps; require_once('include/socgraph.php'); require_once('include/selectors.php'); @@ -851,7 +852,7 @@ class Connedit extends \Zotlabs\Web\Controller { '$autoperms' => array('autoperms',t('Apply these permissions automatically'), ((get_pconfig(local_channel(),'system','autoperms')) ? 1 : 0), t('Connection requests will be approved without your interaction'), $yes_no), '$permcat' => [ 'permcat', t('Permission role'), '', '',$permcats ], '$permcat_new' => t('Add permission role'), - '$permcat_enable' => feature_enabled(local_channel(),'permcats'), + '$permcat_enable' => Apps::system_app_installed(local_channel(), 'Permission Categories'), '$addr' => unpunify($contact['xchan_addr']), '$primeurl' => unpunify($contact['xchan_url']), '$section' => $section, diff --git a/Zotlabs/Module/Defperms.php b/Zotlabs/Module/Defperms.php index 63acc9795..2e886aa64 100644 --- a/Zotlabs/Module/Defperms.php +++ b/Zotlabs/Module/Defperms.php @@ -1,6 +1,7 @@ array('autoperms',t('Apply these permissions automatically'), ((get_pconfig(local_channel(),'system','autoperms')) ? 1 : 0), t('If enabled, connection requests will be approved without your interaction'), $yes_no), '$permcat' => [ 'permcat', t('Permission role'), '', '',$permcats ], '$permcat_new' => t('Add permission role'), - '$permcat_enable' => feature_enabled(local_channel(),'permcats'), + '$permcat_enable' => Apps::system_app_installed(local_channel(), 'Permission Categories'), '$section' => $section, '$sections' => $sections, '$autolbl' => t('The permissions indicated on this page will be applied to all new connections.'), diff --git a/Zotlabs/Module/Permcats.php b/Zotlabs/Module/Permcats.php new file mode 100644 index 000000000..97090067b --- /dev/null +++ b/Zotlabs/Module/Permcats.php @@ -0,0 +1,135 @@ + $desc) { + if(array_key_exists('perms_' . $perm, $_POST)) { + $pcarr[] = $perm; + } + } + } + + \Zotlabs\Lib\Permcat::update(local_channel(),$name,$pcarr); + + build_sync_packet(); + + info( t('Permission category saved.') . EOL); + + return; + } + + + function get() { + + if(! local_channel()) + return; + + if(! Apps::system_app_installed(local_channel(), 'Permission Categories')) { + //Do not display any associated widgets at this point + App::$pdl = ''; + + $o = 'Permission Categories App (Not Installed):
'; + $o .= t('Create custom connection permission limits'); + return $o; + } + + $channel = App::get_channel(); + + + if(argc() > 1) + $name = hex2bin(argv(1)); + + if(argc() > 2 && argv(2) === 'drop') { + \Zotlabs\Lib\Permcat::delete(local_channel(),$name); + build_sync_packet(); + json_return_and_die([ 'success' => true ]); + } + + + $desc = t('Use this form to create permission rules for various classes of people or connections.'); + + $existing = []; + + $pcat = new \Zotlabs\Lib\Permcat(local_channel()); + $pcatlist = $pcat->listing(); + $permcats = []; + if($pcatlist) { + foreach($pcatlist as $pc) { + if(($pc['name']) && ($name) && ($pc['name'] == $name)) + $existing = $pc['perms']; + if(! $pc['system']) + $permcats[bin2hex($pc['name'])] = $pc['localname']; + } + } + + $global_perms = \Zotlabs\Access\Permissions::Perms(); + + foreach($global_perms as $k => $v) { + $thisperm = \Zotlabs\Lib\Permcat::find_permcat($existing,$k); + $checkinherited = \Zotlabs\Access\PermissionLimits::Get(local_channel(),$k); + + if($existing[$k]) + $thisperm = "1"; + + $perms[] = array('perms_' . $k, $v, '',$thisperm, 1, (($checkinherited & PERMS_SPECIFIC) ? '' : '1'), '', $checkinherited); + } + + + + $tpl = get_markup_template("permcats.tpl"); + $o .= replace_macros($tpl, array( + '$form_security_token' => get_form_security_token("permcats"), + '$title' => t('Permission Categories'), + '$desc' => $desc, + '$desc2' => $desc2, + '$tokens' => $t, + '$permcats' => $permcats, + '$atoken' => $atoken, + '$url1' => z_root() . '/channel/' . $channel['channel_address'], + '$url2' => z_root() . '/photos/' . $channel['channel_address'], + '$name' => array('name', t('Permission Name') . ' *', (($name) ? $name : ''), ''), + '$me' => t('My Settings'), + '$perms' => $perms, + '$inherited' => t('inherited'), + '$notself' => 0, + '$self' => 1, + '$permlbl' => t('Individual Permissions'), + '$permnote' => t('Some permissions may be inherited from your channel\'s privacy settings, which have higher priority than individual settings. You can not change those settings here.'), + '$submit' => t('Submit') + )); + return $o; + } + +} diff --git a/Zotlabs/Module/Settings/Permcats.php b/Zotlabs/Module/Settings/Permcats.php deleted file mode 100644 index 40641c3f2..000000000 --- a/Zotlabs/Module/Settings/Permcats.php +++ /dev/null @@ -1,120 +0,0 @@ - $desc) { - if(array_key_exists('perms_' . $perm, $_POST)) { - $pcarr[] = $perm; - } - } - } - - \Zotlabs\Lib\Permcat::update(local_channel(),$name,$pcarr); - - build_sync_packet(); - - info( t('Permission category saved.') . EOL); - - return; - } - - - function get() { - - if(! local_channel()) - return; - - $channel = \App::get_channel(); - - - if(argc() > 2) - $name = hex2bin(argv(2)); - - if(argc() > 3 && argv(3) === 'drop') { - \Zotlabs\Lib\Permcat::delete(local_channel(),$name); - build_sync_packet(); - json_return_and_die([ 'success' => true ]); - } - - - $desc = t('Use this form to create permission rules for various classes of people or connections.'); - - $existing = []; - - $pcat = new \Zotlabs\Lib\Permcat(local_channel()); - $pcatlist = $pcat->listing(); - $permcats = []; - if($pcatlist) { - foreach($pcatlist as $pc) { - if(($pc['name']) && ($name) && ($pc['name'] == $name)) - $existing = $pc['perms']; - if(! $pc['system']) - $permcats[bin2hex($pc['name'])] = $pc['localname']; - } - } - - $global_perms = \Zotlabs\Access\Permissions::Perms(); - - foreach($global_perms as $k => $v) { - $thisperm = \Zotlabs\Lib\Permcat::find_permcat($existing,$k); - $checkinherited = \Zotlabs\Access\PermissionLimits::Get(local_channel(),$k); - - if($existing[$k]) - $thisperm = "1"; - - $perms[] = array('perms_' . $k, $v, '',$thisperm, 1, (($checkinherited & PERMS_SPECIFIC) ? '' : '1'), '', $checkinherited); - } - - - - $tpl = get_markup_template("settings_permcats.tpl"); - $o .= replace_macros($tpl, array( - '$form_security_token' => get_form_security_token("settings_permcats"), - '$title' => t('Permission Categories'), - '$desc' => $desc, - '$desc2' => $desc2, - '$tokens' => $t, - '$permcats' => $permcats, - '$atoken' => $atoken, - '$url1' => z_root() . '/channel/' . $channel['channel_address'], - '$url2' => z_root() . '/photos/' . $channel['channel_address'], - '$name' => array('name', t('Permission Name') . ' *', (($name) ? $name : ''), ''), - '$me' => t('My Settings'), - '$perms' => $perms, - '$inherited' => t('inherited'), - '$notself' => 0, - '$self' => 1, - '$permlbl' => t('Individual Permissions'), - '$permnote' => t('Some permissions may be inherited from your channel\'s privacy settings, which have higher priority than individual settings. You can not change those settings here.'), - '$submit' => t('Submit') - )); - return $o; - } - -} -- cgit v1.2.3 From e3c04b1fd0f441e0042e218f47696b1bfad26c73 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Wed, 26 Sep 2018 22:24:36 +0200 Subject: guest access app --- Zotlabs/Module/Permcats.php | 4 +- Zotlabs/Module/Settings/Tokens.php | 173 --------------------------------- Zotlabs/Module/Tokens.php | 193 +++++++++++++++++++++++++++++++++++++ 3 files changed, 194 insertions(+), 176 deletions(-) delete mode 100644 Zotlabs/Module/Settings/Tokens.php create mode 100644 Zotlabs/Module/Tokens.php (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Permcats.php b/Zotlabs/Module/Permcats.php index 97090067b..3d068862a 100644 --- a/Zotlabs/Module/Permcats.php +++ b/Zotlabs/Module/Permcats.php @@ -14,8 +14,7 @@ class Permcats extends Controller { return; if(! Apps::system_app_installed(local_channel(), 'Permission Categories')) - return - + return; $channel = App::get_channel(); @@ -67,7 +66,6 @@ class Permcats extends Controller { $channel = App::get_channel(); - if(argc() > 1) $name = hex2bin(argv(1)); diff --git a/Zotlabs/Module/Settings/Tokens.php b/Zotlabs/Module/Settings/Tokens.php deleted file mode 100644 index e59cf8d1c..000000000 --- a/Zotlabs/Module/Settings/Tokens.php +++ /dev/null @@ -1,173 +0,0 @@ -= $max_tokens) { - notice( sprintf( t('This channel is limited to %d tokens'), $max_tokens) . EOL); - return; - } - } - } - if($token_errs) { - notice( t('Name and Password are required.') . EOL); - return; - } - if($atoken_id) { - $r = q("update atoken set atoken_name = '%s', atoken_token = '%s', atoken_expires = '%s' - where atoken_id = %d and atoken_uid = %d", - dbesc($name), - dbesc($token), - dbesc($expires), - intval($atoken_id), - intval($channel['channel_id']) - ); - } - else { - $r = q("insert into atoken ( atoken_aid, atoken_uid, atoken_name, atoken_token, atoken_expires ) - values ( %d, %d, '%s', '%s', '%s' ) ", - intval($channel['channel_account_id']), - intval($channel['channel_id']), - dbesc($name), - dbesc($token), - dbesc($expires) - ); - } - - $atoken_xchan = substr($channel['channel_hash'],0,16) . '.' . $name; - - $all_perms = \Zotlabs\Access\Permissions::Perms(); - - if($all_perms) { - foreach($all_perms as $perm => $desc) { - if(array_key_exists('perms_' . $perm, $_POST)) { - set_abconfig($channel['channel_id'],$atoken_xchan,'my_perms',$perm,intval($_POST['perms_' . $perm])); - } - else { - set_abconfig($channel['channel_id'],$atoken_xchan,'my_perms',$perm,0); - } - } - } - - - info( t('Token saved.') . EOL); - return; - } - - - function get() { - - $channel = \App::get_channel(); - - $atoken = null; - $atoken_xchan = ''; - - if(argc() > 2) { - $id = argv(2); - - $atoken = q("select * from atoken where atoken_id = %d and atoken_uid = %d", - intval($id), - intval(local_channel()) - ); - - if($atoken) { - $atoken = $atoken[0]; - $atoken_xchan = substr($channel['channel_hash'],0,16) . '.' . $atoken['atoken_name']; - } - - if($atoken && argc() > 3 && argv(3) === 'drop') { - atoken_delete($id); - $atoken = null; - $atoken_xchan = ''; - } - } - - $t = q("select * from atoken where atoken_uid = %d", - intval(local_channel()) - ); - - $desc = t('Use this form to create temporary access identifiers to share things with non-members. These identities may be used in Access Control Lists and visitors may login using these credentials to access private content.'); - - $desc2 = t('You may also provide dropbox style access links to friends and associates by adding the Login Password to any specific site URL as shown. Examples:'); - - $global_perms = \Zotlabs\Access\Permissions::Perms(); - $their_perms = []; - - $existing = get_all_perms(local_channel(),(($atoken_xchan) ? $atoken_xchan : ''),false); - - if($atoken_xchan) { - $theirs = q("select * from abconfig where chan = %d and xchan = '%s' and cat = 'their_perms'", - intval(local_channel()), - dbesc($atoken_xchan) - ); - if($theirs) { - foreach($theirs as $t) { - $their_perms[$t['k']] = $t['v']; - } - } - } - foreach($global_perms as $k => $v) { - $thisperm = get_abconfig(local_channel(),$contact['abook_xchan'],'my_perms',$k); -//fixme - - $checkinherited = \Zotlabs\Access\PermissionLimits::Get(local_channel(),$k); - - if($existing[$k]) - $thisperm = "1"; - - $perms[] = array('perms_' . $k, $v, ((array_key_exists($k,$their_perms)) ? intval($their_perms[$k]) : ''),$thisperm, 1, (($checkinherited & PERMS_SPECIFIC) ? '' : '1'), '', $checkinherited); - } - - - - $tpl = get_markup_template("settings_tokens.tpl"); - $o .= replace_macros($tpl, array( - '$form_security_token' => get_form_security_token("settings_tokens"), - '$title' => t('Guest Access Tokens'), - '$desc' => $desc, - '$desc2' => $desc2, - '$tokens' => $t, - '$atoken' => $atoken, - '$url1' => z_root() . '/channel/' . $channel['channel_address'], - '$url2' => z_root() . '/photos/' . $channel['channel_address'], - '$name' => array('name', t('Login Name') . ' *', (($atoken) ? $atoken['atoken_name'] : ''),''), - '$token'=> array('token', t('Login Password') . ' *',(($atoken) ? $atoken['atoken_token'] : autoname(8)), ''), - '$expires'=> array('expires', t('Expires (yyyy-mm-dd)'), (($atoken['atoken_expires'] && $atoken['atoken_expires'] > NULL_DATE) ? datetime_convert('UTC',date_default_timezone_get(),$atoken['atoken_expires']) : ''), ''), - '$them' => t('Their Settings'), - '$me' => t('My Settings'), - '$perms' => $perms, - '$inherited' => t('inherited'), - '$notself' => 1, - '$self' => 0, - '$permlbl' => t('Individual Permissions'), - '$permnote' => t('Some permissions may be inherited from your channel\'s privacy settings, which have higher priority than individual settings. You can not change those settings here.'), - '$submit' => t('Submit') - )); - return $o; - } - -} diff --git a/Zotlabs/Module/Tokens.php b/Zotlabs/Module/Tokens.php new file mode 100644 index 000000000..a791d3f63 --- /dev/null +++ b/Zotlabs/Module/Tokens.php @@ -0,0 +1,193 @@ += $max_tokens) { + notice( sprintf( t('This channel is limited to %d tokens'), $max_tokens) . EOL); + return; + } + } + } + if($token_errs) { + notice( t('Name and Password are required.') . EOL); + return; + } + if($atoken_id) { + $r = q("update atoken set atoken_name = '%s', atoken_token = '%s', atoken_expires = '%s' + where atoken_id = %d and atoken_uid = %d", + dbesc($name), + dbesc($token), + dbesc($expires), + intval($atoken_id), + intval($channel['channel_id']) + ); + } + else { + $r = q("insert into atoken ( atoken_aid, atoken_uid, atoken_name, atoken_token, atoken_expires ) + values ( %d, %d, '%s', '%s', '%s' ) ", + intval($channel['channel_account_id']), + intval($channel['channel_id']), + dbesc($name), + dbesc($token), + dbesc($expires) + ); + } + + $atoken_xchan = substr($channel['channel_hash'],0,16) . '.' . $name; + + $all_perms = \Zotlabs\Access\Permissions::Perms(); + + if($all_perms) { + foreach($all_perms as $perm => $desc) { + if(array_key_exists('perms_' . $perm, $_POST)) { + set_abconfig($channel['channel_id'],$atoken_xchan,'my_perms',$perm,intval($_POST['perms_' . $perm])); + } + else { + set_abconfig($channel['channel_id'],$atoken_xchan,'my_perms',$perm,0); + } + } + } + + + info( t('Token saved.') . EOL); + return; + } + + + function get() { + + if(! local_channel()) + return; + + if(! Apps::system_app_installed(local_channel(), 'Guest Access')) { + //Do not display any associated widgets at this point + App::$pdl = ''; + + $o = 'Guest Access App (Not Installed):
'; + $o .= t('Create access tokens so that non-members can access private content'); + return $o; + } + + $channel = App::get_channel(); + + $atoken = null; + $atoken_xchan = ''; + + if(argc() > 2) { + $id = argv(2); + + $atoken = q("select * from atoken where atoken_id = %d and atoken_uid = %d", + intval($id), + intval(local_channel()) + ); + + if($atoken) { + $atoken = $atoken[0]; + $atoken_xchan = substr($channel['channel_hash'],0,16) . '.' . $atoken['atoken_name']; + } + + if($atoken && argc() > 3 && argv(3) === 'drop') { + atoken_delete($id); + $atoken = null; + $atoken_xchan = ''; + } + } + + $t = q("select * from atoken where atoken_uid = %d", + intval(local_channel()) + ); + + $desc = t('Use this form to create temporary access identifiers to share things with non-members. These identities may be used in Access Control Lists and visitors may login using these credentials to access private content.'); + + $desc2 = t('You may also provide dropbox style access links to friends and associates by adding the Login Password to any specific site URL as shown. Examples:'); + + $global_perms = \Zotlabs\Access\Permissions::Perms(); + $their_perms = []; + + $existing = get_all_perms(local_channel(),(($atoken_xchan) ? $atoken_xchan : ''),false); + + if($atoken_xchan) { + $theirs = q("select * from abconfig where chan = %d and xchan = '%s' and cat = 'their_perms'", + intval(local_channel()), + dbesc($atoken_xchan) + ); + if($theirs) { + foreach($theirs as $t) { + $their_perms[$t['k']] = $t['v']; + } + } + } + foreach($global_perms as $k => $v) { + $thisperm = get_abconfig(local_channel(),$contact['abook_xchan'],'my_perms',$k); +//fixme + + $checkinherited = \Zotlabs\Access\PermissionLimits::Get(local_channel(),$k); + + if($existing[$k]) + $thisperm = "1"; + + $perms[] = array('perms_' . $k, $v, ((array_key_exists($k,$their_perms)) ? intval($their_perms[$k]) : ''),$thisperm, 1, (($checkinherited & PERMS_SPECIFIC) ? '' : '1'), '', $checkinherited); + } + + + + $tpl = get_markup_template("tokens.tpl"); + $o .= replace_macros($tpl, array( + '$form_security_token' => get_form_security_token("tokens"), + '$title' => t('Guest Access Tokens'), + '$desc' => $desc, + '$desc2' => $desc2, + '$tokens' => $t, + '$atoken' => $atoken, + '$url1' => z_root() . '/channel/' . $channel['channel_address'], + '$url2' => z_root() . '/photos/' . $channel['channel_address'], + '$name' => array('name', t('Login Name') . ' *', (($atoken) ? $atoken['atoken_name'] : ''),''), + '$token'=> array('token', t('Login Password') . ' *',(($atoken) ? $atoken['atoken_token'] : autoname(8)), ''), + '$expires'=> array('expires', t('Expires (yyyy-mm-dd)'), (($atoken['atoken_expires'] && $atoken['atoken_expires'] > NULL_DATE) ? datetime_convert('UTC',date_default_timezone_get(),$atoken['atoken_expires']) : ''), ''), + '$them' => t('Their Settings'), + '$me' => t('My Settings'), + '$perms' => $perms, + '$inherited' => t('inherited'), + '$notself' => 1, + '$self' => 0, + '$permlbl' => t('Individual Permissions'), + '$permnote' => t('Some permissions may be inherited from your channel\'s privacy settings, which have higher priority than individual settings. You can not change those settings here.'), + '$submit' => t('Submit') + )); + return $o; + } + +} -- cgit v1.2.3 From bdf6289b323c26329087eb21911576239e0b6216 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Wed, 26 Sep 2018 22:32:06 +0200 Subject: tokens: add css file and fix argc and argv values --- Zotlabs/Module/Tokens.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Tokens.php b/Zotlabs/Module/Tokens.php index a791d3f63..ae03a499a 100644 --- a/Zotlabs/Module/Tokens.php +++ b/Zotlabs/Module/Tokens.php @@ -106,8 +106,8 @@ class Tokens extends Controller { $atoken = null; $atoken_xchan = ''; - if(argc() > 2) { - $id = argv(2); + if(argc() > 1) { + $id = argv(1); $atoken = q("select * from atoken where atoken_id = %d and atoken_uid = %d", intval($id), @@ -119,7 +119,7 @@ class Tokens extends Controller { $atoken_xchan = substr($channel['channel_hash'],0,16) . '.' . $atoken['atoken_name']; } - if($atoken && argc() > 3 && argv(3) === 'drop') { + if($atoken && argc() > 2 && argv(2) === 'drop') { atoken_delete($id); $atoken = null; $atoken_xchan = ''; -- cgit v1.2.3 From 6b23c3e1796b818ce893ed919f2e2bdd000c83fb Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Thu, 27 Sep 2018 14:56:47 +0200 Subject: implement conversation tools (settings/conversation), remove additional features from the settings menu and get rid of skill levels --- Zotlabs/Module/Settings/Conversation.php | 60 ++++++++++++++++++++++++++++++++ Zotlabs/Module/Settings/Features.php | 35 +------------------ 2 files changed, 61 insertions(+), 34 deletions(-) create mode 100644 Zotlabs/Module/Settings/Conversation.php (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Conversation.php b/Zotlabs/Module/Settings/Conversation.php new file mode 100644 index 000000000..43e59a3c2 --- /dev/null +++ b/Zotlabs/Module/Settings/Conversation.php @@ -0,0 +1,60 @@ + 'settings/' . $module, + '$form_security_token' => get_form_security_token('settings_' . $module), + '$title' => t('Conversation Settings'), + '$features' => process_module_features_get(local_channel(), $features), + '$submit' => t('Submit') + )); + + if($aj) { + echo $o; + killme(); + } + else { + return $o; + } + } + +} diff --git a/Zotlabs/Module/Settings/Features.php b/Zotlabs/Module/Settings/Features.php index 888032c28..6a3ab104b 100644 --- a/Zotlabs/Module/Settings/Features.php +++ b/Zotlabs/Module/Settings/Features.php @@ -26,44 +26,14 @@ class Features { function get() { $arr = []; - $harr = []; - if(intval($_REQUEST['techlevel'])) - $level = intval($_REQUEST['techlevel']); - else { - $level = get_account_techlevel(); - } - - if(! intval($level)) { - notice( t('Permission denied.') . EOL); - return; - } - - $techlevels = \Zotlabs\Lib\Techlevels::levels(); - - // This page isn't accessible at techlevel 0 - - unset($techlevels[0]); - - $def_techlevel = (($level > 0) ? $level : 1); - $techlock = get_config('system','techlevel_lock'); - - $all_features_raw = get_features(false); - - foreach($all_features_raw as $fname => $fdata) { - foreach(array_slice($fdata,1) as $f) { - $harr[$f[0]] = ((intval(feature_enabled(local_channel(),$f[0]))) ? "1" : ''); - } - } - - $features = get_features(true,$level); + $features = get_features(false); foreach($features as $fname => $fdata) { $arr[$fname] = array(); $arr[$fname][0] = $fdata[0]; foreach(array_slice($fdata,1) as $f) { $arr[$fname][1][] = array('feature_' . $f[0],$f[1],((intval(feature_enabled(local_channel(),$f[0]))) ? "1" : ''),$f[2],array(t('Off'),t('On'))); - unset($harr[$f[0]]); } } @@ -71,10 +41,7 @@ class Features { $o .= replace_macros($tpl, array( '$form_security_token' => get_form_security_token("settings_features"), '$title' => t('Additional Features'), - '$techlevel' => [ 'techlevel', t('Your technical skill level'), $def_techlevel, t('Used to provide a member experience and additional features consistent with your comfort level'), $techlevels ], - '$techlock' => $techlock, '$features' => $arr, - '$hiddens' => $harr, '$baseurl' => z_root(), '$submit' => t('Submit'), )); -- cgit v1.2.3 From 56fdc4f3febbc5a2242d8ce6ab6d51f83feae42d Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Thu, 27 Sep 2018 20:26:47 +0200 Subject: Missprint in Oauth.php fixed --- Zotlabs/Module/Oauth.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Oauth.php b/Zotlabs/Module/Oauth.php index 5aae71ae7..fbcc48ead 100644 --- a/Zotlabs/Module/Oauth.php +++ b/Zotlabs/Module/Oauth.php @@ -98,7 +98,7 @@ class Oauth extends Controller { App::$pdl = ''; $o = 'OAuth Apps Manager App (Not Installed):
'; - $o .= t('OAuth authenticatication tokens for mobile and remote apps'); + $o .= t('OAuth authentication tokens for mobile and remote apps'); return $o; } -- cgit v1.2.3 From 3379f6f79339b7e6b77cd2d8a84e484585a1785a Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 00:02:58 +0200 Subject: Update Channel.php --- Zotlabs/Module/Settings/Channel.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Channel.php b/Zotlabs/Module/Settings/Channel.php index 27a8e695d..73cb4decb 100644 --- a/Zotlabs/Module/Settings/Channel.php +++ b/Zotlabs/Module/Settings/Channel.php @@ -63,7 +63,7 @@ class Channel { } $hide_presence = 1 - (intval($role_permissions['online'])); if($role_permissions['default_collection']) { - $r = q("select hash from groups where uid = %d and gname = '%s' limit 1", + $r = q("select hash from pgrp where uid = %d and gname = '%s' limit 1", intval(local_channel()), dbesc( t('Friends') ) ); @@ -71,7 +71,7 @@ class Channel { require_once('include/group.php'); group_add(local_channel(), t('Friends')); group_add_member(local_channel(),t('Friends'),$channel['channel_hash']); - $r = q("select hash from groups where uid = %d and gname = '%s' limit 1", + $r = q("select hash from pgrp where uid = %d and gname = '%s' limit 1", intval(local_channel()), dbesc( t('Friends') ) ); -- cgit v1.2.3 From 07f82e4a148eb11188e3182b42ae5d683c37e298 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 00:05:43 +0200 Subject: Update Network.php --- Zotlabs/Module/Network.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php index ffe605538..e7b150faf 100644 --- a/Zotlabs/Module/Network.php +++ b/Zotlabs/Module/Network.php @@ -108,7 +108,7 @@ class Network extends \Zotlabs\Web\Controller { // filter by collection (e.g. group) if($gid) { - $r = q("SELECT * FROM groups WHERE id = %d AND uid = %d LIMIT 1", + $r = q("SELECT * FROM pgrp WHERE id = %d AND uid = %d LIMIT 1", intval($gid), intval(local_channel()) ); -- cgit v1.2.3 From 444ae51a3e34438f1d4863c76e114d102d4087a3 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 00:06:26 +0200 Subject: Update Lockview.php --- Zotlabs/Module/Lockview.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Lockview.php b/Zotlabs/Module/Lockview.php index 466d16997..d7ed07a53 100644 --- a/Zotlabs/Module/Lockview.php +++ b/Zotlabs/Module/Lockview.php @@ -118,7 +118,7 @@ class Lockview extends \Zotlabs\Web\Controller { } if(count($allowed_groups)) { - $r = q("SELECT gname FROM groups WHERE hash IN ( " . implode(', ', $allowed_groups) . " )"); + $r = q("SELECT gname FROM pgrp WHERE hash IN ( " . implode(', ', $allowed_groups) . " )"); if($r) foreach($r as $rr) $l[] = ''; @@ -156,7 +156,7 @@ class Lockview extends \Zotlabs\Web\Controller { if(count($deny_groups)) { - $r = q("SELECT gname FROM groups WHERE hash IN ( " . implode(', ', $deny_groups) . " )"); + $r = q("SELECT gname FROM pgrp WHERE hash IN ( " . implode(', ', $deny_groups) . " )"); if($r) foreach($r as $rr) $l[] = ''; -- cgit v1.2.3 From 4efa5cfa75ac7f6d7e09b049f4304e019083765a Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 00:10:20 +0200 Subject: Update Group.php --- Zotlabs/Module/Group.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Group.php b/Zotlabs/Module/Group.php index bf0edb1ed..bfe051d59 100644 --- a/Zotlabs/Module/Group.php +++ b/Zotlabs/Module/Group.php @@ -53,7 +53,7 @@ class Group extends Controller { if((argc() == 2) && (intval(argv(1)))) { check_form_security_token_redirectOnErr('/group', 'group_edit'); - $r = q("SELECT * FROM groups WHERE id = %d AND uid = %d LIMIT 1", + $r = q("SELECT * FROM pgrp WHERE id = %d AND uid = %d LIMIT 1", intval(argv(1)), intval(local_channel()) ); @@ -67,7 +67,7 @@ class Group extends Controller { $public = intval($_POST['public']); if((strlen($groupname)) && (($groupname != $group['gname']) || ($public != $group['visible']))) { - $r = q("UPDATE groups SET gname = '%s', visible = %d WHERE uid = %d AND id = %d", + $r = q("UPDATE pgrp SET gname = '%s', visible = %d WHERE uid = %d AND id = %d", dbesc($groupname), intval($public), intval(local_channel()), @@ -115,7 +115,7 @@ class Group extends Controller { $new = (((argc() == 2) && (argv(1) === 'new')) ? true : false); - $groups = q("SELECT id, gname FROM groups WHERE deleted = 0 AND uid = %d ORDER BY gname ASC", + $groups = q("SELECT id, gname FROM pgrp WHERE deleted = 0 AND uid = %d ORDER BY gname ASC", intval(local_channel()) ); @@ -160,7 +160,7 @@ class Group extends Controller { check_form_security_token_redirectOnErr('/group', 'group_drop', 't'); if(intval(argv(2))) { - $r = q("SELECT gname FROM groups WHERE id = %d AND uid = %d LIMIT 1", + $r = q("SELECT gname FROM pgrp WHERE id = %d AND uid = %d LIMIT 1", intval(argv(2)), intval(local_channel()) ); @@ -192,7 +192,7 @@ class Group extends Controller { if((argc() > 1) && (intval(argv(1)))) { require_once('include/acl_selectors.php'); - $r = q("SELECT * FROM groups WHERE id = %d AND uid = %d AND deleted = 0 LIMIT 1", + $r = q("SELECT * FROM pgrp WHERE id = %d AND uid = %d AND deleted = 0 LIMIT 1", intval(argv(1)), intval(local_channel()) ); -- cgit v1.2.3 From da7bce3470b547e56343d163eb914cc3ddf9339c Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 00:11:03 +0200 Subject: Update Contactgroup.php --- Zotlabs/Module/Contactgroup.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Contactgroup.php b/Zotlabs/Module/Contactgroup.php index 2ba53517f..36aaf7da0 100644 --- a/Zotlabs/Module/Contactgroup.php +++ b/Zotlabs/Module/Contactgroup.php @@ -23,7 +23,7 @@ class Contactgroup extends \Zotlabs\Web\Controller { if((argc() > 1) && (intval(argv(1)))) { - $r = q("SELECT * FROM groups WHERE id = %d AND uid = %d AND deleted = 0 LIMIT 1", + $r = q("SELECT * FROM pgrp WHERE id = %d AND uid = %d AND deleted = 0 LIMIT 1", intval(argv(1)), intval(local_channel()) ); -- cgit v1.2.3 From 978e45911fcda8a607e776aedbdcfe343f32f7a9 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 00:12:00 +0200 Subject: Update Connections.php --- Zotlabs/Module/Connections.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Connections.php b/Zotlabs/Module/Connections.php index 0e5f1dfe2..967e9521d 100644 --- a/Zotlabs/Module/Connections.php +++ b/Zotlabs/Module/Connections.php @@ -220,7 +220,7 @@ class Connections extends \Zotlabs\Web\Controller { $sql_extra .= (($searching) ? protect_sprintf(" AND xchan_name like '%$search_txt%' ") : ""); if($_REQUEST['gid']) { - $sql_extra .= " and xchan_hash in ( select xchan from group_member where gid = " . intval($_REQUEST['gid']) . " and uid = " . intval(local_channel()) . " ) "; + $sql_extra .= " and xchan_hash in ( select xchan from pgrp_member where gid = " . intval($_REQUEST['gid']) . " and uid = " . intval(local_channel()) . " ) "; } $r = q("SELECT COUNT(abook.abook_id) AS total FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash -- cgit v1.2.3 From 25e8d70786d44b382a5949c9a8b504a6b9ce6a07 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 00:14:21 +0200 Subject: Update Acl.php --- Zotlabs/Module/Acl.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Acl.php b/Zotlabs/Module/Acl.php index 0c2ad7522..ea131e08c 100644 --- a/Zotlabs/Module/Acl.php +++ b/Zotlabs/Module/Acl.php @@ -81,7 +81,7 @@ class Acl extends \Zotlabs\Web\Controller { if($search) { - $sql_extra = " AND groups.gname LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " "; + $sql_extra = " AND pgrp.gname LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " "; $sql_extra2 = "AND ( xchan_name LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " OR xchan_addr LIKE " . protect_sprintf( "'%" . dbesc(punify($search)) . ((strpos($search,'@') === false) ? "%@%'" : "%'")) . ") "; // This horrible mess is needed because position also returns 0 if nothing is found. @@ -128,13 +128,13 @@ class Acl extends \Zotlabs\Web\Controller { // Normal privacy groups - $r = q("SELECT groups.id, groups.hash, groups.gname - FROM groups, group_member - WHERE groups.deleted = 0 AND groups.uid = %d - AND group_member.gid = groups.id + $r = q("SELECT pgrp.id, pgrp.hash, pgrp.gname + FROM pgrp, pgrp_member + WHERE pgrp.deleted = 0 AND pgrp.uid = %d + AND pgrp_member.gid = pgrp.id $sql_extra - GROUP BY groups.id - ORDER BY groups.gname + GROUP BY pgrp.id + ORDER BY pgrp.gname LIMIT %d OFFSET %d", intval(local_channel()), intval($count), -- cgit v1.2.3 From 5d6c8fd807de99bb3364f7b1aca332e6fa0e84f9 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 00:28:15 +0200 Subject: Update Import.php --- Zotlabs/Module/Import.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Import.php b/Zotlabs/Module/Import.php index d031bf16b..c5c52674a 100644 --- a/Zotlabs/Module/Import.php +++ b/Zotlabs/Module/Import.php @@ -428,7 +428,7 @@ class Import extends \Zotlabs\Web\Controller { create_table_from_array('groups', $group); } - $r = q("select * from groups where uid = %d", + $r = q("select * from pgrp where uid = %d", intval($channel['channel_id']) ); if($r) { -- cgit v1.2.3 From fe8b72362286ce55044e38524179e6694acda014 Mon Sep 17 00:00:00 2001 From: "M.Dent" Date: Thu, 27 Sep 2018 22:42:42 -0400 Subject: Hide form when at or over service_class['limit_identities'] --- Zotlabs/Module/New_channel.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/New_channel.php b/Zotlabs/Module/New_channel.php index 97a46a43e..ebdd6c37f 100644 --- a/Zotlabs/Module/New_channel.php +++ b/Zotlabs/Module/New_channel.php @@ -142,9 +142,12 @@ class New_channel extends \Zotlabs\Web\Controller { } $limit = account_service_class_fetch(get_account_id(),'total_identities'); - + $canadd = true; if($r && ($limit !== false)) { $channel_usage_message = sprintf( t("You have created %1$.0f of %2$.0f allowed channels."), $r[0]['total'], $limit); + if ($r[0]['total'] >= $limit) { + $canadd = false; + } } else { $channel_usage_message = ''; @@ -186,7 +189,8 @@ class New_channel extends \Zotlabs\Web\Controller { '$nickname' => $nickname, '$validate' => t('Validate'), '$submit' => t('Create'), - '$channel_usage_message' => $channel_usage_message + '$channel_usage_message' => $channel_usage_message, + '$canadd' => $canadd )); return $o; -- cgit v1.2.3 From 20285d076b789f2e08d83e2fb7c89d017a4135ed Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Fri, 28 Sep 2018 11:29:05 +0200 Subject: settings for channel home --- Zotlabs/Module/Settings/Channel_home.php | 43 ++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 Zotlabs/Module/Settings/Channel_home.php (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Channel_home.php b/Zotlabs/Module/Settings/Channel_home.php new file mode 100644 index 000000000..1d1cc370b --- /dev/null +++ b/Zotlabs/Module/Settings/Channel_home.php @@ -0,0 +1,43 @@ + $rpath, + '$action_url' => 'settings/' . $module, + '$form_security_token' => get_form_security_token('settings_' . $module), + '$title' => t('Channel Home Settings'), + '$features' => process_module_features_get(local_channel(), $features), + '$submit' => t('Submit') + )); + + return $o; + } + +} -- cgit v1.2.3 From 52fea09c53883cf1d9ca96a642acf7b2caa79cb2 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:23:38 +0200 Subject: add translations --- Zotlabs/Module/Oauth.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Oauth.php b/Zotlabs/Module/Oauth.php index fbcc48ead..a0a6f37cb 100644 --- a/Zotlabs/Module/Oauth.php +++ b/Zotlabs/Module/Oauth.php @@ -97,7 +97,7 @@ class Oauth extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'OAuth Apps Manager App (Not Installed):
'; + $o = '' . t('OAuth Apps Manager App (Not Installed):') . '
'; $o .= t('OAuth authentication tokens for mobile and remote apps'); return $o; } -- cgit v1.2.3 From 21272735ae92f58f9af78c00363d66199d96bb19 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:24:45 +0200 Subject: Update Oauth2.php --- Zotlabs/Module/Oauth2.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Oauth2.php b/Zotlabs/Module/Oauth2.php index c27d7534b..608da6d51 100644 --- a/Zotlabs/Module/Oauth2.php +++ b/Zotlabs/Module/Oauth2.php @@ -103,7 +103,7 @@ class Oauth2 extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'OAuth2 Apps Manager App (Not Installed):
'; + $o = '' . t('OAuth2 Apps Manager App (Not Installed):') . '
'; $o .= t('OAuth2 authenticatication tokens for mobile and remote apps'); return $o; } -- cgit v1.2.3 From 598fe914647616a9ad3c8567b462e9f26cc190ef Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:25:38 +0200 Subject: Update Pdledit.php --- Zotlabs/Module/Pdledit.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Pdledit.php b/Zotlabs/Module/Pdledit.php index d0bde7715..cd5ec3709 100644 --- a/Zotlabs/Module/Pdledit.php +++ b/Zotlabs/Module/Pdledit.php @@ -39,7 +39,7 @@ class Pdledit extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'PDL Editor App (Not Installed):
'; + $o = '' . t('PDL Editor App (Not Installed):') . '
'; $o .= t('Provides the ability to edit system page layouts'); return $o; } -- cgit v1.2.3 From 02a16050d9fd05ef36a47b004b8d99760e0b19dc Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:26:09 +0200 Subject: Update Permcats.php --- Zotlabs/Module/Permcats.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Permcats.php b/Zotlabs/Module/Permcats.php index 3d068862a..f966be147 100644 --- a/Zotlabs/Module/Permcats.php +++ b/Zotlabs/Module/Permcats.php @@ -59,7 +59,7 @@ class Permcats extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'Permission Categories App (Not Installed):
'; + $o = '' . t('Permission Categories App (Not Installed):') . '
'; $o .= t('Create custom connection permission limits'); return $o; } -- cgit v1.2.3 From f7e94546977f8e38b69bf27515ed2dc0cdc93b86 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:26:46 +0200 Subject: Update Poke.php --- Zotlabs/Module/Poke.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Poke.php b/Zotlabs/Module/Poke.php index 46dcf6dd3..4074663ae 100644 --- a/Zotlabs/Module/Poke.php +++ b/Zotlabs/Module/Poke.php @@ -162,7 +162,7 @@ class Poke extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'Poke App (Not Installed):
'; + $o = '' . t('Poke App (Not Installed):') . '
'; $o .= t('Poke somebody in your addressbook'); return $o; } -- cgit v1.2.3 From 86fc5b5ed82d8a764699929e477ef104d540d802 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:27:16 +0200 Subject: Update Sources.php --- Zotlabs/Module/Sources.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Sources.php b/Zotlabs/Module/Sources.php index 5d05244a7..f761d5666 100644 --- a/Zotlabs/Module/Sources.php +++ b/Zotlabs/Module/Sources.php @@ -85,7 +85,7 @@ class Sources extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'Sources App (Not Installed):
'; + $o = '' . t('Sources App (Not Installed):') . '
'; $o .= t('Automatically import channel content from other channels or feeds'); return $o; } -- cgit v1.2.3 From eb2c2b94005b70686e683a8bee59fa6a3db0ed57 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:27:54 +0200 Subject: Update Tokens.php --- Zotlabs/Module/Tokens.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Tokens.php b/Zotlabs/Module/Tokens.php index ae03a499a..d2198331a 100644 --- a/Zotlabs/Module/Tokens.php +++ b/Zotlabs/Module/Tokens.php @@ -96,7 +96,7 @@ class Tokens extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'Guest Access App (Not Installed):
'; + $o = '' . t('Guest Access App (Not Installed):') . '
'; $o .= t('Create access tokens so that non-members can access private content'); return $o; } -- cgit v1.2.3 From db006b911accbada8a241d8c981ce46881f6e488 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:28:57 +0200 Subject: Update Webpages.php --- Zotlabs/Module/Webpages.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Webpages.php b/Zotlabs/Module/Webpages.php index c6599db3b..79fd51d33 100644 --- a/Zotlabs/Module/Webpages.php +++ b/Zotlabs/Module/Webpages.php @@ -45,7 +45,7 @@ class Webpages extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'Webpages App (Not Installed):
'; + $o = '' . t('Webpages App (Not Installed):') . '
'; $o .= t('Provide managed web pages on your channel'); return $o; } -- cgit v1.2.3 From 90e9948dbe98f96e17de25a942361e1f170b9568 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:29:33 +0200 Subject: Update Wiki.php --- Zotlabs/Module/Wiki.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php index 0fb5a4605..80824b7d5 100644 --- a/Zotlabs/Module/Wiki.php +++ b/Zotlabs/Module/Wiki.php @@ -49,7 +49,7 @@ class Wiki extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'Wiki App (Not Installed):
'; + $o = '' . t('Wiki App (Not Installed):') . '
'; $o .= t('Provide a wiki for your channel'); return $o; } -- cgit v1.2.3 From 24c7bb600e9d22269243ac229a94438b093e8716 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:30:03 +0200 Subject: Update Articles.php --- Zotlabs/Module/Articles.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Articles.php b/Zotlabs/Module/Articles.php index 7af1ab6b8..1a9691b6a 100644 --- a/Zotlabs/Module/Articles.php +++ b/Zotlabs/Module/Articles.php @@ -40,7 +40,7 @@ class Articles extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'Articles App (Not Installed):
'; + $o = '' . t('Articles App (Not Installed):') . '
'; $o .= t('Create interactive articles'); return $o; } -- cgit v1.2.3 From 134529a09d1894280f33241355e385b9eddb95f0 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:30:30 +0200 Subject: Update Cards.php --- Zotlabs/Module/Cards.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Cards.php b/Zotlabs/Module/Cards.php index 78cbad5fd..8aca60e57 100644 --- a/Zotlabs/Module/Cards.php +++ b/Zotlabs/Module/Cards.php @@ -43,7 +43,7 @@ class Cards extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'Cards App (Not Installed):
'; + $o = '' . t('Cards App (Not Installed):') . '
'; $o .= t('Create personal planning cards'); return $o; } -- cgit v1.2.3 From d8c6d93c6e564b166275bdcd730a5251dfdd7304 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:31:22 +0200 Subject: Update Cdav.php --- Zotlabs/Module/Cdav.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Cdav.php b/Zotlabs/Module/Cdav.php index 7142615d5..860864e99 100644 --- a/Zotlabs/Module/Cdav.php +++ b/Zotlabs/Module/Cdav.php @@ -836,7 +836,7 @@ class Cdav extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'CalDAV App (Not Installed):
'; + $o = '' . t('CalDAV App (Not Installed):') . '
'; $o .= t('CalDAV capable calendar'); return $o; } @@ -845,7 +845,7 @@ class Cdav extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'CardDAV App (Not Installed):
'; + $o = '' . t('CardDAV App (Not Installed):') . '
'; $o .= t('CalDAV capable addressbook'); return $o; } -- cgit v1.2.3 From 2811d6ae53b32c132d2589871ba8b0a267675eef Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:32:27 +0200 Subject: Update Chat.php --- Zotlabs/Module/Chat.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Chat.php b/Zotlabs/Module/Chat.php index 551dc5e2a..d007ec407 100644 --- a/Zotlabs/Module/Chat.php +++ b/Zotlabs/Module/Chat.php @@ -99,7 +99,7 @@ class Chat extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'Chatrooms App (Not Installed):
'; + $o = '' . t('Chatrooms App (Not Installed):') . '
'; $o .= t('Access Controlled Chatrooms'); return $o; } -- cgit v1.2.3 From 7fd332f8cf2ba77fe16192f4e02d657283a3c25c Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:33:17 +0200 Subject: Update Connect.php --- Zotlabs/Module/Connect.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Connect.php b/Zotlabs/Module/Connect.php index 7194e7039..83f0f455d 100644 --- a/Zotlabs/Module/Connect.php +++ b/Zotlabs/Module/Connect.php @@ -101,7 +101,7 @@ class Connect extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'Premium Channel App (Not Installed):
'; + $o = '' . t('Premium Channel App (Not Installed):') . '
'; $o .= t('Allows you to set restrictions and terms on those that connect with your channel'); return $o; } -- cgit v1.2.3 From a23724838813cfa82007dbff78b8edcd5c95381f Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:33:50 +0200 Subject: Update Group.php --- Zotlabs/Module/Group.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Group.php b/Zotlabs/Module/Group.php index bfe051d59..c544f95a0 100644 --- a/Zotlabs/Module/Group.php +++ b/Zotlabs/Module/Group.php @@ -98,7 +98,7 @@ class Group extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'Privacy Groups App (Not Installed):
'; + $o = '' . t('Privacy Groups App (Not Installed):') . '
'; $o .= t('Management of privacy groups'); return $o; } -- cgit v1.2.3 From ba417894edcfafd6d625ed9e27835362471b1e3a Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:34:20 +0200 Subject: Update Invite.php --- Zotlabs/Module/Invite.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Invite.php b/Zotlabs/Module/Invite.php index 234802746..8640c5b23 100644 --- a/Zotlabs/Module/Invite.php +++ b/Zotlabs/Module/Invite.php @@ -107,7 +107,7 @@ class Invite extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'Invite App (Not Installed):
'; + $o = '' . t('Invite App (Not Installed):') . '
'; $o .= t('Send email invitations to join this network'); return $o; } -- cgit v1.2.3 From e2115e8ea5b7de6cde8f0dd0bef941448fae9b09 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:34:45 +0200 Subject: Update Lang.php --- Zotlabs/Module/Lang.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Lang.php b/Zotlabs/Module/Lang.php index 9858beecd..a163da102 100644 --- a/Zotlabs/Module/Lang.php +++ b/Zotlabs/Module/Lang.php @@ -14,7 +14,7 @@ class Lang extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'Language App (Not Installed):
'; + $o = '' . t('Language App (Not Installed):') . '
'; $o .= t('Change UI language'); return $o; } -- cgit v1.2.3 From 58d9ca1bfd5a9e696a0e7d13d915dde4db5a67a2 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:35:14 +0200 Subject: Update Mood.php --- Zotlabs/Module/Mood.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Mood.php b/Zotlabs/Module/Mood.php index cceef5ffa..4ffb35ca8 100644 --- a/Zotlabs/Module/Mood.php +++ b/Zotlabs/Module/Mood.php @@ -129,7 +129,7 @@ class Mood extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = 'Mood App (Not Installed):
'; + $o = '' . t('Mood App (Not Installed):') . '
'; $o .= t('Set your current mood and tell your friends'); return $o; } -- cgit v1.2.3 From c13d7e29ef9676b0f0e4ae23aa52e203f4ad8895 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 15:35:39 +0200 Subject: Update Notes.php --- Zotlabs/Module/Notes.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Notes.php b/Zotlabs/Module/Notes.php index cd383a6c2..2916925e2 100644 --- a/Zotlabs/Module/Notes.php +++ b/Zotlabs/Module/Notes.php @@ -52,7 +52,7 @@ class Notes extends Controller { //Do not display any associated widgets at this point App::$pdl = EMPTY_STR; - $o = 'Notes App (Not Installed):
'; + $o = '' . t('Notes App (Not Installed):') . '
'; $o .= t('A simple notes app with a widget (note: notes are not encrypted)'); return $o; } -- cgit v1.2.3 From 5f7d83bd4d1a5e9e22d05ebda8ed1e82492d0094 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:44:10 +0200 Subject: Update Articles.php --- Zotlabs/Module/Articles.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Articles.php b/Zotlabs/Module/Articles.php index 1a9691b6a..ad4d67c4e 100644 --- a/Zotlabs/Module/Articles.php +++ b/Zotlabs/Module/Articles.php @@ -40,7 +40,7 @@ class Articles extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('Articles App (Not Installed):') . '
'; + $o = '' . t('Articles App') . ' (' . t('Not Installed') . '):
'; $o .= t('Create interactive articles'); return $o; } -- cgit v1.2.3 From 5c8e1169cd3be8c569bf54c58a6a4f473dd6b6f3 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:45:11 +0200 Subject: Update Cards.php --- Zotlabs/Module/Cards.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Cards.php b/Zotlabs/Module/Cards.php index 8aca60e57..3656860a5 100644 --- a/Zotlabs/Module/Cards.php +++ b/Zotlabs/Module/Cards.php @@ -43,7 +43,7 @@ class Cards extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('Cards App (Not Installed):') . '
'; + $o = '' . t('Cards App') . ' (' . t('Not Installed') . '):
'; $o .= t('Create personal planning cards'); return $o; } -- cgit v1.2.3 From c6fce5de24df96cb8048543fb6b8a6907ecaa610 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:46:04 +0200 Subject: Update Cdav.php --- Zotlabs/Module/Cdav.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Cdav.php b/Zotlabs/Module/Cdav.php index 860864e99..d644e48b1 100644 --- a/Zotlabs/Module/Cdav.php +++ b/Zotlabs/Module/Cdav.php @@ -836,7 +836,7 @@ class Cdav extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('CalDAV App (Not Installed):') . '
'; + $o = '' . t('CalDAV App') . ' (' . t('Not Installed') . '):
'; $o .= t('CalDAV capable calendar'); return $o; } @@ -845,7 +845,7 @@ class Cdav extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('CardDAV App (Not Installed):') . '
'; + $o = '' . t('CardDAV App') . ' (' . t('Not Installed') . '):
'; $o .= t('CalDAV capable addressbook'); return $o; } -- cgit v1.2.3 From b3249c10c24cb2b06a1d43581d270f78183e8d61 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:46:20 +0200 Subject: Update Chat.php --- Zotlabs/Module/Chat.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Chat.php b/Zotlabs/Module/Chat.php index d007ec407..db77e2612 100644 --- a/Zotlabs/Module/Chat.php +++ b/Zotlabs/Module/Chat.php @@ -99,7 +99,7 @@ class Chat extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('Chatrooms App (Not Installed):') . '
'; + $o = '' . t('Chatrooms App') . ' (' . t('Not Installed') . '):
'; $o .= t('Access Controlled Chatrooms'); return $o; } -- cgit v1.2.3 From cb768ea23f81d35b18204ae1747240a586541d45 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:46:36 +0200 Subject: Update Connect.php --- Zotlabs/Module/Connect.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Connect.php b/Zotlabs/Module/Connect.php index 83f0f455d..62d3af840 100644 --- a/Zotlabs/Module/Connect.php +++ b/Zotlabs/Module/Connect.php @@ -101,7 +101,7 @@ class Connect extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('Premium Channel App (Not Installed):') . '
'; + $o = '' . t('Premium Channel App') . ' (' . t('Not Installed') . '):
'; $o .= t('Allows you to set restrictions and terms on those that connect with your channel'); return $o; } -- cgit v1.2.3 From f07a4667b6168c26ec09d34a14b1dafa00d69a58 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:47:20 +0200 Subject: Update Invite.php --- Zotlabs/Module/Invite.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Invite.php b/Zotlabs/Module/Invite.php index 8640c5b23..6359da54c 100644 --- a/Zotlabs/Module/Invite.php +++ b/Zotlabs/Module/Invite.php @@ -107,7 +107,7 @@ class Invite extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('Invite App (Not Installed):') . '
'; + $o = '' . t('Invite App') . ' (' . t('Not Installed') . '):
'; $o .= t('Send email invitations to join this network'); return $o; } -- cgit v1.2.3 From accb21128008dd4a9114159eec0fd6e872873b16 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:47:37 +0200 Subject: Update Lang.php --- Zotlabs/Module/Lang.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Lang.php b/Zotlabs/Module/Lang.php index a163da102..a32f933a6 100644 --- a/Zotlabs/Module/Lang.php +++ b/Zotlabs/Module/Lang.php @@ -14,7 +14,7 @@ class Lang extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('Language App (Not Installed):') . '
'; + $o = '' . t('Language App') . ' (' . t('Not Installed') . '):
'; $o .= t('Change UI language'); return $o; } -- cgit v1.2.3 From e3e96e59d2e15b655931ecb5168eda059582ab8a Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:47:52 +0200 Subject: Update Mood.php --- Zotlabs/Module/Mood.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Mood.php b/Zotlabs/Module/Mood.php index 4ffb35ca8..16ef0b171 100644 --- a/Zotlabs/Module/Mood.php +++ b/Zotlabs/Module/Mood.php @@ -129,7 +129,7 @@ class Mood extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('Mood App (Not Installed):') . '
'; + $o = '' . t('Mood App') . ' (' . t('Not Installed') . '):
'; $o .= t('Set your current mood and tell your friends'); return $o; } -- cgit v1.2.3 From c34c0c671883385145b6cda7bb84ace143b55bd6 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:48:09 +0200 Subject: Update Notes.php --- Zotlabs/Module/Notes.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Notes.php b/Zotlabs/Module/Notes.php index 2916925e2..178a6bce0 100644 --- a/Zotlabs/Module/Notes.php +++ b/Zotlabs/Module/Notes.php @@ -52,7 +52,7 @@ class Notes extends Controller { //Do not display any associated widgets at this point App::$pdl = EMPTY_STR; - $o = '' . t('Notes App (Not Installed):') . '
'; + $o = '' . t('Notes App') . ' (' . t('Not Installed') . '):
'; $o .= t('A simple notes app with a widget (note: notes are not encrypted)'); return $o; } -- cgit v1.2.3 From 423e1422ef00f69a54322836f3b6df671b054e77 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:48:25 +0200 Subject: Update Oauth.php --- Zotlabs/Module/Oauth.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Oauth.php b/Zotlabs/Module/Oauth.php index a0a6f37cb..27c062df2 100644 --- a/Zotlabs/Module/Oauth.php +++ b/Zotlabs/Module/Oauth.php @@ -97,7 +97,7 @@ class Oauth extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('OAuth Apps Manager App (Not Installed):') . '
'; + $o = '' . t('OAuth Apps Manager App') . ' (' . t('Not Installed') . '):
'; $o .= t('OAuth authentication tokens for mobile and remote apps'); return $o; } -- cgit v1.2.3 From c8399e8104b44273052581c5bbdb77debbe5b75e Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:48:44 +0200 Subject: Update Oauth2.php --- Zotlabs/Module/Oauth2.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Oauth2.php b/Zotlabs/Module/Oauth2.php index 608da6d51..db2687b4c 100644 --- a/Zotlabs/Module/Oauth2.php +++ b/Zotlabs/Module/Oauth2.php @@ -103,7 +103,7 @@ class Oauth2 extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('OAuth2 Apps Manager App (Not Installed):') . '
'; + $o = '' . t('OAuth2 Apps Manager App') . ' (' . t('Not Installed') . '):
'; $o .= t('OAuth2 authenticatication tokens for mobile and remote apps'); return $o; } -- cgit v1.2.3 From 5500473387e16772cc4feb7c3821b733b0b08157 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:49:02 +0200 Subject: Update Pdledit.php --- Zotlabs/Module/Pdledit.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Pdledit.php b/Zotlabs/Module/Pdledit.php index cd5ec3709..5cedb29a8 100644 --- a/Zotlabs/Module/Pdledit.php +++ b/Zotlabs/Module/Pdledit.php @@ -39,7 +39,7 @@ class Pdledit extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('PDL Editor App (Not Installed):') . '
'; + $o = '' . t('PDL Editor App') . ' (' . t('Not Installed') . '):
'; $o .= t('Provides the ability to edit system page layouts'); return $o; } -- cgit v1.2.3 From 23d5e15f0f9d3502f6c5c4163f93de5c9618cda1 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:49:20 +0200 Subject: Update Permcats.php --- Zotlabs/Module/Permcats.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Permcats.php b/Zotlabs/Module/Permcats.php index f966be147..262a14fe4 100644 --- a/Zotlabs/Module/Permcats.php +++ b/Zotlabs/Module/Permcats.php @@ -59,7 +59,7 @@ class Permcats extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('Permission Categories App (Not Installed):') . '
'; + $o = '' . t('Permission Categories App') . ' (' . t('Not Installed') . '):
'; $o .= t('Create custom connection permission limits'); return $o; } -- cgit v1.2.3 From 01043fa790116a89619c0a0fe9c12bd566db8cc7 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:49:42 +0200 Subject: Update Poke.php --- Zotlabs/Module/Poke.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Poke.php b/Zotlabs/Module/Poke.php index 4074663ae..1f1edfa18 100644 --- a/Zotlabs/Module/Poke.php +++ b/Zotlabs/Module/Poke.php @@ -162,7 +162,7 @@ class Poke extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('Poke App (Not Installed):') . '
'; + $o = '' . t('Poke App') . ' (' . t('Not Installed') . '):
'; $o .= t('Poke somebody in your addressbook'); return $o; } -- cgit v1.2.3 From 6d3c1fb7fcc5bfb56bbcf846bf939c1a6aeff3c4 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:49:56 +0200 Subject: Update Sources.php --- Zotlabs/Module/Sources.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Sources.php b/Zotlabs/Module/Sources.php index f761d5666..e535f6ebf 100644 --- a/Zotlabs/Module/Sources.php +++ b/Zotlabs/Module/Sources.php @@ -85,7 +85,7 @@ class Sources extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('Sources App (Not Installed):') . '
'; + $o = '' . t('Sources App') . ' (' . t('Not Installed') . '):
'; $o .= t('Automatically import channel content from other channels or feeds'); return $o; } -- cgit v1.2.3 From 8e673a6cdf9305b0b93313b568759fbde655ee36 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:50:15 +0200 Subject: Update Tokens.php --- Zotlabs/Module/Tokens.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Tokens.php b/Zotlabs/Module/Tokens.php index d2198331a..1ba41dcc5 100644 --- a/Zotlabs/Module/Tokens.php +++ b/Zotlabs/Module/Tokens.php @@ -96,7 +96,7 @@ class Tokens extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('Guest Access App (Not Installed):') . '
'; + $o = '' . t('Guest Access App') . ' (' . t('Not Installed') . '):
'; $o .= t('Create access tokens so that non-members can access private content'); return $o; } -- cgit v1.2.3 From 9b0d12321703cefa37d9e89c3014ceb477074fab Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:50:29 +0200 Subject: Update Webpages.php --- Zotlabs/Module/Webpages.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Webpages.php b/Zotlabs/Module/Webpages.php index 79fd51d33..c9b2264bf 100644 --- a/Zotlabs/Module/Webpages.php +++ b/Zotlabs/Module/Webpages.php @@ -45,7 +45,7 @@ class Webpages extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('Webpages App (Not Installed):') . '
'; + $o = '' . t('Webpages App') . ' (' . t('Not Installed') . '):
'; $o .= t('Provide managed web pages on your channel'); return $o; } -- cgit v1.2.3 From 403ead44f92a52f2dce6b79e5d2d79ffe167e1a4 Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:50:45 +0200 Subject: Update Wiki.php --- Zotlabs/Module/Wiki.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php index 80824b7d5..6be39214e 100644 --- a/Zotlabs/Module/Wiki.php +++ b/Zotlabs/Module/Wiki.php @@ -49,7 +49,7 @@ class Wiki extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('Wiki App (Not Installed):') . '
'; + $o = '' . t('Wiki App') . ' (' . t('Not Installed') . '):
'; $o .= t('Provide a wiki for your channel'); return $o; } -- cgit v1.2.3 From c45a9504e7c4fe8add92276deecb1866c2a388bf Mon Sep 17 00:00:00 2001 From: Max Kostikov Date: Fri, 28 Sep 2018 19:52:11 +0200 Subject: Update Group.php --- Zotlabs/Module/Group.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Group.php b/Zotlabs/Module/Group.php index c544f95a0..c8ccaa2cb 100644 --- a/Zotlabs/Module/Group.php +++ b/Zotlabs/Module/Group.php @@ -98,7 +98,7 @@ class Group extends Controller { //Do not display any associated widgets at this point App::$pdl = ''; - $o = '' . t('Privacy Groups App (Not Installed):') . '
'; + $o = '' . t('Privacy Groups App') . ' (' . t('Not Installed') . '):
'; $o .= t('Management of privacy groups'); return $o; } -- cgit v1.2.3 From 5f992ffe154ed9e2b225c9a1b3d7c47d39e41d34 Mon Sep 17 00:00:00 2001 From: "M. Dent" Date: Sat, 29 Sep 2018 00:17:55 +0200 Subject: Remove servicelevel logic --- Zotlabs/Module/Admin/Account_edit.php | 5 ++--- Zotlabs/Module/Admin/Site.php | 24 ------------------------ Zotlabs/Module/Item.php | 22 ---------------------- Zotlabs/Module/Mail.php | 2 +- Zotlabs/Module/New_channel.php | 2 -- Zotlabs/Module/Register.php | 5 ----- Zotlabs/Module/Settings/Account.php | 15 --------------- Zotlabs/Module/Settings/Channel.php | 7 +------ 8 files changed, 4 insertions(+), 78 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Admin/Account_edit.php b/Zotlabs/Module/Admin/Account_edit.php index 6dfadf183..0300fb10c 100644 --- a/Zotlabs/Module/Admin/Account_edit.php +++ b/Zotlabs/Module/Admin/Account_edit.php @@ -31,7 +31,7 @@ class Account_edit { } $service_class = trim($_REQUEST['service_class']); - $account_level = intval(trim($_REQUEST['account_level'])); + $account_level = 5; $account_language = trim($_REQUEST['account_language']); $r = q("update account set account_service_class = '%s', account_level = %d, account_language = '%s' @@ -68,7 +68,6 @@ class Account_edit { '$title' => t('Account Edit'), '$pass1' => [ 'pass1', t('New Password'), ' ','' ], '$pass2' => [ 'pass2', t('New Password again'), ' ','' ], - '$account_level' => [ 'account_level', t('Technical skill level'), $x[0]['account_level'], '', \Zotlabs\Lib\Techlevels::levels() ], '$account_language' => [ 'account_language' , t('Account language (for emails)'), $x[0]['account_language'], '', language_list() ], '$service_class' => [ 'service_class', t('Service class'), $x[0]['account_service_class'], '' ], '$submit' => t('Submit'), @@ -81,4 +80,4 @@ class Account_edit { } -} \ No newline at end of file +} diff --git a/Zotlabs/Module/Admin/Site.php b/Zotlabs/Module/Admin/Site.php index 5912a7c97..e67f9f165 100644 --- a/Zotlabs/Module/Admin/Site.php +++ b/Zotlabs/Module/Admin/Site.php @@ -72,7 +72,6 @@ class Site { $maxloadavg = ((x($_POST,'maxloadavg')) ? intval(trim($_POST['maxloadavg'])) : 50); $feed_contacts = ((x($_POST,'feed_contacts')) ? intval($_POST['feed_contacts']) : 0); $verify_email = ((x($_POST,'verify_email')) ? 1 : 0); - $techlevel_lock = ((x($_POST,'techlock')) ? intval($_POST['techlock']) : 0); $imagick_path = ((x($_POST,'imagick_path')) ? trim($_POST['imagick_path']) : ''); $thumbnail_security = ((x($_POST,'thumbnail_security')) ? intval($_POST['thumbnail_security']) : 0); $force_queue = ((intval($_POST['force_queue']) > 0) ? intval($_POST['force_queue']) : 3000); @@ -81,10 +80,6 @@ class Site { $permissions_role = escape_tags(trim($_POST['permissions_role'])); - $techlevel = null; - if(array_key_exists('techlevel', $_POST)) - $techlevel = intval($_POST['techlevel']); - set_config('system', 'feed_contacts', $feed_contacts); set_config('system', 'delivery_interval', $delivery_interval); set_config('system', 'delivery_batch_count', $delivery_batch_count); @@ -110,12 +105,6 @@ class Site { set_config('system', 'pubstream_incl',$pub_incl); set_config('system', 'pubstream_excl',$pub_excl); - set_config('system', 'techlevel_lock', $techlevel_lock); - - - - if(! is_null($techlevel)) - set_config('system', 'techlevel', $techlevel); if($directory_server) set_config('system','directory_server',$directory_server); @@ -284,15 +273,6 @@ class Site { // now invert the logic for the setting. $discover_tab = (1 - $discover_tab); - $techlevels = [ - '0' => t('Beginner/Basic'), - '1' => t('Novice - not skilled but willing to learn'), - '2' => t('Intermediate - somewhat comfortable'), - '3' => t('Advanced - very comfortable'), - '4' => t('Expert - I can write computer code'), - '5' => t('Wizard - I probably know more than you do') - ]; - $perm_roles = \Zotlabs\Access\PermissionRoles::roles(); $default_role = get_config('system','default_permissions_role','social'); @@ -316,10 +296,6 @@ class Site { // name, label, value, help string, extra data... '$sitename' => array('sitename', t("Site name"), htmlspecialchars(get_config('system','sitename'), ENT_QUOTES, 'UTF-8'),''), - '$techlevel' => [ 'techlevel', t('Site default technical skill level'), get_config('system','techlevel'), t('Used to provide a member experience matched to technical comfort level'), $techlevels ], - - '$techlock' => [ 'techlock', t('Lock the technical skill level setting'), get_config('system','techlevel_lock'), t('Members can set their own technical comfort level by default') ], - '$banner' => array('banner', t("Banner/Logo"), $banner, t('Unfiltered HTML/CSS/JS is allowed')), '$admininfo' => array('admininfo', t("Administrator Information"), $admininfo, t("Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here")), '$siteinfo' => array('siteinfo', t('Site Information'), get_config('system','siteinfo'), t("Publicly visible description of this site. Displayed on siteinfo page. BBCode can be used here")), diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php index a24d6da9c..2ee639874 100644 --- a/Zotlabs/Module/Item.php +++ b/Zotlabs/Module/Item.php @@ -1165,28 +1165,6 @@ class Item extends \Zotlabs\Web\Controller { return $ret; } - // auto-upgrade beginner (techlevel 0) accounts - if they have at least two friends and ten posts - // and have uploaded something (like a profile photo), promote them to level 1. - - $a = q("select account_id, account_level from account where account_id = (select channel_account_id from channel where channel_id = %d limit 1)", - intval($channel_id) - ); - if((! intval($a[0]['account_level'])) && intval($r[0]['total']) > 10) { - $x = q("select count(abook_id) as total from abook where abook_channel = %d", - intval($channel_id) - ); - if($x && intval($x[0]['total']) > 2) { - $y = q("select count(id) as total from attach where uid = %d", - intval($channel_id) - ); - if($y && intval($y[0]['total']) > 1) { - q("update account set account_level = 1 where account_id = %d limit 1", - intval($a[0]['account_id']) - ); - } - } - } - if (!$iswebpage) { $max = engr_units_to_bytes(service_class_fetch($channel_id,'total_items')); if(! service_class_allows($channel_id,'total_items',$r[0]['total'])) { diff --git a/Zotlabs/Module/Mail.php b/Zotlabs/Module/Mail.php index ca183f644..d38c1d88c 100644 --- a/Zotlabs/Module/Mail.php +++ b/Zotlabs/Module/Mail.php @@ -393,7 +393,7 @@ class Mail extends \Zotlabs\Web\Controller { 'delete' => t('Delete message'), 'dreport' => t('Delivery report'), 'recall' => t('Recall message'), - 'can_recall' => (($channel['channel_hash'] == $message['from_xchan'] && get_account_techlevel() > 0) ? true : false), + 'can_recall' => ($channel['channel_hash'] == $message['from_xchan']), 'is_recalled' => (intval($message['mail_recalled']) ? t('Message has been recalled.') : ''), 'date' => datetime_convert('UTC',date_default_timezone_get(),$message['created'], 'c'), ); diff --git a/Zotlabs/Module/New_channel.php b/Zotlabs/Module/New_channel.php index ebdd6c37f..a9022a03a 100644 --- a/Zotlabs/Module/New_channel.php +++ b/Zotlabs/Module/New_channel.php @@ -171,8 +171,6 @@ class New_channel extends \Zotlabs\Web\Controller { $privacy_role = ((x($_REQUEST,'permissions_role')) ? $_REQUEST['permissions_role'] : "" ); $perm_roles = \Zotlabs\Access\PermissionRoles::roles(); - if((get_account_techlevel() < 4) && $privacy_role !== 'custom') - unset($perm_roles[t('Other')]); $name = array('name', t('Channel name'), ((x($_REQUEST,'name')) ? $_REQUEST['name'] : ''), $name_help, "*"); $nickhub = '@' . \App::get_hostname(); diff --git a/Zotlabs/Module/Register.php b/Zotlabs/Module/Register.php index 3dded19c7..f9d81be0c 100644 --- a/Zotlabs/Module/Register.php +++ b/Zotlabs/Module/Register.php @@ -227,11 +227,6 @@ class Register extends \Zotlabs\Web\Controller { $perm_roles = \Zotlabs\Access\PermissionRoles::roles(); - // A new account will not have a techlevel, but accounts can also be created by the administrator. - - if((get_account_techlevel() < 4) && $privacy_role !== 'custom') - unset($perm_roles[t('Other')]); - // Configurable terms of service link $tosurl = get_config('system','tos_url'); diff --git a/Zotlabs/Module/Settings/Account.php b/Zotlabs/Module/Settings/Account.php index 9643c5958..b40f516ca 100644 --- a/Zotlabs/Module/Settings/Account.php +++ b/Zotlabs/Module/Settings/Account.php @@ -12,7 +12,6 @@ class Account { $errs = array(); $email = ((x($_POST,'email')) ? trim(notags($_POST['email'])) : ''); - $techlevel = ((array_key_exists('techlevel',$_POST)) ? intval($_POST['techlevel']) : 0); $account = \App::get_account(); if($email != $account['account_email']) { @@ -32,13 +31,6 @@ class Account { $errs[] = t('System failure storing new email. Please try again.'); } } - if($techlevel != $account['account_level']) { - $r = q("update account set account_level = %d where account_id = %d", - intval($techlevel), - intval($account['account_id']) - ); - info( t('Technical skill level updated') . EOL); - } if($errs) { foreach($errs as $err) @@ -101,11 +93,6 @@ class Account { $email = \App::$account['account_email']; - $techlevels = \Zotlabs\Lib\Techlevels::levels(); - - $def_techlevel = \App::$account['account_level']; - $techlock = get_config('system','techlevel_lock'); - $tpl = get_markup_template("settings_account.tpl"); $o .= replace_macros($tpl, array( '$form_security_token' => get_form_security_token("settings_account"), @@ -113,8 +100,6 @@ class Account { '$origpass' => array('origpass', t('Current Password'), ' ',''), '$password1'=> array('npassword', t('Enter New Password'), '', ''), '$password2'=> array('confirm', t('Confirm New Password'), '', t('Leave password fields blank unless changing')), - '$techlevel' => [ 'techlevel', t('Your technical skill level'), $def_techlevel, t('Used to provide a member experience and additional features consistent with your comfort level'), $techlevels ], - '$techlock' => $techlock, '$submit' => t('Submit'), '$email' => array('email', t('Email Address:'), $email, ''), '$removeme' => t('Remove Account'), diff --git a/Zotlabs/Module/Settings/Channel.php b/Zotlabs/Module/Settings/Channel.php index 73cb4decb..c473a70a4 100644 --- a/Zotlabs/Module/Settings/Channel.php +++ b/Zotlabs/Module/Settings/Channel.php @@ -432,7 +432,7 @@ class Channel { '$nickname' => (($intl_nickname === $webbie) ? $webbie : $intl_nickname . ' (' . $webbie . ')'), '$subdir' => $subdir, '$davdesc' => t('Your files/photos are accessible via WebDAV at'), - '$davpath' => ((get_account_techlevel() > 3) ? z_root() . '/dav/' . $nickname : ''), + '$davpath' => z_root() . '/dav/' . $nickname, '$basepath' => \App::get_hostname() )); @@ -490,11 +490,6 @@ class Channel { $permissions_set = (($permissions_role != 'custom') ? true : false); $perm_roles = \Zotlabs\Access\PermissionRoles::roles(); - if((get_account_techlevel() < 4) && $permissions_role !== 'custom') - unset($perm_roles[t('Other')]); - - - $vnotify = get_pconfig(local_channel(),'system','vnotify'); $always_show_in_notices = get_pconfig(local_channel(),'system','always_show_in_notices'); -- cgit v1.2.3 From 6eeac03a0e42ae88218b76948aedfa541022718c Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 29 Sep 2018 16:00:34 +0200 Subject: appman: query terms also by uid to prevent double entries --- Zotlabs/Module/Appman.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Appman.php b/Zotlabs/Module/Appman.php index 3ebafafa4..f50dcc2ab 100644 --- a/Zotlabs/Module/Appman.php +++ b/Zotlabs/Module/Appman.php @@ -113,10 +113,12 @@ class Appman extends \Zotlabs\Web\Controller { if($r) { $app = $r[0]; - $term = q("select * from term where otype = %d and oid = %d", + $term = q("select * from term where otype = %d and oid = %d and uid = %d", intval(TERM_OBJ_APP), - intval($r[0]['id']) + intval($r[0]['id']), + intval(local_channel()) ); + if($term) { $app['categories'] = ''; foreach($term as $t) { -- cgit v1.2.3 From 5906d6cce373df81458bf16d461bee9705fed3a6 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 29 Sep 2018 18:00:14 +0200 Subject: improve network search --- Zotlabs/Module/Network.php | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php index e7b150faf..73f09f90b 100644 --- a/Zotlabs/Module/Network.php +++ b/Zotlabs/Module/Network.php @@ -84,18 +84,7 @@ class Network extends \Zotlabs\Web\Controller { $search = (($_GET['search']) ? $_GET['search'] : ''); if($search) { - $_GET['netsearch'] = escape_tags($search); - if(strpos($search,'@') === 0) { - $r = q("select abook_id from abook left join xchan on abook_xchan = xchan_hash where xchan_name = '%s' and abook_channel = %d limit 1", - dbesc(substr($search,1)), - intval(local_channel()) - ); - if($r) { - $_GET['cid'] = $r[0]['abook_id']; - $search = $_GET['search'] = ''; - } - } - elseif(strpos($search,'#') === 0) { + if(strpos($search,'#') === 0) { $hashtags = substr($search,1); $search = $_GET['search'] = ''; } @@ -143,7 +132,7 @@ class Network extends \Zotlabs\Web\Controller { $deftag = ''; - if(x($_GET,'search') || $file || (!$pf && $cid)) + if(x($_GET,'search') || $file || (!$pf && $cid) || $hashtags || $verb || $category) $nouveau = true; if($cid) { @@ -169,9 +158,9 @@ class Network extends \Zotlabs\Web\Controller { if(! $update) { // search terms header - if($search) { + if($search || $hashtags) { $o .= replace_macros(get_markup_template("section_title.tpl"),array( - '$title' => t('Search Results For:') . ' ' . htmlspecialchars($search, ENT_COMPAT,'UTF-8') + '$title' => t('Search Results For:') . ' ' . (($search) ? htmlspecialchars($search, ENT_COMPAT,'UTF-8') : '#' . htmlspecialchars($hashtags, ENT_COMPAT,'UTF-8')) )); } -- cgit v1.2.3 From cc9ca8bbffaceb7273b4999e538a3d211ae3cf09 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 29 Sep 2018 18:38:19 +0200 Subject: do not unset $_GET[search] and adjust activity_order widget --- Zotlabs/Module/Network.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php index 73f09f90b..21507752d 100644 --- a/Zotlabs/Module/Network.php +++ b/Zotlabs/Module/Network.php @@ -86,7 +86,7 @@ class Network extends \Zotlabs\Web\Controller { if($search) { if(strpos($search,'#') === 0) { $hashtags = substr($search,1); - $search = $_GET['search'] = ''; + $search = ''; } } -- cgit v1.2.3 From ff20370d0bd8c08942c062ab105bc839969a3902 Mon Sep 17 00:00:00 2001 From: "M. Dent" Date: Sat, 29 Sep 2018 20:22:27 +0200 Subject: Status editor hook --- Zotlabs/Module/Article_edit.php | 2 +- Zotlabs/Module/Articles.php | 2 +- Zotlabs/Module/Blocks.php | 2 +- Zotlabs/Module/Card_edit.php | 2 +- Zotlabs/Module/Cards.php | 2 +- Zotlabs/Module/Channel.php | 2 +- Zotlabs/Module/Display.php | 2 +- Zotlabs/Module/Editblock.php | 2 +- Zotlabs/Module/Editlayout.php | 2 +- Zotlabs/Module/Editpost.php | 2 +- Zotlabs/Module/Editwebpage.php | 2 +- Zotlabs/Module/Hq.php | 2 +- Zotlabs/Module/Layouts.php | 2 +- Zotlabs/Module/Network.php | 2 +- Zotlabs/Module/Pubstream.php | 2 +- Zotlabs/Module/Rpost.php | 2 +- Zotlabs/Module/Webpages.php | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Article_edit.php b/Zotlabs/Module/Article_edit.php index 89abccc40..d3cce343f 100644 --- a/Zotlabs/Module/Article_edit.php +++ b/Zotlabs/Module/Article_edit.php @@ -122,7 +122,7 @@ class Article_edit extends \Zotlabs\Web\Controller { 'bbcode' => (($mimetype == 'text/bbcode') ? true : false) ); - $editor = status_editor($a, $x); + $editor = status_editor($a, $x, false, 'Article_edit'); $o .= replace_macros(get_markup_template('edpost_head.tpl'), array( '$title' => t('Edit Article'), diff --git a/Zotlabs/Module/Articles.php b/Zotlabs/Module/Articles.php index ad4d67c4e..58c16be45 100644 --- a/Zotlabs/Module/Articles.php +++ b/Zotlabs/Module/Articles.php @@ -132,7 +132,7 @@ class Articles extends Controller { $x['title'] = $_REQUEST['title']; if($_REQUEST['body']) $x['body'] = $_REQUEST['body']; - $editor = status_editor($a,$x); + $editor = status_editor($a,$x,false,'Articles'); } else { diff --git a/Zotlabs/Module/Blocks.php b/Zotlabs/Module/Blocks.php index e6a97794d..fde30a6dd 100644 --- a/Zotlabs/Module/Blocks.php +++ b/Zotlabs/Module/Blocks.php @@ -109,7 +109,7 @@ class Blocks extends \Zotlabs\Web\Controller { if($_REQUEST['pagetitle']) $x['pagetitle'] = $_REQUEST['pagetitle']; - $editor = status_editor($a,$x); + $editor = status_editor($a,$x,false,'Blocks'); $r = q("select iconfig.iid, iconfig.k, iconfig.v, mid, title, body, mimetype, created, edited from iconfig diff --git a/Zotlabs/Module/Card_edit.php b/Zotlabs/Module/Card_edit.php index 694bdc4ea..e01e70fdb 100644 --- a/Zotlabs/Module/Card_edit.php +++ b/Zotlabs/Module/Card_edit.php @@ -122,7 +122,7 @@ class Card_edit extends \Zotlabs\Web\Controller { 'bbcode' => (($mimetype == 'text/bbcode') ? true : false) ); - $editor = status_editor($a, $x); + $editor = status_editor($a, $x, false, 'Card_edit'); $o .= replace_macros(get_markup_template('edpost_head.tpl'), array( '$title' => t('Edit Card'), diff --git a/Zotlabs/Module/Cards.php b/Zotlabs/Module/Cards.php index 3656860a5..b66de158b 100644 --- a/Zotlabs/Module/Cards.php +++ b/Zotlabs/Module/Cards.php @@ -133,7 +133,7 @@ class Cards extends Controller { if($_REQUEST['body']) $x['body'] = $_REQUEST['body']; - $editor = status_editor($a, $x); + $editor = status_editor($a, $x, false, 'Cards'); } else { $editor = ''; diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php index 74fdc1cb4..8b2e35709 100644 --- a/Zotlabs/Module/Channel.php +++ b/Zotlabs/Module/Channel.php @@ -168,7 +168,7 @@ class Channel extends Controller { 'reset' => t('Reset form') ); - $o .= status_editor($a,$x); + $o .= status_editor($a,$x,false,'Channel'); } } diff --git a/Zotlabs/Module/Display.php b/Zotlabs/Module/Display.php index 1d21b64ac..8b46ebb79 100644 --- a/Zotlabs/Module/Display.php +++ b/Zotlabs/Module/Display.php @@ -81,7 +81,7 @@ class Display extends \Zotlabs\Web\Controller { ); $o = '
'; - $o .= status_editor($a,$x); + $o .= status_editor($a,$x,false,'Display'); $o .= '
'; } diff --git a/Zotlabs/Module/Editblock.php b/Zotlabs/Module/Editblock.php index 563ad9ca2..c031f32a1 100644 --- a/Zotlabs/Module/Editblock.php +++ b/Zotlabs/Module/Editblock.php @@ -132,7 +132,7 @@ class Editblock extends \Zotlabs\Web\Controller { 'bbcode' => (($mimetype == 'text/bbcode') ? true : false) ); - $editor = status_editor($a, $x); + $editor = status_editor($a, $x, false, 'Editblock'); $o .= replace_macros(get_markup_template('edpost_head.tpl'), array( '$title' => t('Edit Block'), diff --git a/Zotlabs/Module/Editlayout.php b/Zotlabs/Module/Editlayout.php index 67e0bcd32..50096f1a1 100644 --- a/Zotlabs/Module/Editlayout.php +++ b/Zotlabs/Module/Editlayout.php @@ -131,7 +131,7 @@ class Editlayout extends \Zotlabs\Web\Controller { 'profile_uid' => intval($owner), ); - $editor = status_editor($a, $x); + $editor = status_editor($a, $x, false, 'Editlayout'); $o .= replace_macros(get_markup_template('edpost_head.tpl'), array( '$title' => t('Edit Layout'), diff --git a/Zotlabs/Module/Editpost.php b/Zotlabs/Module/Editpost.php index 45d8e7644..1c9068e07 100644 --- a/Zotlabs/Module/Editpost.php +++ b/Zotlabs/Module/Editpost.php @@ -102,7 +102,7 @@ class Editpost extends \Zotlabs\Web\Controller { 'bbcode' => true ); - $editor = status_editor($a, $x); + $editor = status_editor($a, $x, false, 'Editpost'); $o .= replace_macros(get_markup_template('edpost_head.tpl'), array( '$title' => t('Edit post'), diff --git a/Zotlabs/Module/Editwebpage.php b/Zotlabs/Module/Editwebpage.php index b67421cd5..785eeb4ec 100644 --- a/Zotlabs/Module/Editwebpage.php +++ b/Zotlabs/Module/Editwebpage.php @@ -160,7 +160,7 @@ class Editwebpage extends \Zotlabs\Web\Controller { 'bbcode' => (($mimetype == 'text/bbcode') ? true : false) ); - $editor = status_editor($a, $x); + $editor = status_editor($a, $x, false, 'Editwebpage'); $o .= replace_macros(get_markup_template('edpost_head.tpl'), array( '$title' => t('Edit Webpage'), diff --git a/Zotlabs/Module/Hq.php b/Zotlabs/Module/Hq.php index fee4246c0..3535ac71a 100644 --- a/Zotlabs/Module/Hq.php +++ b/Zotlabs/Module/Hq.php @@ -138,7 +138,7 @@ class Hq extends \Zotlabs\Web\Controller { [ '$no_messages' => (($target_item) ? false : true), '$no_messages_label' => [ t('Welcome to Hubzilla!'), t('You have got no unseen posts...') ], - '$editor' => status_editor($a,$x) + '$editor' => status_editor($a,$x,false,'Hq') ] ); diff --git a/Zotlabs/Module/Layouts.php b/Zotlabs/Module/Layouts.php index 19efb37fd..25e27d226 100644 --- a/Zotlabs/Module/Layouts.php +++ b/Zotlabs/Module/Layouts.php @@ -141,7 +141,7 @@ class Layouts extends \Zotlabs\Web\Controller { if($_REQUEST['pagetitle']) $x['pagetitle'] = $_REQUEST['pagetitle']; - $editor = status_editor($a,$x); + $editor = status_editor($a,$x,false,'Layouts'); $r = q("select iconfig.iid, iconfig.v, mid, title, body, mimetype, created, edited, item_type from iconfig left join item on iconfig.iid = item.id diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php index 21507752d..919996943 100644 --- a/Zotlabs/Module/Network.php +++ b/Zotlabs/Module/Network.php @@ -196,7 +196,7 @@ class Network extends \Zotlabs\Web\Controller { $x['pretext'] = $deftag; - $status_editor = status_editor($a,$x); + $status_editor = status_editor($a,$x,false,'Network'); $o .= $status_editor; $static = channel_manual_conv_update(local_channel()); diff --git a/Zotlabs/Module/Pubstream.php b/Zotlabs/Module/Pubstream.php index 7b80a3978..19cb72b5b 100644 --- a/Zotlabs/Module/Pubstream.php +++ b/Zotlabs/Module/Pubstream.php @@ -81,7 +81,7 @@ class Pubstream extends \Zotlabs\Web\Controller { ); $o = '
'; - $o .= status_editor($a,$x); + $o .= status_editor($a,$x,false,'Pubstream'); $o .= '
'; } diff --git a/Zotlabs/Module/Rpost.php b/Zotlabs/Module/Rpost.php index 86ee296ec..f03dae2bf 100644 --- a/Zotlabs/Module/Rpost.php +++ b/Zotlabs/Module/Rpost.php @@ -138,7 +138,7 @@ class Rpost extends \Zotlabs\Web\Controller { 'jotnets' => true ); - $editor = status_editor($a,$x); + $editor = status_editor($a,$x,false,'Rpost'); $o .= replace_macros(get_markup_template('edpost_head.tpl'), array( '$title' => t('Edit post'), diff --git a/Zotlabs/Module/Webpages.php b/Zotlabs/Module/Webpages.php index c9b2264bf..787ed5850 100644 --- a/Zotlabs/Module/Webpages.php +++ b/Zotlabs/Module/Webpages.php @@ -208,7 +208,7 @@ class Webpages extends Controller { if(! $r) $x['pagetitle'] = 'home'; - $editor = status_editor($a,$x); + $editor = status_editor($a,$x,false,'Webpages'); $pages = null; -- cgit v1.2.3 From 7dadf387e58ade457698dc2ffc58bbda7be46652 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Mon, 1 Oct 2018 11:01:56 +0200 Subject: indicate locked features --- Zotlabs/Module/Settings/Directory.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Directory.php b/Zotlabs/Module/Settings/Directory.php index 2682bcafc..6e24a2cfa 100644 --- a/Zotlabs/Module/Settings/Directory.php +++ b/Zotlabs/Module/Settings/Directory.php @@ -6,7 +6,7 @@ namespace Zotlabs\Module\Settings; class Directory { function post() { - + $module = substr(strrchr(strtolower(static::class), '\\'), 1); check_form_security_token_redirectOnErr('/settings/' . $module, 'settings_' . $module); -- cgit v1.2.3 From 08a287dea10321a60473c8fd684a320ef94bdd37 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Mon, 1 Oct 2018 12:38:04 +0200 Subject: do not default to channel_startpage if startpage app is not installed --- Zotlabs/Module/Home.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Home.php b/Zotlabs/Module/Home.php index 647a6412a..7f2d6424d 100644 --- a/Zotlabs/Module/Home.php +++ b/Zotlabs/Module/Home.php @@ -13,14 +13,12 @@ class Home extends \Zotlabs\Web\Controller { $ret = array(); call_hooks('home_init',$ret); - + $splash = ((argc() > 1 && argv(1) === 'splash') ? true : false); $channel = \App::get_channel(); if(local_channel() && $channel && $channel['xchan_url'] && ! $splash) { - $dest = $channel['channel_startpage']; - if(! $dest) - $dest = get_pconfig(local_channel(),'system','startpage'); + $dest = (($ret['startpage']) ? $ret['startpage'] : ''); if(! $dest) $dest = get_config('system','startpage'); if(! $dest) -- cgit v1.2.3 From d0605e8d5f7c666fffc01352de4d9ed4738f41ab Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Thu, 4 Oct 2018 11:50:38 +0200 Subject: uexport app --- Zotlabs/Module/Uexport.php | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Uexport.php b/Zotlabs/Module/Uexport.php index 9af1887dc..3d1587b87 100644 --- a/Zotlabs/Module/Uexport.php +++ b/Zotlabs/Module/Uexport.php @@ -1,18 +1,24 @@ 1) { $sections = (($_REQUEST['sections']) ? explode(',',$_REQUEST['sections']) : ''); - $channel = \App::get_channel(); + $channel = App::get_channel(); if(argc() > 1 && intval(argv(1)) > 1900) { $year = intval(argv(1)); @@ -47,6 +53,15 @@ class Uexport extends \Zotlabs\Web\Controller { } function get() { + + if(! Apps::system_app_installed(local_channel(), 'Channel Export')) { + //Do not display any associated widgets at this point + App::$pdl = ''; + + $o = '' . t('Channel Export App') . ' (' . t('Not Installed') . '):
'; + $o .= t('Export your channel'); + return $o; + } $y = datetime_convert('UTC',date_default_timezone_get(),'now','Y'); -- cgit v1.2.3 From c00dc6120d5a458a2386ab4e561437d9f8c62b3c Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Thu, 4 Oct 2018 13:26:45 +0200 Subject: defperm app --- Zotlabs/Module/Defperms.php | 46 ++++++++++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 15 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Defperms.php b/Zotlabs/Module/Defperms.php index 2e886aa64..463ecb57a 100644 --- a/Zotlabs/Module/Defperms.php +++ b/Zotlabs/Module/Defperms.php @@ -1,15 +1,16 @@ ' . t('Default Permissions App') . ' (' . t('Not Installed') . '):
'; + $o .= t('Set custom default permissions for new connections'); + return $o; + } $section = ((array_key_exists('section',$_REQUEST)) ? $_REQUEST['section'] : ''); - $channel = \App::get_channel(); + $channel = App::get_channel(); $yes_no = array(t('No'),t('Yes')); @@ -194,7 +210,7 @@ class Defperms extends \Zotlabs\Web\Controller { } $o .= " }\n\n"; - if(\App::$poi) { + if(App::$poi) { $sections = []; @@ -204,9 +220,9 @@ class Defperms extends \Zotlabs\Web\Controller { $perms = array(); - $channel = \App::get_channel(); + $channel = App::get_channel(); - $contact = \App::$poi; + $contact = App::$poi; $global_perms = \Zotlabs\Access\Permissions::Perms(); -- cgit v1.2.3 From 6e03104e3ee785954b4f755240d1595f702522b2 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Thu, 4 Oct 2018 20:48:22 +0200 Subject: move *_list_mode to features --- Zotlabs/Module/Channel.php | 2 +- Zotlabs/Module/Network.php | 2 +- Zotlabs/Module/Settings/Display.php | 6 ------ 3 files changed, 2 insertions(+), 8 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php index 8b2e35709..f1537ed15 100644 --- a/Zotlabs/Module/Channel.php +++ b/Zotlabs/Module/Channel.php @@ -182,7 +182,7 @@ class Channel extends Controller { $item_normal_update = item_normal_update(); $sql_extra = item_permissions_sql(App::$profile['profile_uid']); - if(get_pconfig(App::$profile['profile_uid'],'system','channel_list_mode') && (! $mid)) + if(feature_enabled(App::$profile['profile_uid'], 'channel_list_mode') && (! $mid)) $page_mode = 'list'; else $page_mode = 'client'; diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php index 919996943..015351cbf 100644 --- a/Zotlabs/Module/Network.php +++ b/Zotlabs/Module/Network.php @@ -437,7 +437,7 @@ class Network extends \Zotlabs\Web\Controller { $abook_uids = " and abook.abook_channel = " . local_channel() . " "; $uids = " and item.uid = " . local_channel() . " "; - if(get_pconfig(local_channel(),'system','network_list_mode')) + if(feature_enabled(local_channel(), 'network_list_mode')) $page_mode = 'list'; else $page_mode = 'client'; diff --git a/Zotlabs/Module/Settings/Display.php b/Zotlabs/Module/Settings/Display.php index 0c63a3056..b4f8928e0 100644 --- a/Zotlabs/Module/Settings/Display.php +++ b/Zotlabs/Module/Settings/Display.php @@ -27,8 +27,6 @@ class Display { $user_scalable = ((x($_POST,'user_scalable')) ? intval($_POST['user_scalable']) : 0); $nosmile = ((x($_POST,'nosmile')) ? intval($_POST['nosmile']) : 0); $title_tosource = ((x($_POST,'title_tosource')) ? intval($_POST['title_tosource']) : 0); - $channel_list_mode = ((x($_POST,'channel_list_mode')) ? intval($_POST['channel_list_mode']) : 0); - $network_list_mode = ((x($_POST,'network_list_mode')) ? intval($_POST['network_list_mode']) : 0); $manual_update = ((array_key_exists('manual_update',$_POST)) ? intval($_POST['manual_update']) : 0); $start_menu = ((x($_POST,'start_menu')) ? intval($_POST['start_menu']) : 0); @@ -55,8 +53,6 @@ class Display { set_pconfig(local_channel(),'system','itemspage', $itemspage); set_pconfig(local_channel(),'system','no_smilies',1-intval($nosmile)); set_pconfig(local_channel(),'system','title_tosource',$title_tosource); - set_pconfig(local_channel(),'system','channel_list_mode', $channel_list_mode); - set_pconfig(local_channel(),'system','network_list_mode', $network_list_mode); set_pconfig(local_channel(),'system','channel_divmore_height', $channel_divmore_height); set_pconfig(local_channel(),'system','network_divmore_height', $network_divmore_height); set_pconfig(local_channel(),'system','manual_conversation_update', $manual_update); @@ -215,8 +211,6 @@ class Display { '$manual_update' => array('manual_update', t('Manual conversation updates'), channel_manual_conv_update(local_channel()), t('Default is on, turning this off may increase screen jumping'), $yes_no), '$title_tosource' => array('title_tosource', t("Link post titles to source"), $title_tosource, '', $yes_no), '$theme_config' => $theme_config, - '$channel_list_mode' => array('channel_list_mode', t('Use blog/list mode on channel page'), get_pconfig(local_channel(),'system','channel_list_mode'), t('(comments displayed separately)'), $yes_no), - '$network_list_mode' => array('network_list_mode', t('Use blog/list mode on grid page'), get_pconfig(local_channel(),'system','network_list_mode'), t('(comments displayed separately)'), $yes_no), '$channel_divmore_height' => array('channel_divmore_height', t('Channel page max height of content (in pixels)'), ((get_pconfig(local_channel(),'system','channel_divmore_height')) ? get_pconfig(local_channel(),'system','channel_divmore_height') : 400), t('click to expand content exceeding this height')), '$network_divmore_height' => array('network_divmore_height', t('Grid page max height of content (in pixels)'), ((get_pconfig(local_channel(),'system','network_divmore_height')) ? get_pconfig(local_channel(),'system','network_divmore_height') : 400) , t('click to expand content exceeding this height')), '$start_menu' => ['start_menu', t('New Member Links'), $start_menu, t('Display new member quick links menu'), $yes_no] -- cgit v1.2.3 From d4af745fc8000be9fcc198d3d0205a6b134e374c Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Thu, 4 Oct 2018 21:38:39 +0200 Subject: move *_divmore_height setting to the module extra_settings, and fix issue where feature settings were not synced if rpath was provided --- Zotlabs/Module/Settings/Calendar.php | 4 ++++ Zotlabs/Module/Settings/Channel_home.php | 25 +++++++++++++++++++++++++ Zotlabs/Module/Settings/Connections.php | 4 ++++ Zotlabs/Module/Settings/Directory.php | 4 ++++ Zotlabs/Module/Settings/Display.php | 11 ----------- Zotlabs/Module/Settings/Editor.php | 4 ++++ Zotlabs/Module/Settings/Events.php | 4 ++++ Zotlabs/Module/Settings/Manage.php | 4 ++++ Zotlabs/Module/Settings/Network.php | 28 ++++++++++++++++++++++++++-- Zotlabs/Module/Settings/Photos.php | 4 ++++ Zotlabs/Module/Settings/Profiles.php | 4 ++++ 11 files changed, 83 insertions(+), 13 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Calendar.php b/Zotlabs/Module/Settings/Calendar.php index b3a611cdf..a27bf0fa5 100644 --- a/Zotlabs/Module/Settings/Calendar.php +++ b/Zotlabs/Module/Settings/Calendar.php @@ -16,6 +16,10 @@ class Calendar { process_module_features_post(local_channel(), $features, $_POST); build_sync_packet(); + + if($_POST['rpath']) + goaway($_POST['rpath']); + return; } diff --git a/Zotlabs/Module/Settings/Channel_home.php b/Zotlabs/Module/Settings/Channel_home.php index 1d1cc370b..23c7ee1ab 100644 --- a/Zotlabs/Module/Settings/Channel_home.php +++ b/Zotlabs/Module/Settings/Channel_home.php @@ -14,8 +14,18 @@ class Channel_home { $features = get_module_features($module); process_module_features_post(local_channel(), $features, $_POST); + + $channel_divmore_height = ((x($_POST,'channel_divmore_height')) ? intval($_POST['channel_divmore_height']) : 400); + if($channel_divmore_height < 50) + $channel_divmore_height = 50; + + set_pconfig(local_channel(),'system','channel_divmore_height', $channel_divmore_height); build_sync_packet(); + + if($_POST['rpath']) + goaway($_POST['rpath']); + return; } @@ -26,6 +36,20 @@ class Channel_home { $features = get_module_features($module); $rpath = (($_GET['rpath']) ? $_GET['rpath'] : ''); + $channel_divmore_height = [ + 'channel_divmore_height', + t('Max height of content (in pixels)'), + ((get_pconfig(local_channel(),'system','channel_divmore_height')) ? get_pconfig(local_channel(),'system','channel_divmore_height') : 400), + t('Click to expand content exceeding this height') + ]; + + $extra_settings_html = replace_macros(get_markup_template('field_input.tpl'), + [ + '$field' => $channel_divmore_height + ] + ); + + $tpl = get_markup_template("settings_module.tpl"); $o .= replace_macros($tpl, array( @@ -34,6 +58,7 @@ class Channel_home { '$form_security_token' => get_form_security_token('settings_' . $module), '$title' => t('Channel Home Settings'), '$features' => process_module_features_get(local_channel(), $features), + '$extra_settings_html' => $extra_settings_html, '$submit' => t('Submit') )); diff --git a/Zotlabs/Module/Settings/Connections.php b/Zotlabs/Module/Settings/Connections.php index 70b4daa42..cac357791 100644 --- a/Zotlabs/Module/Settings/Connections.php +++ b/Zotlabs/Module/Settings/Connections.php @@ -16,6 +16,10 @@ class Connections { process_module_features_post(local_channel(), $features, $_POST); build_sync_packet(); + + if($_POST['rpath']) + goaway($_POST['rpath']); + return; } diff --git a/Zotlabs/Module/Settings/Directory.php b/Zotlabs/Module/Settings/Directory.php index 6e24a2cfa..13fe6eb79 100644 --- a/Zotlabs/Module/Settings/Directory.php +++ b/Zotlabs/Module/Settings/Directory.php @@ -16,6 +16,10 @@ class Directory { process_module_features_post(local_channel(), $features, $_POST); build_sync_packet(); + + if($_POST['rpath']) + goaway($_POST['rpath']); + return; } diff --git a/Zotlabs/Module/Settings/Display.php b/Zotlabs/Module/Settings/Display.php index b4f8928e0..45d80e011 100644 --- a/Zotlabs/Module/Settings/Display.php +++ b/Zotlabs/Module/Settings/Display.php @@ -30,13 +30,6 @@ class Display { $manual_update = ((array_key_exists('manual_update',$_POST)) ? intval($_POST['manual_update']) : 0); $start_menu = ((x($_POST,'start_menu')) ? intval($_POST['start_menu']) : 0); - $channel_divmore_height = ((x($_POST,'channel_divmore_height')) ? intval($_POST['channel_divmore_height']) : 400); - if($channel_divmore_height < 50) - $channel_divmore_height = 50; - $network_divmore_height = ((x($_POST,'network_divmore_height')) ? intval($_POST['network_divmore_height']) : 400); - if($network_divmore_height < 50) - $network_divmore_height = 50; - $browser_update = ((x($_POST,'browser_update')) ? intval($_POST['browser_update']) : 0); $browser_update = $browser_update * 1000; if($browser_update < 10000) @@ -53,8 +46,6 @@ class Display { set_pconfig(local_channel(),'system','itemspage', $itemspage); set_pconfig(local_channel(),'system','no_smilies',1-intval($nosmile)); set_pconfig(local_channel(),'system','title_tosource',$title_tosource); - set_pconfig(local_channel(),'system','channel_divmore_height', $channel_divmore_height); - set_pconfig(local_channel(),'system','network_divmore_height', $network_divmore_height); set_pconfig(local_channel(),'system','manual_conversation_update', $manual_update); set_pconfig(local_channel(),'system','channel_menu', $channel_menu); set_pconfig(local_channel(),'system','start_menu', $start_menu); @@ -211,8 +202,6 @@ class Display { '$manual_update' => array('manual_update', t('Manual conversation updates'), channel_manual_conv_update(local_channel()), t('Default is on, turning this off may increase screen jumping'), $yes_no), '$title_tosource' => array('title_tosource', t("Link post titles to source"), $title_tosource, '', $yes_no), '$theme_config' => $theme_config, - '$channel_divmore_height' => array('channel_divmore_height', t('Channel page max height of content (in pixels)'), ((get_pconfig(local_channel(),'system','channel_divmore_height')) ? get_pconfig(local_channel(),'system','channel_divmore_height') : 400), t('click to expand content exceeding this height')), - '$network_divmore_height' => array('network_divmore_height', t('Grid page max height of content (in pixels)'), ((get_pconfig(local_channel(),'system','network_divmore_height')) ? get_pconfig(local_channel(),'system','network_divmore_height') : 400) , t('click to expand content exceeding this height')), '$start_menu' => ['start_menu', t('New Member Links'), $start_menu, t('Display new member quick links menu'), $yes_no] )); diff --git a/Zotlabs/Module/Settings/Editor.php b/Zotlabs/Module/Settings/Editor.php index 93e3ce602..5e7a9473a 100644 --- a/Zotlabs/Module/Settings/Editor.php +++ b/Zotlabs/Module/Settings/Editor.php @@ -16,6 +16,10 @@ class Editor { process_module_features_post(local_channel(), $features, $_POST); build_sync_packet(); + + if($_POST['rpath']) + goaway($_POST['rpath']); + return; } diff --git a/Zotlabs/Module/Settings/Events.php b/Zotlabs/Module/Settings/Events.php index fcb4441e1..eb6dda99b 100644 --- a/Zotlabs/Module/Settings/Events.php +++ b/Zotlabs/Module/Settings/Events.php @@ -16,6 +16,10 @@ class Events { process_module_features_post(local_channel(), $features, $_POST); build_sync_packet(); + + if($_POST['rpath']) + goaway($_POST['rpath']); + return; } diff --git a/Zotlabs/Module/Settings/Manage.php b/Zotlabs/Module/Settings/Manage.php index 15d3216e9..9bae12022 100644 --- a/Zotlabs/Module/Settings/Manage.php +++ b/Zotlabs/Module/Settings/Manage.php @@ -16,6 +16,10 @@ class Manage { process_module_features_post(local_channel(), $features, $_POST); build_sync_packet(); + + if($_POST['rpath']) + goaway($_POST['rpath']); + return; } diff --git a/Zotlabs/Module/Settings/Network.php b/Zotlabs/Module/Settings/Network.php index c51b780f1..aaafe9255 100644 --- a/Zotlabs/Module/Settings/Network.php +++ b/Zotlabs/Module/Settings/Network.php @@ -14,8 +14,18 @@ class Network { $features = get_module_features($module); process_module_features_post(local_channel(), $features, $_POST); + + $network_divmore_height = ((x($_POST,'network_divmore_height')) ? intval($_POST['network_divmore_height']) : 400); + if($network_divmore_height < 50) + $network_divmore_height = 50; + + set_pconfig(local_channel(),'system','network_divmore_height', $network_divmore_height); build_sync_packet(); + + if($_POST['rpath']) + goaway($_POST['rpath']); + return; } @@ -26,6 +36,19 @@ class Network { $features = get_module_features($module); $rpath = (($_GET['rpath']) ? $_GET['rpath'] : ''); + $network_divmore_height = [ + 'network_divmore_height', + t('Max height of content (in pixels)'), + ((get_pconfig(local_channel(),'system','network_divmore_height')) ? get_pconfig(local_channel(),'system','network_divmore_height') : 400), + t('Click to expand content exceeding this height') + ]; + + $extra_settings_html = replace_macros(get_markup_template('field_input.tpl'), + [ + '$field' => $network_divmore_height + ] + ); + $tpl = get_markup_template("settings_module.tpl"); $o .= replace_macros($tpl, array( @@ -33,8 +56,9 @@ class Network { '$action_url' => 'settings/' . $module, '$form_security_token' => get_form_security_token('settings_' . $module), '$title' => t('Activity Settings'), - '$features' => process_module_features_get(local_channel(), $features), - '$submit' => t('Submit') + '$features' => process_module_features_get(local_channel(), $features), + '$extra_settings_html' => $extra_settings_html, + '$submit' => t('Submit') )); return $o; diff --git a/Zotlabs/Module/Settings/Photos.php b/Zotlabs/Module/Settings/Photos.php index f403b4d38..9edbaa929 100644 --- a/Zotlabs/Module/Settings/Photos.php +++ b/Zotlabs/Module/Settings/Photos.php @@ -16,6 +16,10 @@ class Photos { process_module_features_post(local_channel(), $features, $_POST); build_sync_packet(); + + if($_POST['rpath']) + goaway($_POST['rpath']); + return; } diff --git a/Zotlabs/Module/Settings/Profiles.php b/Zotlabs/Module/Settings/Profiles.php index 78dc0160e..2dc037317 100644 --- a/Zotlabs/Module/Settings/Profiles.php +++ b/Zotlabs/Module/Settings/Profiles.php @@ -16,6 +16,10 @@ class Profiles { process_module_features_post(local_channel(), $features, $_POST); build_sync_packet(); + + if($_POST['rpath']) + goaway($_POST['rpath']); + return; } -- cgit v1.2.3 From 363fc5c72b9e9564196375137b89e3270774f471 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Thu, 4 Oct 2018 21:49:00 +0200 Subject: whitespace --- Zotlabs/Module/Settings/Channel_home.php | 1 - 1 file changed, 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Channel_home.php b/Zotlabs/Module/Settings/Channel_home.php index 23c7ee1ab..0e916d530 100644 --- a/Zotlabs/Module/Settings/Channel_home.php +++ b/Zotlabs/Module/Settings/Channel_home.php @@ -49,7 +49,6 @@ class Channel_home { ] ); - $tpl = get_markup_template("settings_module.tpl"); $o .= replace_macros($tpl, array( -- cgit v1.2.3 From 9fe9137c9689347e2be1d6bf6633956e147e368c Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Thu, 4 Oct 2018 22:01:34 +0200 Subject: fix displaying of perm cats selector --- Zotlabs/Module/Settings/Channel.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Channel.php b/Zotlabs/Module/Settings/Channel.php index c473a70a4..6b49f165d 100644 --- a/Zotlabs/Module/Settings/Channel.php +++ b/Zotlabs/Module/Settings/Channel.php @@ -2,6 +2,8 @@ namespace Zotlabs\Module\Settings; +use Zotlabs\Lib\Apps; + require_once('include/selectors.php'); @@ -551,8 +553,8 @@ class Channel { '$suggestme' => $suggestme, '$group_select' => $group_select, '$role' => array('permissions_role' , t('Channel role and privacy'), $permissions_role, '', $perm_roles), - '$defpermcat' => [ 'defpermcat', t('Default Permissions Group'), $default_permcat, '', $permcats ], - '$permcat_enable' => feature_enabled(local_channel(),'permcats'), + '$defpermcat' => [ 'defpermcat', t('Default permissions category'), $default_permcat, '', $permcats ], + '$permcat_enable' => Apps::system_app_installed(local_channel(), 'Permission Categories'), '$profile_in_dir' => $profile_in_dir, '$hide_friends' => $hide_friends, '$hide_wall' => $hide_wall, -- cgit v1.2.3 From 1eaf6df842184743ee20ec69931be1ff7136f34e Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Thu, 4 Oct 2018 22:21:20 +0200 Subject: fix issues with bs accordions --- Zotlabs/Module/Permcats.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Permcats.php b/Zotlabs/Module/Permcats.php index 262a14fe4..75ac2ac87 100644 --- a/Zotlabs/Module/Permcats.php +++ b/Zotlabs/Module/Permcats.php @@ -25,7 +25,7 @@ class Permcats extends Controller { $name = escape_tags(trim($_POST['name'])); if(! $name) { - notice( t('Permission Name is required.') . EOL); + notice( t('Permission category name is required.') . EOL); return; } @@ -117,7 +117,7 @@ class Permcats extends Controller { '$atoken' => $atoken, '$url1' => z_root() . '/channel/' . $channel['channel_address'], '$url2' => z_root() . '/photos/' . $channel['channel_address'], - '$name' => array('name', t('Permission Name') . ' *', (($name) ? $name : ''), ''), + '$name' => array('name', t('Permission category name') . ' *', (($name) ? $name : ''), ''), '$me' => t('My Settings'), '$perms' => $perms, '$inherited' => t('inherited'), -- cgit v1.2.3 From 2acfa7e5255e4a107c0f1c91170e4c24e3fea5bc Mon Sep 17 00:00:00 2001 From: zotlabs Date: Thu, 4 Oct 2018 04:18:23 +0000 Subject: regression: double linebreaks in viewsrc output (cherry picked from commit d33c331abd3ae500fc7cdac206ea647c4c71905e) --- Zotlabs/Module/Viewsrc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Viewsrc.php b/Zotlabs/Module/Viewsrc.php index 5900e385a..119990b57 100644 --- a/Zotlabs/Module/Viewsrc.php +++ b/Zotlabs/Module/Viewsrc.php @@ -47,7 +47,7 @@ class Viewsrc extends \Zotlabs\Web\Controller { $content = escape_tags($r[0]['body']); - $o = (($json) ? json_encode($content) : str_replace("\n",'
',$content)); + $o = (($json) ? json_encode($content) : $content); } } -- cgit v1.2.3 From 63ba72331f26a86621bdc61e7864e928e4af4673 Mon Sep 17 00:00:00 2001 From: Mario Date: Sat, 6 Oct 2018 12:53:18 +0000 Subject: Merge branch 'patch-5' into 'dev' Respect new table names on import See merge request hubzilla/core!1314 (cherry picked from commit 3e231e7c13744ec4d2803941395fb00d8aa2d67f) ebb4811a Respect new table names on import --- Zotlabs/Module/Import.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Import.php b/Zotlabs/Module/Import.php index c5c52674a..6016328a5 100644 --- a/Zotlabs/Module/Import.php +++ b/Zotlabs/Module/Import.php @@ -426,7 +426,7 @@ class Import extends \Zotlabs\Web\Controller { unset($group['id']); $group['uid'] = $channel['channel_id']; - create_table_from_array('groups', $group); + create_table_from_array('pgrp', $group); } $r = q("select * from pgrp where uid = %d", intval($channel['channel_id']) @@ -448,7 +448,7 @@ class Import extends \Zotlabs\Web\Controller { if($x['old'] == $group_member['gid']) $group_member['gid'] = $x['new']; } - create_table_from_array('group_member', $group_member); + create_table_from_array('pgrp_member', $group_member); } } -- cgit v1.2.3 From 0558a25141ab5cbd8a7a60cf63c7b3d79f63b6d1 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 6 Oct 2018 12:48:12 +0000 Subject: bookmark app (cherry picked from commit c2c891723fc0e56f0c373ca1043cdb548f2ed8ab) --- Zotlabs/Module/Bookmarks.php | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Bookmarks.php b/Zotlabs/Module/Bookmarks.php index cee86a47d..1c4c6a513 100644 --- a/Zotlabs/Module/Bookmarks.php +++ b/Zotlabs/Module/Bookmarks.php @@ -1,6 +1,9 @@ ' . t('Bookmarks App') . ' (' . t('Not Installed') . '):
'; + $o .= t('Bookmark links from the item dropdown and manage them'); + return $o; + } require_once('include/menu.php'); require_once('include/conversation.php'); -- cgit v1.2.3 From 62730366ee249a47641039f1963d8fb1ea337e75 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 6 Oct 2018 12:50:17 +0000 Subject: bookmarks: change wording (cherry picked from commit a522a667157c778fca74ccd3391f1f9fdc84c3cc) --- Zotlabs/Module/Bookmarks.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Bookmarks.php b/Zotlabs/Module/Bookmarks.php index 1c4c6a513..4b4929c65 100644 --- a/Zotlabs/Module/Bookmarks.php +++ b/Zotlabs/Module/Bookmarks.php @@ -76,7 +76,7 @@ class Bookmarks extends \Zotlabs\Web\Controller { App::$pdl = ''; $o = '' . t('Bookmarks App') . ' (' . t('Not Installed') . '):
'; - $o .= t('Bookmark links from the item dropdown and manage them'); + $o .= t('Bookmark links from posts and manage them'); return $o; } -- cgit v1.2.3 From af05fa3e851b476d96207cb8162dbee1bc1085b5 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 6 Oct 2018 13:21:22 +0000 Subject: remote diagnostics app (cherry picked from commit 6a297a8f3d5eb4c403a14799e83de22d0637b46d) --- Zotlabs/Module/Probe.php | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Probe.php b/Zotlabs/Module/Probe.php index 2c67c6aae..d338b08ea 100644 --- a/Zotlabs/Module/Probe.php +++ b/Zotlabs/Module/Probe.php @@ -1,16 +1,29 @@ ' . t('Remote Diagnostics App') . ' (' . t('Not Installed') . '):
'; + $o .= t('Perform diagnostics on remote channels'); + return $o; + } + } + nav_set_selected('Remote Diagnostics'); - $o .= '

Probe Diagnostic

'; + $o .= '

Remote Diagnostics

'; $o .= '
'; $o .= 'Lookup address: '; @@ -19,7 +32,7 @@ class Probe extends \Zotlabs\Web\Controller { $o .= '

'; if(x($_GET,'addr')) { - $channel = \App::get_channel(); + $channel = App::get_channel(); $addr = trim($_GET['addr']); $do_import = ((intval($_GET['import']) && is_site_admin()) ? true : false); -- cgit v1.2.3 From 97acfd23fb3cfaba4ce388a5b21b98d136282ba6 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 6 Oct 2018 13:27:46 +0000 Subject: randprof app (cherry picked from commit 18726737d0116f13ec83cb2c1094a36d08980b7d) --- Zotlabs/Module/Randprof.php | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Randprof.php b/Zotlabs/Module/Randprof.php index 94ec095cb..c38b07ead 100644 --- a/Zotlabs/Module/Randprof.php +++ b/Zotlabs/Module/Randprof.php @@ -1,11 +1,17 @@ ' . t('Random Channel App') . ' (' . t('Not Installed') . '):
'; + $o .= t('Visit a random channel in the $Projectname network'); + return $o; + } + } + + } } -- cgit v1.2.3 From 98ee99071cf5556a323ae7f7bffd341fc03f7a6d Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 6 Oct 2018 14:08:15 +0000 Subject: pubstream app (cherry picked from commit b8991750c5d36714100d20595da6a33149bd7d5d) --- Zotlabs/Module/Ping.php | 11 ++++++++--- Zotlabs/Module/Pubstream.php | 14 ++++++++++++++ Zotlabs/Module/Settings/Channel.php | 2 +- Zotlabs/Module/Suggest.php | 21 ++++++++++++++++++--- 4 files changed, 41 insertions(+), 7 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Ping.php b/Zotlabs/Module/Ping.php index baefe62ec..14627f56e 100644 --- a/Zotlabs/Module/Ping.php +++ b/Zotlabs/Module/Ping.php @@ -2,6 +2,8 @@ namespace Zotlabs\Module; +use Zotlabs\Lib\Apps; + require_once('include/bbcode.php'); /** @@ -147,9 +149,12 @@ class Ping extends \Zotlabs\Web\Controller { if(! ($vnotify & VNOTIFY_LIKE)) $sql_extra = " AND verb NOT IN ('" . dbesc(ACTIVITY_LIKE) . "', '" . dbesc(ACTIVITY_DISLIKE) . "') "; - $discover_tab_on = can_view_public_stream(); - - $notify_pubs = ((local_channel()) ? ($vnotify & VNOTIFY_PUBS) && $discover_tab_on : $discover_tab_on); + if(local_channel()) { + $notify_pubs = ($vnotify & VNOTIFY_PUBS) && can_view_public_stream() && Apps::system_app_installed(local_channel(), 'Public Stream'); + } + else { + $notify_pubs = can_view_public_stream(); + } if($notify_pubs) { $sys = get_sys_channel(); diff --git a/Zotlabs/Module/Pubstream.php b/Zotlabs/Module/Pubstream.php index 19cb72b5b..94df29984 100644 --- a/Zotlabs/Module/Pubstream.php +++ b/Zotlabs/Module/Pubstream.php @@ -1,6 +1,9 @@ ' . t('Public Stream App') . ' (' . t('Not Installed') . '):
'; + $o .= t('The unmoderated public stream of this hub'); + return $o; + } + } + if($load) $_SESSION['loadtime'] = datetime_convert(); diff --git a/Zotlabs/Module/Settings/Channel.php b/Zotlabs/Module/Settings/Channel.php index 6b49f165d..ebc444178 100644 --- a/Zotlabs/Module/Settings/Channel.php +++ b/Zotlabs/Module/Settings/Channel.php @@ -594,7 +594,7 @@ class Channel { '$vnotify10' => array('vnotify10', t('New connections'), ($vnotify & VNOTIFY_INTRO), VNOTIFY_INTRO, t('Recommended'), $yes_no), '$vnotify11' => ((is_site_admin()) ? array('vnotify11', t('System Registrations'), ($vnotify & VNOTIFY_REGISTER), VNOTIFY_REGISTER, '', $yes_no) : array()), '$vnotify12' => array('vnotify12', t('Unseen shared files'), ($vnotify & VNOTIFY_FILES), VNOTIFY_FILES, '', $yes_no), - '$vnotify13' => (($disable_discover_tab && !$site_firehose) ? array() : array('vnotify13', t('Unseen public activity'), ($vnotify & VNOTIFY_PUBS), VNOTIFY_PUBS, '', $yes_no)), + '$vnotify13' => ((($disable_discover_tab && !$site_firehose) || !Apps::system_app_installed(local_channel(), 'Public Stream')) ? array() : array('vnotify13', t('Unseen public stream activity'), ($vnotify & VNOTIFY_PUBS), VNOTIFY_PUBS, '', $yes_no)), '$vnotify14' => array('vnotify14', t('Unseen likes and dislikes'), ($vnotify & VNOTIFY_LIKE), VNOTIFY_LIKE, '', $yes_no), '$vnotify15' => array('vnotify15', t('Unseen forum posts'), ($vnotify & VNOTIFY_FORUMS), VNOTIFY_FORUMS, '', $yes_no), '$mailhost' => [ 'mailhost', t('Email notification hub (hostname)'), get_pconfig(local_channel(),'system','email_notify_host',\App::get_hostname()), sprintf( t('If your channel is mirrored to multiple hubs, set this to your preferred location. This will prevent duplicate email notifications. Example: %s'),\App::get_hostname()) ], diff --git a/Zotlabs/Module/Suggest.php b/Zotlabs/Module/Suggest.php index f79e4e245..18961214e 100644 --- a/Zotlabs/Module/Suggest.php +++ b/Zotlabs/Module/Suggest.php @@ -1,15 +1,20 @@ ' . t('Suggest Channels App') . ' (' . t('Not Installed') . '):
'; + $o .= t('Suggestions for channels in the $Projectname network you might be interested in'); + return $o; + } + + $o = ''; + nav_set_selected('Suggest Channels'); $_SESSION['return_url'] = z_root() . '/' . \App::$cmd; -- cgit v1.2.3 From 7877e2467e61fd48c52c8fc6325db5320eb5e03e Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 6 Oct 2018 14:40:30 +0000 Subject: rename grid to network (for consistency) and activity to stream (as seen in osada) because it makes much more sense. (cherry picked from commit 96277372d55a58349e318e694f4dab3a00fb2f13) --- Zotlabs/Module/Network.php | 2 +- Zotlabs/Module/Settings/Channel.php | 2 +- Zotlabs/Module/Settings/Network.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php index 015351cbf..792f92418 100644 --- a/Zotlabs/Module/Network.php +++ b/Zotlabs/Module/Network.php @@ -164,7 +164,7 @@ class Network extends \Zotlabs\Web\Controller { )); } - nav_set_selected('Grid'); + nav_set_selected('Network'); $channel_acl = array( 'allow_cid' => $channel['channel_allow_cid'], diff --git a/Zotlabs/Module/Settings/Channel.php b/Zotlabs/Module/Settings/Channel.php index ebc444178..fc7c547ca 100644 --- a/Zotlabs/Module/Settings/Channel.php +++ b/Zotlabs/Module/Settings/Channel.php @@ -582,7 +582,7 @@ class Channel { '$lbl_vnot' => t('Show visual notifications including:'), - '$vnotify1' => array('vnotify1', t('Unseen grid activity'), ($vnotify & VNOTIFY_NETWORK), VNOTIFY_NETWORK, '', $yes_no), + '$vnotify1' => array('vnotify1', t('Unseen stream activity'), ($vnotify & VNOTIFY_NETWORK), VNOTIFY_NETWORK, '', $yes_no), '$vnotify2' => array('vnotify2', t('Unseen channel activity'), ($vnotify & VNOTIFY_CHANNEL), VNOTIFY_CHANNEL, '', $yes_no), '$vnotify3' => array('vnotify3', t('Unseen private messages'), ($vnotify & VNOTIFY_MAIL), VNOTIFY_MAIL, t('Recommended'), $yes_no), '$vnotify4' => array('vnotify4', t('Upcoming events'), ($vnotify & VNOTIFY_EVENT), VNOTIFY_EVENT, '', $yes_no), diff --git a/Zotlabs/Module/Settings/Network.php b/Zotlabs/Module/Settings/Network.php index aaafe9255..ae02b06e9 100644 --- a/Zotlabs/Module/Settings/Network.php +++ b/Zotlabs/Module/Settings/Network.php @@ -55,7 +55,7 @@ class Network { '$rpath' => $rpath, '$action_url' => 'settings/' . $module, '$form_security_token' => get_form_security_token('settings_' . $module), - '$title' => t('Activity Settings'), + '$title' => t('Stream Settings'), '$features' => process_module_features_get(local_channel(), $features), '$extra_settings_html' => $extra_settings_html, '$submit' => t('Submit') -- cgit v1.2.3 From 9bfa5c82d19ce42bfb283c35f31518cca461349f Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Sat, 6 Oct 2018 18:29:32 +0000 Subject: move profile assign selector to profile settings and personal menu selector to channel_home settings and get rid of misc channel settings section. (cherry picked from commit 66cf0852728d2f95ed3a5b7a304dbc7b79111831) --- Zotlabs/Module/Settings/Channel.php | 27 +-------------------------- Zotlabs/Module/Settings/Channel_home.php | 30 +++++++++++++++++++++++++++++- Zotlabs/Module/Settings/Profiles.php | 13 +++++++++++-- 3 files changed, 41 insertions(+), 29 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Settings/Channel.php b/Zotlabs/Module/Settings/Channel.php index fc7c547ca..b0115d352 100644 --- a/Zotlabs/Module/Settings/Channel.php +++ b/Zotlabs/Module/Settings/Channel.php @@ -135,8 +135,6 @@ class Channel { $photo_path = ((x($_POST,'photo_path')) ? escape_tags(trim($_POST['photo_path'])) : ''); $attach_path = ((x($_POST,'attach_path')) ? escape_tags(trim($_POST['attach_path'])) : ''); - $channel_menu = ((x($_POST['channel_menu'])) ? htmlspecialchars_decode(trim($_POST['channel_menu']),ENT_QUOTES) : ''); - $expire_items = ((x($_POST,'expire_items')) ? intval($_POST['expire_items']) : 0); $expire_starred = ((x($_POST,'expire_starred')) ? intval($_POST['expire_starred']) : 0); $expire_photos = ((x($_POST,'expire_photos'))? intval($_POST['expire_photos']) : 0); @@ -157,8 +155,6 @@ class Channel { $defpermcat = ((x($_POST,'defpermcat')) ? notags(trim($_POST['defpermcat'])) : 'default'); $mailhost = ((array_key_exists('mailhost',$_POST)) ? notags(trim($_POST['mailhost'])) : ''); - $profile_assign = ((x($_POST,'profile_assign')) ? notags(trim($_POST['profile_assign'])) : ''); - $pageflags = $channel['channel_pageflags']; $existing_adult = (($pageflags & PAGE_ADULT) ? 1 : 0); @@ -246,7 +242,6 @@ class Channel { set_pconfig(local_channel(),'system','post_joingroup', $post_joingroup); set_pconfig(local_channel(),'system','post_profilechange', $post_profilechange); set_pconfig(local_channel(),'system','blocktags',$blocktags); - set_pconfig(local_channel(),'system','channel_menu',$channel_menu); set_pconfig(local_channel(),'system','vnotify',$vnotify); set_pconfig(local_channel(),'system','always_show_in_notices',$always_show_in_notices); set_pconfig(local_channel(),'system','evdays',$evdays); @@ -254,7 +249,6 @@ class Channel { set_pconfig(local_channel(),'system','attach_path',$attach_path); set_pconfig(local_channel(),'system','default_permcat',$defpermcat); set_pconfig(local_channel(),'system','email_notify_host',$mailhost); - set_pconfig(local_channel(),'system','profile_assign',$profile_assign); set_pconfig(local_channel(),'system','autoperms',$autoperms); $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 $set_perms where channel_id = %d", @@ -460,18 +454,6 @@ class Channel { require_once('include/group.php'); $group_select = mini_group_select(local_channel(),$channel['channel_default_group']); - require_once('include/menu.php'); - $m1 = menu_list(local_channel()); - $menu = false; - if($m1) { - $menu = array(); - $current = get_pconfig(local_channel(),'system','channel_menu'); - $menu[] = array('name' => '', 'selected' => ((! $current) ? true : false)); - foreach($m1 as $m) { - $menu[] = array('name' => htmlspecialchars($m['menu_name'],ENT_COMPAT,'UTF-8'), 'selected' => (($m['menu_name'] === $current) ? ' selected="selected" ' : false)); - } - } - $evdays = get_pconfig(local_channel(),'system','evdays'); if(! $evdays) $evdays = 3; @@ -498,7 +480,7 @@ class Channel { if($vnotify === false) $vnotify = (-1); - $plugin = [ 'basic' => '', 'security' => '', 'notify' => '', 'misc' => '' ]; + $plugin = [ 'basic' => '', 'security' => '', 'notify' => '' ]; call_hooks('channel_settings',$plugin); $disable_discover_tab = intval(get_config('system','disable_discover_tab',1)) == 1; @@ -543,8 +525,6 @@ class Channel { '$permissions' => t('Default Privacy Group'), '$permdesc' => t("\x28click to open/close\x29"), '$aclselect' => populate_acl($perm_defaults, false, \Zotlabs\Lib\PermissionDescription::fromDescription(t('Use my default audience setting for the type of object published'))), - '$profseltxt' => t('Profile to assign new connections'), - '$profselect' => ((feature_enabled(local_channel(),'multi_profiles')) ? contact_profile_assign(get_pconfig(local_channel(),'system','profile_assign','')) : ''), '$allow_cid' => acl2json($perm_defaults['allow_cid']), '$allow_gid' => acl2json($perm_defaults['allow_gid']), @@ -604,7 +584,6 @@ class Channel { '$basic_addon' => $plugin['basic'], '$sec_addon' => $plugin['security'], '$notify_addon' => $plugin['notify'], - '$misc_addon' => $plugin['misc'], '$h_advn' => t('Advanced Account/Page Type Settings'), '$h_descadvn' => t('Change the behaviour of this account for special situations'), @@ -612,12 +591,8 @@ class Channel { '$lbl_misc' => t('Miscellaneous Settings'), '$photo_path' => array('photo_path', t('Default photo upload folder'), get_pconfig(local_channel(),'system','photo_path'), t('%Y - current year, %m - current month')), '$attach_path' => array('attach_path', t('Default file upload folder'), get_pconfig(local_channel(),'system','attach_path'), t('%Y - current year, %m - current month')), - '$menus' => $menu, - '$menu_desc' => t('Personal menu to display in your channel pages'), '$removeme' => t('Remove Channel'), '$removechannel' => t('Remove this channel.'), - '$firefoxshare' => t('Firefox Share $Projectname provider'), - )); call_hooks('settings_form',$o); diff --git a/Zotlabs/Module/Settings/Channel_home.php b/Zotlabs/Module/Settings/Channel_home.php index 0e916d530..b6ecf4ff1 100644 --- a/Zotlabs/Module/Settings/Channel_home.php +++ b/Zotlabs/Module/Settings/Channel_home.php @@ -2,6 +2,7 @@ namespace Zotlabs\Module\Settings; +require_once('include/menu.php'); class Channel_home { @@ -18,8 +19,10 @@ class Channel_home { $channel_divmore_height = ((x($_POST,'channel_divmore_height')) ? intval($_POST['channel_divmore_height']) : 400); if($channel_divmore_height < 50) $channel_divmore_height = 50; - set_pconfig(local_channel(),'system','channel_divmore_height', $channel_divmore_height); + + $channel_menu = ((x($_POST['channel_menu'])) ? htmlspecialchars_decode(trim($_POST['channel_menu']),ENT_QUOTES) : ''); + set_pconfig(local_channel(),'system','channel_menu',$channel_menu); build_sync_packet(); @@ -43,12 +46,37 @@ class Channel_home { t('Click to expand content exceeding this height') ]; + $menus = menu_list(local_channel()); + if($menus) { + $current = get_pconfig(local_channel(),'system','channel_menu'); + $menu[] = ''; + foreach($menus as $m) { + $menu[$m['menu_name']] = htmlspecialchars($m['menu_name'],ENT_COMPAT,'UTF-8'); + } + + $menu_select = [ + 'channel_menu', + t('Personal menu to display in your channel pages'), + $current, + '', + $menu + ]; + } + $extra_settings_html = replace_macros(get_markup_template('field_input.tpl'), [ '$field' => $channel_divmore_height ] ); + if($menu) { + $extra_settings_html .= replace_macros(get_markup_template('field_select.tpl'), + [ + '$field' => $menu_select + ] + ); + } + $tpl = get_markup_template("settings_module.tpl"); $o .= replace_macros($tpl, array( diff --git a/Zotlabs/Module/Settings/Profiles.php b/Zotlabs/Module/Settings/Profiles.php index 2dc037317..fb6abf664 100644 --- a/Zotlabs/Module/Settings/Profiles.php +++ b/Zotlabs/Module/Settings/Profiles.php @@ -2,6 +2,7 @@ namespace Zotlabs\Module\Settings; +require_once('include/selectors.php'); class Profiles { @@ -14,6 +15,9 @@ class Profiles { $features = get_module_features($module); process_module_features_post(local_channel(), $features, $_POST); + + $profile_assign = ((x($_POST,'profile_assign')) ? notags(trim($_POST['profile_assign'])) : ''); + set_pconfig(local_channel(),'system','profile_assign',$profile_assign); build_sync_packet(); @@ -30,6 +34,10 @@ class Profiles { $features = get_module_features($module); $rpath = (($_GET['rpath']) ? $_GET['rpath'] : ''); + $extra_settings_html = ''; + if(feature_enabled(local_channel(),'multi_profiles')) + $extra_settings_html = contact_profile_assign(get_pconfig(local_channel(),'system','profile_assign','')); + $tpl = get_markup_template("settings_module.tpl"); $o .= replace_macros($tpl, array( @@ -37,8 +45,9 @@ class Profiles { '$action_url' => 'settings/' . $module, '$form_security_token' => get_form_security_token('settings_' . $module), '$title' => t('Profiles Settings'), - '$features' => process_module_features_get(local_channel(), $features), - '$submit' => t('Submit') + '$features' => process_module_features_get(local_channel(), $features), + '$extra_settings_html' => $extra_settings_html, + '$submit' => t('Submit') )); return $o; -- cgit v1.2.3 From 82528e2f383ec6d99a125f710a8fd98f472e1fa6 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Mon, 8 Oct 2018 05:12:49 +0000 Subject: hubzilla core issue #1278 - page update always reloads if noscript content is enabled (cherry picked from commit 69584f541d052e6da410d9cd782656eb31fae22d) --- Zotlabs/Module/Display.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Display.php b/Zotlabs/Module/Display.php index 8b46ebb79..d1755c183 100644 --- a/Zotlabs/Module/Display.php +++ b/Zotlabs/Module/Display.php @@ -12,7 +12,7 @@ class Display extends \Zotlabs\Web\Controller { function get($update = 0, $load = false) { - $noscript_content = get_config('system', 'noscript_content', '1'); + $noscript_content = (get_config('system', 'noscript_content', '1') && (! $update)); $module_format = 'html'; @@ -299,7 +299,6 @@ class Display extends \Zotlabs\Web\Controller { require_once('include/channel.php'); $sys = get_sys_channel(); $sysid = $sys['channel_id']; - if(local_channel()) { $r = q("SELECT item.parent AS item_id from item WHERE uid = %d @@ -340,7 +339,7 @@ class Display extends \Zotlabs\Web\Controller { else { $r = array(); } - + if($r) { $parents_str = ids_to_querystr($r,'item_id'); if($parents_str) { -- cgit v1.2.3 From 97502f4c04ccb7c1243d87ec4db79f71b73d7135 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Mon, 8 Oct 2018 09:25:49 +0000 Subject: the root cause for doubled entries is fixed now (cherry picked from commit e0568f33e82de15e5d5a38ec7697d6afd67352f3) --- Zotlabs/Module/Siteinfo.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Siteinfo.php b/Zotlabs/Module/Siteinfo.php index 79b94662d..a8c5bda91 100644 --- a/Zotlabs/Module/Siteinfo.php +++ b/Zotlabs/Module/Siteinfo.php @@ -32,7 +32,7 @@ class Siteinfo extends \Zotlabs\Web\Controller { '$transport_link' => 'https://zotlabs.com', '$additional_text' => t('Additional federated transport protocols:'), - '$additional_fed' => implode(', ',array_unique($federated)), + '$additional_fed' => implode(', ', $federated), '$prj_version' => ((get_config('system','hidden_version_siteinfo')) ? '' : sprintf( t('Version %s'), \Zotlabs\Lib\System::get_project_version())), '$prj_linktxt' => t('Project homepage'), '$prj_srctxt' => t('Developer homepage'), -- cgit v1.2.3 From 9f4219773e828c68e916f4bcccc7cd74fffb706d Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Mon, 8 Oct 2018 09:38:45 +0000 Subject: typo (cherry picked from commit f0b7a7e5d38a92268a67d8dedf69f97d88b4c542) --- Zotlabs/Module/Admin/Site.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Admin/Site.php b/Zotlabs/Module/Admin/Site.php index e67f9f165..09b038729 100644 --- a/Zotlabs/Module/Admin/Site.php +++ b/Zotlabs/Module/Admin/Site.php @@ -311,7 +311,7 @@ class Site { '$access_policy' => array('access_policy', t("Which best describes the types of account offered by this hub?"), get_config('system','access_policy'), t("This is displayed on the public server site list."), $access_choices), '$register_text' => array('register_text', t("Register text"), htmlspecialchars(get_config('system','register_text'), ENT_QUOTES, 'UTF-8'), t("Will be displayed prominently on the registration page.")), '$role' => $role, - '$frontpage' => array('frontpage', t("Site homepage to show visitors (default: login box)"), get_config('system','frontpage'), t("example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file.")), + '$frontpage' => array('frontpage', t("Site homepage to show visitors (default: login box)"), get_config('system','frontpage'), t("example: 'pubstream' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file.")), '$mirror_frontpage' => array('mirror_frontpage', t("Preserve site homepage URL"), get_config('system','mirror_frontpage'), t('Present the site homepage in a frame at the original location instead of redirecting')), '$abandon_days' => array('abandon_days', t('Accounts abandoned after x days'), get_config('system','account_abandon_days'), t('Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit.')), '$allowed_sites' => array('allowed_sites', t("Allowed friend domains"), get_config('system','allowed_sites'), t("Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains")), -- cgit v1.2.3 From bf878dc4461ea28f71055d59496b21a1685ef63e Mon Sep 17 00:00:00 2001 From: "M.Dent" Date: Sun, 7 Oct 2018 23:08:47 +0000 Subject: Implement custom escaping (cherry picked from commit 93a310582f044d35f0a3583671053595fefdbedb) --- Zotlabs/Module/Wiki.php | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php index 6be39214e..3b8f44124 100644 --- a/Zotlabs/Module/Wiki.php +++ b/Zotlabs/Module/Wiki.php @@ -237,7 +237,8 @@ class Wiki extends Controller { // /wiki/channel/wiki -> No page was specified, so redirect to Home.md - $wikiUrlName = urlencode(argv(2)); + //$wikiUrlName = urlencode(argv(2)); + $wikiUrlName = NativeWiki::name_encode(argv(2)); goaway(z_root() . '/' . argv(0) . '/' . argv(1) . '/' . $wikiUrlName . '/Home'); case 4: @@ -246,7 +247,8 @@ class Wiki extends Controller { // GET /wiki/channel/wiki/page // Fetch the wiki info and determine observer permissions - $wikiUrlName = urldecode(argv(2)); + //$wikiUrlName = urldecode(argv(2)); + $wikiUrlName = NativeWiki::name_decode(argv(2)); $page_name = ''; $ignore_language = false; @@ -262,7 +264,8 @@ class Wiki extends Controller { $page_name .= argv($x); } - $pageUrlName = urldecode($page_name); + //$pageUrlName = urldecode($page_name); + $pageUrlName = NativeWiki::name_decode($page_name); $langPageUrlName = urldecode(\App::$language . '/' . $page_name); $w = NativeWiki::exists_by_name($owner['channel_id'], $wikiUrlName); @@ -289,8 +292,10 @@ class Wiki extends Controller { $wiki_editor = true; } - $wikiheaderName = urldecode($wikiUrlName); - $wikiheaderPage = urldecode($pageUrlName); + //$wikiheaderName = urldecode($wikiUrlName); + $wikiheaderName = NativeWiki::name_decode($wikiUrlName); + //$wikiheaderPage = urldecode($pageUrlName); + $wikiheaderPage = NativeWiki::name_decode($pageUrlName); $renamePage = (($wikiheaderPage === 'Home') ? '' : t('Rename page')); $sharePage = t('Share'); @@ -360,13 +365,14 @@ class Wiki extends Controller { $currenttype = $types[$mimeType]; $placeholder = t('Short description of your changes (optional)'); - + + $zrl = urlencode( z_root() . '/wiki/' . argv(1) . '/' . $wikiUrlName . '/' . $pageUrlName ); $o .= replace_macros(get_markup_template('wiki.tpl'),array( '$wikiheaderName' => $wikiheaderName, '$wikiheaderPage' => $wikiheaderPage, '$renamePage' => $renamePage, '$sharePage' => $sharePage, - '$shareLink' => urlencode('#^[zrl=' . z_root() . '/wiki/' . argv(1) . '/' . $wikiUrlName . '/' . $pageUrlName . ']' . '[ ' . $owner['channel_name'] . ' ] ' . $wikiheaderName . ' - ' . $wikiheaderPage . '[/zrl]'), + '$shareLink' => '#^[zrl=' . $zrl . ']' . '[ ' . $owner['channel_name'] . ' ] ' . $wikiheaderName . ' - ' . $wikiheaderPage . '[/zrl]', '$showPageControls' => $showPageControls, '$editOrSourceLabel' => (($showPageControls) ? t('Edit') : t('Source')), '$tools_label' => 'Page Tools', @@ -465,7 +471,8 @@ class Wiki extends Controller { $wiki['postVisible'] = ((intval($_POST['postVisible'])) ? 1 : 0); $wiki['rawName'] = $name; $wiki['htmlName'] = escape_tags($name); - $wiki['urlName'] = urlencode(urlencode($name)); + //$wiki['urlName'] = urlencode(urlencode($name)); + $wiki['urlName'] = NativeWiki::name_encode($name); $wiki['mimeType'] = $_POST['mimeType']; $wiki['typelock'] = $_POST['typelock']; @@ -514,7 +521,8 @@ class Wiki extends Controller { $arr = []; - $arr['urlName'] = urlencode(urlencode($_POST['origRawName'])); + //$arr['urlName'] = urlencode(urlencode($_POST['origRawName'])); + $arr['urlName'] = NativeWiki::name_encode($_POST['origRawName']); if($_POST['updateRawName']) $arr['updateRawName'] = $_POST['updateRawName']; @@ -525,7 +533,7 @@ class Wiki extends Controller { return; //not reached } - $wiki = NativeWiki::exists_by_name($owner['channel_id'], urldecode($arr['urlName'])); + $wiki = NativeWiki::exists_by_name($owner['channel_id'], $arr['urlName']); if($wiki['resource_id']) { @@ -590,7 +598,7 @@ class Wiki extends Controller { // backslashes won't work well in the javascript functions $name = str_replace('\\','',$name); - if(urlencode(escape_tags($name)) === '') { + if(NativeWiki::name_encode(escape_tags($name)) === '') { json_return_and_die(array('message' => 'Error creating page. Invalid name (' . print_r($_POST,true) . ').', 'success' => false)); } @@ -798,7 +806,7 @@ class Wiki extends Controller { if ($pageUrlName === 'Home') { json_return_and_die(array('message' => 'Cannot rename Home','success' => false)); } - if(urlencode(escape_tags($pageNewName)) === '') { + if(NativeWiki::encode_name(escape_tags($pageNewName)) === '') { json_return_and_die(array('message' => 'Error renaming page. Invalid name.', 'success' => false)); } // Determine if observer has permission to rename pages @@ -814,7 +822,7 @@ class Wiki extends Controller { if($renamed['success']) { $commit = NativeWikiPage::commit(array( 'channel_id' => $owner['channel_id'], - 'commit_msg' => 'Renamed ' . urldecode($pageUrlName) . ' to ' . $renamed['page']['htmlName'], + 'commit_msg' => 'Renamed ' . NativeWiki::name_decode($pageUrlName) . ' to ' . $renamed['page']['htmlName'], 'resource_id' => $resource_id, 'observer_hash' => $observer_hash, 'pageUrlName' => $pageNewName -- cgit v1.2.3 From d8f79f48e9b4859383eaeea35da6d32045f55ae1 Mon Sep 17 00:00:00 2001 From: "M.Dent" Date: Mon, 8 Oct 2018 17:22:39 +0000 Subject: Rework Wiki encoding scheme. (cherry picked from commit 709665846e66f093109730691b31d9e094d02088) --- Zotlabs/Module/Wiki.php | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php index 3b8f44124..ead7eea6a 100644 --- a/Zotlabs/Module/Wiki.php +++ b/Zotlabs/Module/Wiki.php @@ -266,7 +266,7 @@ class Wiki extends Controller { //$pageUrlName = urldecode($page_name); $pageUrlName = NativeWiki::name_decode($page_name); - $langPageUrlName = urldecode(\App::$language . '/' . $page_name); + $langPageUrlName = \App::$language . '/' . $pageUrlName; $w = NativeWiki::exists_by_name($owner['channel_id'], $wikiUrlName); @@ -293,9 +293,9 @@ class Wiki extends Controller { } //$wikiheaderName = urldecode($wikiUrlName); - $wikiheaderName = NativeWiki::name_decode($wikiUrlName); + $wikiheaderName = $wikiUrlName; //$wikiheaderPage = urldecode($pageUrlName); - $wikiheaderPage = NativeWiki::name_decode($pageUrlName); + $wikiheaderPage = $pageUrlName; $renamePage = (($wikiheaderPage === 'Home') ? '' : t('Rename page')); $sharePage = t('Share'); @@ -320,7 +320,7 @@ class Wiki extends Controller { //json_return_and_die(array('pages' => $page_list_html, 'message' => '', 'success' => true)); notice( t('Error retrieving page content') . EOL); //goaway(z_root() . '/' . argv(0) . '/' . argv(1) ); - $renderedContent = NativeWikiPage::convert_links($html, argv(0) . '/' . argv(1) . '/' . $wikiUrlName); + $renderedContent = NativeWikiPage::convert_links($html, argv(0) . '/' . argv(1) . '/' . NativeWiki::name_encode($wikiUrlName)); $showPageControls = $wiki_editor; } else { @@ -334,21 +334,25 @@ class Wiki extends Controller { // Render the Markdown-formatted page content in HTML if($mimeType == 'text/bbcode') { - $renderedContent = NativeWikiPage::convert_links(zidify_links(smilies(bbcode($content))), argv(0) . '/' . argv(1) . '/' . $wikiUrlName); + $renderedContent = NativeWikiPage::convert_links($content,argv(0) . '/' . argv(1) . '/' . NativeWiki::name_encode($wikiUrlName)); + $renderedContent = zidify_links(smilies(bbcode($renderedContent))); + //$renderedContent = NativeWikiPage::convert_links(zidify_links(smilies(bbcode($content))), argv(0) . '/' . argv(1) . '/' . $wikiUrlName); } elseif($mimeType === 'text/plain') { $renderedContent = str_replace(["\n",' ',"\t"],[EOL,' ','    '],htmlentities($content,ENT_COMPAT,'UTF-8',false)); } elseif($mimeType === 'text/markdown') { $content = MarkdownSoap::unescape($content); - $html = NativeWikiPage::generate_toc(zidify_text(MarkdownExtra::defaultTransform(NativeWikiPage::bbcode($content)))); - $renderedContent = NativeWikiPage::convert_links($html, argv(0) . '/' . argv(1) . '/' . $wikiUrlName); + //$html = NativeWikiPage::generate_toc(zidify_text(MarkdownExtra::defaultTransform(NativeWikiPage::bbcode($content)))); + //$renderedContent = NativeWikiPage::convert_links($html, argv(0) . '/' . argv(1) . '/' . $wikiUrlName); + $html = NativeWikiPage::convert_links($content, argv(0) . '/' . argv(1) . '/' . NativeWiki::name_encode($wikiUrlName)); + $renderedContent = NativeWikiPage::generate_toc(zidify_text(MarkdownExtra::defaultTransform(NativeWikiPage::bbcode($html)))); } $showPageControls = $wiki_editor; } break; // default: // Strip the extraneous URL components -// goaway('/' . argv(0) . '/' . argv(1) . '/' . $wikiUrlName . '/' . $pageUrlName); +// goaway('/' . argv(0) . '/' . argv(1) . '/' . NativeWiki::name_encode($wikiUrlName) . '/' . $pageUrlName); } @@ -366,7 +370,7 @@ class Wiki extends Controller { $placeholder = t('Short description of your changes (optional)'); - $zrl = urlencode( z_root() . '/wiki/' . argv(1) . '/' . $wikiUrlName . '/' . $pageUrlName ); + $zrl = urlencode( z_root() . '/wiki/' . argv(1) . '/' . NativeWiki::name_encode($wikiUrlName) . '/' . NativeWiki::name_encode($pageUrlName) ); $o .= replace_macros(get_markup_template('wiki.tpl'),array( '$wikiheaderName' => $wikiheaderName, '$wikiheaderPage' => $wikiheaderPage, @@ -435,16 +439,17 @@ class Wiki extends Controller { $mimeType = $_POST['mimetype']; if($mimeType === 'text/bbcode') { - $html = NativeWikiPage::convert_links(zidify_links(smilies(bbcode($content))),$wikiURL); + $linkconverted = NativeWikiPage::convert_links($content,$wikiURL); + $html = zidify_links(smilies(bbcode($linkconverted))); } elseif($mimeType === 'text/markdown') { - $bb = NativeWikiPage::bbcode($content); + $linkconverted = NativeWikiPage::convert_links($content,$wikiURL); + $bb = NativeWikiPage::bbcode($linkconverted); $x = new MarkdownSoap($bb); $md = $x->clean(); $md = MarkdownSoap::unescape($md); $html = MarkdownExtra::defaultTransform($md); $html = NativeWikiPage::generate_toc(zidify_text($html)); - $html = NativeWikiPage::convert_links($html,$wikiURL); } elseif($mimeType === 'text/plain') { $html = str_replace(["\n",' ',"\t"],[EOL,' ','    '],htmlentities($content,ENT_COMPAT,'UTF-8',false)); @@ -498,10 +503,10 @@ class Wiki extends Controller { $homePage = NativeWikiPage::create_page($owner['channel_id'],$observer_hash,'Home', $r['item']['resource_id'], $wiki['mimeType']); if(! $homePage['success']) { notice( t('Wiki created, but error creating Home page.')); - goaway(z_root() . '/wiki/' . $nick . '/' . $wiki['urlName']); + goaway(z_root() . '/wiki/' . $nick . '/' . NativeWiki::name_encode($wiki['urlName'])); } NativeWiki::sync_a_wiki_item($owner['channel_id'],$homePage['item_id'],$r['item']['resource_id']); - goaway(z_root() . '/wiki/' . $nick . '/' . $wiki['urlName'] . '/' . $homePage['page']['urlName']); + goaway(z_root() . '/wiki/' . $nick . '/' . NativeWiki::name_encode($wiki['urlName']) . '/' . NativeWiki::name_encode($homePage['page']['urlName'])); } else { notice( t('Error creating wiki')); @@ -593,7 +598,7 @@ class Wiki extends Controller { json_return_and_die(array('success' => false)); } - $name = $_POST['pageName']; //Get new page name + $name = isset($_POST['pageName']) ? $_POST['pageName'] : $_POST['missingPageName']; //Get new page name // backslashes won't work well in the javascript functions $name = str_replace('\\','',$name); @@ -615,10 +620,11 @@ class Wiki extends Controller { if($commit['success']) { NativeWiki::sync_a_wiki_item($owner['channel_id'],$commit['item_id'],$resource_id); - json_return_and_die(array('url' => '/' . argv(0) . '/' . argv(1) . '/' . urlencode($page['wiki']['urlName']) . '/' . urlencode($page['page']['urlName']), 'success' => true)); + //json_return_and_die(array('url' => '/' . argv(0) . '/' . argv(1) . '/' . urlencode($page['wiki']['urlName']) . '/' . urlencode($page['page']['urlName']), 'success' => true)); + json_return_and_die(array('url' => '/' . argv(0) . '/' . argv(1) . '/' . $page['wiki']['urlName'] . '/' . $page['page']['urlName'], 'success' => true)); } else { - json_return_and_die(array('message' => 'Error making git commit','url' => '/' . argv(0) . '/' . argv(1) . '/' . urlencode($page['wiki']['urlName']) . '/' . urlencode($page['page']['urlName']),'success' => false)); + json_return_and_die(array('message' => 'Error making git commit','url' => '/' . argv(0) . '/' . argv(1) . '/' . NativeWiki::name_encode($page['wiki']['urlName']) . '/' . NativeWiki::name_encode($page['page']['urlName']),'success' => false)); } @@ -685,7 +691,7 @@ class Wiki extends Controller { if($commit['success']) { NativeWiki::sync_a_wiki_item($owner['channel_id'],$commit['item_id'],$resource_id); - json_return_and_die(array('message' => 'Wiki git repo commit made', 'success' => true)); + json_return_and_die(array('message' => 'Wiki git repo commit made', 'success' => true , 'content' => $content)); } else { json_return_and_die(array('message' => 'Error making git commit','success' => false)); -- cgit v1.2.3 From c7644ad29dfdfd237125d3c8815ae62b8457b80a Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Wed, 10 Oct 2018 08:39:28 +0000 Subject: fix some more wiki issues (cherry picked from commit d29caa099af2d132978e634a454a29d5c85c23fe) --- Zotlabs/Module/Wiki.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php index ead7eea6a..25823da62 100644 --- a/Zotlabs/Module/Wiki.php +++ b/Zotlabs/Module/Wiki.php @@ -293,9 +293,9 @@ class Wiki extends Controller { } //$wikiheaderName = urldecode($wikiUrlName); - $wikiheaderName = $wikiUrlName; + $wikiheaderName = NativeWiki::name_decode($wikiUrlName); //$wikiheaderPage = urldecode($pageUrlName); - $wikiheaderPage = $pageUrlName; + $wikiheaderPage = NativeWiki::name_decode($pageUrlName); $renamePage = (($wikiheaderPage === 'Home') ? '' : t('Rename page')); $sharePage = t('Share'); @@ -812,7 +812,7 @@ class Wiki extends Controller { if ($pageUrlName === 'Home') { json_return_and_die(array('message' => 'Cannot rename Home','success' => false)); } - if(NativeWiki::encode_name(escape_tags($pageNewName)) === '') { + if(NativeWiki::name_encode(escape_tags($pageNewName)) === '') { json_return_and_die(array('message' => 'Error renaming page. Invalid name.', 'success' => false)); } // Determine if observer has permission to rename pages -- cgit v1.2.3 From 4e69467b14a01ae3cfded0d75f9cbe6d0b4656c7 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Wed, 10 Oct 2018 05:37:53 +0000 Subject: SECURITY: signature issue (cherry picked from commit c6f3298f7864756f4a9b7827e8490a3ee859f82f) --- Zotlabs/Module/Magic.php | 7 ++++++- Zotlabs/Module/Owa.php | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Magic.php b/Zotlabs/Module/Magic.php index be6866592..71737eef8 100644 --- a/Zotlabs/Module/Magic.php +++ b/Zotlabs/Module/Magic.php @@ -146,12 +146,17 @@ class Magic extends \Zotlabs\Web\Controller { $dest = strip_zids($dest); $dest = strip_query_param($dest,'f'); + $data = json_encode([ 'OpenWebAuth' => random_string() ]); + $headers = []; $headers['Accept'] = 'application/x-zot+json' ; $headers['X-Open-Web-Auth'] = random_string(); + $headers['Host'] = $parsed['host']; + $headers['Digest'] = 'SHA-256=' . \Zotlabs\Web\HTTPSig::generate_digest($data,false); + $headers = \Zotlabs\Web\HTTPSig::create_sig('',$headers,$channel['channel_prvkey'], 'acct:' . $channel['channel_address'] . '@' . \App::get_hostname(),false,true,'sha512'); - $x = z_fetch_url($basepath . '/owa',false,$redirects,[ 'headers' => $headers ]); + $x = z_post_url($basepath . '/owa',$data,$redirects,[ 'headers' => $headers ]); if($x['success']) { $j = json_decode($x['body'],true); diff --git a/Zotlabs/Module/Owa.php b/Zotlabs/Module/Owa.php index da26748b3..4a488086f 100644 --- a/Zotlabs/Module/Owa.php +++ b/Zotlabs/Module/Owa.php @@ -45,7 +45,7 @@ class Owa extends \Zotlabs\Web\Controller { } if($r) { foreach($r as $hubloc) { - $verified = \Zotlabs\Web\HTTPSig::verify('',$hubloc['xchan_pubkey']); + $verified = \Zotlabs\Web\HTTPSig::verify(file_get_contents('php://input'),$hubloc['xchan_pubkey']); if($verified && $verified['header_signed'] && $verified['header_valid']) { logger('OWA header: ' . print_r($verified,true),LOGGER_DATA); logger('OWA success: ' . $hubloc['hubloc_addr'],LOGGER_DATA); -- cgit v1.2.3 From 4d86a199f0d10a49d0d0cc4da7f19b6d4bde1ba6 Mon Sep 17 00:00:00 2001 From: "M.Dent" Date: Thu, 11 Oct 2018 02:46:00 +0000 Subject: Add wiki_preprocess hook and documentation (cherry picked from commit bad4ea6e65a45ac2523a9a7c2ec624ad2535b652) --- Zotlabs/Module/Wiki.php | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php index 25823da62..05d6e85cd 100644 --- a/Zotlabs/Module/Wiki.php +++ b/Zotlabs/Module/Wiki.php @@ -331,6 +331,10 @@ class Wiki extends Controller { $sampleContent = t('New page'); $content = (($p['content'] == '') ? $sampleContent : $p['content']); + + $hookinfo = ['content' => $content, 'mimetype' => $mimeType]; + call_hooks('wiki_preprocess',$hookinfo); + $content = $hookinfo['content']; // Render the Markdown-formatted page content in HTML if($mimeType == 'text/bbcode') { -- cgit v1.2.3 From 5b43db7171d8b42a99be23c8c4958a800d2fb7c5 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Mon, 15 Oct 2018 11:13:04 +0000 Subject: fix wiki issue with wiki page links when using bbcode (cherry picked from commit df62037c4a722606e84e28dd4d62e89dcc999980) --- Zotlabs/Module/Wiki.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php index 05d6e85cd..892810241 100644 --- a/Zotlabs/Module/Wiki.php +++ b/Zotlabs/Module/Wiki.php @@ -338,9 +338,8 @@ class Wiki extends Controller { // Render the Markdown-formatted page content in HTML if($mimeType == 'text/bbcode') { - $renderedContent = NativeWikiPage::convert_links($content,argv(0) . '/' . argv(1) . '/' . NativeWiki::name_encode($wikiUrlName)); - $renderedContent = zidify_links(smilies(bbcode($renderedContent))); - //$renderedContent = NativeWikiPage::convert_links(zidify_links(smilies(bbcode($content))), argv(0) . '/' . argv(1) . '/' . $wikiUrlName); + $renderedContent = zidify_links(smilies(bbcode($content))); + $renderedContent = NativeWikiPage::convert_links($renderedContent,argv(0) . '/' . argv(1) . '/' . NativeWiki::name_encode($wikiUrlName)); } elseif($mimeType === 'text/plain') { $renderedContent = str_replace(["\n",' ',"\t"],[EOL,' ','    '],htmlentities($content,ENT_COMPAT,'UTF-8',false)); -- cgit v1.2.3 From 90e9c37d35bcc96e39efacf69881d6e5f685fd1f Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Tue, 16 Oct 2018 11:46:03 +0000 Subject: improve posting to mod pconfig via ajax (cherry picked from commit ae875734e270dbe9840e87f07aa10f11a1af1d89) --- Zotlabs/Module/Pconfig.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'Zotlabs/Module') diff --git a/Zotlabs/Module/Pconfig.php b/Zotlabs/Module/Pconfig.php index b6264bddc..7c82bac7d 100644 --- a/Zotlabs/Module/Pconfig.php +++ b/Zotlabs/Module/Pconfig.php @@ -13,14 +13,15 @@ class Pconfig extends \Zotlabs\Web\Controller { return; - if($_SESSION['delegate']) - return; + if($_SESSION['delegate']) + return; check_form_security_token_redirectOnErr('/pconfig', 'pconfig'); $cat = trim(escape_tags($_POST['cat'])); $k = trim(escape_tags($_POST['k'])); $v = trim($_POST['v']); + $aj = intval($_POST['aj']); if(in_array(argv(2),$this->disallowed_pconfig())) { notice( t('This setting requires special processing and editing has been blocked.') . EOL); @@ -33,9 +34,12 @@ class Pconfig extends \Zotlabs\Web\Controller { set_pconfig(local_channel(),$cat,$k,$v); build_sync_packet(); - - goaway(z_root() . '/pconfig/' . $cat . '/' . $k); - + + if($aj) + killme(); + else + goaway(z_root() . '/pconfig/' . $cat . '/' . $k); + } -- cgit v1.2.3