Merge branch 'dev' into collect

This commit is contained in:
Mike Macgirvin 2024-02-08 08:04:44 +11:00
commit 562823a72b
8 changed files with 36 additions and 35 deletions

View file

@ -19,27 +19,25 @@ App::$config['system']['session_save_path'] = "tcp://IP ADDRESS:6379?auth=LONG P
## Step 2: Verify that Redis is receiving the sessions. ## Step 2: Verify that Redis is receiving the sessions.
This assumes that Redis is listening on IP 127.0.0.1. Update to reflect the correct IP of your Redis service. This assumes that Redis is listening on IP 127.0.0.1. Update to reflect the correct IP of your Redis service.
```
`redis-cli -h IP ADDRESS` redis-cli -h IP ADDRESS
```
The command will look something like this, and your command prompt will change. The command will look something like this, and your command prompt will change.
<kbd>redis-cli -h 127.0.0.1 <kbd>redis-cli -h 127.0.0.1
127.0.0.1:6379> </kbd> 127.0.0.1:6379> </kbd>
In order to access the session keys, Redis will require password authorization to be submitted beforehand. In order to access the session keys, Redis will require password authorization to be submitted beforehand.
Replace "LONG PASSWORD" in the command below with the Redis password. Replace "LONG PASSWORD" in the command below with the Redis password.
```
`auth LONG PASSWORD` auth LONG PASSWORD
```
It will look something like this, with a small "OK" message at the end to confirm. It will look something like this, with a small "OK" message at the end to confirm.
<kbd>127.0.0.1:6379> auth dkdiidlsdifnlsvniefwnciwncl3j92h3vchlcnal3ijcli439d3gflvn: <kbd>127.0.0.1:6379> auth dkdiidlsdifnlsvniefwnciwncl3j92h3vchlcnal3ijcli439d3gflvn:
ok</kbd> ok</kbd>
Now, you can view the session keys with this command: Now, you can view the session keys with this command:
```
`keys *` keys *
```
It will show you all the session identifiers currently stored in Redis: It will show you all the session identifiers currently stored in Redis:
<kbd>127.0.0.1:6379> keys * <kbd>127.0.0.1:6379> keys *
1) "PHPREDIS_SESSION:e9310b5ee224b70f8df649f6938c15d9" 1) "PHPREDIS_SESSION:e9310b5ee224b70f8df649f6938c15d9"
2) "PHPREDIS_SESSION:d2abb4549333b81c9a119dbb639c0357" 2) "PHPREDIS_SESSION:d2abb4549333b81c9a119dbb639c0357"

View file

@ -16,8 +16,9 @@ Note, in many cases this must be the same as the authenticated user email config
## Step 2: Enable PHPMAILER ## Step 2: Enable PHPMAILER
Navigate to the Streams root folder on the command line. Then enable the PHPMAILER plugin using this command: Navigate to the Streams root folder on the command line. Then enable the PHPMAILER plugin using this command:
```
`./util/addons install phpmailer` ./util/addons install phpmailer
```
## Step 3: Configure PHPMAILER ## Step 3: Configure PHPMAILER
The configuration depends on the SMTP service you are using. Here is a basic example: The configuration depends on the SMTP service you are using. Here is a basic example:
@ -28,8 +29,7 @@ App::$config['phpmailer']['port'] = '587';
App::$config['phpmailer']['smtpauth'] = 1; App::$config['phpmailer']['smtpauth'] = 1;
App::$config['phpmailer']['smtpsecure'] = 1; App::$config['phpmailer']['smtpsecure'] = 1;
App::$config['phpmailer']['username'] = 'example@example.com'; App::$config['phpmailer']['username'] = 'example@example.com';
App::$config['phpmailer']['password'] = 'email password';</pre> App::$config['phpmailer']['password'] = 'email password';</pre> You need to edit the example with the information from your SMTP provider. Once you have the correct information, append the entire block of code to the bottom of the .htconfig.php file.
You need to edit the example with the information from your SMTP provider. Once you have the correct information, append the entire block of code to the bottom of the .htconfig.php file.
**Here are examples for some common hosting platforms.** **Here are examples for some common hosting platforms.**

View file

@ -1,6 +1,6 @@
name: Fresh name: Fresh
description: 'A Fresh new look for Streams.' description: 'A Fresh new look for Streams.'
version: 'Version: 0.16' version: 'Version: 0.18'
credits: 'Development provided by: <a href="https://www.knthost.com/streams">K&T Host - (www.knthost.com)</a>' credits: 'Development provided by: <a href="https://www.knthost.com/streams">K&T Host - (www.knthost.com)</a>'
author: 'K&T Host' author: 'K&T Host'
maintainer: maintainer:

View file

