Add mastodon and reorganize profile info sectiontags/v26.0.0beta1
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -181,6 +181,7 @@ abstract class AUserData extends OCSController { | |||
IAccountManager::PROPERTY_ADDRESS, | |||
IAccountManager::PROPERTY_WEBSITE, | |||
IAccountManager::PROPERTY_TWITTER, | |||
IAccountManager::PROPERTY_FEDIVERSE, | |||
IAccountManager::PROPERTY_ORGANISATION, | |||
IAccountManager::PROPERTY_ROLE, | |||
IAccountManager::PROPERTY_HEADLINE, |
@@ -621,6 +621,7 @@ class UsersController extends AUserData { | |||
$permittedFields[] = IAccountManager::PROPERTY_ADDRESS; | |||
$permittedFields[] = IAccountManager::PROPERTY_WEBSITE; | |||
$permittedFields[] = IAccountManager::PROPERTY_TWITTER; | |||
$permittedFields[] = IAccountManager::PROPERTY_FEDIVERSE; | |||
$permittedFields[] = IAccountManager::PROPERTY_ORGANISATION; | |||
$permittedFields[] = IAccountManager::PROPERTY_ROLE; | |||
$permittedFields[] = IAccountManager::PROPERTY_HEADLINE; | |||
@@ -782,6 +783,7 @@ class UsersController extends AUserData { | |||
$permittedFields[] = IAccountManager::PROPERTY_ADDRESS; | |||
$permittedFields[] = IAccountManager::PROPERTY_WEBSITE; | |||
$permittedFields[] = IAccountManager::PROPERTY_TWITTER; | |||
$permittedFields[] = IAccountManager::PROPERTY_FEDIVERSE; | |||
$permittedFields[] = IAccountManager::PROPERTY_ORGANISATION; | |||
$permittedFields[] = IAccountManager::PROPERTY_ROLE; | |||
$permittedFields[] = IAccountManager::PROPERTY_HEADLINE; | |||
@@ -791,6 +793,7 @@ class UsersController extends AUserData { | |||
$permittedFields[] = IAccountManager::PROPERTY_ADDRESS . self::SCOPE_SUFFIX; | |||
$permittedFields[] = IAccountManager::PROPERTY_WEBSITE . self::SCOPE_SUFFIX; | |||
$permittedFields[] = IAccountManager::PROPERTY_TWITTER . self::SCOPE_SUFFIX; | |||
$permittedFields[] = IAccountManager::PROPERTY_FEDIVERSE . self::SCOPE_SUFFIX; | |||
$permittedFields[] = IAccountManager::PROPERTY_ORGANISATION . self::SCOPE_SUFFIX; | |||
$permittedFields[] = IAccountManager::PROPERTY_ROLE . self::SCOPE_SUFFIX; | |||
$permittedFields[] = IAccountManager::PROPERTY_HEADLINE . self::SCOPE_SUFFIX; | |||
@@ -827,6 +830,7 @@ class UsersController extends AUserData { | |||
$permittedFields[] = IAccountManager::PROPERTY_ADDRESS; | |||
$permittedFields[] = IAccountManager::PROPERTY_WEBSITE; | |||
$permittedFields[] = IAccountManager::PROPERTY_TWITTER; | |||
$permittedFields[] = IAccountManager::PROPERTY_FEDIVERSE; | |||
$permittedFields[] = IAccountManager::PROPERTY_ORGANISATION; | |||
$permittedFields[] = IAccountManager::PROPERTY_ROLE; | |||
$permittedFields[] = IAccountManager::PROPERTY_HEADLINE; | |||
@@ -955,6 +959,7 @@ class UsersController extends AUserData { | |||
case IAccountManager::PROPERTY_ADDRESS: | |||
case IAccountManager::PROPERTY_WEBSITE: | |||
case IAccountManager::PROPERTY_TWITTER: | |||
case IAccountManager::PROPERTY_FEDIVERSE: | |||
case IAccountManager::PROPERTY_ORGANISATION: | |||
case IAccountManager::PROPERTY_ROLE: | |||
case IAccountManager::PROPERTY_HEADLINE: | |||
@@ -999,6 +1004,7 @@ class UsersController extends AUserData { | |||
case IAccountManager::PROPERTY_ADDRESS . self::SCOPE_SUFFIX: | |||
case IAccountManager::PROPERTY_WEBSITE . self::SCOPE_SUFFIX: | |||
case IAccountManager::PROPERTY_TWITTER . self::SCOPE_SUFFIX: | |||
case IAccountManager::PROPERTY_FEDIVERSE . self::SCOPE_SUFFIX: | |||
case IAccountManager::PROPERTY_ORGANISATION . self::SCOPE_SUFFIX: | |||
case IAccountManager::PROPERTY_ROLE . self::SCOPE_SUFFIX: | |||
case IAccountManager::PROPERTY_HEADLINE . self::SCOPE_SUFFIX: |
@@ -1008,6 +1008,7 @@ class UsersControllerTest extends TestCase { | |||
IAccountManager::PROPERTY_ADDRESS => ['value' => 'address'], | |||
IAccountManager::PROPERTY_PHONE => ['value' => 'phone'], | |||
IAccountManager::PROPERTY_TWITTER => ['value' => 'twitter'], | |||
IAccountManager::PROPERTY_FEDIVERSE => ['value' => 'fediverse'], | |||
IAccountManager::PROPERTY_WEBSITE => ['value' => 'website'], | |||
IAccountManager::PROPERTY_ORGANISATION => ['value' => 'organisation'], | |||
IAccountManager::PROPERTY_ROLE => ['value' => 'role'], | |||
@@ -1075,6 +1076,7 @@ class UsersControllerTest extends TestCase { | |||
'address' => 'address', | |||
'website' => 'website', | |||
'twitter' => 'twitter', | |||
'fediverse' => 'fediverse', | |||
'groups' => ['group0', 'group1', 'group2'], | |||
'language' => 'de', | |||
'locale' => null, | |||
@@ -1186,6 +1188,7 @@ class UsersControllerTest extends TestCase { | |||
IAccountManager::PROPERTY_ADDRESS => ['value' => 'address'], | |||
IAccountManager::PROPERTY_PHONE => ['value' => 'phone'], | |||
IAccountManager::PROPERTY_TWITTER => ['value' => 'twitter'], | |||
IAccountManager::PROPERTY_FEDIVERSE => ['value' => 'fediverse'], | |||
IAccountManager::PROPERTY_WEBSITE => ['value' => 'website'], | |||
IAccountManager::PROPERTY_ORGANISATION => ['value' => 'organisation'], | |||
IAccountManager::PROPERTY_ROLE => ['value' => 'role'], | |||
@@ -1214,6 +1217,7 @@ class UsersControllerTest extends TestCase { | |||
'address' => 'address', | |||
'website' => 'website', | |||
'twitter' => 'twitter', | |||
'fediverse' => 'fediverse', | |||
'groups' => [], | |||
'language' => 'da', | |||
'locale' => null, | |||
@@ -1364,6 +1368,7 @@ class UsersControllerTest extends TestCase { | |||
IAccountManager::PROPERTY_ADDRESS => ['value' => 'address'], | |||
IAccountManager::PROPERTY_PHONE => ['value' => 'phone'], | |||
IAccountManager::PROPERTY_TWITTER => ['value' => 'twitter'], | |||
IAccountManager::PROPERTY_FEDIVERSE => ['value' => 'fediverse'], | |||
IAccountManager::PROPERTY_WEBSITE => ['value' => 'website'], | |||
IAccountManager::PROPERTY_ORGANISATION => ['value' => 'organisation'], | |||
IAccountManager::PROPERTY_ROLE => ['value' => 'role'], | |||
@@ -1391,6 +1396,7 @@ class UsersControllerTest extends TestCase { | |||
'address' => 'address', | |||
'website' => 'website', | |||
'twitter' => 'twitter', | |||
'fediverse' => 'fediverse', | |||
'groups' => [], | |||
'language' => 'ru', | |||
'locale' => null, | |||
@@ -1582,6 +1588,7 @@ class UsersControllerTest extends TestCase { | |||
public function selfEditChangePropertyProvider() { | |||
return [ | |||
[IAccountManager::PROPERTY_TWITTER, '@oldtwitter', '@newtwitter'], | |||
[IAccountManager::PROPERTY_FEDIVERSE, '@oldFediverse@floss.social', '@newFediverse@floss.social'], | |||
[IAccountManager::PROPERTY_PHONE, '1234', '12345'], | |||
[IAccountManager::PROPERTY_ADDRESS, 'Something street 2', 'Another street 3'], | |||
[IAccountManager::PROPERTY_WEBSITE, 'https://examplesite1', 'https://examplesite2'], | |||
@@ -1658,6 +1665,7 @@ class UsersControllerTest extends TestCase { | |||
[IAccountManager::PROPERTY_DISPLAYNAME, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED], | |||
[IAccountManager::PROPERTY_EMAIL, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED], | |||
[IAccountManager::PROPERTY_TWITTER, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED], | |||
[IAccountManager::PROPERTY_FEDIVERSE, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED], | |||
[IAccountManager::PROPERTY_PHONE, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED], | |||
[IAccountManager::PROPERTY_ADDRESS, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED], | |||
[IAccountManager::PROPERTY_WEBSITE, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED], | |||
@@ -3543,6 +3551,7 @@ class UsersControllerTest extends TestCase { | |||
'address' => 'address', | |||
'website' => 'website', | |||
'twitter' => 'twitter', | |||
'fediverse' => 'fediverse', | |||
'organisation' => 'organisation', | |||
'role' => 'role', | |||
'headline' => 'headline', | |||
@@ -3560,6 +3569,7 @@ class UsersControllerTest extends TestCase { | |||
'address' => 'address', | |||
'website' => 'website', | |||
'twitter' => 'twitter', | |||
'fediverse' => 'fediverse', | |||
'organisation' => 'organisation', | |||
'role' => 'role', | |||
'headline' => 'headline', | |||
@@ -3622,6 +3632,7 @@ class UsersControllerTest extends TestCase { | |||
'address' => 'address', | |||
'website' => 'website', | |||
'twitter' => 'twitter', | |||
'fediverse' => 'fediverse', | |||
'displayname' => 'Demo User', | |||
'organisation' => 'organisation', | |||
'role' => 'role', | |||
@@ -3946,6 +3957,7 @@ class UsersControllerTest extends TestCase { | |||
IAccountManager::PROPERTY_ADDRESS, | |||
IAccountManager::PROPERTY_WEBSITE, | |||
IAccountManager::PROPERTY_TWITTER, | |||
IAccountManager::PROPERTY_FEDIVERSE, | |||
IAccountManager::PROPERTY_ORGANISATION, | |||
IAccountManager::PROPERTY_ROLE, | |||
IAccountManager::PROPERTY_HEADLINE, | |||
@@ -3960,6 +3972,7 @@ class UsersControllerTest extends TestCase { | |||
IAccountManager::PROPERTY_ADDRESS, | |||
IAccountManager::PROPERTY_WEBSITE, | |||
IAccountManager::PROPERTY_TWITTER, | |||
IAccountManager::PROPERTY_FEDIVERSE, | |||
IAccountManager::PROPERTY_ORGANISATION, | |||
IAccountManager::PROPERTY_ROLE, | |||
IAccountManager::PROPERTY_HEADLINE, | |||
@@ -3973,6 +3986,7 @@ class UsersControllerTest extends TestCase { | |||
IAccountManager::PROPERTY_ADDRESS, | |||
IAccountManager::PROPERTY_WEBSITE, | |||
IAccountManager::PROPERTY_TWITTER, | |||
IAccountManager::PROPERTY_FEDIVERSE, | |||
IAccountManager::PROPERTY_ORGANISATION, | |||
IAccountManager::PROPERTY_ROLE, | |||
IAccountManager::PROPERTY_HEADLINE, |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => 'a66c80135de5b21d8ad48218b96a90eefde0fc7f', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => 'a66c80135de5b21d8ad48218b96a90eefde0fc7f', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -102,8 +102,7 @@ input#openid, input#webdav { | |||
.profile-settings-container { | |||
display: inline-grid; | |||
grid-template-columns: 1fr; | |||
grid-template-rows: 1fr 1fr 1fr 2fr; | |||
grid-template-columns: 1fr 1fr 1fr; | |||
} | |||
.personal-show-container { | |||
@@ -119,6 +118,15 @@ input#openid, input#webdav { | |||
.personal-settings-setting-box .section input[type=text], .personal-settings-setting-box .section input[type=email], .personal-settings-setting-box .section input[type=tel], .personal-settings-setting-box .section input[type=url] { | |||
width: 100%; | |||
} | |||
.personal-settings-setting-box-profile { | |||
grid-row: 3/5; | |||
} | |||
.personal-settings-setting-box-detail { | |||
grid-row: 5; | |||
} | |||
.personal-settings-setting-box-detail--without-profile { | |||
grid-row: 3; | |||
} | |||
select#timezone { | |||
width: 100%; | |||
@@ -127,8 +135,8 @@ select#timezone { | |||
#personal-settings { | |||
display: grid; | |||
padding: 20px; | |||
max-width: 1500px; | |||
grid-template-columns: 1fr 2fr 1fr; | |||
max-width: 1700px; | |||
grid-template-columns: 1fr 1fr 1fr 1fr; | |||
} | |||
#personal-settings .section { | |||
padding: 10px 10px; | |||
@@ -178,63 +186,27 @@ select#timezone { | |||
background-position: 24px; | |||
} | |||
@media (min-width: 1200px) and (max-width: 1400px) { | |||
@media (min-width: 1400px) and (max-width: 1700px) { | |||
#personal-settings { | |||
display: grid; | |||
grid-template-columns: 1fr 2fr; | |||
} | |||
#personal-settings #personal-settings-avatar-container { | |||
grid-template-columns: 1fr; | |||
grid-template-rows: 1fr; | |||
} | |||
#personal-settings .personal-settings-container { | |||
grid-template-columns: 1fr 1fr; | |||
grid-template-rows: 1fr 1fr 1fr 1fr; | |||
} | |||
#personal-settings .profile-settings-container { | |||
grid-template-columns: 1fr 1fr; | |||
grid-template-rows: 1fr; | |||
grid-column: 2; | |||
grid-template-columns: 1fr 1fr 1fr; | |||
} | |||
} | |||
@media (max-width: 1200px) { | |||
@media (min-width: 800px) and (max-width: 1400px) { | |||
#personal-settings { | |||
display: grid; | |||
grid-template-columns: 1fr; | |||
} | |||
#personal-settings #personal-settings-avatar-container { | |||
grid-template-rows: 1fr; | |||
} | |||
#personal-settings .personal-settings-container { | |||
grid-template-columns: 1fr 1fr; | |||
grid-template-rows: 1fr 1fr 1fr 1fr; | |||
} | |||
#personal-settings .profile-settings-container { | |||
grid-template-columns: 1fr 1fr; | |||
grid-template-rows: 1fr; | |||
} | |||
} | |||
@media (max-width: 560px) { | |||
@media (max-width: 800px) { | |||
#personal-settings { | |||
display: grid; | |||
grid-template-columns: 1fr; | |||
} | |||
#personal-settings #personal-settings-avatar-container { | |||
grid-template-rows: 1fr; | |||
} | |||
#personal-settings .personal-settings-container { | |||
grid-template-columns: 1fr; | |||
grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr; | |||
} | |||
#personal-settings .profile-settings-container { | |||
grid-template-columns: 1fr; | |||
grid-template-rows: 1fr 1fr; | |||
} | |||
} | |||
.personal-settings-container { | |||
display: inline-grid; | |||
grid-template-columns: 1fr 1fr; | |||
grid-template-rows: 1fr 1fr 1fr 1fr 1fr; | |||
grid-template-columns: 1fr 1fr 1fr; | |||
} | |||
.personal-settings-container:after { | |||
clear: both; |
@@ -45,8 +45,7 @@ input { | |||
.profile-settings-container { | |||
display: inline-grid; | |||
grid-template-columns: 1fr; | |||
grid-template-rows: 1fr 1fr 1fr 2fr; | |||
grid-template-columns: 1fr 1fr 1fr; | |||
} | |||
.personal-show-container { | |||
@@ -67,6 +66,17 @@ input { | |||
} | |||
} | |||
} | |||
&-profile { | |||
grid-row: 3/5; | |||
} | |||
&-detail { | |||
grid-row: 5; | |||
} | |||
&-detail--without-profile { | |||
grid-row: 3; | |||
} | |||
} | |||
select { | |||
@@ -78,8 +88,8 @@ select { | |||
#personal-settings { | |||
display: grid; | |||
padding: 20px; | |||
max-width: 1500px; | |||
grid-template-columns: 1fr 2fr 1fr; | |||
max-width: 1700px; | |||
grid-template-columns: 1fr 1fr 1fr 1fr; | |||
.section { | |||
padding: 10px 10px; | |||
@@ -139,77 +149,30 @@ select { | |||
} | |||
} | |||
@media (min-width: 1200px) and (max-width: 1400px) { | |||
@media (min-width: 1400px) and (max-width: 1700px) { | |||
#personal-settings { | |||
display: grid; | |||
grid-template-columns: 1fr 2fr; | |||
#personal-settings-avatar-container { | |||
grid-template-columns: 1fr; | |||
grid-template-rows: 1fr; | |||
} | |||
.personal-settings-container { | |||
grid-template-columns: 1fr 1fr; | |||
grid-template-rows: 1fr 1fr 1fr 1fr; | |||
} | |||
.profile-settings-container { | |||
grid-template-columns: 1fr 1fr; | |||
grid-template-rows: 1fr; | |||
grid-column: 2; | |||
} | |||
grid-template-columns: 1fr 1fr 1fr; | |||
} | |||
} | |||
@media (max-width: 1200px) { | |||
@media (min-width: 800px) and (max-width: 1400px) { | |||
#personal-settings { | |||
display: grid; | |||
grid-template-columns: 1fr; | |||
#personal-settings-avatar-container { | |||
grid-template-rows: 1fr; | |||
} | |||
.personal-settings-container { | |||
grid-template-columns: 1fr 1fr; | |||
grid-template-rows: 1fr 1fr 1fr 1fr; | |||
} | |||
.profile-settings-container { | |||
grid-template-columns: 1fr 1fr; | |||
grid-template-rows: 1fr; | |||
} | |||
grid-template-columns: 1fr 1fr; | |||
} | |||
} | |||
@media (max-width: 560px) { | |||
@media (max-width: 800px) { | |||
#personal-settings { | |||
display: grid; | |||
grid-template-columns: 1fr; | |||
#personal-settings-avatar-container { | |||
grid-template-rows: 1fr; | |||
} | |||
.personal-settings-container { | |||
grid-template-columns: 1fr; | |||
grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr; | |||
} | |||
.profile-settings-container { | |||
grid-template-columns: 1fr; | |||
grid-template-rows: 1fr 1fr; | |||
} | |||
} | |||
} | |||
.personal-settings-container { | |||
display: inline-grid; | |||
grid-template-columns: 1fr 1fr; | |||
grid-template-rows: 1fr 1fr 1fr 1fr 1fr; | |||
grid-template-columns: 1fr 1fr 1fr; | |||
&:after { | |||
clear: both; |
@@ -358,6 +358,8 @@ class UsersController extends Controller { | |||
* @param string|null $addressScope | |||
* @param string|null $twitter | |||
* @param string|null $twitterScope | |||
* @param string|null $fediverse | |||
* @param string|null $fediverseScope | |||
* | |||
* @return DataResponse | |||
*/ | |||
@@ -373,7 +375,9 @@ class UsersController extends Controller { | |||
?string $address = null, | |||
?string $addressScope = null, | |||
?string $twitter = null, | |||
?string $twitterScope = null | |||
?string $twitterScope = null, | |||
?string $fediverse = null, | |||
?string $fediverseScope = null | |||
) { | |||
$user = $this->userSession->getUser(); | |||
if (!$user instanceof IUser) { | |||
@@ -412,6 +416,7 @@ class UsersController extends Controller { | |||
IAccountManager::PROPERTY_ADDRESS => ['value' => $address, 'scope' => $addressScope], | |||
IAccountManager::PROPERTY_PHONE => ['value' => $phone, 'scope' => $phoneScope], | |||
IAccountManager::PROPERTY_TWITTER => ['value' => $twitter, 'scope' => $twitterScope], | |||
IAccountManager::PROPERTY_FEDIVERSE => ['value' => $fediverse, 'scope' => $fediverseScope], | |||
]; | |||
$allowUserToChangeDisplayName = $this->config->getSystemValueBool('allow_user_to_change_display_name', true); | |||
foreach ($updatable as $property => $data) { | |||
@@ -451,6 +456,8 @@ class UsersController extends Controller { | |||
'addressScope' => $userAccount->getProperty(IAccountManager::PROPERTY_ADDRESS)->getScope(), | |||
'twitter' => $userAccount->getProperty(IAccountManager::PROPERTY_TWITTER)->getValue(), | |||
'twitterScope' => $userAccount->getProperty(IAccountManager::PROPERTY_TWITTER)->getScope(), | |||
'fediverse' => $userAccount->getProperty(IAccountManager::PROPERTY_FEDIVERSE)->getValue(), | |||
'fediverseScope' => $userAccount->getProperty(IAccountManager::PROPERTY_FEDIVERSE)->getScope(), | |||
'message' => $this->l10n->t('Settings saved'), | |||
], | |||
], |
@@ -157,6 +157,7 @@ class PersonalInfo implements ISettings { | |||
'location' => $this->getProperty($account, IAccountManager::PROPERTY_ADDRESS), | |||
'website' => $this->getProperty($account, IAccountManager::PROPERTY_WEBSITE), | |||
'twitter' => $this->getProperty($account, IAccountManager::PROPERTY_TWITTER), | |||
'fediverse' => $this->getProperty($account, IAccountManager::PROPERTY_FEDIVERSE), | |||
'languageMap' => $this->getLanguageMap($user), | |||
'localeMap' => $this->getLocaleMap($user), | |||
'profileEnabledGlobally' => $this->profileManager->isProfileEnabled(), |
@@ -276,6 +276,9 @@ export default { | |||
</script> | |||
<style lang="scss" scoped> | |||
section { | |||
grid-row: 1/3; | |||
} | |||
.avatar { | |||
&__container { | |||
margin: 0 auto; |
@@ -0,0 +1,50 @@ | |||
<!-- | |||
- @copyright 2022 Christopher Ng <chrng8@gmail.com> | |||
- | |||
- @author Christopher Ng <chrng8@gmail.com> | |||
- | |||
- @license AGPL-3.0-or-later | |||
- | |||
- This program is free software: you can redistribute it and/or modify | |||
- it under the terms of the GNU Affero General Public License as | |||
- published by the Free Software Foundation, either version 3 of the | |||
- License, or (at your option) any later version. | |||
- | |||
- This program is distributed in the hope that it will be useful, | |||
- but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
- GNU Affero General Public License for more details. | |||
- | |||
- You should have received a copy of the GNU Affero General Public License | |||
- along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
- | |||
--> | |||
<template> | |||
<AccountPropertySection v-bind.sync="fediverse" | |||
:placeholder="t('settings', 'Your handle')" /> | |||
</template> | |||
<script> | |||
import { loadState } from '@nextcloud/initial-state' | |||
import AccountPropertySection from './shared/AccountPropertySection.vue' | |||
import { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js' | |||
const { fediverse } = loadState('settings', 'personalInfoParameters', {}) | |||
export default { | |||
name: 'FediverseSection', | |||
components: { | |||
AccountPropertySection, | |||
}, | |||
data() { | |||
return { | |||
fediverse: { ...fediverse, readable: NAME_READABLE_ENUM[fediverse.name] }, | |||
} | |||
}, | |||
} | |||
</script> |
@@ -36,6 +36,7 @@ export const ACCOUNT_PROPERTY_ENUM = Object.freeze({ | |||
EMAIL: 'email', | |||
HEADLINE: 'headline', | |||
NOTIFICATION_EMAIL: 'notify_email', | |||
FEDIVERSE: 'fediverse', | |||
ORGANISATION: 'organisation', | |||
PHONE: 'phone', | |||
PROFILE_ENABLED: 'profile_enabled', | |||
@@ -58,6 +59,7 @@ export const ACCOUNT_PROPERTY_READABLE_ENUM = Object.freeze({ | |||
PROFILE_ENABLED: t('settings', 'Profile'), | |||
ROLE: t('settings', 'Role'), | |||
TWITTER: t('settings', 'Twitter'), | |||
FEDIVERSE: t('settings', 'Fediverse (e.g. Mastodon)'), | |||
WEBSITE: t('settings', 'Website'), | |||
}) | |||
@@ -74,6 +76,7 @@ export const NAME_READABLE_ENUM = Object.freeze({ | |||
[ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED]: ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED, | |||
[ACCOUNT_PROPERTY_ENUM.ROLE]: ACCOUNT_PROPERTY_READABLE_ENUM.ROLE, | |||
[ACCOUNT_PROPERTY_ENUM.TWITTER]: ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER, | |||
[ACCOUNT_PROPERTY_ENUM.FEDIVERSE]: ACCOUNT_PROPERTY_READABLE_ENUM.FEDIVERSE, | |||
[ACCOUNT_PROPERTY_ENUM.WEBSITE]: ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE, | |||
}) | |||
@@ -96,6 +99,7 @@ export const PROPERTY_READABLE_KEYS_ENUM = Object.freeze({ | |||
[ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED]: ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED, | |||
[ACCOUNT_PROPERTY_READABLE_ENUM.ROLE]: ACCOUNT_PROPERTY_ENUM.ROLE, | |||
[ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER]: ACCOUNT_PROPERTY_ENUM.TWITTER, | |||
[ACCOUNT_PROPERTY_READABLE_ENUM.FEDIVERSE]: ACCOUNT_PROPERTY_ENUM.FEDIVERSE, | |||
[ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE]: ACCOUNT_PROPERTY_ENUM.WEBSITE, | |||
}) | |||
@@ -137,6 +141,7 @@ export const PROPERTY_READABLE_SUPPORTED_SCOPES_ENUM = Object.freeze({ | |||
[ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE], | |||
[ACCOUNT_PROPERTY_READABLE_ENUM.ROLE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE], | |||
[ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE], | |||
[ACCOUNT_PROPERTY_READABLE_ENUM.FEDIVERSE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE], | |||
[ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE], | |||
}) | |||
@@ -34,6 +34,7 @@ import PhoneSection from './components/PersonalInfo/PhoneSection.vue' | |||
import LocationSection from './components/PersonalInfo/LocationSection.vue' | |||
import WebsiteSection from './components/PersonalInfo/WebsiteSection.vue' | |||
import TwitterSection from './components/PersonalInfo/TwitterSection.vue' | |||
import FediverseSection from './components/PersonalInfo/FediverseSection.vue' | |||
import LanguageSection from './components/PersonalInfo/LanguageSection/LanguageSection.vue' | |||
import LocaleSection from './components/PersonalInfo/LocaleSection/LocaleSection.vue' | |||
import ProfileSection from './components/PersonalInfo/ProfileSection/ProfileSection.vue' | |||
@@ -61,6 +62,7 @@ const PhoneView = Vue.extend(PhoneSection) | |||
const LocationView = Vue.extend(LocationSection) | |||
const WebsiteView = Vue.extend(WebsiteSection) | |||
const TwitterView = Vue.extend(TwitterSection) | |||
const FediverseView = Vue.extend(FediverseSection) | |||
const LanguageView = Vue.extend(LanguageSection) | |||
const LocaleView = Vue.extend(LocaleSection) | |||
@@ -72,6 +74,7 @@ new PhoneView().$mount('#vue-phone-section') | |||
new LocationView().$mount('#vue-location-section') | |||
new WebsiteView().$mount('#vue-website-section') | |||
new TwitterView().$mount('#vue-twitter-section') | |||
new FediverseView().$mount('#vue-fediverse-section') | |||
new LanguageView().$mount('#vue-language-section') | |||
new LocaleView().$mount('#vue-locale-section') | |||
@@ -45,67 +45,63 @@ script('settings', [ | |||
<div id="personal-settings"> | |||
<h2 class="hidden-visually"><?php p($l->t('Personal info')); ?></h2> | |||
<div id="personal-settings-avatar-container" class="personal-settings-container"> | |||
<div id="vue-avatar-section"></div> | |||
<div class="personal-settings-setting-box personal-settings-group-box section"> | |||
<div id="vue-details-section"></div> | |||
<div id="vue-avatar-section"></div> | |||
<?php if ($_['profileEnabledGlobally']) : ?> | |||
<div class="personal-settings-setting-box personal-settings-setting-box-profile"> | |||
<div id="vue-profile-section"></div> | |||
</div> | |||
</div> | |||
<div class="personal-settings-container"> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-displayname-section"></div> | |||
<div class="personal-settings-setting-box personal-settings-setting-box-detail"> | |||
<div id="vue-details-section"></div> | |||
</div> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-email-section"></div> | |||
<?php else: ?> | |||
<div class="personal-settings-setting-box personal-settings-setting-box-detail--without-profile"> | |||
<div id="vue-details-section"></div> | |||
</div> | |||
<?php endif; ?> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-displayname-section"></div> | |||
</div> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-email-section"></div> | |||
</div> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-phone-section"></div> | |||
</div> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-location-section"></div> | |||
</div> | |||
<div class="personal-settings-setting-box personal-settings-language-box"> | |||
<div id="vue-language-section"></div> | |||
</div> | |||
<div class="personal-settings-setting-box personal-settings-locale-box"> | |||
<div id="vue-locale-section"></div> | |||
</div> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-website-section"></div> | |||
</div> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-twitter-section"></div> | |||
</div> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-fediverse-section"></div> | |||
</div> | |||
<?php if ($_['profileEnabledGlobally']) : ?> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-phone-section"></div> | |||
<div id="vue-organisation-section"></div> | |||
</div> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-location-section"></div> | |||
<div id="vue-role-section"></div> | |||
</div> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-website-section"></div> | |||
<div id="vue-headline-section"></div> | |||
</div> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-twitter-section"></div> | |||
</div> | |||
<?php if ($_['profileEnabledGlobally']) : ?> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-organisation-section"></div> | |||
</div> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-role-section"></div> | |||
</div> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-headline-section"></div> | |||
</div> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-biography-section"></div> | |||
</div> | |||
<?php endif; ?> | |||
</div> | |||
<div class="profile-settings-container"> | |||
<?php if ($_['profileEnabledGlobally']) : ?> | |||
<div class="personal-settings-setting-box"> | |||
<div id="vue-profile-section"></div> | |||
</div> | |||
<?php endif; ?> | |||
<div class="personal-settings-setting-box personal-settings-language-box"> | |||
<div id="vue-language-section"></div> | |||
</div> | |||
<div class="personal-settings-setting-box personal-settings-locale-box"> | |||
<div id="vue-locale-section"></div> | |||
<div id="vue-biography-section"></div> | |||
</div> | |||
<span class="msg"></span> | |||
</div> | |||
<div id="personal-settings-group-container"> | |||
</div> | |||
<?php endif; ?> | |||
<span class="msg"></span> | |||
<div id="personal-settings-group-container"></div> | |||
</div> | |||
<?php if ($_['profileEnabledGlobally']) : ?> |
@@ -241,6 +241,11 @@ class UsersControllerTest extends \Test\TestCase { | |||
'Default twitter', | |||
IAccountManager::SCOPE_LOCAL, | |||
), | |||
IAccountManager::PROPERTY_FEDIVERSE => $this->buildPropertyMock( | |||
IAccountManager::PROPERTY_FEDIVERSE, | |||
'Default twitter', | |||
IAccountManager::SCOPE_LOCAL, | |||
), | |||
]; | |||
$account = $this->createMock(IAccount::class); | |||
@@ -336,6 +341,8 @@ class UsersControllerTest extends \Test\TestCase { | |||
$addressScope = IAccountManager::SCOPE_PUBLISHED; | |||
$twitter = '@nextclouders'; | |||
$twitterScope = IAccountManager::SCOPE_PUBLISHED; | |||
$fediverse = '@nextclouders@floss.social'; | |||
$fediverseScope = IAccountManager::SCOPE_PUBLISHED; | |||
$user = $this->createMock(IUser::class); | |||
$user->method('getUID')->willReturn('johndoe'); | |||
@@ -410,7 +417,9 @@ class UsersControllerTest extends \Test\TestCase { | |||
$address, | |||
$addressScope, | |||
$twitter, | |||
$twitterScope | |||
$twitterScope, | |||
$fediverse, | |||
$fediverseScope | |||
); | |||
} | |||
@@ -447,6 +456,8 @@ class UsersControllerTest extends \Test\TestCase { | |||
$addressScope = IAccountManager::SCOPE_PUBLISHED; | |||
$twitter = '@nextclouders'; | |||
$twitterScope = IAccountManager::SCOPE_PUBLISHED; | |||
$fediverse = '@nextclouders@floss.social'; | |||
$fediverseScope = IAccountManager::SCOPE_PUBLISHED; | |||
// All settings are changed (in the past phone, website, address and | |||
// twitter were not changed). | |||
@@ -464,6 +475,8 @@ class UsersControllerTest extends \Test\TestCase { | |||
$expectedProperties[IAccountManager::PROPERTY_ADDRESS]['scope'] = $addressScope; | |||
$expectedProperties[IAccountManager::PROPERTY_TWITTER]['value'] = $twitter; | |||
$expectedProperties[IAccountManager::PROPERTY_TWITTER]['scope'] = $twitterScope; | |||
$expectedProperties[IAccountManager::PROPERTY_FEDIVERSE]['value'] = $fediverse; | |||
$expectedProperties[IAccountManager::PROPERTY_FEDIVERSE]['scope'] = $fediverseScope; | |||
$this->mailer->expects($this->once())->method('validateMailAddress') | |||
->willReturn(true); | |||
@@ -485,7 +498,9 @@ class UsersControllerTest extends \Test\TestCase { | |||
$address, | |||
$addressScope, | |||
$twitter, | |||
$twitterScope | |||
$twitterScope, | |||
$fediverse, | |||
$fediverseScope | |||
); | |||
} | |||
@@ -523,6 +538,8 @@ class UsersControllerTest extends \Test\TestCase { | |||
$addressScope = ($property === 'addressScope') ? $propertyValue : null; | |||
$twitter = ($property === 'twitter') ? $propertyValue : null; | |||
$twitterScope = ($property === 'twitterScope') ? $propertyValue : null; | |||
$fediverse = ($property === 'fediverse') ? $propertyValue : null; | |||
$fediverseScope = ($property === 'fediverseScope') ? $propertyValue : null; | |||
/** @var IAccountProperty[]|MockObject[] $expectedProperties */ | |||
$expectedProperties = $userAccount->getProperties(); | |||
@@ -555,6 +572,10 @@ class UsersControllerTest extends \Test\TestCase { | |||
case 'twitterScope': | |||
$propertyId = IAccountManager::PROPERTY_TWITTER; | |||
break; | |||
case 'fediverse': | |||
case 'fediverseScope': | |||
$propertyId = IAccountManager::PROPERTY_FEDIVERSE; | |||
break; | |||
default: | |||
$propertyId = '404'; | |||
} | |||
@@ -584,7 +605,9 @@ class UsersControllerTest extends \Test\TestCase { | |||
$address, | |||
$addressScope, | |||
$twitter, | |||
$twitterScope | |||
$twitterScope, | |||
$fediverse, | |||
$fediverseScope | |||
); | |||
} | |||
@@ -603,6 +626,8 @@ class UsersControllerTest extends \Test\TestCase { | |||
['addressScope', IAccountManager::SCOPE_PUBLISHED], | |||
['twitter', '@nextclouders'], | |||
['twitterScope', IAccountManager::SCOPE_PUBLISHED], | |||
['fediverse', '@nextclouders@floss.social'], | |||
['fediverseScope', IAccountManager::SCOPE_PUBLISHED], | |||
]; | |||
} | |||
@@ -822,7 +847,7 @@ class UsersControllerTest extends \Test\TestCase { | |||
$signature = 'theSignature'; | |||
$code = $message . ' ' . $signature; | |||
if ($type === IAccountManager::PROPERTY_TWITTER) { | |||
if ($type === IAccountManager::PROPERTY_TWITTER || $type === IAccountManager::PROPERTY_FEDIVERSE) { | |||
$code = $message . ' ' . md5($signature); | |||
} | |||
@@ -1 +1 @@ | |||
{"address":{"visibility":"show_users_only"},"avatar":{"visibility":"show_users_only"},"biography":{"visibility":"show"},"displayname":{"visibility":"show"},"headline":{"visibility":"show"},"organisation":{"visibility":"show"},"role":{"visibility":"show"},"email":{"visibility":"hide"},"phone":{"visibility":"hide"},"twitter":{"visibility":"show_users_only"},"website":{"visibility":"show_users_only"},"talk":{"visibility":"show"}} | |||
{"address":{"visibility":"show_users_only"},"avatar":{"visibility":"show_users_only"},"biography":{"visibility":"show"},"displayname":{"visibility":"show"},"fediverse":{"visibility":"show_users_only"},"headline":{"visibility":"show"},"organisation":{"visibility":"show"},"role":{"visibility":"show"},"email":{"visibility":"hide"},"phone":{"visibility":"hide"},"twitter":{"visibility":"show_users_only"},"website":{"visibility":"show_users_only"},"talk":{"visibility":"show"}} |
@@ -1 +1 @@ | |||
{"displayname":{"name":"displayname","value":"Steve Smith","scope":"v2-local","verified":"0","verificationData":""},"address":{"name":"address","value":"123 Water St","scope":"v2-local","verified":"0","verificationData":""},"website":{"name":"website","value":"https:\/\/example.org","scope":"v2-local","verified":"0","verificationData":""},"email":{"name":"email","value":"steve@example.org","scope":"v2-federated","verified":"0","verificationData":""},"avatar":{"name":"avatar","value":"","scope":"v2-local","verified":"0","verificationData":""},"phone":{"name":"phone","value":"+12178515387","scope":"v2-private","verified":"0","verificationData":""},"twitter":{"name":"twitter","value":"steve","scope":"v2-federated","verified":"0","verificationData":""},"organisation":{"name":"organisation","value":"Mytery Machine","scope":"v2-private","verified":"0","verificationData":""},"role":{"name":"role","value":"Manager","scope":"v2-private","verified":"0","verificationData":""},"headline":{"name":"headline","value":"I am Steve","scope":"v2-local","verified":"0","verificationData":""},"biography":{"name":"biography","value":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris porttitor ullamcorper dictum. Sed fermentum ut ligula scelerisque semper. Aliquam interdum convallis tellus eu dapibus. Integer in justo sollicitudin, hendrerit ligula sit amet, blandit sem.\n\nSuspendisse consectetur ultrices accumsan. Quisque sagittis bibendum lectus ut placerat. Mauris tincidunt ornare neque, et pulvinar tortor porttitor eu.","scope":"v2-local","verified":"0","verificationData":""},"profile_enabled":{"name":"profile_enabled","value":"1","scope":"v2-local","verified":"0","verificationData":""},"additional_mail":[{"name":"additional_mail","value":"steve@example.com","scope":"v2-published","verified":"0","verificationData":""},{"name":"additional_mail","value":"steve@earth.world","scope":"v2-local","verified":"0","verificationData":""}]} | |||
{"displayname":{"name":"displayname","value":"Steve Smith","scope":"v2-local","verified":"0","verificationData":""},"address":{"name":"address","value":"123 Water St","scope":"v2-local","verified":"0","verificationData":""},"website":{"name":"website","value":"https:\/\/example.org","scope":"v2-local","verified":"0","verificationData":""},"email":{"name":"email","value":"steve@example.org","scope":"v2-federated","verified":"0","verificationData":""},"avatar":{"name":"avatar","value":"","scope":"v2-local","verified":"0","verificationData":""},"phone":{"name":"phone","value":"+12178515387","scope":"v2-private","verified":"0","verificationData":""},"twitter":{"name":"twitter","value":"steve","scope":"v2-federated","verified":"0","verificationData":""},"fediverse":{"name":"fediverse","value":"@steve@floss.social","scope":"v2-federated","verified":"0","verificationData":""},"organisation":{"name":"organisation","value":"Mytery Machine","scope":"v2-private","verified":"0","verificationData":""},"role":{"name":"role","value":"Manager","scope":"v2-private","verified":"0","verificationData":""},"headline":{"name":"headline","value":"I am Steve","scope":"v2-local","verified":"0","verificationData":""},"biography":{"name":"biography","value":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris porttitor ullamcorper dictum. Sed fermentum ut ligula scelerisque semper. Aliquam interdum convallis tellus eu dapibus. Integer in justo sollicitudin, hendrerit ligula sit amet, blandit sem.\n\nSuspendisse consectetur ultrices accumsan. Quisque sagittis bibendum lectus ut placerat. Mauris tincidunt ornare neque, et pulvinar tortor porttitor eu.","scope":"v2-local","verified":"0","verificationData":""},"profile_enabled":{"name":"profile_enabled","value":"1","scope":"v2-local","verified":"0","verificationData":""},"additional_mail":[{"name":"additional_mail","value":"steve@example.com","scope":"v2-published","verified":"0","verificationData":""},{"name":"additional_mail","value":"steve@earth.world","scope":"v2-local","verified":"0","verificationData":""}]} |
@@ -1 +1 @@ | |||
{"address":{"visibility":"show_users_only"},"avatar":{"visibility":"show"},"biography":{"visibility":"show"},"displayname":{"visibility":"show"},"headline":{"visibility":"show"},"organisation":{"visibility":"show"},"role":{"visibility":"show"},"email":{"visibility":"show_users_only"},"phone":{"visibility":"show_users_only"},"twitter":{"visibility":"show"},"website":{"visibility":"show"}} | |||
{"address":{"visibility":"show_users_only"},"avatar":{"visibility":"show"},"biography":{"visibility":"show"},"displayname":{"visibility":"show"},"fediverse":{"visibility":"show"},"headline":{"visibility":"show"},"organisation":{"visibility":"show"},"role":{"visibility":"show"},"email":{"visibility":"show_users_only"},"phone":{"visibility":"show_users_only"},"twitter":{"visibility":"show"},"website":{"visibility":"show"}} |
@@ -1 +1 @@ | |||
{"displayname":{"name":"displayname","value":"Emma Jones","scope":"v2-federated","verified":"0","verificationData":""},"address":{"name":"address","value":"920 Grass St","scope":"v2-local","verified":"0","verificationData":""},"website":{"name":"website","value":"","scope":"v2-local","verified":"0","verificationData":""},"email":{"name":"email","value":"","scope":"v2-federated","verified":"0","verificationData":""},"avatar":{"name":"avatar","value":"","scope":"v2-federated","verified":"0","verificationData":""},"phone":{"name":"phone","value":"","scope":"v2-local","verified":"0","verificationData":""},"twitter":{"name":"twitter","value":"","scope":"v2-local","verified":"0","verificationData":""},"organisation":{"name":"organisation","value":"","scope":"v2-local","verified":"0","verificationData":""},"role":{"name":"role","value":"","scope":"v2-local","verified":"0","verificationData":""},"headline":{"name":"headline","value":"","scope":"v2-local","verified":"0","verificationData":""},"biography":{"name":"biography","value":"","scope":"v2-local","verified":"0","verificationData":""},"profile_enabled":{"name":"profile_enabled","value":"1","scope":"v2-local","verified":"0","verificationData":""},"additional_mail":[]} | |||
{"displayname":{"name":"displayname","value":"Emma Jones","scope":"v2-federated","verified":"0","verificationData":""},"address":{"name":"address","value":"920 Grass St","scope":"v2-local","verified":"0","verificationData":""},"website":{"name":"website","value":"","scope":"v2-local","verified":"0","verificationData":""},"email":{"name":"email","value":"","scope":"v2-federated","verified":"0","verificationData":""},"avatar":{"name":"avatar","value":"","scope":"v2-federated","verified":"0","verificationData":""},"phone":{"name":"phone","value":"","scope":"v2-local","verified":"0","verificationData":""},"twitter":{"name":"twitter","value":"","scope":"v2-local","verified":"0","verificationData":""},"fediverse":{"name":"fediverse","value":"","scope":"v2-local","verified":"0","verificationData":""},"organisation":{"name":"organisation","value":"","scope":"v2-local","verified":"0","verificationData":""},"role":{"name":"role","value":"","scope":"v2-local","verified":"0","verificationData":""},"headline":{"name":"headline","value":"","scope":"v2-local","verified":"0","verificationData":""},"biography":{"name":"biography","value":"","scope":"v2-local","verified":"0","verificationData":""},"profile_enabled":{"name":"profile_enabled","value":"1","scope":"v2-local","verified":"0","verificationData":""},"additional_mail":[]} |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -3,7 +3,7 @@ | |||
'name' => '__root__', | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), | |||
@@ -13,7 +13,7 @@ | |||
'__root__' => array( | |||
'pretty_version' => 'dev-master', | |||
'version' => 'dev-master', | |||
'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', | |||
'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', | |||
'type' => 'library', | |||
'install_path' => __DIR__ . '/../', | |||
'aliases' => array(), |
@@ -67,6 +67,7 @@ Feature: provisioning | |||
| address | | |||
| website | | |||
| twitter | | |||
| fediverse | | |||
| organisation | | |||
| role | | |||
| headline | | |||
@@ -81,6 +82,7 @@ Feature: provisioning | |||
| address | | |||
| website | | |||
| twitter | | |||
| fediverse | | |||
| organisation | | |||
| role | | |||
| headline | | |||
@@ -94,6 +96,7 @@ Feature: provisioning | |||
| address | | |||
| website | | |||
| twitter | | |||
| fediverse | | |||
| organisation | | |||
| role | | |||
| headline | |
@@ -1299,11 +1299,6 @@ | |||
<code>\Sabre\Uri\split($this->principalInfo['uri'])</code> | |||
</UndefinedFunction> | |||
</file> | |||
<file src="apps/files_versions/lib/Storage.php"> | |||
<InvalidScalarArgument occurrences="1"> | |||
<code>$timestamp</code> | |||
</InvalidScalarArgument> | |||
</file> | |||
<file src="apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php"> | |||
<InvalidScalarArgument occurrences="1"> | |||
<code>$this->retries + 1</code> |
@@ -216,7 +216,7 @@ class ClientFlowLoginV2Controller extends Controller { | |||
return $response; | |||
} | |||
$result = $this->loginFlowV2Service->flowDoneWithAppPassword($loginToken, $this->getServerPath(), $this->userId, $password); | |||
$result = $this->loginFlowV2Service->flowDoneWithAppPassword($loginToken, $this->getServerPath(), $user, $password); | |||
return $this->handleFlowDone($result); | |||
} | |||
@@ -0,0 +1,40 @@ | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<svg | |||
fill="#000000" | |||
viewBox="0 0 32 32" | |||
width="32px" | |||
height="32px" | |||
version="1.1" | |||
id="svg4" | |||
sodipodi:docname="mastodon.svg" | |||
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" | |||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |||
xmlns="http://www.w3.org/2000/svg" | |||
xmlns:svg="http://www.w3.org/2000/svg"> | |||
<defs | |||
id="defs8" /> | |||
<sodipodi:namedview | |||
id="namedview6" | |||
pagecolor="#ffffff" | |||
bordercolor="#000000" | |||
borderopacity="0.25" | |||
inkscape:showpageshadow="2" | |||
inkscape:pageopacity="0.0" | |||
inkscape:pagecheckerboard="0" | |||
inkscape:deskcolor="#d1d1d1" | |||
showgrid="false" | |||
inkscape:zoom="27.21875" | |||
inkscape:cx="23.990815" | |||
inkscape:cy="11.646383" | |||
inkscape:window-width="1920" | |||
inkscape:window-height="1007" | |||
inkscape:window-x="0" | |||
inkscape:window-y="0" | |||
inkscape:window-maximized="1" | |||
inkscape:current-layer="svg4" /> | |||
<path | |||
d="M 16.092108,4.0424002e-4 C 12.062352,0.01674741 8.0611741,0.52836757 5.9792557,1.4882781 c 0,0 -4.4792557,2.0390593 -4.4792557,8.9845679 0,8.267636 -0.006,18.650381 7.4211287,20.658254 2.8443783,0.76446 5.2904523,0.928996 7.2569683,0.815594 3.568811,-0.201455 5.333936,-1.295049 5.333936,-1.295049 l -0.119865,-2.637001 c 0,0 -2.313201,0.815177 -5.177591,0.721787 -2.837706,-0.100064 -5.827232,-0.31302 -6.2928463,-3.856484 -0.042694,-0.329532 -0.063873,-0.663192 -0.062538,-0.995391 6.0129483,1.492897 11.1403013,0.650223 12.5518183,0.479455 3.941035,-0.478955 7.371787,-2.95017 7.809382,-5.208861 0.685746,-3.559473 0.627983,-8.682304 0.627983,-8.682304 0,-6.9455086 -4.47144,-8.9845679 -4.47144,-8.9845679 C 24.181616,0.4629949 20.121863,-0.01593892 16.092108,4.0424002e-4 Z M 11.779618,5.2978601 c 1.380664,0.037022 2.744984,0.6547271 3.585489,1.9595116 l 0.81299,1.3810381 0.810383,-1.3810381 c 1.687681,-2.6242446 5.470248,-2.4605003 7.269996,-0.429946 1.659664,1.9318288 1.289838,3.1786613 1.289838,11.8091823 v 0.0025 H 22.28333 v -7.509723 c 0,-3.5154475 -4.481861,-3.6512167 -4.481861,0.487271 v 4.351575 H 14.55733 V 11.6167 c 0,-4.1384877 -4.479254,-4.0053242 -4.479254,-0.489878 v 7.509724 H 6.8052731 c 0,-8.6371452 -0.3631558,-9.8919821 1.2898381,-11.8091356 C 9.0016558,5.8054625 10.398956,5.2608226 11.779618,5.2978448 Z" | |||
id="path2" | |||
style="stroke-width:1.33413" /> | |||
</svg> |
@@ -3,8 +3,21 @@ | |||
// autoload.php @generated by Composer | |||
if (PHP_VERSION_ID < 50600) { | |||
echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
exit(1); | |||
if (!headers_sent()) { | |||
header('HTTP/1.1 500 Internal Server Error'); | |||
} | |||
$err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | |||
if (!ini_get('display_errors')) { | |||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | |||
fwrite(STDERR, $err); | |||
} elseif (!headers_sent()) { | |||
echo $err; | |||
} | |||
} | |||
trigger_error( | |||
$err, | |||
E_USER_ERROR | |||
); | |||
} | |||
require_once __DIR__ . '/composer/autoload_real.php'; |
@@ -1418,6 +1418,7 @@ return array( | |||
'OC\\Preview\\WebP' => $baseDir . '/lib/private/Preview/WebP.php', | |||
'OC\\Preview\\XBitmap' => $baseDir . '/lib/private/Preview/XBitmap.php', | |||
'OC\\Profile\\Actions\\EmailAction' => $baseDir . '/lib/private/Profile/Actions/EmailAction.php', | |||
'OC\\Profile\\Actions\\FediverseAction' => $baseDir . '/lib/private/Profile/Actions/FediverseAction.php', | |||
'OC\\Profile\\Actions\\PhoneAction' => $baseDir . '/lib/private/Profile/Actions/PhoneAction.php', | |||
'OC\\Profile\\Actions\\TwitterAction' => $baseDir . '/lib/private/Profile/Actions/TwitterAction.php', | |||
'OC\\Profile\\Actions\\WebsiteAction' => $baseDir . '/lib/private/Profile/Actions/WebsiteAction.php', |
@@ -1451,6 +1451,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2 | |||
'OC\\Preview\\WebP' => __DIR__ . '/../../..' . '/lib/private/Preview/WebP.php', | |||
'OC\\Preview\\XBitmap' => __DIR__ . '/../../..' . '/lib/private/Preview/XBitmap.php', | |||
'OC\\Profile\\Actions\\EmailAction' => __DIR__ . '/../../..' . '/lib/private/Profile/Actions/EmailAction.php', | |||
'OC\\Profile\\Actions\\FediverseAction' => __DIR__ . '/../../..' . '/lib/private/Profile/Actions/FediverseAction.php', | |||
'OC\\Profile\\Actions\\PhoneAction' => __DIR__ . '/../../..' . '/lib/private/Profile/Actions/PhoneAction.php', | |||
'OC\\Profile\\Actions\\TwitterAction' => __DIR__ . '/../../..' . '/lib/private/Profile/Actions/TwitterAction.php', | |||
'OC\\Profile\\Actions\\WebsiteAction' => __DIR__ . '/../../..' . '/lib/private/Profile/Actions/WebsiteAction.php', |
@@ -131,6 +131,7 @@ class AccountManager implements IAccountManager { | |||
self::PROPERTY_AVATAR => self::SCOPE_FEDERATED, | |||
self::PROPERTY_PHONE => self::SCOPE_LOCAL, | |||
self::PROPERTY_TWITTER => self::SCOPE_LOCAL, | |||
self::PROPERTY_FEDIVERSE => self::SCOPE_LOCAL, | |||
self::PROPERTY_ORGANISATION => self::SCOPE_LOCAL, | |||
self::PROPERTY_ROLE => self::SCOPE_LOCAL, | |||
self::PROPERTY_HEADLINE => self::SCOPE_LOCAL, | |||
@@ -525,6 +526,7 @@ class AccountManager implements IAccountManager { | |||
protected function updateVerificationStatus(IAccount $updatedAccount, array $oldData): void { | |||
static $propertiesVerifiableByLookupServer = [ | |||
self::PROPERTY_TWITTER, | |||
self::PROPERTY_FEDIVERSE, | |||
self::PROPERTY_WEBSITE, | |||
self::PROPERTY_EMAIL, | |||
]; | |||
@@ -723,6 +725,13 @@ class AccountManager implements IAccountManager { | |||
'verified' => self::NOT_VERIFIED, | |||
], | |||
[ | |||
'name' => self::PROPERTY_FEDIVERSE, | |||
'value' => '', | |||
'scope' => $scopes[self::PROPERTY_FEDIVERSE], | |||
'verified' => self::NOT_VERIFIED, | |||
], | |||
[ | |||
'name' => self::PROPERTY_ORGANISATION, | |||
'value' => '', |
@@ -0,0 +1,90 @@ | |||
<?php | |||
declare(strict_types=1); | |||
/** | |||
* @copyright 2021 Christopher Ng <chrng8@gmail.com> | |||
* | |||
* @author Christopher Ng <chrng8@gmail.com> | |||
* | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
namespace OC\Profile\Actions; | |||
use function Safe\substr; | |||
use OCP\Accounts\IAccountManager; | |||
use OCP\IURLGenerator; | |||
use OCP\IUser; | |||
use OCP\L10N\IFactory; | |||
use OCP\Profile\ILinkAction; | |||
class FediverseAction implements ILinkAction { | |||
private ?string $value = null; | |||
private IAccountManager $accountManager; | |||
private IFactory $l10nFactory; | |||
private IURLGenerator $urlGenerator; | |||
public function __construct( | |||
IAccountManager $accountManager, | |||
IFactory $l10nFactory, | |||
IURLGenerator $urlGenerator | |||
) { | |||
$this->accountManager = $accountManager; | |||
$this->l10nFactory = $l10nFactory; | |||
$this->urlGenerator = $urlGenerator; | |||
} | |||
public function preload(IUser $targetUser): void { | |||
$account = $this->accountManager->getAccount($targetUser); | |||
$this->value = $account->getProperty(IAccountManager::PROPERTY_FEDIVERSE)->getValue(); | |||
} | |||
public function getAppId(): string { | |||
return 'core'; | |||
} | |||
public function getId(): string { | |||
return IAccountManager::PROPERTY_FEDIVERSE; | |||
} | |||
public function getDisplayId(): string { | |||
return $this->l10nFactory->get('lib')->t('Fediverse'); | |||
} | |||
public function getTitle(): string { | |||
$displayUsername = $this->value[0] === '@' ? $this->value : '@' . $this->value; | |||
return $this->l10nFactory->get('lib')->t('View %s on the fediverse', [$displayUsername]); | |||
} | |||
public function getPriority(): int { | |||
return 50; | |||
} | |||
public function getIcon(): string { | |||
return $this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/mastodon.svg')); | |||
} | |||
public function getTarget(): ?string { | |||
if (empty($this->value)) { | |||
return null; | |||
} | |||
$username = $this->value[0] === '@' ? substr($this->value, 1) : $this->value; | |||
[$username, $instance] = explode('@', $username); | |||
return 'https://' . $instance . '/@' . $username; | |||
} | |||
} |
@@ -35,6 +35,7 @@ use OC\KnownUser\KnownUserService; | |||
use OC\Profile\Actions\EmailAction; | |||
use OC\Profile\Actions\PhoneAction; | |||
use OC\Profile\Actions\TwitterAction; | |||
use OC\Profile\Actions\FediverseAction; | |||
use OC\Profile\Actions\WebsiteAction; | |||
use OCP\Accounts\IAccountManager; | |||
use OCP\Accounts\PropertyDoesNotExistException; | |||
@@ -95,6 +96,7 @@ class ProfileManager { | |||
PhoneAction::class, | |||
WebsiteAction::class, | |||
TwitterAction::class, | |||
FediverseAction::class, | |||
]; | |||
/** |
@@ -112,6 +112,7 @@ interface IAccountManager { | |||
public const PROPERTY_WEBSITE = 'website'; | |||
public const PROPERTY_ADDRESS = 'address'; | |||
public const PROPERTY_TWITTER = 'twitter'; | |||
public const PROPERTY_FEDIVERSE = 'fediverse'; | |||
/** | |||
* @since 23.0.0 | |||
@@ -151,6 +152,7 @@ interface IAccountManager { | |||
self::PROPERTY_WEBSITE, | |||
self::PROPERTY_ADDRESS, | |||
self::PROPERTY_TWITTER, | |||
self::PROPERTY_FEDIVERSE, | |||
self::PROPERTY_ORGANISATION, | |||
self::PROPERTY_ROLE, | |||
self::PROPERTY_HEADLINE, |
@@ -156,6 +156,11 @@ class AccountManagerTest extends TestCase { | |||
'value' => '@sometwitter', | |||
'scope' => IAccountManager::SCOPE_PUBLISHED | |||
], | |||
[ | |||
'name' => IAccountManager::PROPERTY_FEDIVERSE, | |||
'value' => '@someMastodon@mastodon.social', | |||
'scope' => IAccountManager::SCOPE_PUBLISHED | |||
], | |||
[ | |||
'name' => IAccountManager::PROPERTY_PHONE, | |||
'value' => '+491601231212', | |||
@@ -211,6 +216,11 @@ class AccountManagerTest extends TestCase { | |||
'value' => '@a_alice', | |||
'scope' => IAccountManager::SCOPE_FEDERATED | |||
], | |||
[ | |||
'name' => IAccountManager::PROPERTY_FEDIVERSE, | |||
'value' => '@a_alice@cool.social', | |||
'scope' => IAccountManager::SCOPE_FEDERATED | |||
], | |||
[ | |||
'name' => IAccountManager::PROPERTY_PHONE, | |||
'value' => '+491602312121', | |||
@@ -266,6 +276,11 @@ class AccountManagerTest extends TestCase { | |||
'value' => '', | |||
'scope' => IAccountManager::SCOPE_LOCAL | |||
], | |||
[ | |||
'name' => IAccountManager::PROPERTY_FEDIVERSE, | |||
'value' => '', | |||
'scope' => IAccountManager::SCOPE_LOCAL | |||
], | |||
[ | |||
'name' => IAccountManager::PROPERTY_PHONE, | |||
'value' => '+491603121212', | |||
@@ -321,6 +336,11 @@ class AccountManagerTest extends TestCase { | |||
'value' => '', ' | |||
scope' => IAccountManager::SCOPE_LOCAL | |||
], | |||
[ | |||
'name' => IAccountManager::PROPERTY_FEDIVERSE, | |||
'value' => '', ' | |||
scope' => IAccountManager::SCOPE_LOCAL | |||
], | |||
[ | |||
'name' => IAccountManager::PROPERTY_PHONE, | |||
'value' => '+71601212123', | |||
@@ -386,6 +406,11 @@ class AccountManagerTest extends TestCase { | |||
'value' => '', | |||
'scope' => IAccountManager::SCOPE_LOCAL | |||
], | |||
[ | |||
'name' => IAccountManager::PROPERTY_FEDIVERSE, | |||
'value' => '', | |||
'scope' => IAccountManager::SCOPE_LOCAL | |||
], | |||
[ | |||
'name' => IAccountManager::PROPERTY_PHONE, | |||
'value' => '+71602121231', | |||
@@ -570,6 +595,13 @@ class AccountManagerTest extends TestCase { | |||
'verified' => IAccountManager::NOT_VERIFIED, | |||
], | |||
[ | |||
'name' => IAccountManager::PROPERTY_FEDIVERSE, | |||
'value' => '', | |||
'scope' => IAccountManager::SCOPE_LOCAL, | |||
'verified' => IAccountManager::NOT_VERIFIED, | |||
], | |||
[ | |||
'name' => IAccountManager::PROPERTY_ORGANISATION, | |||
'value' => '', | |||
@@ -619,6 +651,12 @@ class AccountManagerTest extends TestCase { | |||
'verified' => IAccountManager::NOT_VERIFIED, | |||
'name' => IAccountManager::PROPERTY_TWITTER, | |||
], | |||
[ | |||
'value' => '@mastohandle@mastodon.social', | |||
'scope' => IAccountManager::SCOPE_LOCAL, | |||
'verified' => IAccountManager::NOT_VERIFIED, | |||
'name' => IAccountManager::PROPERTY_FEDIVERSE, | |||
], | |||
[ | |||
'value' => 'test@example.com', | |||
'scope' => IAccountManager::SCOPE_PUBLISHED, | |||
@@ -634,6 +672,7 @@ class AccountManagerTest extends TestCase { | |||
]; | |||
$expected = new Account($user); | |||
$expected->setProperty(IAccountManager::PROPERTY_TWITTER, '@twitterhandle', IAccountManager::SCOPE_LOCAL, IAccountManager::NOT_VERIFIED); | |||
$expected->setProperty(IAccountManager::PROPERTY_FEDIVERSE, '@mastohandle@mastodon.social', IAccountManager::SCOPE_LOCAL, IAccountManager::NOT_VERIFIED); | |||
$expected->setProperty(IAccountManager::PROPERTY_EMAIL, 'test@example.com', IAccountManager::SCOPE_PUBLISHED, IAccountManager::VERIFICATION_IN_PROGRESS); | |||
$expected->setProperty(IAccountManager::PROPERTY_WEBSITE, 'https://example.com', IAccountManager::SCOPE_FEDERATED, IAccountManager::VERIFIED); | |||