diff --git a/Zotlabs/Identity/OAuth2Server.php b/Zotlabs/Identity/OAuth2Server.php index 3d7d5efb2..cbb4748fe 100644 --- a/Zotlabs/Identity/OAuth2Server.php +++ b/Zotlabs/Identity/OAuth2Server.php @@ -2,42 +2,33 @@ namespace Zotlabs\Identity; -class OAuth2Server { +class OAuth2Server extends \OAuth2\Server { - public $server; + public function __construct(OAuth2Storage $storage, $config = []) { - public function __construct() { + if(! is_array($config)) { + $config = [ + 'use_openid_connect' => true, + 'issuer' => \Zotlabs\Lib\System::get_site_name() + ]; + } - $storage = new OAuth2Storage(\DBA::$dba->db); - - $config = [ - 'use_openid_connect' => true, - 'issuer' => \Zotlabs\Lib\System::get_site_name() - ]; - - // Pass a storage object or array of storage objects to the OAuth2 server class - $this->server = new \OAuth2\Server($storage,$config); + parent::__construct($storage, $config); // Add the "Client Credentials" grant type (it is the simplest of the grant types) - $this->server->addGrantType(new \OAuth2\GrantType\ClientCredentials($storage)); + $this->addGrantType(new \OAuth2\GrantType\ClientCredentials($storage)); // Add the "Authorization Code" grant type (this is where the oauth magic happens) - $this->server->addGrantType(new \OAuth2\GrantType\AuthorizationCode($storage)); + $this->addGrantType(new \OAuth2\GrantType\AuthorizationCode($storage)); - $keyStorage = new \OAuth2\Storage\Memory( [ - 'keys' => [ - 'public_key' => get_config('system','pubkey'), - 'private_key' => get_config('system','prvkey') + $keyStorage = new \OAuth2\Storage\Memory( [ + 'keys' => [ + 'public_key' => get_config('system', 'pubkey'), + 'private_key' => get_config('system', 'prvkey') ] ]); - $this->server->addStorage($keyStorage,'public_key'); - + $this->addStorage($keyStorage, 'public_key'); } - public function get_server() { - return $this->server; - } - - -} \ No newline at end of file +} diff --git a/Zotlabs/Module/Authorize.php b/Zotlabs/Module/Authorize.php index 7676b0855..254700b4e 100644 --- a/Zotlabs/Module/Authorize.php +++ b/Zotlabs/Module/Authorize.php @@ -2,13 +2,13 @@ namespace Zotlabs\Module; +use Zotlabs\Identity\OAuth2Storage; + class Authorize extends \Zotlabs\Web\Controller { - function init() { - // workaround for HTTP-auth in CGI mode if (x($_SERVER, 'REDIRECT_REMOTE_USER')) { $userpass = base64_decode(substr($_SERVER["REDIRECT_REMOTE_USER"], 6)) ; @@ -28,41 +28,40 @@ class Authorize extends \Zotlabs\Web\Controller { } } - $s = new \Zotlabs\Identity\OAuth2Server(); + $s = new \Zotlabs\Identity\OAuth2Server(new OAuth2Storage(\DBA::$dba->db)); $request = \OAuth2\Request::createFromGlobals(); $response = new \OAuth2\Response(); // validate the authorize request - if (! $s->server->validateAuthorizeRequest($request, $response)) { - $response->send(); - killme(); + if (! $s->validateAuthorizeRequest($request, $response)) { + $response->send(); + killme(); } - // display an authorization form - if (empty($_POST)) { + // display an authorization form + if (empty($_POST)) { - return ' + return '
'; + } + + // print the authorization code if the user has authorized your client + $is_authorized = ($_POST['authorized'] === 'yes'); + $s->handleAuthorizeRequest($request, $response, $is_authorized, local_channel()); + if ($is_authorized) { + // this is only here so that you get to see your code in the cURL request. Otherwise, + // we'd redirect back to the client + $code = substr($response->getHttpHeader('Location'), strpos($response->getHttpHeader('Location'), 'code=')+5, 40); + echo("SUCCESS! Authorization Code: $code"); + } + + $response->send(); + killme(); } - // print the authorization code if the user has authorized your client - $is_authorized = ($_POST['authorized'] === 'yes'); - $s->server->handleAuthorizeRequest($request, $response, $is_authorized, local_channel()); - if ($is_authorized) { - // this is only here so that you get to see your code in the cURL request. Otherwise, - // we'd redirect back to the client - $code = substr($response->getHttpHeader('Location'), strpos($response->getHttpHeader('Location'), 'code=')+5, 40); - echo("SUCCESS! Authorization Code: $code"); - - } - - $response->send(); - killme(); - } - -} \ No newline at end of file +} diff --git a/Zotlabs/Module/Token.php b/Zotlabs/Module/Token.php index 5cde58895..f7c074233 100644 --- a/Zotlabs/Module/Token.php +++ b/Zotlabs/Module/Token.php @@ -2,6 +2,8 @@ namespace Zotlabs\Module; +use Zotlabs\Identity\OAuth2Storage; + class Token extends \Zotlabs\Web\Controller { @@ -26,11 +28,10 @@ class Token extends \Zotlabs\Web\Controller { } } - - $s = new \Zotlabs\Identity\OAuth2Server(); - $s->server->handleTokenRequest(\OAuth2\Request::createFromGlobals())->send(); + $s = new \Zotlabs\Identity\OAuth2Server(new OAuth2Storage(\DBA::$dba->db)); + $s->handleTokenRequest(\OAuth2\Request::createFromGlobals())->send(); killme(); } -} \ No newline at end of file +} diff --git a/Zotlabs/Update/_1198.php b/Zotlabs/Update/_1198.php index 0713bb6ce..d188c94f6 100644 --- a/Zotlabs/Update/_1198.php +++ b/Zotlabs/Update/_1198.php @@ -21,4 +21,4 @@ function run() { } -} \ No newline at end of file +} diff --git a/Zotlabs/Update/_1200.php b/Zotlabs/Update/_1200.php index 00c742593..9f7bfb152 100644 --- a/Zotlabs/Update/_1200.php +++ b/Zotlabs/Update/_1200.php @@ -10,11 +10,15 @@ function run() { DROP INDEX item_type, ADD INDEX uid_item_type (uid, item_type) "); + + if($r) + return UPDATE_SUCCESS; + return UPDATE_FAILED; + } + else { + return UPDATE_SUCCESS; } - if($r) - return UPDATE_SUCCESS; - return UPDATE_FAILED; } -} \ No newline at end of file +} diff --git a/Zotlabs/Update/_1201.php b/Zotlabs/Update/_1201.php index c12797377..920a7401e 100644 --- a/Zotlabs/Update/_1201.php +++ b/Zotlabs/Update/_1201.php @@ -6,10 +6,22 @@ class _1201 { function run() { - // empty update in order to make the DB_UPDATE_VERSION equal to the current maximum update function - // rather than being one greater than the last known update + if(ACTIVE_DBTYPE == DBTYPE_MYSQL) { + $r = q("ALTER TABLE item + DROP INDEX item_thread_top, + ADD INDEX uid_item_thread_top (uid, item_thread_top), + ADD INDEX uid_item_blocked (uid, item_blocked), + ADD INDEX item_deleted_pending_remove_changed (item_deleted, item_pending_remove, changed) + "); - return UPDATE_SUCCESS; + if($r) + return UPDATE_SUCCESS; + return UPDATE_FAILED; + } + else { + return UPDATE_SUCCESS; + } } -} \ No newline at end of file + +} diff --git a/Zotlabs/Update/_1202.php b/Zotlabs/Update/_1202.php new file mode 100644 index 000000000..c9ccd157b --- /dev/null +++ b/Zotlabs/Update/_1202.php @@ -0,0 +1,15 @@ +' . $match[2] . '' . bb_code_protect(trim($match[1])) . '
';
+ return '' . bb_code_protect(trim($match[1])) . '
';
else
return '' . bb_code_protect(trim($match[1])) . '
';
}
@@ -636,15 +636,21 @@ function bb_code($match) {
function bb_code_options($match) {
if(strpos($match[0], "' . bb_code_protect(trim($match[2])) . '
';
+ if($pre) {
+ return '' . bb_code_protect(trim($match[2])) . '
';
+ } else {
+ return '' . bb_code_protect(trim($match[2])) . '
';
+ }
}
function bb_highlight($match) {
diff --git a/include/feedutils.php b/include/feedutils.php
index c4e9790de..369193fce 100644
--- a/include/feedutils.php
+++ b/include/feedutils.php
@@ -436,6 +436,9 @@ function get_atom_elements($feed, $item) {
$summary = unxmlify($item->get_description(true));
+ if($summary === $res['body'])
+ $summary = '';
+
if(($summary) && ((strpos($summary,'<') !== false) || (strpos($summary,'>') !== false))) {
$summary = purify_html($summary);
$summary = html2bbcode($summary);
diff --git a/view/css/conversation.css b/view/css/conversation.css
index 77a600deb..f7ab3dcdd 100644
--- a/view/css/conversation.css
+++ b/view/css/conversation.css
@@ -286,7 +286,6 @@ img.smiley.emoji:hover {
height: 32px;
}
-
.checklist input {
margin: 0px;
vertical-align: middle;
@@ -296,6 +295,15 @@ img.smiley.emoji:hover {
padding: 15px;
}
+.view-summary {
+ margin-bottom: 1rem;
+}
+
+.view-article {
+ margin-top: 1rem;
+}
+
+
#filer_save {
margin-left: 15px;
}
diff --git a/view/css/mod_wiki.css b/view/css/mod_wiki.css
index 4e4c71e1d..e0b02b414 100644
--- a/view/css/mod_wiki.css
+++ b/view/css/mod_wiki.css
@@ -48,3 +48,24 @@ td i {
padding-right: 10px;
}
+pre code {
+ background: #F5F5F5;
+ font-family: Courier, monospace;
+ font-size: 1em;
+ padding: 1em 1.5em;
+ display: block;
+ white-space: pre-wrap;
+}
+
+code {
+ background: #F5F5F5;
+ font-family: Courier, monospace;
+ font-size: 1em;
+ display: inline;
+ padding: 0.2em 0.2em;
+ white-space: pre-wrap;
+}
+
+#wiki-content-container code {
+ background: #F5F5F5;
+}
\ No newline at end of file
diff --git a/view/js/main.js b/view/js/main.js
index 4a2bae802..f6fe475d8 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -357,7 +357,9 @@ function closeMenu(theID) {
function markRead(notifType) {
$.get('ping?f=&markRead='+notifType);
$('.' + notifType + '-button').hide();
+ $('#nav-' + notifType + '-sub').removeClass('show');
sessionStorage.removeItem(notifType + '_notifications_cache');
+ sessionStorage.removeItem('notification_open');
if(timer) clearTimeout(timer);
timer = setTimeout(updateInit,2000);
}