@ -91,10 +91,13 @@ a:hover {
} }
code { code {
background-color: $subtle_shade; background-color: $subtle_shade;
display: block !important;
padding: 0.5rem !important; padding: 0.5rem !important;
overflow-wrap: break-word; overflow-wrap: break-word;
white-space: normal; white-space: normal;
font-size: .875em;
}
.inline-code {
padding: 0.25rem 0.5rem !important;
} }
li .fa, li i { li .fa, li i {
font-size: 1.2rem; font-size: 1.2rem;

View file

@ -6,11 +6,6 @@
</div> </div>
</div> </div>
</td> </td>
<td class="identity-checked-td" title="{{$identity.3}}">
<i class="fa fa-{{$identity.2}} {{$identity.4}}" title="{{$identity.3}}"></i>
</td>
</tr>
<tr">
<td class="identity-url-td"> <td class="identity-url-td">
<div class="identity-url-outer"> <div class="identity-url-outer">
<div class="identity-url-inner"> <div class="identity-url-inner">
@ -18,4 +13,7 @@
</div> </div>
</div> </div>
</td> </td>
</tr> <td class="identity-checked-td" title="{{$identity.3}}">
<i class="fa fa-{{$identity.2}} {{$identity.4}}" title="{{$identity.3}}"></i>
</td>
</tr>

View file

@ -1,16 +1,18 @@
<div class="profile-match-wrapper"> <div class="profile-match-wrapper">
<div class="profile-match-photo"> <div class="profile-match-photo">
<a href="{{$entry.url}}"> <a href="{{$entry.url}}">
<img src="{{$entry.photo}}" alt="{{$entry.name}}" width="80" height="80" title="{{$entry.name}} [{{$entry.profile}}]" /> <img src="{{$entry.photo}}" alt="{{$entry.name}}" width="32" height="32" title="{{$entry.name}} [{{$entry.profile}}]" />
</a> </a>
</div> </div>
<a href="{{$entry.ignlnk}}" title="{{$entry.ignore}}" class="profile-match-ignore drop-icons btn btn-outline-secondary btn-sm" onclick="return confirmDelete();" ><i class="fa fa-close "></i></a>
<div class="profile-match-break"></div> <div class="profile-match-break"></div>
<div class="profile-match-name"> <div class="profile-match-name">
<a href="{{$entry.url}}" title="{{$entry.name}}">{{$entry.name}}</a> <a href="{{$entry.url}}" title="{{$entry.name}}">{{$entry.name}}</a>
</div> </div>
<a href="{{$entry.ignlnk}}" title="{{$entry.ignore}}" class="profile-match-ignore drop-icons btn btn-outline-secondary btn-sm" onclick="return confirmDelete();" ><i class="fa fa-close "></i></a>
<div class="profile-match-end"></div> <div class="profile-match-end"></div>
{{if $entry.connlnk}} {{if $entry.connlnk}}
<div class="suggest-connect-btn"><a class="btn btn-sm btn-success" href="{{$entry.connlnk}}" title="{{$entry.conntxt}}"><i class="fa fa-plus connect-icon"></i> {{$entry.conntxt}}</a></div> <div class="suggest-connect-btn">
<a class="btn btn-sm btn-success" href="{{$entry.connlnk}}" title="{{$entry.conntxt}}"><i class="fa fa-plus connect-icon"></i> {{$entry.conntxt}}</a>
</div>
{{/if}} {{/if}}
</div> </div>

View file

@ -6,6 +6,11 @@
</div> </div>
</div> </div>
</td> </td>
<td class="identity-checked-td" title="{{$identity.3}}">
<i class="fa fa-{{$identity.2}} {{$identity.4}}" title="{{$identity.3}}"></i>
</td>
</tr>
<tr">
<td class="identity-url-td"> <td class="identity-url-td">
<div class="identity-url-outer"> <div class="identity-url-outer">
<div class="identity-url-inner"> <div class="identity-url-inner">
@ -13,7 +18,4 @@
</div> </div>
</div> </div>
</td> </td>
<td class="identity-checked-td" title="{{$identity.3}}"> </tr>
<i class="fa fa-{{$identity.2}} {{$identity.4}}" title="{{$identity.3}}"></i>
</td>
</tr>

View file

@ -1,18 +1,16 @@
<div class="profile-match-wrapper"> <div class="profile-match-wrapper">
<div class="profile-match-photo"> <div class="profile-match-photo">
<a href="{{$entry.url}}"> <a href="{{$entry.url}}">
<img src="{{$entry.photo}}" alt="{{$entry.name}}" width="32" height="32" title="{{$entry.name}} [{{$entry.profile}}]" /> <img src="{{$entry.photo}}" alt="{{$entry.name}}" width="80" height="80" title="{{$entry.name}} [{{$entry.profile}}]" />
</a> </a>
</div> </div>
<a href="{{$entry.ignlnk}}" title="{{$entry.ignore}}" class="profile-match-ignore drop-icons btn btn-outline-secondary btn-sm" onclick="return confirmDelete();" ><i class="fa fa-close "></i></a>
<div class="profile-match-break"></div> <div class="profile-match-break"></div>
<div class="profile-match-name"> <div class="profile-match-name">
<a href="{{$entry.url}}" title="{{$entry.name}}">{{$entry.name}}</a> <a href="{{$entry.url}}" title="{{$entry.name}}">{{$entry.name}}</a>
</div> </div>
<a href="{{$entry.ignlnk}}" title="{{$entry.ignore}}" class="profile-match-ignore drop-icons btn btn-outline-secondary btn-sm" onclick="return confirmDelete();" ><i class="fa fa-close "></i></a>
<div class="profile-match-end"></div> <div class="profile-match-end"></div>
{{if $entry.connlnk}} {{if $entry.connlnk}}
<div class="suggest-connect-btn"> <div class="suggest-connect-btn"><a class="btn btn-sm btn-success" href="{{$entry.connlnk}}" title="{{$entry.conntxt}}"><i class="fa fa-plus connect-icon"></i> {{$entry.conntxt}}</a></div>
<a class="btn btn-sm btn-success" href="{{$entry.connlnk}}" title="{{$entry.conntxt}}"><i class="fa fa-plus connect-icon"></i> {{$entry.conntxt}}</a>
</div>
{{/if}} {{/if}}
</div> </div>