Merge branch 'develop' into deprecate-strategies-via-addons
This commit is contained in:
commit
5beeda612a
13 changed files with 54 additions and 41 deletions
|
@ -7,7 +7,7 @@ echo ">>> Friendica Setup"
|
|||
|
||||
FRIENDICA_PHP_PATH=$(which php)
|
||||
export FRIENDICA_PHP_PATH
|
||||
|
||||
|
||||
envsubst < $workspaceFolder/.devcontainer/include/autoinstall.config.php > /tmp/autoinstall.config.php
|
||||
cp $workspaceFolder/.devcontainer/include/00apcu.config.php $workspaceFolder/config/00apcu.config.php
|
||||
cp $workspaceFolder/.devcontainer/include/01redis.config.php $workspaceFolder/config/01redis.config.php
|
||||
|
@ -19,7 +19,7 @@ cd $DocumentRoot
|
|||
# copy the .htaccess-dist file to .htaccess so that rewrite rules work
|
||||
cp $DocumentRoot/.htaccess-dist $DocumentRoot/.htaccess
|
||||
|
||||
bin/composer.phar --no-dev install
|
||||
bin/composer.phar install
|
||||
|
||||
# install friendica
|
||||
bin/console autoinstall -f /tmp/autoinstall.config.php
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
|
||||
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
|
||||
#
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
dir=$(cd "${0%[/\\]*}" > /dev/null; pwd)
|
||||
dir=$(cd "$(dirname "$0")" > /dev/null 2>&1; pwd)
|
||||
|
||||
if [[ -d /proc/cygdrive && $(which php) == $(readlink -n /proc/cygdrive)/* ]]; then
|
||||
if [ -d /proc/cygdrive ] && [ "$(which php)" = "$(readlink -n /proc/cygdrive)/*" ]; then
|
||||
# We are in Cygwin using Windows php, so the path must be translated
|
||||
dir=$(cygpath -m "$dir");
|
||||
dir=$(cygpath -m "$dir")
|
||||
fi
|
||||
|
||||
php "${dir}/console.php" "$@"
|
||||
|
|
|
@ -1,13 +1,20 @@
|
|||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
|
||||
# SPDX-FileCopyrightText: 2010 - 2024 the Friendica project
|
||||
#
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
set -eo pipefail
|
||||
set -e
|
||||
|
||||
function resolve {
|
||||
if [ "$(uname)" == "Darwin" ]
|
||||
# Custom function to handle pipefail behavior
|
||||
pipefail() {
|
||||
local cmd="$1"
|
||||
shift
|
||||
{ eval "$cmd"; } || exit 1
|
||||
}
|
||||
|
||||
resolve() {
|
||||
if [ "$(uname)" = "Darwin" ]
|
||||
then
|
||||
realpath "$1"
|
||||
else
|
||||
|
@ -17,26 +24,26 @@ function resolve {
|
|||
|
||||
FULLPATH=$(dirname "$(resolve "$0")")
|
||||
|
||||
if [ "$1" == "--help" ] || [ "$1" == "-h" ]
|
||||
if [ "$1" = "--help" ] || [ "$1" = "-h" ]
|
||||
then
|
||||
echo "$(basename "$(resolve "$0")") [options]"
|
||||
echo
|
||||
echo "-a | --addon <name> extract strings from addon 'name'"
|
||||
echo "-s | --single single addon mode: extract string from current folder"
|
||||
echo "-s | --single single addon mode: extract string from current folder"
|
||||
exit
|
||||
fi
|
||||
|
||||
MODE='default'
|
||||
ADDONNAME=
|
||||
if [ "$1" == "--addon" ] || [ "$1" == "-a" ]
|
||||
if [ "$1" = "--addon" ] || [ "$1" = "-a" ]
|
||||
then
|
||||
MODE='addon'
|
||||
if [ -z "$2" ]; then echo -e "ERROR: missing addon name\n\nrun_xgettext.sh -a <addonname>"; exit 1; fi
|
||||
if [ -z "$2" ]; then echo "ERROR: missing addon name\n\nrun_xgettext.sh -a <addonname>"; exit 1; fi
|
||||
ADDONNAME=$2
|
||||
if [ ! -d "$FULLPATH/../addon/$ADDONNAME" ]; then echo "ERROR: addon '$ADDONNAME' not found"; exit 2; fi
|
||||
fi
|
||||
|
||||
if [ "$1" == "--single" ] || [ "$1" == "-s" ]
|
||||
if [ "$1" = "--single" ] || [ "$1" = "-s" ]
|
||||
then
|
||||
MODE='single'
|
||||
fi
|
||||
|
@ -70,7 +77,6 @@ case "$MODE" in
|
|||
;;
|
||||
esac
|
||||
|
||||
|
||||
KEYWORDS="-k -kt -ktt:1,2"
|
||||
|
||||
echo "Extract strings to $OUTFILE.."
|
||||
|
@ -79,13 +85,13 @@ echo "Extract strings to $OUTFILE.."
|
|||
# shellcheck disable=SC2086 # $FINDOPTS is meant to be split
|
||||
find_result=$(find "$FINDSTARTDIR" $FINDOPTS -name "*.php" -type f | LC_ALL=C sort -s)
|
||||
|
||||
total_files=$(wc -l <<< "${find_result}")
|
||||
total_files=$(echo "${find_result}" | wc -l)
|
||||
|
||||
count=1
|
||||
for file in $find_result
|
||||
do
|
||||
echo -ne " \r"
|
||||
echo -ne "Reading file $count/$total_files..."
|
||||
printf " \r"
|
||||
printf "Reading file %d/%d..." "$count" "$total_files"
|
||||
|
||||
# On Windows, find still outputs the name of pruned folders
|
||||
if [ ! -d "$file" ]
|
||||
|
@ -94,9 +100,8 @@ do
|
|||
xgettext $KEYWORDS --no-wrap -j -o "$OUTFILE" --from-code=UTF-8 "$file" || exit 1
|
||||
sed -i.bkp "s/CHARSET/UTF-8/g" "$OUTFILE"
|
||||
fi
|
||||
(( count++ ))
|
||||
count=$((count + 1))
|
||||
done
|
||||
echo -ne "\n"
|
||||
|
||||
echo "Interpolate metadata.."
|
||||
|
||||
|
@ -119,7 +124,7 @@ case "$MODE" in
|
|||
;;
|
||||
esac
|
||||
|
||||
if [ "" != "$1" ] && [ "$MODE" == "default" ]
|
||||
if [ -n "$1" ] && [ "$MODE" = "default" ]
|
||||
then
|
||||
UPDATEFILE="$(resolve "${FULLPATH}/$1")"
|
||||
echo "Merging new strings to $UPDATEFILE.."
|
||||
|
|
|
@ -116,7 +116,6 @@
|
|||
},
|
||||
"sort-packages": true,
|
||||
"autoloader-suffix": "Friendica",
|
||||
"optimize-autoloader": true,
|
||||
"preferred-install": "dist",
|
||||
"allow-plugins": {
|
||||
"composer/installers": true,
|
||||
|
@ -174,6 +173,7 @@
|
|||
"@cs:install",
|
||||
"bin/dev/php-cs-fixer/vendor/bin/php-cs-fixer fix"
|
||||
],
|
||||
"cs:fix-develop": "TARGET_BRANCH=develop COMMAND=fix bin/dev/fix-codestyle.sh"
|
||||
"cs:fix-develop": "TARGET_BRANCH=develop COMMAND=fix bin/dev/fix-codestyle.sh",
|
||||
"install:prod": "@composer install -o --no-dev"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -62,7 +62,7 @@ If you want to have git automatically update the dependencies with composer, you
|
|||
}
|
||||
# `composer install` if the `composer.lock` file gets changed
|
||||
# to update all the php dependencies
|
||||
check_run composer.lock "bin/composer.phar install --no-dev"
|
||||
check_run composer.lock "bin/composer.phar install"
|
||||
|
||||
just place it into `.git/hooks/post-merge` and make it executable.
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ Clone the addon repository (separately):
|
|||
|
||||
Install the dependencies:
|
||||
|
||||
bin/composer.phar install --no-dev
|
||||
bin/composer.phar run install:prod
|
||||
|
||||
Make sure the folder *view/smarty3* exists and is writable by the webserver user, in this case *www-data*
|
||||
|
||||
|
@ -98,7 +98,7 @@ Make sure the folder *view/smarty3* exists and is writable by the webserver user
|
|||
If you want to use the development version of Friendica you can switch to the develop branch in the repository by running
|
||||
|
||||
git checkout develop
|
||||
bin/composer.phar install
|
||||
bin/composer.phar run install:prod
|
||||
cd addon
|
||||
git checkout develop
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ If you installed Friendica in the ``path/to/friendica`` folder:
|
|||
* ``.htaccess`` if using Apache web server
|
||||
|
||||
The following items only need to be copied if they are located inside your friendica path:
|
||||
* your storage folder as set in **Admin -> Site -> File Upload -> Storage base path**
|
||||
* your storage folder as set in **Admin -> Site -> File Upload -> Storage base path**
|
||||
* your item cache as set in **Admin -> Site -> Performance -> Path to item cache**
|
||||
* your temp folder as set in **Admin -> Site -> Advanced -> Temp path**
|
||||
3. Rename the ``path/to/friendica`` folder to ``path/to/friendica_old``.
|
||||
|
@ -30,7 +30,7 @@ You can get the latest changes at any time with
|
|||
|
||||
cd path/to/friendica
|
||||
git pull
|
||||
bin/composer.phar install --no-dev
|
||||
bin/composer.phar run install:prod
|
||||
|
||||
The addon tree has to be updated separately like so:
|
||||
|
||||
|
@ -89,7 +89,7 @@ Some of the updates include the use of foreign keys now that will bump into issu
|
|||
```
|
||||
Error 1452 occurred during database update:
|
||||
Cannot add or update a child row: a foreign key constraint fails (`friendica`.`#sql-10ea6_5a6d`, CONSTRAINT `#sql-10ea6_5a6d_ibfk_1` FOREIGN KEY (`contact-id`) REFERENCES `contact` (`id`))
|
||||
ALTER TABLE `thread` ADD FOREIGN KEY (`iid`) REFERENCES `item` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE;
|
||||
ALTER TABLE `thread` ADD FOREIGN KEY (`iid`) REFERENCES `item` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE;
|
||||
```
|
||||
|
||||
All current known fixes for possible items that can go wrong are as below.
|
||||
|
|
|
@ -18,7 +18,7 @@ What you need to do:
|
|||
Please use an up-to-date vagrant version from https://www.vagrantup.com/downloads.html.
|
||||
2. Git clone your Friendica repository.
|
||||
Inside, you'll find a `Vagrantfile` and some scripts in the `bin/dev` folder.
|
||||
Pull the PHP requirements with `bin/composer install`.
|
||||
Pull the PHP requirements with `bin/composer.phar install`.
|
||||
3. Run `vagrant up` from inside the friendica clone.
|
||||
This will start the virtual machine.
|
||||
Be patient: When it runs for the first time, it downloads a Debian Server image and installs Friendica.
|
||||
|
@ -60,7 +60,7 @@ Trouble Shooting
|
|||
If you see a version mis-match for the _VirtualBox Guest Additions_ between host and guest during the initial setup of the Vagrant VM, you will need to install an addon to Vagrant (ref. [Stack Overflow](https://stackoverflow.com/a/38010683)).
|
||||
Stop the Vagrant VM and run the following command:
|
||||
|
||||
$> vagrant plugin install vagrant-vbguest
|
||||
$> vagrant plugin install vagrant-vbguest
|
||||
|
||||
On the next Vagrant up, the version problem should be fixed.
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ Der Linux-Code, mit dem man die Dateien direkt in ein Verzeichnis wie "meinewebs
|
|||
|
||||
git clone https://github.com/friendica/friendica.git -b stable mywebsite
|
||||
cd mywebsite
|
||||
bin/composer.phar install
|
||||
bin/composer.phar run install:prod
|
||||
|
||||
Stelle sicher, dass der Ordner *view/smarty3* existiert and von dem Webserver-Benutzer beschreibbar ist
|
||||
|
||||
|
@ -85,7 +85,7 @@ Wenn du die Entwickler Version von Friendica verwenden möchtest kannst du auf d
|
|||
Dies tust du mit den folgenden Befehlen
|
||||
|
||||
git checkout develop
|
||||
bin/composer.phar install
|
||||
bin/composer.phar run install:prod
|
||||
cd addon
|
||||
git checkout develop
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
$start_time = microtime(true);
|
||||
|
||||
if (!file_exists(__DIR__ . '/vendor/autoload.php')) {
|
||||
die('Vendor path not found. Please execute "bin/composer.phar --no-dev install" on the command line in the web root.');
|
||||
die('Vendor path not found. Please execute "bin/composer.phar run install:prod" on the command line in the web root.');
|
||||
}
|
||||
|
||||
require __DIR__ . '/vendor/autoload.php';
|
||||
|
|
|
@ -299,12 +299,19 @@ class Crypto
|
|||
* Creates cryptographic secure random digits
|
||||
*
|
||||
* @param string $digits The count of digits
|
||||
* @return int The random Digits
|
||||
* @return string The random Digits
|
||||
*
|
||||
* @throws \Exception In case 'random_int' isn't usable
|
||||
*/
|
||||
public static function randomDigits($digits)
|
||||
public static function randomDigits($digits): string
|
||||
{
|
||||
return random_int(0, 10 ** $digits - 1);
|
||||
$rn = '';
|
||||
|
||||
// generating cryptographically secure pseudo-random integers
|
||||
for ($i = 0; $i < $digits; $i++) {
|
||||
$rn .= random_int(0, 9);
|
||||
}
|
||||
|
||||
return $rn;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,10 +21,11 @@ class CryptoTest extends TestCase
|
|||
{
|
||||
$random_int = $this->getFunctionMock('Friendica\Util', 'random_int');
|
||||
$random_int->expects($this->any())->willReturnCallback(function ($min, $max) {
|
||||
return 12345678;
|
||||
return 1;
|
||||
});
|
||||
|
||||
self::assertSame(12345678, Crypto::randomDigits(8));
|
||||
self::assertSame('1', Crypto::randomDigits(1));
|
||||
self::assertSame('11111111', Crypto::randomDigits(8));
|
||||
}
|
||||
|
||||
public function testDiasporaPubRsaToMe()
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
if (!file_exists(__DIR__ . '/../vendor/autoload.php')) {
|
||||
die('Vendor path not found. Please execute "bin/composer.phar --no-dev install" on the command line in the web root.');
|
||||
die('Vendor path not found. Please execute "bin/composer.phar install" on the command line in the web root.');
|
||||
}
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue