aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMario <mario@mariovavti.com>2020-11-26 18:43:53 +0000
committerMario <mario@mariovavti.com>2020-11-26 18:43:53 +0000
commit0f6166da004317045bae5430140c70ee0d60aad1 (patch)
tree78145aa23c2c60acab9add4299ee50935898a46a
parent25620081a1326eb243c974845d613a16b7be1966 (diff)
parent07e5b8295ea9d342f66d8119d88bd58124b548e6 (diff)
downloadvolse-hubzilla-0f6166da004317045bae5430140c70ee0d60aad1.tar.gz
volse-hubzilla-0f6166da004317045bae5430140c70ee0d60aad1.tar.bz2
volse-hubzilla-0f6166da004317045bae5430140c70ee0d60aad1.zip
Merge branch 'dev'5.0.3
-rw-r--r--.gitlab-ci.yml3
-rw-r--r--CHANGELOG15
-rw-r--r--Zotlabs/Daemon/Notifier.php13
-rw-r--r--Zotlabs/Identity/BasicId.php2
-rw-r--r--Zotlabs/Identity/ProfilePhoto.php2
-rw-r--r--Zotlabs/Lib/Activity.php14
-rw-r--r--Zotlabs/Module/Channel.php30
-rw-r--r--Zotlabs/Module/Display.php23
-rw-r--r--Zotlabs/Module/Filer.php3
-rw-r--r--Zotlabs/Module/Filerm.php10
-rw-r--r--Zotlabs/Module/Hq.php20
-rw-r--r--Zotlabs/Module/Item.php19
-rw-r--r--Zotlabs/Module/Like.php84
-rw-r--r--Zotlabs/Module/Network.php23
-rw-r--r--Zotlabs/Module/OAuth2TestVehicle.php (renamed from Zotlabs/Module/Oauth2testvehicle.php)0
-rw-r--r--Zotlabs/Module/Pubstream.php39
-rw-r--r--Zotlabs/Module/Search.php9
-rw-r--r--Zotlabs/Module/Settings/Display.php3
-rw-r--r--Zotlabs/Web/HTTPSig.php3
-rwxr-xr-xboot.php2
-rw-r--r--composer.json152
-rw-r--r--composer.lock1468
-rw-r--r--include/channel.php20
-rw-r--r--include/conversation.php5
-rw-r--r--include/feedutils.php12
-rwxr-xr-xinclude/items.php19
-rw-r--r--include/socgraph.php2
-rw-r--r--include/text.php2
-rw-r--r--tests/phpunit-pgsql.xml84
-rw-r--r--tests/phpunit.xml75
-rw-r--r--tests/unit/Access/AccessListTest.php7
-rw-r--r--tests/unit/Access/PermissionRolesTest.php3
-rw-r--r--tests/unit/DatabaseTestCase.php68
-rw-r--r--tests/unit/Web/HttpSigTest.php2
-rw-r--r--tests/unit/includes/dba/DBATest.php67
-rw-r--r--tests/unit/includes/dba/dba_pdoTest.php189
-rw-r--r--vendor/composer/ClassLoader.php4
-rw-r--r--vendor/composer/InstalledVersions.php421
-rw-r--r--vendor/composer/autoload_classmap.php12
-rw-r--r--vendor/composer/autoload_real.php4
-rw-r--r--vendor/composer/autoload_static.php12
-rw-r--r--vendor/composer/installed.json2737
-rw-r--r--vendor/composer/installed.php236
-rw-r--r--vendor/composer/platform_check.php26
-rw-r--r--vendor/symfony/polyfill-ctype/bootstrap.php42
-rw-r--r--vendor/symfony/polyfill-ctype/composer.json8
-rw-r--r--view/js/main.js198
-rwxr-xr-xview/tpl/build_query.tpl5
-rwxr-xr-xview/tpl/conv_item.tpl2
-rwxr-xr-xview/tpl/head.tpl2
-rw-r--r--view/tpl/item_filer.tpl2
-rwxr-xr-xview/tpl/jot-header.tpl42
-rwxr-xr-xview/tpl/settings_display.tpl1
53 files changed, 3645 insertions, 2601 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8c06e3151..9578ec6b1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -40,7 +40,8 @@ before_script:
- curl -sS https://getcomposer.org/installer | php
# Install dev libraries from composer
- php ./composer.phar install --no-progress
-
+# php.ini settings
+- echo 'xdebug.mode=coverage' >> /usr/local/etc/php/php.ini
# hidden job definition with template for MySQL/MariaDB
.job_template_mysql: &job_definition_mysql
diff --git a/CHANGELOG b/CHANGELOG
index e43e61566..04feaed34 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,18 @@
+Hubzilla 5.0.3 (2020-11-26)
+ - Upgrade phpunit to version 9
+ - Remove dbunit because its not maintained anymore
+ - Add uuid version 5 based uuid's to imported feeds
+ - Fix potential delivery loop
+ - Fix actor of fetched activities not stored
+ - Improve update mechanism for comments and likes to prevent page jumps
+ - Fix issue where channel suggestions was suggesting oneself
+ - Do not auto-update except for own actions
+ - Introduce ctrl-enter shortcut to send comments and posts
+
+ Addons
+ Pubcrawl: improve addressing of mentioned actors
+
+
Hubzilla 5.0.2 (2020-11-16)
- Fix edge case in acl selector
- Fix ping_site()
diff --git a/Zotlabs/Daemon/Notifier.php b/Zotlabs/Daemon/Notifier.php
index f24eab773..28c512d4a 100644
--- a/Zotlabs/Daemon/Notifier.php
+++ b/Zotlabs/Daemon/Notifier.php
@@ -640,9 +640,16 @@ class Notifier {
}
else {
if(! in_array($hub['hubloc_url'],$urls)) {
- $hublist[] = $hub['hubloc_host'] . ' ' . $hub['hubloc_network'];
- $dhubs[] = $hub;
- $urls[] = $hub['hubloc_url'];
+ if($hub['hubloc_url'] === z_root()) {
+ //deliver to local hub first
+ array_unshift($hublist, $hub['hubloc_host'] . ' ' . $hub['hubloc_network']);
+ array_unshift($dhubs, $hub);
+ }
+ else {
+ $hublist[] = $hub['hubloc_host'] . ' ' . $hub['hubloc_network'];
+ $dhubs[] = $hub;
+ }
+ $urls[] = $hub['hubloc_url'];
}
}
}
diff --git a/Zotlabs/Identity/BasicId.php b/Zotlabs/Identity/BasicId.php
index 3c149808f..a7fb109cd 100644
--- a/Zotlabs/Identity/BasicId.php
+++ b/Zotlabs/Identity/BasicId.php
@@ -1,6 +1,6 @@
<?php
-namespace Zotlabs\Identity\BasicId;
+namespace Zotlabs\Identity;
class BasicId {
diff --git a/Zotlabs/Identity/ProfilePhoto.php b/Zotlabs/Identity/ProfilePhoto.php
index 2891136c7..9c3ad81a5 100644
--- a/Zotlabs/Identity/ProfilePhoto.php
+++ b/Zotlabs/Identity/ProfilePhoto.php
@@ -1,5 +1,5 @@
<?php
-namespace Zotlabs\Identity\ProfilePhoto;
+namespace Zotlabs\Identity;
class ProfilePhoto {
diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php
index 5f222754b..f805b92e7 100644
--- a/Zotlabs/Lib/Activity.php
+++ b/Zotlabs/Lib/Activity.php
@@ -168,7 +168,7 @@ class Activity {
);
if($r) {
xchan_query($r,true);
- $r = fetch_post_tags($r,true);
+ $r = fetch_post_tags($r);
if (in_array($r[0]['verb'], ['Create', 'Invite']) && $r[0]['obj_type'] === ACTIVITY_OBJ_EVENT) {
$r[0]['verb'] = 'Invite';
return self::encode_activity($r[0]);
@@ -713,7 +713,7 @@ class Activity {
);
if($p) {
xchan_query($p,true);
- $p = fetch_post_tags($p,true);
+ $p = fetch_post_tags($p);
$i['obj'] = self::encode_item($p[0]);
// convert to zot6 emoji reaction encoding which uses the target object to indicate the
@@ -800,7 +800,7 @@ class Activity {
$is_directmessage = false;
$recips = get_iconfig($i['parent'], 'activitypub', 'recips');
- if(in_array($i['author']['xchan_url'], $recips['to'])) {
+ if(array_path_exists('to', $recips) && in_array($i['author']['xchan_url'], $recips['to'])) {
$reply_url = $d[0]['xchan_url'];
$is_directmessage = true;
}
@@ -2648,7 +2648,7 @@ class Activity {
$current_item = $item;
while($current_item['parent_mid'] !== $current_item['mid']) {
- $n = ActivityStreams::fetch($current_item['parent_mid'], $channel);
+ $n = self::fetch($current_item['parent_mid'], $channel);
if(! $n) {
break;
}
@@ -2660,6 +2660,10 @@ class Activity {
break;
}
+ if (is_array($a->actor) && array_key_exists('id',$a->actor)) {
+ self::actor_store($a->actor['id'],$a->actor);
+ }
+
$replies = null;
if(isset($a->obj['replies']['first']['items'])) {
$replies = $a->obj['replies']['first']['items'];
@@ -2725,7 +2729,7 @@ class Activity {
foreach($arr as $url) {
- $n = ActivityStreams::fetch($url, $channel);
+ $n = self::fetch($url, $channel);
if(! $n) {
break;
}
diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php
index dc8e9e1c5..7ff394750 100644
--- a/Zotlabs/Module/Channel.php
+++ b/Zotlabs/Module/Channel.php
@@ -130,9 +130,6 @@ class Channel extends Controller {
$noscript_content = get_config('system', 'noscript_content', '1');
- if($load)
- $_SESSION['loadtime'] = datetime_convert();
-
$category = $datequery = $datequery2 = '';
$mid = ((x($_REQUEST,'mid')) ? $_REQUEST['mid'] : '');
@@ -152,7 +149,6 @@ class Channel extends Controller {
$category = ((x($_REQUEST,'cat')) ? $_REQUEST['cat'] : '');
$hashtags = ((x($_REQUEST,'tag')) ? $_REQUEST['tag'] : '');
$order = ((x($_GET,'order')) ? notags($_GET['order']) : 'post');
- $static = ((array_key_exists('static',$_REQUEST)) ? intval($_REQUEST['static']) : 0);
$search = ((x($_GET,'search')) ? $_GET['search'] : EMPTY_STR);
$groups = array();
@@ -187,8 +183,6 @@ class Channel extends Controller {
nav_set_selected('Channel Home');
- $static = channel_manual_conv_update(App::$profile['profile_uid']);
-
// search terms header
if($search) {
$o .= replace_macros(get_markup_template("section_title.tpl"),array(
@@ -255,7 +249,9 @@ class Channel extends Controller {
$abook_uids = " and abook.abook_channel = " . intval(App::$profile['profile_uid']) . " ";
- $simple_update = (($update) ? " AND item_unseen = 1 " : '');
+ $simple_update = '';
+ if($update && $_SESSION['loadtime'])
+ $simple_update = " AND (( item_unseen = 1 AND item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) OR item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) ";
if($search) {
$search = escape_tags($search);
@@ -270,7 +266,6 @@ class Channel extends Controller {
}
}
-
head_add_link([
'rel' => 'alternate',
'type' => 'application/json+oembed',
@@ -278,14 +273,6 @@ class Channel extends Controller {
'title' => 'oembed'
]);
- if($update && $_SESSION['loadtime'])
- $simple_update = " AND (( item_unseen = 1 AND item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) OR item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) ";
- if($load)
- $simple_update = '';
-
- if($static && $simple_update)
- $simple_update .= " and author_xchan = '" . protect_sprintf(get_observer_hash()) . "' ";
-
if(($update) && (! $load)) {
if($mid) {
@@ -294,7 +281,6 @@ class Channel extends Controller {
dbesc($mid . '%'),
intval(App::$profile['profile_uid'])
);
- $_SESSION['loadtime'] = datetime_convert();
}
else {
$r = q("SELECT parent AS item_id from item
@@ -306,9 +292,7 @@ class Channel extends Controller {
ORDER BY created DESC",
intval(App::$profile['profile_uid'])
);
- $_SESSION['loadtime'] = datetime_convert();
}
-
}
else {
@@ -406,7 +390,7 @@ class Channel extends Controller {
$o .= '<div id="live-channel"></div>' . "\r\n";
$o .= "<script> var profile_uid = " . App::$profile['profile_uid']
. "; var netargs = '?f='; var profile_page = " . App::$pager['page']
- . "; divmore_height = " . intval($maxheight) . "; </script>\r\n";
+ . "; divmore_height = " . intval($maxheight) . ";</script>\r\n";
App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array(
'$baseurl' => z_root(),
@@ -424,7 +408,6 @@ class Channel extends Controller {
'$wall' => '1',
'$fh' => '0',
'$dm' => '0',
- '$static' => $static,
'$page' => ((App::$pager['page'] != 1) ? App::$pager['page'] : 1),
'$search' => $search,
'$xchan' => '',
@@ -437,7 +420,8 @@ class Channel extends Controller {
'$verb' => '',
'$net' => '',
'$dend' => $datequery,
- '$dbegin' => $datequery2
+ '$dbegin' => $datequery2,
+ '$conv_mode' => 'channel'
));
}
@@ -476,6 +460,8 @@ class Channel extends Controller {
if($mid)
$o .= '<div id="content-complete"></div>';
+ $_SESSION['loadtime'] = datetime_convert();
+
return $o;
}
}
diff --git a/Zotlabs/Module/Display.php b/Zotlabs/Module/Display.php
index 3d61d7018..81ac0f7b8 100644
--- a/Zotlabs/Module/Display.php
+++ b/Zotlabs/Module/Display.php
@@ -22,9 +22,6 @@ class Display extends \Zotlabs\Web\Controller {
$module_format = 'html';
}
- if($load)
- $_SESSION['loadtime'] = datetime_convert();
-
if(observer_prohibited()) {
notice( t('Public access denied.') . EOL);
return;
@@ -183,22 +180,11 @@ class Display extends \Zotlabs\Web\Controller {
return '';
}
-
- $static = ((array_key_exists('static',$_REQUEST)) ? intval($_REQUEST['static']) : 0);
-
- $simple_update = (($update) ? " AND item_unseen = 1 " : '');
-
+ $simple_update = '';
if($update && $_SESSION['loadtime'])
$simple_update = " AND (( item_unseen = 1 AND item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) OR item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) ";
- if($load)
- $simple_update = '';
-
- if($static && $simple_update)
- $simple_update .= " and item_thread_top = 0 and author_xchan = '" . protect_sprintf(get_observer_hash()) . "' ";
-
- if((! $update) && (! $load)) {
- $static = ((local_channel()) ? channel_manual_conv_update(local_channel()) : 1);
+ if((! $update) && (! $load)) {
// if the target item is not a post (eg a like) we want to address its thread parent
@@ -229,7 +215,6 @@ class Display extends \Zotlabs\Web\Controller {
'$dm' => '0',
'$nouveau' => '0',
'$wall' => '0',
- '$static' => $static,
'$page' => ((\App::$pager['page'] != 1) ? \App::$pager['page'] : 1),
'$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
'$search' => '',
@@ -315,7 +300,6 @@ class Display extends \Zotlabs\Web\Controller {
dbesc($target_item['parent_mid'])
);
}
-
if($r === null) {
// in case somebody turned off public access to sys channel content using permissions
// make that content unsearchable by ensuring the owner_xchan can't match
@@ -335,7 +319,6 @@ class Display extends \Zotlabs\Web\Controller {
intval($sysid)
);
}
- $_SESSION['loadtime'] = datetime_convert();
}
else {
@@ -448,6 +431,8 @@ class Display extends \Zotlabs\Web\Controller {
}
+ $_SESSION['loadtime'] = datetime_convert();
+
return $o;
}
diff --git a/Zotlabs/Module/Filer.php b/Zotlabs/Module/Filer.php
index af59f28fb..c2747e6c2 100644
--- a/Zotlabs/Module/Filer.php
+++ b/Zotlabs/Module/Filer.php
@@ -31,7 +31,8 @@ class Filer extends \Zotlabs\Web\Controller {
intval(local_channel())
);
if($r) {
- $x = q("update item set item_retained = 1 where id = %d and uid = %d",
+ $x = q("update item set item_retained = 1, changed = '%s' where id = %d and uid = %d",
+ dbesc(datetime_convert()),
intval($r[0]['parent']),
intval(local_channel())
);
diff --git a/Zotlabs/Module/Filerm.php b/Zotlabs/Module/Filerm.php
index cbf6a118d..9fdfe6c46 100644
--- a/Zotlabs/Module/Filerm.php
+++ b/Zotlabs/Module/Filerm.php
@@ -28,10 +28,14 @@ class Filerm extends \Zotlabs\Web\Controller {
intval($item_id),
dbesc($term)
);
+
+ $x = q("update item set item_retained = 0, changed = '%s' where id = %d and uid = %d",
+ dbesc(datetime_convert()),
+ intval($item_id),
+ intval(local_channel())
+ );
+
}
-
- if(x($_SESSION,'return_url'))
- goaway(z_root() . '/' . $_SESSION['return_url']);
killme();
}
diff --git a/Zotlabs/Module/Hq.php b/Zotlabs/Module/Hq.php
index e2678c07f..4c2067299 100644
--- a/Zotlabs/Module/Hq.php
+++ b/Zotlabs/Module/Hq.php
@@ -38,9 +38,6 @@ class Hq extends \Zotlabs\Web\Controller {
if(!local_channel())
return;
- if($load)
- $_SESSION['loadtime'] = datetime_convert();
-
if(argc() > 1 && argv(1) !== 'load') {
$item_hash = argv(1);
}
@@ -87,15 +84,9 @@ class Hq extends \Zotlabs\Web\Controller {
goaway(z_root() . '/moderate/' . $target_item['id']);
}
- $static = ((array_key_exists('static',$_REQUEST)) ? intval($_REQUEST['static']) : 0);
-
- $simple_update = (($update) ? " AND item_unseen = 1 " : '');
-
+ $simple_update = '';
if($update && $_SESSION['loadtime'])
$simple_update = " AND (( item_unseen = 1 AND item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) OR item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) ";
-
- if($static && $simple_update)
- $simple_update .= " and item_thread_top = 0 and author_xchan = '" . protect_sprintf(get_observer_hash()) . "' ";
$sys = get_sys_channel();
$sql_extra = item_permissions_sql($sys['channel_id']);
@@ -148,8 +139,6 @@ class Hq extends \Zotlabs\Web\Controller {
nav_set_selected('HQ');
- $static = ((local_channel()) ? channel_manual_conv_update(local_channel()) : 1);
-
if($target_item) {
// if the target item is not a post (eg a like) we want to address its thread parent
//$mid = ((($target_item['verb'] == ACTIVITY_LIKE) || ($target_item['verb'] == ACTIVITY_DISLIKE)) ? $target_item['thr_parent'] : $target_item['mid']);
@@ -182,8 +171,7 @@ class Hq extends \Zotlabs\Web\Controller {
'$dm' => '0',
'$nouveau' => '0',
'$wall' => '0',
- '$static' => $static,
- '$page' => 1,
+ '$page' => '1',
'$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
'$search' => '',
'$xchan' => '',
@@ -249,8 +237,6 @@ class Hq extends \Zotlabs\Web\Controller {
intval($sys['channel_id'])
);
}
-
- $_SESSION['loadtime'] = datetime_convert();
}
else {
$r = [];
@@ -275,6 +261,8 @@ class Hq extends \Zotlabs\Web\Controller {
$o .= '<div id="content-complete"></div>';
+ $_SESSION['loadtime'] = datetime_convert();
+
return $o;
}
diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php
index 922a2ef06..7c438c309 100644
--- a/Zotlabs/Module/Item.php
+++ b/Zotlabs/Module/Item.php
@@ -20,6 +20,7 @@ use App;
require_once('include/crypto.php');
require_once('include/items.php');
require_once('include/security.php');
+require_once('include/conversation.php');
/**
@@ -300,6 +301,7 @@ class Item extends Controller {
$parent = ((x($_REQUEST,'parent')) ? intval($_REQUEST['parent']) : 0);
$parent_mid = ((x($_REQUEST,'parent_mid')) ? trim($_REQUEST['parent_mid']) : '');
+ $mode = (($_REQUEST['conv_mode'] === 'channel') ? 'channel' : 'network');
$remote_xchan = ((x($_REQUEST,'remote_xchan')) ? trim($_REQUEST['remote_xchan']) : false);
$r = q("select * from xchan where xchan_hash = '%s' limit 1",
@@ -1373,8 +1375,21 @@ class Item extends Controller {
if($return_path) {
goaway(z_root() . "/" . $return_path);
}
-
- $json = array('success' => 1);
+
+ if($mode === 'channel')
+ profile_load($channel['channel_address']);
+
+ $item[] = $datarray;
+ $item[0]['owner'] = $owner_xchan;
+ $item[0]['author'] = $observer;
+ $item[0]['attach'] = json_encode($datarray['attach']);
+
+ $json = [
+ 'success' => 1,
+ 'id' => $post_id,
+ 'html' => conversation($item,$mode,true,'r_preview'),
+ ];
+
if(x($_REQUEST,'jsreload') && strlen($_REQUEST['jsreload']))
$json['reload'] = z_root() . '/' . $_REQUEST['jsreload'];
diff --git a/Zotlabs/Module/Like.php b/Zotlabs/Module/Like.php
index 8ffa7f66c..bb5c6db7a 100644
--- a/Zotlabs/Module/Like.php
+++ b/Zotlabs/Module/Like.php
@@ -7,13 +7,10 @@ use Zotlabs\Lib\Libsync;
require_once('include/security.php');
require_once('include/bbcode.php');
require_once('include/items.php');
-
-
+require_once('include/conversation.php');
class Like extends \Zotlabs\Web\Controller {
-
-
private function reaction_to_activity($reaction) {
$acts = [
@@ -42,7 +39,46 @@ class Like extends \Zotlabs\Web\Controller {
}
+ private function like_response($arr) {
+
+ if($arr['conv_mode'] === 'channel') {
+ $parts = explode('@', $arr['owner_xchan']['xchan_addr']);
+ profile_load($parts[0]);
+ }
+
+
+ $item_normal = item_normal();
+
+ $activities = q("SELECT item.*, item.id AS item_id FROM item
+ WHERE uid = %d $item_normal
+ AND thr_parent = '%s'
+ AND verb IN ('%s', '%s', '%s', '%s', '%s')",
+ intval($arr['item']['uid']),
+ dbesc($arr['item']['mid']),
+ dbesc(ACTIVITY_LIKE),
+ dbesc(ACTIVITY_DISLIKE),
+ dbesc(ACTIVITY_ATTEND),
+ dbesc(ACTIVITY_ATTENDNO),
+ dbesc(ACTIVITY_ATTENDMAYBE)
+ );
+
+ xchan_query($activities,true);
+ $convitems[] = $arr['item'];
+ $convitems = array_merge($convitems, $activities);
+
+ $convitems = fetch_post_tags($convitems,true);
+
+ $ret = [
+ 'success' => 1,
+ 'orig_id' => $arr['orig_item_id'], //this is required for pubstream items where $item_id != $item['id']
+ 'id' => $arr['item']['id'],
+ 'html' => conversation($convitems, $arr['conv_mode'], true, 'r_preview'),
+ ];
+
+ return $ret;
+
+ }
public function get() {
@@ -66,7 +102,8 @@ class Like extends \Zotlabs\Web\Controller {
}
$verb = notags(trim($_GET['verb']));
-
+ $mode = (($_GET['conv_mode'] === 'channel') ? 'channel' : 'network');
+
if(! $verb)
$verb = 'like';
@@ -304,7 +341,7 @@ class Like extends \Zotlabs\Web\Controller {
$thread_owner = $r[0];
else
killme();
-
+
$r = q("select * from xchan where xchan_hash = '%s' limit 1",
dbesc($item['author_xchan'])
);
@@ -312,8 +349,7 @@ class Like extends \Zotlabs\Web\Controller {
$item_author = $r[0];
else
killme();
-
-
+
$verbs = " '".dbesc($activity)."' ";
$multi_undo = false;
@@ -357,16 +393,27 @@ class Like extends \Zotlabs\Web\Controller {
// drop_item was not done interactively, so we need to invoke the notifier
// in order to push the changes to connections
-
+
\Zotlabs\Daemon\Master::Summon(array('Notifier','drop',$rr['id']));
+
+
}
if($interactive)
return;
- if(! $multi_undo)
- killme();
+ if(! $multi_undo) {
+ $ret = self::like_response([
+ 'item' => $item,
+ 'orig_item_id' => $item_id,
+ 'owner_xchan' => $thread_owner,
+ 'conv_mode' => $mode
+ ]);
+ json_return_and_die($ret);
+ }
+
+
}
}
@@ -501,7 +548,6 @@ class Like extends \Zotlabs\Web\Controller {
call_hooks('post_local',$arr);
-
$post = item_store($arr);
$post_id = $post['item_id'];
@@ -540,7 +586,6 @@ class Like extends \Zotlabs\Web\Controller {
}
-
\Zotlabs\Daemon\Master::Summon(array('Notifier','like',$post_id));
if($interactive) {
@@ -548,10 +593,15 @@ class Like extends \Zotlabs\Web\Controller {
$o .= t('Thank you.');
return $o;
}
-
- killme();
+
+ $ret = self::like_response([
+ 'item' => $item,
+ 'orig_item_id' => $item_id,
+ 'owner_xchan' => $thread_owner,
+ 'conv_mode' => $mode
+ ]);
+ json_return_and_die($ret);
+
}
-
-
}
diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php
index bbacbb21e..4a1692d64 100644
--- a/Zotlabs/Module/Network.php
+++ b/Zotlabs/Module/Network.php
@@ -44,10 +44,6 @@ class Network extends \Zotlabs\Web\Controller {
$o = '';
- if($load) {
- $_SESSION['loadtime'] = datetime_convert();
- }
-
$arr = array('query' => App::$query_string);
call_hooks('network_content_init', $arr);
@@ -64,7 +60,6 @@ class Network extends \Zotlabs\Web\Controller {
$datequery = ((x($_GET,'dend') && is_a_date_arg($_GET['dend'])) ? notags($_GET['dend']) : '');
$datequery2 = ((x($_GET,'dbegin') && is_a_date_arg($_GET['dbegin'])) ? notags($_GET['dbegin']) : '');
- $static = ((x($_GET,'static')) ? intval($_GET['static']) : 0);
$gid = ((x($_GET,'gid')) ? intval($_GET['gid']) : 0);
$category = ((x($_REQUEST,'cat')) ? $_REQUEST['cat'] : '');
$hashtags = ((x($_REQUEST,'tag')) ? $_REQUEST['tag'] : '');
@@ -213,8 +208,6 @@ class Network extends \Zotlabs\Web\Controller {
$status_editor = status_editor($a,$x,false,'Network');
$o .= $status_editor;
- $static = channel_manual_conv_update(local_channel());
-
}
@@ -370,7 +363,6 @@ class Network extends \Zotlabs\Web\Controller {
'$dm' => (($dm) ? $dm : '0'),
'$nouveau' => (($nouveau) ? $nouveau : '0'),
'$wall' => '0',
- '$static' => $static,
'$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
'$page' => ((App::$pager['page'] != 1) ? App::$pager['page'] : 1),
'$search' => (($search) ? urlencode($search) : ''),
@@ -494,8 +486,6 @@ class Network extends \Zotlabs\Web\Controller {
$parents_str = '';
- $simple_update = (($update) ? " and item_unseen = 1 " : '');
-
// This fixes a very subtle bug so I'd better explain it. You wake up in the morning or return after a day
// or three and look at your matrix page - after opening up your browser. The first page loads just as it
// should. All of a sudden a few seconds later, page 2 will get inserted at the beginning of the page
@@ -507,16 +497,11 @@ class Network extends \Zotlabs\Web\Controller {
// which "arrived as you were reading page 1". We're going to do this
// by storing in your session the current UTC time whenever you LOAD a network page, and only UPDATE items
// which are both ITEM_UNSEEN and have "changed" since that time. Cross fingers...
-
+
+ $simple_update = '';
if($update && $_SESSION['loadtime'])
$simple_update = " AND (( item_unseen = 1 AND item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) OR item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) ";
- if($load)
- $simple_update = '';
-
- if($static && $simple_update)
- $simple_update .= " and item_thread_top = 0 and author_xchan = '" . protect_sprintf(get_observer_hash()) . "' ";
-
if($nouveau && $load) {
// "New Item View" - show all items unthreaded in reverse created date order
$items = q("SELECT item.*, item.id AS item_id, created FROM item
@@ -524,7 +509,6 @@ class Network extends \Zotlabs\Web\Controller {
$net_query
WHERE true $uids $item_normal
and (abook.abook_blocked = 0 or abook.abook_flags is null)
- $simple_update
$sql_extra $sql_options $sql_nets
$net_query2
ORDER BY item.created DESC $pager_sql "
@@ -570,7 +554,6 @@ class Network extends \Zotlabs\Web\Controller {
and (abook.abook_blocked = 0 or abook.abook_flags is null)
$sql_extra3 $sql_extra $sql_options $sql_nets $net_query2"
);
- $_SESSION['loadtime'] = datetime_convert();
}
// Then fetch all the children of the parents that are on this page
@@ -605,6 +588,8 @@ class Network extends \Zotlabs\Web\Controller {
if(($items) && (! $update))
$o .= alt_pager(count($items));
+
+ $_SESSION['loadtime'] = datetime_convert();
return $o;
}
diff --git a/Zotlabs/Module/Oauth2testvehicle.php b/Zotlabs/Module/OAuth2TestVehicle.php
index 5ae278e8c..5ae278e8c 100644
--- a/Zotlabs/Module/Oauth2testvehicle.php
+++ b/Zotlabs/Module/OAuth2TestVehicle.php
diff --git a/Zotlabs/Module/Pubstream.php b/Zotlabs/Module/Pubstream.php
index 55c96b23d..113f0a196 100644
--- a/Zotlabs/Module/Pubstream.php
+++ b/Zotlabs/Module/Pubstream.php
@@ -23,9 +23,6 @@ class Pubstream extends \Zotlabs\Web\Controller {
}
}
- if($load)
- $_SESSION['loadtime'] = datetime_convert();
-
if((observer_prohibited(true))) {
return login();
}
@@ -59,7 +56,6 @@ class Pubstream extends \Zotlabs\Web\Controller {
$item_normal = item_normal();
$item_normal_update = item_normal_update();
- $static = ((array_key_exists('static',$_REQUEST)) ? intval($_REQUEST['static']) : 0);
$net = ((array_key_exists('net',$_REQUEST)) ? escape_tags($_REQUEST['net']) : '');
$title = replace_macros(get_markup_template("section_title.tpl"),array(
@@ -103,11 +99,6 @@ class Pubstream extends \Zotlabs\Web\Controller {
$o .= status_editor($a,$x,false,'Pubstream');
$o .= '</div>';
}
-
-
-
-
-
if(! $update && !$load) {
@@ -116,8 +107,6 @@ class Pubstream extends \Zotlabs\Web\Controller {
if(!$mid)
$_SESSION['static_loadtime'] = datetime_convert();
- $static = ((local_channel()) ? channel_manual_conv_update(local_channel()) : 1);
-
$maxheight = get_config('system','home_divmore_height');
if(! $maxheight)
$maxheight = 400;
@@ -148,7 +137,6 @@ class Pubstream extends \Zotlabs\Web\Controller {
'$nouveau' => '0',
'$wall' => '0',
'$list' => '0',
- '$static' => $static,
'$page' => ((\App::$pager['page'] != 1) ? \App::$pager['page'] : 1),
'$search' => '',
'$xchan' => '',
@@ -200,14 +188,10 @@ class Pubstream extends \Zotlabs\Web\Controller {
$net_query2 = (($net) ? " and xchan_network = '" . protect_sprintf(dbesc($net)) . "' " : '');
$abook_uids = " and abook.abook_channel = " . intval(\App::$profile['profile_uid']) . " ";
-
- $simple_update = (($_SESSION['loadtime']) ? " AND item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' " : '');
-
- if($load)
- $simple_update = '';
- if($static && $simple_update)
- $simple_update .= " and author_xchan = '" . protect_sprintf(get_observer_hash()) . "' ";
+ $simple_update = '';
+ if($update && $_SESSION['loadtime'])
+ $simple_update = " AND (( item_unseen = 1 AND item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) OR item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) ";
//logger('update: ' . $update . ' load: ' . $load);
@@ -220,10 +204,10 @@ class Pubstream extends \Zotlabs\Web\Controller {
$r = q("SELECT parent AS item_id FROM item
left join abook on item.author_xchan = abook.abook_xchan
$net_query
- WHERE mid like '%s' $uids $item_normal
+ WHERE mid = '%s' $uids $item_normal
and (abook.abook_blocked = 0 or abook.abook_flags is null)
- $sql_extra3 $sql_extra $sql_nets $net_query2 LIMIT 1",
- dbesc($mid . '%')
+ $sql_extra3 $sql_extra $sql_nets $net_query2",
+ dbesc($mid)
);
}
else {
@@ -243,10 +227,10 @@ class Pubstream extends \Zotlabs\Web\Controller {
$r = q("SELECT parent AS item_id FROM item
left join abook on item.author_xchan = abook.abook_xchan
$net_query
- WHERE mid like '%s' $uids $item_normal_update $simple_update
+ WHERE mid = '%s' $uids $item_normal_update $simple_update
and (abook.abook_blocked = 0 or abook.abook_flags is null)
- $sql_extra3 $sql_extra $sql_nets $net_query2 LIMIT 1",
- dbesc($mid . '%')
+ $sql_extra3 $sql_extra $sql_nets $net_query2",
+ dbesc($mid)
);
}
else {
@@ -259,7 +243,6 @@ class Pubstream extends \Zotlabs\Web\Controller {
$sql_extra3 $sql_extra $sql_nets $net_query2"
);
}
- $_SESSION['loadtime'] = datetime_convert();
}
// Then fetch all the children of the parents that are on this page
@@ -291,7 +274,7 @@ class Pubstream extends \Zotlabs\Web\Controller {
// fake it
$mode = (($hashtags) ? 'search' : 'pubstream');
-
+
$o .= conversation($items,$mode,$update,$page_mode);
if($mid)
@@ -300,6 +283,8 @@ class Pubstream extends \Zotlabs\Web\Controller {
if(($items) && (! $update))
$o .= alt_pager(count($items));
+ $_SESSION['loadtime'] = datetime_convert();
+
return $o;
}
diff --git a/Zotlabs/Module/Search.php b/Zotlabs/Module/Search.php
index d586ae12f..c22bf2836 100644
--- a/Zotlabs/Module/Search.php
+++ b/Zotlabs/Module/Search.php
@@ -19,9 +19,6 @@ class Search extends \Zotlabs\Web\Controller {
}
}
- if($load)
- $_SESSION['loadtime'] = datetime_convert();
-
nav_set_selected('Search');
require_once("include/bbcode.php");
@@ -54,8 +51,6 @@ class Search extends \Zotlabs\Web\Controller {
$search = ((x($_GET,'tag')) ? trim(escape_tags(rawurldecode($_GET['tag']))) : '');
}
- $static = ((array_key_exists('static',$_REQUEST)) ? intval($_REQUEST['static']) : 0);
-
$o .= search($search,'search-box','/search',((local_channel()) ? true : false));
if(strpos($search,'#') === 0) {
@@ -105,9 +100,6 @@ class Search extends \Zotlabs\Web\Controller {
if((! $update) && (! $load)) {
- $static = ((local_channel()) ? channel_manual_conv_update(local_channel()) : 0);
-
-
// This is ugly, but we can't pass the profile_uid through the session to the ajax updater,
// because browser prefetching might change it on us. We have to deliver it with the page.
@@ -131,7 +123,6 @@ class Search extends \Zotlabs\Web\Controller {
'$dm' => '0',
'$nouveau' => '0',
'$wall' => '0',
- '$static' => $static,
'$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
'$page' => ((\App::$pager['page'] != 1) ? \App::$pager['page'] : 1),
'$search' => (($tag) ? urlencode('#') : '') . $search,
diff --git a/Zotlabs/Module/Settings/Display.php b/Zotlabs/Module/Settings/Display.php
index 01ae8652a..cade0a529 100644
--- a/Zotlabs/Module/Settings/Display.php
+++ b/Zotlabs/Module/Settings/Display.php
@@ -28,7 +28,6 @@ class Display {
$user_scalable = ((x($_POST,'user_scalable')) ? intval($_POST['user_scalable']) : 0);
$nosmile = ((x($_POST,'nosmile')) ? intval($_POST['nosmile']) : 0);
$title_tosource = ((x($_POST,'title_tosource')) ? intval($_POST['title_tosource']) : 0);
- $manual_update = ((array_key_exists('manual_update',$_POST)) ? intval($_POST['manual_update']) : 0);
$start_menu = ((x($_POST,'start_menu')) ? intval($_POST['start_menu']) : 0);
$browser_update = ((x($_POST,'browser_update')) ? intval($_POST['browser_update']) : 0);
@@ -47,7 +46,6 @@ class Display {
set_pconfig(local_channel(),'system','itemspage', $itemspage);
set_pconfig(local_channel(),'system','no_smilies',1-intval($nosmile));
set_pconfig(local_channel(),'system','title_tosource',$title_tosource);
- set_pconfig(local_channel(),'system','manual_conversation_update', $manual_update);
set_pconfig(local_channel(),'system','channel_menu', $channel_menu);
set_pconfig(local_channel(),'system','start_menu', $start_menu);
@@ -200,7 +198,6 @@ class Display {
'$itemspage' => array('itemspage', t("Maximum number of conversations to load at any time:"), $itemspage, t('Maximum of 30 items')),
'$nosmile' => array('nosmile', t("Show emoticons (smilies) as images"), 1-intval($nosmile), '', $yes_no),
'$channel_menu' => [ 'channel_menu', t('Provide channel menu in navigation bar'), get_pconfig(local_channel(),'system','channel_menu',get_config('system','channel_menu',0)), t('Default: channel menu located in app menu'),$yes_no ],
- '$manual_update' => array('manual_update', t('Manual conversation updates'), channel_manual_conv_update(local_channel()), t('Default is on, turning this off may increase screen jumping'), $yes_no),
'$title_tosource' => array('title_tosource', t("Link post titles to source"), $title_tosource, '', $yes_no),
'$theme_config' => $theme_config,
'$start_menu' => ['start_menu', t('New Member Links'), $start_menu, t('Display new member quick links menu'), $yes_no]
diff --git a/Zotlabs/Web/HTTPSig.php b/Zotlabs/Web/HTTPSig.php
index 42426afb1..792556a10 100644
--- a/Zotlabs/Web/HTTPSig.php
+++ b/Zotlabs/Web/HTTPSig.php
@@ -212,6 +212,9 @@ class HTTPSig {
static function get_key($key,$keytype,$id) {
+ if(is_array($key))
+ btlogger('key is array: ' . print_r($key,true));
+
if($key) {
if(function_exists($key)) {
return $key($id);
diff --git a/boot.php b/boot.php
index b0cbbe18b..68e49a76a 100755
--- a/boot.php
+++ b/boot.php
@@ -50,7 +50,7 @@ require_once('include/attach.php');
require_once('include/bbcode.php');
define ( 'PLATFORM_NAME', 'hubzilla' );
-define ( 'STD_VERSION', '5.0.2' );
+define ( 'STD_VERSION', '5.0.3' );
define ( 'ZOT_REVISION', '6.0' );
define ( 'DB_UPDATE_VERSION', 1239 );
diff --git a/composer.json b/composer.json
index a42293d63..afdfbbf5a 100644
--- a/composer.json
+++ b/composer.json
@@ -1,76 +1,80 @@
{
- "name" : "zotlabs/hubzilla",
- "type" : "application",
- "description" : "Hubzilla is a powerful platform for creating interconnected websites featuring a decentralized identity, communications, and permissions framework built using common webserver technology.",
- "keywords" : [
- "CMS",
- "identity",
- "decentralisation",
- "permission",
- "SSO",
- "ZOT"
- ],
- "homepage" : "http://framagit.org/hubzilla/core/",
- "license" : "MIT",
- "authors" : [{
- "name" : "Mike Macgirvin",
- "role" : "founder"
- }
- ],
- "support" : {
- "issues" : "https://framagit.org/hubzilla/core/issues",
- "source" : "https://framagit.org/hubzilla/core/"
- },
- "require" : {
- "php" : ">=5.5",
- "ext-curl" : "*",
- "ext-gd" : "*",
- "ext-mbstring" : "*",
- "ext-xml" : "*",
- "ext-openssl" : "*",
- "sabre/dav" : "^4.0",
- "michelf/php-markdown" : "^1.7",
- "bshaffer/oauth2-server-php": "^1.9",
- "ezyang/htmlpurifier": "^4.9",
- "simplepie/simplepie": "~1.5",
- "league/html-to-markdown": "^4.4",
- "pear/text_languagedetect": "^1.0",
- "commerceguys/intl": "~1.0.5",
- "lukasreschke/id3parser": "^0.0.3",
- "smarty/smarty": "~3.1",
- "ramsey/uuid": "^3.8",
- "twbs/bootstrap": "^4.3.1",
- "blueimp/jquery-file-upload": "^10.3",
- "desandro/imagesloaded": "^4.1"
- },
- "require-dev" : {
- "phpunit/phpunit" : "@stable",
- "behat/behat" : "@stable",
- "behat/mink-extension": "@stable",
- "behat/mink-goutte-driver": "@stable",
- "php-mock/php-mock-phpunit": "@stable",
- "phpunit/dbunit": "@stable",
- "phpmd/phpmd": "^2.6",
- "squizlabs/php_codesniffer": "*"
- },
- "autoload" : {
- "psr-4" : {
- "Hubzilla\\" : "include/",
- "Zotlabs\\" : "Zotlabs/"
- }
- },
- "autoload-dev" : {
- "psr-4" : {
- "Zotlabs\\Tests\\Unit\\" : "tests/unit"
- }
- },
- "minimum-stability" : "stable",
- "config" : {
- "notify-on-install" : false,
- "optimize-autoloader" : true
- },
- "repositories": [{
- "type": "vcs",
- "url": "https://github.com/simplepie/simplepie"
- }]
+ "name": "zotlabs/hubzilla",
+ "type": "application",
+ "description": "Hubzilla is a powerful platform for creating interconnected websites featuring a decentralized identity, communications, and permissions framework built using common webserver technology.",
+ "keywords": [
+ "CMS",
+ "identity",
+ "decentralisation",
+ "permission",
+ "SSO",
+ "ZOT"
+ ],
+ "homepage": "http://framagit.org/hubzilla/core/",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "Mike Macgirvin",
+ "role": "founder"
+ }
+ ],
+ "support": {
+ "issues": "https://framagit.org/hubzilla/core/issues",
+ "source": "https://framagit.org/hubzilla/core/"
+ },
+ "require": {
+ "php": ">=5.5",
+ "ext-curl": "*",
+ "ext-gd": "*",
+ "ext-mbstring": "*",
+ "ext-xml": "*",
+ "ext-openssl": "*",
+ "sabre/dav": "^4.0",
+ "michelf/php-markdown": "^1.7",
+ "bshaffer/oauth2-server-php": "^1.9",
+ "ezyang/htmlpurifier": "^4.9",
+ "simplepie/simplepie": "~1.5",
+ "league/html-to-markdown": "^4.4",
+ "pear/text_languagedetect": "^1.0",
+ "commerceguys/intl": "~1.0.5",
+ "lukasreschke/id3parser": "^0.0.3",
+ "smarty/smarty": "~3.1",
+ "ramsey/uuid": "^3.8",
+ "twbs/bootstrap": "^4.3.1",
+ "blueimp/jquery-file-upload": "^10.3",
+ "desandro/imagesloaded": "^4.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.4",
+ "behat/behat": "@stable",
+ "behat/mink-extension": "@stable",
+ "behat/mink-goutte-driver": "@stable",
+ "php-mock/php-mock-phpunit": "^2.6",
+ "phpmd/phpmd": "^2.6",
+ "squizlabs/php_codesniffer": "*",
+ "php-mock/php-mock": "^2.2",
+ "dms/phpunit-arraysubset-asserts": "^0.2.1"
+ },
+ "autoload": {
+ "psr-4": {
+ "Hubzilla\\": "include/",
+ "Zotlabs\\": "Zotlabs/"
+ }
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "Zotlabs\\Tests\\Unit\\": "tests/unit"
+ }
+ },
+ "minimum-stability": "stable",
+ "config": {
+ "notify-on-install": false,
+ "optimize-autoloader": true
+ },
+ "repositories": [
+ {
+ "type": "vcs",
+ "url": "https://github.com/simplepie/simplepie"
+ }
+ ]
}
diff --git a/composer.lock b/composer.lock
index 1c8c777fa..78c073f3c 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "1869554b567d2e0c8d16978035b7197e",
+ "content-hash": "21ca0553f569b22bda9cb606c9d5aa14",
"packages": [
{
"name": "blueimp/jquery-file-upload",
@@ -1193,20 +1193,20 @@
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.13.1",
+ "version": "v1.20.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3"
+ "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
- "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f4ba089a5b6366e453971d3aad5fe8e897b37f41",
+ "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"suggest": {
"ext-ctype": "For best performance"
@@ -1214,7 +1214,11 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.13-dev"
+ "dev-main": "1.20-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
@@ -1247,7 +1251,24 @@
"polyfill",
"portable"
],
- "time": "2019-11-27T13:56:44+00:00"
+ "support": {
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.20.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-10-23T14:02:19+00:00"
},
{
"name": "twbs/bootstrap",
@@ -1750,35 +1771,77 @@
"time": "2017-02-14T19:40:03+00:00"
},
{
+ "name": "dms/phpunit-arraysubset-asserts",
+ "version": "v0.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/rdohms/phpunit-arraysubset-asserts.git",
+ "reference": "8e3673a70019a60df484e36fc3271d63cbdc40ea"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/rdohms/phpunit-arraysubset-asserts/zipball/8e3673a70019a60df484e36fc3271d63cbdc40ea",
+ "reference": "8e3673a70019a60df484e36fc3271d63cbdc40ea",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.3|^8.0",
+ "phpunit/phpunit": "^9.0"
+ },
+ "require-dev": {
+ "dms/coding-standard": "^1.0",
+ "squizlabs/php_codesniffer": "^3.4"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "DMS\\PHPUnitExtensions\\ArraySubset\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Rafael Dohms",
+ "email": "rdohms@gmail.com"
+ }
+ ],
+ "description": "This package provides ArraySubset and related asserts once deprecated in PHPUnit 8",
+ "support": {
+ "issues": "https://github.com/rdohms/phpunit-arraysubset-asserts/issues",
+ "source": "https://github.com/rdohms/phpunit-arraysubset-asserts/tree/v0.2.1"
+ },
+ "time": "2020-10-03T21:43:40+00:00"
+ },
+ {
"name": "doctrine/instantiator",
- "version": "1.1.0",
+ "version": "1.4.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
- "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"
+ "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
- "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b",
+ "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b",
"shasum": ""
},
"require": {
- "php": "^7.1"
+ "php": "^7.1 || ^8.0"
},
"require-dev": {
- "athletic/athletic": "~0.1.8",
+ "doctrine/coding-standard": "^8.0",
"ext-pdo": "*",
"ext-phar": "*",
- "phpunit/phpunit": "^6.2.3",
- "squizlabs/php_codesniffer": "^3.0.2"
+ "phpbench/phpbench": "^0.13 || 1.0.0-alpha2",
+ "phpstan/phpstan": "^0.12",
+ "phpstan/phpstan-phpunit": "^0.12",
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
- },
"autoload": {
"psr-4": {
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
@@ -1792,16 +1855,34 @@
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com",
- "homepage": "http://ocramius.github.com/"
+ "homepage": "https://ocramius.github.io/"
}
],
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "homepage": "https://github.com/doctrine/instantiator",
+ "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
"keywords": [
"constructor",
"instantiate"
],
- "time": "2017-07-22T11:58:36+00:00"
+ "support": {
+ "issues": "https://github.com/doctrine/instantiator/issues",
+ "source": "https://github.com/doctrine/instantiator/tree/1.4.0"
+ },
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-11-10T18:47:58+00:00"
},
{
"name": "fabpot/goutte",
@@ -2043,20 +2124,20 @@
},
{
"name": "myclabs/deep-copy",
- "version": "1.8.1",
+ "version": "1.10.2",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8"
+ "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8",
- "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220",
+ "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220",
"shasum": ""
},
"require": {
- "php": "^7.1"
+ "php": "^7.1 || ^8.0"
},
"replace": {
"myclabs/deep-copy": "self.version"
@@ -2087,7 +2168,73 @@
"object",
"object graph"
],
- "time": "2018-06-11T23:09:50+00:00"
+ "support": {
+ "issues": "https://github.com/myclabs/DeepCopy/issues",
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2"
+ },
+ "funding": [
+ {
+ "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-11-13T09:40:50+00:00"
+ },
+ {
+ "name": "nikic/php-parser",
+ "version": "v4.10.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nikic/PHP-Parser.git",
+ "reference": "658f1be311a230e0907f5dfe0213742aff0596de"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/658f1be311a230e0907f5dfe0213742aff0596de",
+ "reference": "658f1be311a230e0907f5dfe0213742aff0596de",
+ "shasum": ""
+ },
+ "require": {
+ "ext-tokenizer": "*",
+ "php": ">=7.0"
+ },
+ "require-dev": {
+ "ircmaxell/php-yacc": "^0.0.7",
+ "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
+ },
+ "bin": [
+ "bin/php-parse"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.9-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PhpParser\\": "lib/PhpParser"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Nikita Popov"
+ }
+ ],
+ "description": "A PHP parser written in PHP",
+ "keywords": [
+ "parser",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/nikic/PHP-Parser/issues",
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.2"
+ },
+ "time": "2020-09-26T10:30:38+00:00"
},
{
"name": "pdepend/pdepend",
@@ -2131,28 +2278,29 @@
},
{
"name": "phar-io/manifest",
- "version": "1.0.3",
+ "version": "2.0.1",
"source": {
"type": "git",
"url": "https://github.com/phar-io/manifest.git",
- "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4"
+ "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
- "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
+ "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-phar": "*",
- "phar-io/version": "^2.0",
- "php": "^5.6 || ^7.0"
+ "ext-xmlwriter": "*",
+ "phar-io/version": "^3.0.1",
+ "php": "^7.2 || ^8.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
@@ -2182,24 +2330,28 @@
}
],
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
- "time": "2018-07-08T19:23:20+00:00"
+ "support": {
+ "issues": "https://github.com/phar-io/manifest/issues",
+ "source": "https://github.com/phar-io/manifest/tree/master"
+ },
+ "time": "2020-06-27T14:33:11+00:00"
},
{
"name": "phar-io/version",
- "version": "2.0.1",
+ "version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/phar-io/version.git",
- "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6"
+ "reference": "c6bb6825def89e0a32220f88337f8ceaf1975fa0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6",
- "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/c6bb6825def89e0a32220f88337f8ceaf1975fa0",
+ "reference": "c6bb6825def89e0a32220f88337f8ceaf1975fa0",
"shasum": ""
},
"require": {
- "php": "^5.6 || ^7.0"
+ "php": "^7.2 || ^8.0"
},
"type": "library",
"autoload": {
@@ -2229,37 +2381,44 @@
}
],
"description": "Library for handling version information and constraints",
- "time": "2018-07-08T19:19:57+00:00"
+ "support": {
+ "issues": "https://github.com/phar-io/version/issues",
+ "source": "https://github.com/phar-io/version/tree/master"
+ },
+ "time": "2020-06-27T14:39:04+00:00"
},
{
"name": "php-mock/php-mock",
- "version": "2.0.0",
+ "version": "2.2.2",
"source": {
"type": "git",
"url": "https://github.com/php-mock/php-mock.git",
- "reference": "22d297231118e6fd5b9db087fbe1ef866c2b95d2"
+ "reference": "890d3e32e3a5f29715a8fd17debd87a0c9e614a0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-mock/php-mock/zipball/22d297231118e6fd5b9db087fbe1ef866c2b95d2",
- "reference": "22d297231118e6fd5b9db087fbe1ef866c2b95d2",
+ "url": "https://api.github.com/repos/php-mock/php-mock/zipball/890d3e32e3a5f29715a8fd17debd87a0c9e614a0",
+ "reference": "890d3e32e3a5f29715a8fd17debd87a0c9e614a0",
"shasum": ""
},
"require": {
- "php": ">=5.6",
- "phpunit/php-text-template": "^1"
+ "php": "^5.6 || ^7.0",
+ "phpunit/php-text-template": "^1 || ^2"
},
"replace": {
"malkusch/php-mock": "*"
},
"require-dev": {
- "phpunit/phpunit": "^5.7"
+ "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.0 || ^9.0"
},
"suggest": {
"php-mock/php-mock-phpunit": "Allows integration into PHPUnit testcase with the trait PHPMock."
},
"type": "library",
"autoload": {
+ "files": [
+ "autoload.php"
+ ],
"psr-4": {
"phpmock\\": [
"classes/",
@@ -2290,29 +2449,33 @@
"test",
"test double"
],
- "time": "2017-02-17T20:52:52+00:00"
+ "support": {
+ "issues": "https://github.com/php-mock/php-mock/issues",
+ "source": "https://github.com/php-mock/php-mock/tree/2.2.2"
+ },
+ "time": "2020-04-17T16:39:00+00:00"
},
{
"name": "php-mock/php-mock-integration",
- "version": "2.0.0",
+ "version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/php-mock/php-mock-integration.git",
- "reference": "5a0d7d7755f823bc2a230cfa45058b40f9013bc4"
+ "reference": "003d585841e435958a02e9b986953907b8b7609b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-mock/php-mock-integration/zipball/5a0d7d7755f823bc2a230cfa45058b40f9013bc4",
- "reference": "5a0d7d7755f823bc2a230cfa45058b40f9013bc4",
+ "url": "https://api.github.com/repos/php-mock/php-mock-integration/zipball/003d585841e435958a02e9b986953907b8b7609b",
+ "reference": "003d585841e435958a02e9b986953907b8b7609b",
"shasum": ""
},
"require": {
"php": ">=5.6",
- "php-mock/php-mock": "^2",
- "phpunit/php-text-template": "^1"
+ "php-mock/php-mock": "^2.2",
+ "phpunit/php-text-template": "^1 || ^2"
},
"require-dev": {
- "phpunit/phpunit": "^4|^5"
+ "phpunit/phpunit": "^5.7.27 || ^6 || ^7 || ^8 || ^9"
},
"type": "library",
"autoload": {
@@ -2343,26 +2506,30 @@
"test",
"test double"
],
- "time": "2017-02-17T21:31:34+00:00"
+ "support": {
+ "issues": "https://github.com/php-mock/php-mock-integration/issues",
+ "source": "https://github.com/php-mock/php-mock-integration/tree/2.1.0"
+ },
+ "time": "2020-02-08T14:40:25+00:00"
},
{
"name": "php-mock/php-mock-phpunit",
- "version": "2.1.2",
+ "version": "2.6.0",
"source": {
"type": "git",
"url": "https://github.com/php-mock/php-mock-phpunit.git",
- "reference": "57b92e621f14c2c07a4567cd29ed4e87de0d2912"
+ "reference": "2877a0e58f12e91b64bf36ccd080a209dcbf6c30"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-mock/php-mock-phpunit/zipball/57b92e621f14c2c07a4567cd29ed4e87de0d2912",
- "reference": "57b92e621f14c2c07a4567cd29ed4e87de0d2912",
+ "url": "https://api.github.com/repos/php-mock/php-mock-phpunit/zipball/2877a0e58f12e91b64bf36ccd080a209dcbf6c30",
+ "reference": "2877a0e58f12e91b64bf36ccd080a209dcbf6c30",
"shasum": ""
},
"require": {
"php": ">=7",
- "php-mock/php-mock-integration": "^2",
- "phpunit/phpunit": "^6 || ^7"
+ "php-mock/php-mock-integration": "^2.1",
+ "phpunit/phpunit": "^6 || ^7 || ^8 || ^9"
},
"type": "library",
"autoload": {
@@ -2397,39 +2564,38 @@
"test",
"test double"
],
- "time": "2018-10-07T14:38:37+00:00"
+ "support": {
+ "issues": "https://github.com/php-mock/php-mock-phpunit/issues",
+ "source": "https://github.com/php-mock/php-mock-phpunit/tree/2.6.0"
+ },
+ "time": "2020-02-08T15:44:47+00:00"
},
{
"name": "phpdocumentor/reflection-common",
- "version": "1.0.1",
+ "version": "2.2.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionCommon.git",
- "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
- "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
"shasum": ""
},
"require": {
- "php": ">=5.5"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.6"
+ "php": "^7.2 || ^8.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-2.x": "2.x-dev"
}
},
"autoload": {
"psr-4": {
- "phpDocumentor\\Reflection\\": [
- "src"
- ]
+ "phpDocumentor\\Reflection\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2451,44 +2617,45 @@
"reflection",
"static analysis"
],
- "time": "2017-09-11T18:02:19+00:00"
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
+ },
+ "time": "2020-06-27T09:03:43+00:00"
},
{
"name": "phpdocumentor/reflection-docblock",
- "version": "4.3.0",
+ "version": "5.2.2",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "94fd0001232e47129dd3504189fa1c7225010d08"
+ "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08",
- "reference": "94fd0001232e47129dd3504189fa1c7225010d08",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556",
+ "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556",
"shasum": ""
},
"require": {
- "php": "^7.0",
- "phpdocumentor/reflection-common": "^1.0.0",
- "phpdocumentor/type-resolver": "^0.4.0",
- "webmozart/assert": "^1.0"
+ "ext-filter": "*",
+ "php": "^7.2 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.2",
+ "phpdocumentor/type-resolver": "^1.3",
+ "webmozart/assert": "^1.9.1"
},
"require-dev": {
- "doctrine/instantiator": "~1.0.5",
- "mockery/mockery": "^1.0",
- "phpunit/phpunit": "^6.4"
+ "mockery/mockery": "~1.3.2"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.x-dev"
+ "dev-master": "5.x-dev"
}
},
"autoload": {
"psr-4": {
- "phpDocumentor\\Reflection\\": [
- "src/"
- ]
+ "phpDocumentor\\Reflection\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2499,44 +2666,49 @@
{
"name": "Mike van Riel",
"email": "me@mikevanriel.com"
+ },
+ {
+ "name": "Jaap van Otterdijk",
+ "email": "account@ijaap.nl"
}
],
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
- "time": "2017-11-30T07:14:17+00:00"
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master"
+ },
+ "time": "2020-09-03T19:13:55+00:00"
},
{
"name": "phpdocumentor/type-resolver",
- "version": "0.4.0",
+ "version": "1.4.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7"
+ "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7",
- "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
+ "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
"shasum": ""
},
"require": {
- "php": "^5.5 || ^7.0",
- "phpdocumentor/reflection-common": "^1.0"
+ "php": "^7.2 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.0"
},
"require-dev": {
- "mockery/mockery": "^0.9.4",
- "phpunit/phpunit": "^5.2||^4.8.24"
+ "ext-tokenizer": "*"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-1.x": "1.x-dev"
}
},
"autoload": {
"psr-4": {
- "phpDocumentor\\Reflection\\": [
- "src/"
- ]
+ "phpDocumentor\\Reflection\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2549,7 +2721,12 @@
"email": "me@mikevanriel.com"
}
],
- "time": "2017-07-14T14:27:02+00:00"
+ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
+ "support": {
+ "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0"
+ },
+ "time": "2020-09-17T18:55:26+00:00"
},
{
"name": "phpmd/phpmd",
@@ -2619,38 +2796,38 @@
},
{
"name": "phpspec/prophecy",
- "version": "1.8.0",
+ "version": "1.12.1",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
- "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06"
+ "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
- "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8ce87516be71aae9b956f81906aaf0338e0d8a2d",
+ "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.0.2",
- "php": "^5.3|^7.0",
- "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0",
- "sebastian/comparator": "^1.1|^2.0|^3.0",
- "sebastian/recursion-context": "^1.0|^2.0|^3.0"
+ "doctrine/instantiator": "^1.2",
+ "php": "^7.2 || ~8.0, <8.1",
+ "phpdocumentor/reflection-docblock": "^5.2",
+ "sebastian/comparator": "^3.0 || ^4.0",
+ "sebastian/recursion-context": "^3.0 || ^4.0"
},
"require-dev": {
- "phpspec/phpspec": "^2.5|^3.2",
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
+ "phpspec/phpspec": "^6.0",
+ "phpunit/phpunit": "^8.0 || ^9.0 <9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.8.x-dev"
+ "dev-master": "1.11.x-dev"
}
},
"autoload": {
- "psr-0": {
- "Prophecy\\": "src/"
+ "psr-4": {
+ "Prophecy\\": "src/Prophecy"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2678,97 +2855,52 @@
"spy",
"stub"
],
- "time": "2018-08-05T17:53:17+00:00"
- },
- {
- "name": "phpunit/dbunit",
- "version": "4.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/dbunit.git",
- "reference": "e77b469c3962b5a563f09a2a989f1c9bd38b8615"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/dbunit/zipball/e77b469c3962b5a563f09a2a989f1c9bd38b8615",
- "reference": "e77b469c3962b5a563f09a2a989f1c9bd38b8615",
- "shasum": ""
- },
- "require": {
- "ext-pdo": "*",
- "ext-simplexml": "*",
- "php": "^7.1",
- "phpunit/phpunit": "^7.0",
- "symfony/yaml": "^3.0 || ^4.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
+ "support": {
+ "issues": "https://github.com/phpspec/prophecy/issues",
+ "source": "https://github.com/phpspec/prophecy/tree/1.12.1"
},
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "PHPUnit extension for database interaction testing",
- "homepage": "https://github.com/sebastianbergmann/dbunit/",
- "keywords": [
- "database",
- "testing",
- "xunit"
- ],
- "abandoned": true,
- "time": "2018-02-07T06:47:59+00:00"
+ "time": "2020-09-29T09:10:42+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "6.1.4",
+ "version": "9.2.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d"
+ "reference": "6b20e2055f7c29b56cb3870b3de7cc463d7add41"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d",
- "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6b20e2055f7c29b56cb3870b3de7cc463d7add41",
+ "reference": "6b20e2055f7c29b56cb3870b3de7cc463d7add41",
"shasum": ""
},
"require": {
"ext-dom": "*",
+ "ext-libxml": "*",
"ext-xmlwriter": "*",
- "php": "^7.1",
- "phpunit/php-file-iterator": "^2.0",
- "phpunit/php-text-template": "^1.2.1",
- "phpunit/php-token-stream": "^3.0",
- "sebastian/code-unit-reverse-lookup": "^1.0.1",
- "sebastian/environment": "^3.1 || ^4.0",
- "sebastian/version": "^2.0.1",
- "theseer/tokenizer": "^1.1"
+ "nikic/php-parser": "^4.10.2",
+ "php": ">=7.3",
+ "phpunit/php-file-iterator": "^3.0.3",
+ "phpunit/php-text-template": "^2.0.2",
+ "sebastian/code-unit-reverse-lookup": "^2.0.2",
+ "sebastian/complexity": "^2.0",
+ "sebastian/environment": "^5.1.2",
+ "sebastian/lines-of-code": "^1.0",
+ "sebastian/version": "^3.0.1",
+ "theseer/tokenizer": "^1.2.0"
},
"require-dev": {
- "phpunit/phpunit": "^7.0"
+ "phpunit/phpunit": "^9.3"
},
"suggest": {
- "ext-xdebug": "^2.6.0"
+ "ext-pcov": "*",
+ "ext-xdebug": "*"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "6.1-dev"
+ "dev-master": "9.2-dev"
}
},
"autoload": {
@@ -2794,32 +2926,42 @@
"testing",
"xunit"
],
- "time": "2018-10-31T16:06:48+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-30T10:46:41+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "2.0.2",
+ "version": "3.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "050bedf145a257b1ff02746c31894800e5122946"
+ "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946",
- "reference": "050bedf145a257b1ff02746c31894800e5122946",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8",
+ "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8",
"shasum": ""
},
"require": {
- "php": "^7.1"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^7.1"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "3.0-dev"
}
},
"autoload": {
@@ -2844,26 +2986,48 @@
"filesystem",
"iterator"
],
- "time": "2018-09-13T20:33:42+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:57:25+00:00"
},
{
- "name": "phpunit/php-text-template",
- "version": "1.2.1",
+ "name": "phpunit/php-invoker",
+ "version": "3.1.1",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
+ "url": "https://github.com/sebastianbergmann/php-invoker.git",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "ext-pcntl": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-pcntl": "*"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1-dev"
+ }
+ },
"autoload": {
"classmap": [
"src/"
@@ -2880,32 +3044,42 @@
"role": "lead"
}
],
- "description": "Simple template engine.",
- "homepage": "https://github.com/sebastianbergmann/php-text-template/",
+ "description": "Invoke callables with a timeout",
+ "homepage": "https://github.com/sebastianbergmann/php-invoker/",
"keywords": [
- "template"
+ "process"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
],
- "time": "2015-06-21T13:50:34+00:00"
+ "time": "2020-09-28T05:58:55+00:00"
},
{
- "name": "phpunit/php-timer",
- "version": "2.0.0",
+ "name": "phpunit/php-text-template",
+ "version": "2.0.4",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f"
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b8454ea6958c3dee38453d3bd571e023108c91f",
- "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
"shasum": ""
},
"require": {
- "php": "^7.1"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^7.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
@@ -2929,38 +3103,47 @@
"role": "lead"
}
],
- "description": "Utility class for timing",
- "homepage": "https://github.com/sebastianbergmann/php-timer/",
+ "description": "Simple template engine.",
+ "homepage": "https://github.com/sebastianbergmann/php-text-template/",
"keywords": [
- "timer"
+ "template"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
],
- "time": "2018-02-01T13:07:23+00:00"
+ "time": "2020-10-26T05:33:50+00:00"
},
{
- "name": "phpunit/php-token-stream",
- "version": "3.0.1",
+ "name": "phpunit/php-timer",
+ "version": "5.0.3",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-token-stream.git",
- "reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18"
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/c99e3be9d3e85f60646f152f9002d46ed7770d18",
- "reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
"shasum": ""
},
"require": {
- "ext-tokenizer": "*",
- "php": "^7.1"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^7.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-master": "5.0-dev"
}
},
"autoload": {
@@ -2975,66 +3158,78 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
}
],
- "description": "Wrapper around PHP's tokenizer extension.",
- "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
+ "description": "Utility class for timing",
+ "homepage": "https://github.com/sebastianbergmann/php-timer/",
"keywords": [
- "tokenizer"
+ "timer"
],
- "abandoned": true,
- "time": "2018-10-30T05:52:18+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-timer/issues",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:16:10+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "7.5.1",
+ "version": "9.4.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "c23d78776ad415d5506e0679723cb461d71f488f"
+ "reference": "9fa359ff5ddaa5eb2be2bedb08a6a5787a5807ab"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c23d78776ad415d5506e0679723cb461d71f488f",
- "reference": "c23d78776ad415d5506e0679723cb461d71f488f",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9fa359ff5ddaa5eb2be2bedb08a6a5787a5807ab",
+ "reference": "9fa359ff5ddaa5eb2be2bedb08a6a5787a5807ab",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.1",
+ "doctrine/instantiator": "^1.3.1",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
"ext-mbstring": "*",
"ext-xml": "*",
- "myclabs/deep-copy": "^1.7",
- "phar-io/manifest": "^1.0.2",
- "phar-io/version": "^2.0",
- "php": "^7.1",
- "phpspec/prophecy": "^1.7",
- "phpunit/php-code-coverage": "^6.0.7",
- "phpunit/php-file-iterator": "^2.0.1",
- "phpunit/php-text-template": "^1.2.1",
- "phpunit/php-timer": "^2.0",
- "sebastian/comparator": "^3.0",
- "sebastian/diff": "^3.0",
- "sebastian/environment": "^4.0",
- "sebastian/exporter": "^3.1",
- "sebastian/global-state": "^2.0",
- "sebastian/object-enumerator": "^3.0.3",
- "sebastian/resource-operations": "^2.0",
- "sebastian/version": "^2.0.1"
- },
- "conflict": {
- "phpunit/phpunit-mock-objects": "*"
+ "ext-xmlwriter": "*",
+ "myclabs/deep-copy": "^1.10.1",
+ "phar-io/manifest": "^2.0.1",
+ "phar-io/version": "^3.0.2",
+ "php": ">=7.3",
+ "phpspec/prophecy": "^1.12.1",
+ "phpunit/php-code-coverage": "^9.2",
+ "phpunit/php-file-iterator": "^3.0.5",
+ "phpunit/php-invoker": "^3.1.1",
+ "phpunit/php-text-template": "^2.0.3",
+ "phpunit/php-timer": "^5.0.2",
+ "sebastian/cli-parser": "^1.0.1",
+ "sebastian/code-unit": "^1.0.6",
+ "sebastian/comparator": "^4.0.5",
+ "sebastian/diff": "^4.0.3",
+ "sebastian/environment": "^5.1.3",
+ "sebastian/exporter": "^4.0.3",
+ "sebastian/global-state": "^5.0.1",
+ "sebastian/object-enumerator": "^4.0.3",
+ "sebastian/resource-operations": "^3.0.3",
+ "sebastian/type": "^2.3",
+ "sebastian/version": "^3.0.2"
},
"require-dev": {
- "ext-pdo": "*"
+ "ext-pdo": "*",
+ "phpspec/prophecy-phpunit": "^2.0.1"
},
"suggest": {
"ext-soap": "*",
- "ext-xdebug": "*",
- "phpunit/php-invoker": "^2.0"
+ "ext-xdebug": "*"
},
"bin": [
"phpunit"
@@ -3042,12 +3237,15 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "7.5-dev"
+ "dev-master": "9.4-dev"
}
},
"autoload": {
"classmap": [
"src/"
+ ],
+ "files": [
+ "src/Framework/Assert/Functions.php"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -3068,7 +3266,21 @@
"testing",
"xunit"
],
- "time": "2018-12-12T07:20:32+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/phpunit/issues",
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.4.3"
+ },
+ "funding": [
+ {
+ "url": "https://phpunit.de/donate.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-10T12:53:30+00:00"
},
{
"name": "psr/container",
@@ -3210,29 +3422,141 @@
"time": "2016-02-11T07:05:27+00:00"
},
{
- "name": "sebastian/code-unit-reverse-lookup",
+ "name": "sebastian/cli-parser",
"version": "1.0.1",
"source": {
"type": "git",
+ "url": "https://github.com/sebastianbergmann/cli-parser.git",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for parsing CLI options",
+ "homepage": "https://github.com/sebastianbergmann/cli-parser",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:08:49+00:00"
+ },
+ {
+ "name": "sebastian/code-unit",
+ "version": "1.0.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit.git",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/code-unit",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:08:54+00:00"
+ },
+ {
+ "name": "sebastian/code-unit-reverse-lookup",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18"
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
- "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
"shasum": ""
},
"require": {
- "php": "^5.6 || ^7.0"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^5.7 || ^6.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
@@ -3252,34 +3576,44 @@
],
"description": "Looks up which function or method a line of code belongs to",
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
- "time": "2017-03-04T06:30:41+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:30:19+00:00"
},
{
"name": "sebastian/comparator",
- "version": "3.0.2",
+ "version": "4.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da"
+ "reference": "55f4261989e546dc112258c7a75935a81a7ce382"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da",
- "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382",
+ "reference": "55f4261989e546dc112258c7a75935a81a7ce382",
"shasum": ""
},
"require": {
- "php": "^7.1",
- "sebastian/diff": "^3.0",
- "sebastian/exporter": "^3.1"
+ "php": ">=7.3",
+ "sebastian/diff": "^4.0",
+ "sebastian/exporter": "^4.0"
},
"require-dev": {
- "phpunit/phpunit": "^7.1"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -3293,6 +3627,10 @@
],
"authors": [
{
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
"name": "Jeff Welch",
"email": "whatthejeff@gmail.com"
},
@@ -3303,10 +3641,6 @@
{
"name": "Bernhard Schussek",
"email": "bschussek@2bepublished.at"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
}
],
"description": "Provides the functionality to compare PHP values for equality",
@@ -3316,33 +3650,100 @@
"compare",
"equality"
],
- "time": "2018-07-12T15:12:46+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/comparator/issues",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T15:49:45+00:00"
+ },
+ {
+ "name": "sebastian/complexity",
+ "version": "2.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/complexity.git",
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^4.7",
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for calculating the complexity of PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/complexity",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/complexity/issues",
+ "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T15:52:27+00:00"
},
{
"name": "sebastian/diff",
- "version": "3.0.1",
+ "version": "4.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "366541b989927187c4ca70490a35615d3fef2dce"
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/366541b989927187c4ca70490a35615d3fef2dce",
- "reference": "366541b989927187c4ca70490a35615d3fef2dce",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
"shasum": ""
},
"require": {
- "php": "^7.1"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^7.0",
- "symfony/process": "^2 || ^3.3 || ^4"
+ "phpunit/phpunit": "^9.3",
+ "symfony/process": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -3356,12 +3757,12 @@
],
"authors": [
{
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
- },
- {
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
}
],
"description": "Diff implementation",
@@ -3372,32 +3773,45 @@
"unidiff",
"unified diff"
],
- "time": "2018-06-10T07:54:39+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/diff/issues",
+ "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:10:38+00:00"
},
{
"name": "sebastian/environment",
- "version": "4.0.1",
+ "version": "5.1.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "febd209a219cea7b56ad799b30ebbea34b71eb8f"
+ "reference": "388b6ced16caa751030f6a69e588299fa09200ac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/febd209a219cea7b56ad799b30ebbea34b71eb8f",
- "reference": "febd209a219cea7b56ad799b30ebbea34b71eb8f",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac",
+ "reference": "388b6ced16caa751030f6a69e588299fa09200ac",
"shasum": ""
},
"require": {
- "php": "^7.1"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^7.4"
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-posix": "*"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-master": "5.1-dev"
}
},
"autoload": {
@@ -3422,34 +3836,44 @@
"environment",
"hhvm"
],
- "time": "2018-11-25T09:31:21+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/environment/issues",
+ "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:52:38+00:00"
},
{
"name": "sebastian/exporter",
- "version": "3.1.0",
+ "version": "4.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "234199f4528de6d12aaa58b612e98f7d36adb937"
+ "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937",
- "reference": "234199f4528de6d12aaa58b612e98f7d36adb937",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65",
+ "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65",
"shasum": ""
},
"require": {
- "php": "^7.0",
- "sebastian/recursion-context": "^3.0"
+ "php": ">=7.3",
+ "sebastian/recursion-context": "^4.0"
},
"require-dev": {
"ext-mbstring": "*",
- "phpunit/phpunit": "^6.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.1.x-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -3463,6 +3887,10 @@
],
"authors": [
{
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
"name": "Jeff Welch",
"email": "whatthejeff@gmail.com"
},
@@ -3471,16 +3899,12 @@
"email": "github@wallbash.com"
},
{
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
"name": "Adam Harvey",
"email": "aharvey@php.net"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
}
],
"description": "Provides the functionality to export PHP variables for visualization",
@@ -3489,27 +3913,40 @@
"export",
"exporter"
],
- "time": "2017-04-03T13:19:02+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/exporter/issues",
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:24:23+00:00"
},
{
"name": "sebastian/global-state",
- "version": "2.0.0",
+ "version": "5.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4"
+ "reference": "a90ccbddffa067b51f574dea6eb25d5680839455"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4",
- "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455",
+ "reference": "a90ccbddffa067b51f574dea6eb25d5680839455",
"shasum": ""
},
"require": {
- "php": "^7.0"
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
},
"require-dev": {
- "phpunit/phpunit": "^6.0"
+ "ext-dom": "*",
+ "phpunit/phpunit": "^9.3"
},
"suggest": {
"ext-uopz": "*"
@@ -3517,7 +3954,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-master": "5.0-dev"
}
},
"autoload": {
@@ -3540,34 +3977,101 @@
"keywords": [
"global state"
],
- "time": "2017-04-27T15:39:26+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/global-state/issues",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T15:55:19+00:00"
+ },
+ {
+ "name": "sebastian/lines-of-code",
+ "version": "1.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/lines-of-code.git",
+ "reference": "acf76492a65401babcf5283296fa510782783a7a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/acf76492a65401babcf5283296fa510782783a7a",
+ "reference": "acf76492a65401babcf5283296fa510782783a7a",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^4.6",
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for counting the lines of code in PHP source code",
+ "homepage": "https://github.com/sebastianbergmann/lines-of-code",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T17:03:56+00:00"
},
{
"name": "sebastian/object-enumerator",
- "version": "3.0.3",
+ "version": "4.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5"
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5",
- "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
"shasum": ""
},
"require": {
- "php": "^7.0",
- "sebastian/object-reflector": "^1.1.1",
- "sebastian/recursion-context": "^3.0"
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
},
"require-dev": {
- "phpunit/phpunit": "^6.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0.x-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -3587,32 +4091,42 @@
],
"description": "Traverses array structures and object graphs to enumerate all referenced objects",
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
- "time": "2017-08-03T12:35:26+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:12:34+00:00"
},
{
"name": "sebastian/object-reflector",
- "version": "1.1.1",
+ "version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "773f97c67f28de00d397be301821b06708fca0be"
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be",
- "reference": "773f97c67f28de00d397be301821b06708fca0be",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
"shasum": ""
},
"require": {
- "php": "^7.0"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^6.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.1-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
@@ -3632,32 +4146,42 @@
],
"description": "Allows reflection of object attributes, including inherited and non-public ones",
"homepage": "https://github.com/sebastianbergmann/object-reflector/",
- "time": "2017-03-29T09:07:27+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:14:26+00:00"
},
{
"name": "sebastian/recursion-context",
- "version": "3.0.0",
+ "version": "4.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8"
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
- "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
"shasum": ""
},
"require": {
- "php": "^7.0"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^6.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0.x-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -3671,43 +4195,56 @@
],
"authors": [
{
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
},
{
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
"name": "Adam Harvey",
"email": "aharvey@php.net"
}
],
"description": "Provides functionality to recursively process PHP variables",
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
- "time": "2017-03-03T06:23:57+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:17:30+00:00"
},
{
"name": "sebastian/resource-operations",
- "version": "2.0.1",
+ "version": "3.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9"
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9",
- "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
"shasum": ""
},
"require": {
- "php": "^7.1"
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-master": "3.0-dev"
}
},
"autoload": {
@@ -3727,29 +4264,95 @@
],
"description": "Provides a list of PHP built-in functions that operate on resources",
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
- "time": "2018-10-04T04:07:39+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
+ "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:45:17+00:00"
+ },
+ {
+ "name": "sebastian/type",
+ "version": "2.3.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/type.git",
+ "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
+ "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.3-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the types of the PHP type system",
+ "homepage": "https://github.com/sebastianbergmann/type",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/type/issues",
+ "source": "https://github.com/sebastianbergmann/type/tree/2.3.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:18:59+00:00"
},
{
"name": "sebastian/version",
- "version": "2.0.1",
+ "version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
- "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019"
+ "reference": "c6c1022351a901512170118436c764e473f6de8c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019",
- "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c",
"shasum": ""
},
"require": {
- "php": ">=5.6"
+ "php": ">=7.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "3.0-dev"
}
},
"autoload": {
@@ -3770,7 +4373,17 @@
],
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
"homepage": "https://github.com/sebastianbergmann/version",
- "time": "2016-10-03T07:35:21+00:00"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/version/issues",
+ "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:39:44+00:00"
},
{
"name": "squizlabs/php_codesniffer",
@@ -4567,37 +5180,32 @@
},
{
"name": "symfony/yaml",
- "version": "v4.2.1",
+ "version": "v4.4.16",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "c41175c801e3edfda90f32e292619d10c27103d7"
+ "reference": "543cb4dbd45ed803f08a9a65f27fb149b5dd20c2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/c41175c801e3edfda90f32e292619d10c27103d7",
- "reference": "c41175c801e3edfda90f32e292619d10c27103d7",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/543cb4dbd45ed803f08a9a65f27fb149b5dd20c2",
+ "reference": "543cb4dbd45ed803f08a9a65f27fb149b5dd20c2",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
+ "php": ">=7.1.3",
"symfony/polyfill-ctype": "~1.8"
},
"conflict": {
"symfony/console": "<3.4"
},
"require-dev": {
- "symfony/console": "~3.4|~4.0"
+ "symfony/console": "^3.4|^4.0|^5.0"
},
"suggest": {
"symfony/console": "For validating YAML files using the lint command"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.2-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Yaml\\": ""
@@ -4622,27 +5230,44 @@
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
- "time": "2018-11-11T19:52:12+00:00"
+ "support": {
+ "source": "https://github.com/symfony/yaml/tree/v4.4.16"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-10-24T11:50:19+00:00"
},
{
"name": "theseer/tokenizer",
- "version": "1.1.0",
+ "version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b"
+ "reference": "75a63c33a8577608444246075ea0af0d052e452a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b",
- "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a",
+ "reference": "75a63c33a8577608444246075ea0af0d052e452a",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-tokenizer": "*",
"ext-xmlwriter": "*",
- "php": "^7.0"
+ "php": "^7.2 || ^8.0"
},
"type": "library",
"autoload": {
@@ -4662,36 +5287,44 @@
}
],
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
- "time": "2017-04-07T12:08:54+00:00"
+ "support": {
+ "issues": "https://github.com/theseer/tokenizer/issues",
+ "source": "https://github.com/theseer/tokenizer/tree/master"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/theseer",
+ "type": "github"
+ }
+ ],
+ "time": "2020-07-12T23:59:07+00:00"
},
{
"name": "webmozart/assert",
- "version": "1.4.0",
+ "version": "1.9.1",
"source": {
"type": "git",
"url": "https://github.com/webmozart/assert.git",
- "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9"
+ "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9",
- "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9",
+ "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389",
+ "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389",
"shasum": ""
},
"require": {
- "php": "^5.3.3 || ^7.0",
+ "php": "^5.3.3 || ^7.0 || ^8.0",
"symfony/polyfill-ctype": "^1.8"
},
+ "conflict": {
+ "phpstan/phpstan": "<0.12.20",
+ "vimeo/psalm": "<3.9.1"
+ },
"require-dev": {
- "phpunit/phpunit": "^4.6",
- "sebastian/version": "^1.0.1"
+ "phpunit/phpunit": "^4.8.36 || ^7.5.13"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Webmozart\\Assert\\": "src/"
@@ -4713,18 +5346,19 @@
"check",
"validate"
],
- "time": "2018-12-25T11:19:39+00:00"
+ "support": {
+ "issues": "https://github.com/webmozart/assert/issues",
+ "source": "https://github.com/webmozart/assert/tree/master"
+ },
+ "time": "2020-07-08T17:02:28+00:00"
}
],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": {
- "phpunit/phpunit": 0,
"behat/behat": 0,
"behat/mink-extension": 0,
- "behat/mink-goutte-driver": 0,
- "php-mock/php-mock-phpunit": 0,
- "phpunit/dbunit": 0
+ "behat/mink-goutte-driver": 0
},
"prefer-stable": false,
"prefer-lowest": false,
@@ -4737,5 +5371,5 @@
"ext-openssl": "*"
},
"platform-dev": [],
- "plugin-api-version": "1.1.0"
+ "plugin-api-version": "2.0.0"
}
diff --git a/include/channel.php b/include/channel.php
index e2be4d8a8..71fad5222 100644
--- a/include/channel.php
+++ b/include/channel.php
@@ -2573,26 +2573,6 @@ function channel_reddress($channel) {
return strtolower($channel['channel_address'] . '@' . App::get_hostname());
}
-
-/**
- * @brief Get manual channel conversation update config.
- *
- * Check the channel config \e manual_conversation_update, if not set fall back
- * to global system config, defaults to 1 if nothing set.
- *
- * @param int $channel_id
- * @return int
- */
-function channel_manual_conv_update($channel_id) {
-
- $x = get_pconfig($channel_id, 'system', 'manual_conversation_update');
- if($x === false)
- $x = get_config('system', 'manual_conversation_update', 1);
-
- return intval($x);
-}
-
-
/**
* @brief Return parsed HTML remote_login template.
*
diff --git a/include/conversation.php b/include/conversation.php
index e77404cff..6615b04c3 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -511,6 +511,7 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa
$jsreload = '';
$preview = (($page_mode === 'preview') ? true : false);
+ $r_preview = (($page_mode === 'r_preview') ? true : false);
$previewing = (($preview) ? ' preview ' : '');
$preview_lbl = t('This is an unsaved preview');
@@ -873,11 +874,13 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa
}
+
$item['pagedrop'] = $page_dropping;
- if($item['id'] == $item['parent']) {
+ if($item['id'] == $item['parent'] || $r_preview) {
$item_object = new Zotlabs\Lib\ThreadItem($item);
+
$conv->add_thread($item_object);
if(($page_mode === 'list') || ($page_mode === 'pager_list')) {
$item_object->set_template('conv_list.tpl');
diff --git a/include/feedutils.php b/include/feedutils.php
index 0a9af7ee1..5f5f563f8 100644
--- a/include/feedutils.php
+++ b/include/feedutils.php
@@ -13,6 +13,10 @@
* @param array $params associative array which configures the feed
* @return string with an atom feed
*/
+
+use Ramsey\Uuid\Uuid;
+use Ramsey\Uuid\Exception\UnsatisfiedDependencyException;
+
function get_public_feed($channel, $params) {
if(! $params)
@@ -431,6 +435,13 @@ function get_atom_elements($feed, $item) {
$res['plink'] = unxmlify($item->get_link(0));
$res['item_rss'] = 1;
+ try {
+ $uuid = Uuid::uuid5(Uuid::NAMESPACE_URL, $res['plink'])->toString();
+ } catch (UnsatisfiedDependencyException $e) {
+ $uuid = md5($res['plink']);
+ }
+
+ $res['uuid'] = $uuid;
$summary = unxmlify($item->get_description(true));
@@ -1516,6 +1527,7 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
continue;
}
+
}
}
}
diff --git a/include/items.php b/include/items.php
index 960aa3580..a027be4b2 100755
--- a/include/items.php
+++ b/include/items.php
@@ -2502,7 +2502,7 @@ function item_update_parent_commented($item) {
);
q("UPDATE item set commented = '%s', changed = '%s' WHERE id = %d",
- dbesc(($z) ? $z[0]['commented'] : datetime_convert()),
+ dbesc(($z[0]['commented']) ? $z[0]['commented'] : datetime_convert()),
dbesc(datetime_convert()),
intval($item['parent'])
);
@@ -3179,8 +3179,18 @@ function start_delivery_chain($channel, $item, $item_id, $parent, $group = false
if($rewrite_author) {
$item['author_xchan'] = $channel['channel_hash'];
- $r = q("update item set author_xchan = '%s' where id = %d",
+ //if it's a toplevel rss item we will also rewrite the mid to something fetchable
+ if($item['item_rss'] && $item['item_thread_top']) {
+ $item['mid'] = z_root() . '/item/' . $item['uuid'];
+ $item['parent_mid'] = $item['mid'];
+ $item['thr_parent'] = $item['mid'];
+ }
+
+ $r = q("UPDATE item SET author_xchan = '%s', mid = '%s', parent_mid = '%s', thr_parent = '%s' WHERE id = %d",
dbesc($item['author_xchan']),
+ dbesc($item['mid']),
+ dbesc($item['parent_mid']),
+ dbesc($item['thr_parent']),
intval($item_id)
);
}
@@ -3235,7 +3245,6 @@ function start_delivery_chain($channel, $item, $item_id, $parent, $group = false
$arr['item_origin'] = 1;
$arr['item_wall'] = 1;
-
$arr['item_thread_top'] = 1;
if (strpos($item['body'], "[/share]") !== false) {
@@ -3299,7 +3308,7 @@ function start_delivery_chain($channel, $item, $item_id, $parent, $group = false
$private = 1;
$item_wall = 1;
- $item_origin = 1;
+ $item_origin = (($item['item_deleted']) ? 0 : 1); // item_origin for deleted items is set to 0 in delete_imported_item() to prevent looping. In this case we probably should not set it back to 1 here.
$item_uplink = 0;
$item_nocomment = 0;
@@ -3315,7 +3324,7 @@ function start_delivery_chain($channel, $item, $item_id, $parent, $group = false
);
}
else {
- $item_uplink = 1;
+ $item_uplink = (($item['item_rss']) ? 0 : 1); // Do not set item_uplink for rss items - we can not send anything to them.
// if this is an edit, item_store_update() will have already updated the item
// with the correct value for source_xchan (by ignoring it). We cannot set to owner_xchan
diff --git a/include/socgraph.php b/include/socgraph.php
index 3da4dce63..aaea4550c 100644
--- a/include/socgraph.php
+++ b/include/socgraph.php
@@ -271,6 +271,7 @@ function suggestion_query($uid, $myxchan, $start = 0, $limit = 80) {
and xchan_hidden = 0
and xchan_deleted = 0
and xlink_static = 0
+ and xchan_network = 'zot6'
group by xchan_hash order by total desc limit %d offset %d ",
intval($uid),
intval($uid),
@@ -290,6 +291,7 @@ function suggestion_query($uid, $myxchan, $start = 0, $limit = 80) {
and xchan_hidden = 0
and xchan_deleted = 0
and xlink_static = 0
+ and xchan_network = 'zot6'
group by xchan_hash order by total desc limit %d offset %d ",
intval($uid),
intval($uid),
diff --git a/include/text.php b/include/text.php
index 58cde7838..c2a45814c 100644
--- a/include/text.php
+++ b/include/text.php
@@ -1667,7 +1667,7 @@ function format_filer(&$item) {
if(! trim($term))
continue;
$removelink = z_root() . '/filerm/' . $item['id'] . '?f=&term=' . urlencode($t['term']);
- $categories[] = array('term' => $term, 'removelink' => $removelink);
+ $categories[] = array('term' => $term, 'removelink' => $removelink, 'id' => $item['id']);
}
$s = replace_macros(get_markup_template('item_filer.tpl'),array(
diff --git a/tests/phpunit-pgsql.xml b/tests/phpunit-pgsql.xml
index 8b11aae31..148ac2e70 100644
--- a/tests/phpunit-pgsql.xml
+++ b/tests/phpunit-pgsql.xml
@@ -1,49 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
-<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/7.5/phpunit.xsd"
- bootstrap="../boot.php"
- forceCoversAnnotation="false"
- beStrictAboutCoversAnnotation="true"
- beStrictAboutOutputDuringTests="true"
- beStrictAboutTodoAnnotatedTests="true"
- verbose="true">
- <testsuites>
- <testsuite name="Hubzilla default Test Suite">
- <directory suffix="Test.php">./unit/</directory>
- </testsuite>
- <testsuite name="API Test Suite">
- <directory suffix="Test.php" prefix="API">./unit/</directory>
- </testsuite>
- </testsuites>
- <groups>
- <exclude>
- <group>mysql</group>
- </exclude>
- </groups>
- <!--coverage reporting-->
- <filter>
- <whitelist processUncoveredFilesFromWhitelist="true">
- <directory suffix=".php">../Zotlabs/</directory>
- <directory suffix=".php">../include/</directory>
- </whitelist>
- </filter>
- <logging>
- <log type="junit" target="./results/junit.xml"/>
- <!--<log type="coverage-clover" target="./results/coverage-clover.xml"/>-->
- <log type="coverage-html" target="./results/coverage-report/" lowUpperBound="35"
- highLowerBound="70"/>
- <!--<log type="testdox-text" target="./results/testdox.txt"/>-->
- <log type="testdox-html" target="./results/testdox.html"/>
- </logging>
- <php>
- <!-- Default test database config, only used if no environment variables
+<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" bootstrap="../boot.php" forceCoversAnnotation="false" beStrictAboutCoversAnnotation="true" beStrictAboutOutputDuringTests="true" beStrictAboutTodoAnnotatedTests="true" verbose="true">
+ <coverage processUncoveredFiles="true">
+ <include>
+ <directory suffix=".php">../Zotlabs/</directory>
+ <directory suffix=".php">../include/</directory>
+ </include>
+ <report>
+ <html outputDirectory="./results/coverage-report/" lowUpperBound="35" highLowerBound="70"/>
+ </report>
+ </coverage>
+ <testsuites>
+ <testsuite name="Hubzilla default Test Suite">
+ <directory suffix="Test.php">./unit/</directory>
+ </testsuite>
+ <testsuite name="API Test Suite">
+ <directory suffix="Test.php" prefix="API">./unit/</directory>
+ </testsuite>
+ </testsuites>
+ <groups>
+ <exclude>
+ <group>mysql</group>
+ </exclude>
+ </groups>
+ <!--coverage reporting-->
+ <logging>
+ <junit outputFile="./results/junit.xml"/>
+ <!--<log type="coverage-clover" target="./results/coverage-clover.xml"/>-->
+ <!--<log type="testdox-text" target="./results/testdox.txt"/>-->
+ <testdoxHtml outputFile="./results/testdox.html"/>
+ </logging>
+ <php>
+ <!-- Default test database config, only used if no environment variables
with same names are set.
!!! Never run against a real database, it will truncate all tables -->
- <env name="hz_db_server" value="postgres"/>
- <env name="hz_db_scheme" value="pgsql"/>
- <env name="hz_db_port" value="5432"/>
- <env name="hz_db_user" value="ci-user"/>
- <env name="hz_db_pass" value="ci-pass"/>
- <env name="hz_db_database" value="ci-db"/>
- </php>
+ <env name="hz_db_server" value="postgres"/>
+ <env name="hz_db_scheme" value="pgsql"/>
+ <env name="hz_db_port" value="5432"/>
+ <env name="hz_db_user" value="ci-user"/>
+ <env name="hz_db_pass" value="ci-pass"/>
+ <env name="hz_db_database" value="ci-db"/>
+ </php>
</phpunit>
diff --git a/tests/phpunit.xml b/tests/phpunit.xml
index 0a5bc2b35..6b1b33534 100644
--- a/tests/phpunit.xml
+++ b/tests/phpunit.xml
@@ -1,42 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit bootstrap="../boot.php" colors="true">
- <php>
- <var name="db_dsn" value="mysql:dbname=gitlab_ci_hubzilla;host=mysql"/>
- <var name="db_username" value="root"/>
- <var name="db_password" value="mysql"/>
-
- <env name="hz_db_server" value="mysql"/>
- <env name="hz_db_scheme" value="mysql"/>
- <env name="hz_db_port" value=""/>
- <env name="hz_db_user" value="root"/>
- <env name="hz_db_pass" value="mysql"/>
- <env name="hz_db_database" value="hello_world_test"/>
- </php>
-
- <testsuites>
- <testsuite name="Hubzilla default Test Suite">
- <directory suffix="Test.php">./unit/</directory>
- </testsuite>
- <testsuite name="API Test Suite">
- <directory suffix="Test.php" prefix="API">./unit/</directory>
- </testsuite>
- <testsuite name="Ex-/Import Test Suite">
- <!--<directory suffix="Test.php">./unit/eximport/</directory>-->
- </testsuite>
- </testsuites>
-
- <groups>
- <exclude>
- <group>postgresql</group>
- </exclude>
- </groups>
- <!--cover reporting-->
- <filter>
- <whitelist processUncoveredFilesFromWhitelist="true">
- <directory suffix=".php">../Zotlabs/</directory>
- <directory suffix=".php">../include/</directory>
- </whitelist>
- </filter>
+<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" bootstrap="../boot.php" colors="true" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
+ <coverage processUncoveredFiles="false" includeUncoveredFiles="false">
+ <include>
+ <directory suffix=".php">../Zotlabs/</directory>
+ <directory suffix=".php">../include/</directory>
+ </include>
+ </coverage>
+ <php>
+ <var name="db_dsn" value="mysql:dbname=gitlab_ci_hubzilla;host=mysql"/>
+ <var name="db_username" value="root"/>
+ <var name="db_password" value="mysql"/>
+ <env name="hz_db_server" value="mysql"/>
+ <env name="hz_db_scheme" value="mysql"/>
+ <env name="hz_db_port" value=""/>
+ <env name="hz_db_user" value="root"/>
+ <env name="hz_db_pass" value="mysql"/>
+ <env name="hz_db_database" value="hello_world_test"/>
+ </php>
+ <testsuites>
+ <testsuite name="Hubzilla default Test Suite">
+ <directory suffix="Test.php">./unit/</directory>
+ </testsuite>
+ <testsuite name="API Test Suite">
+ <directory suffix="Test.php" prefix="API">./unit/</directory>
+ </testsuite>
+ <testsuite name="Ex-/Import Test Suite">
+ <!--<directory suffix="Test.php">./Unit/eximport/</directory>-->
+ </testsuite>
+ </testsuites>
+ <groups>
+ <exclude>
+ <group>postgresql</group>
+ </exclude>
+ </groups>
+ <!--cover reporting-->
</phpunit>
-
diff --git a/tests/unit/Access/AccessListTest.php b/tests/unit/Access/AccessListTest.php
index dbc19fabb..3c8d3e859 100644
--- a/tests/unit/Access/AccessListTest.php
+++ b/tests/unit/Access/AccessListTest.php
@@ -63,11 +63,12 @@ class AccessListTest extends UnitTestCase {
/**
* @expectedException PHPUnit\Framework\Error\Error
*/
+/*
public function testPHPErrorOnInvalidConstructor() {
$accessList = new AccessList('invalid');
// Causes: "Illegal string offset 'channel_allow_cid'"
}
-
+*/
public function testDefaultGetExplicit() {
$accessList = new AccessList([]);
@@ -112,12 +113,14 @@ class AccessListTest extends UnitTestCase {
/**
* @expectedException PHPUnit\Framework\Error\Error
*/
+/*
public function testPHPErrorOnInvalidSet() {
$accessList = new AccessList([]);
$accessList->set('invalid');
// Causes: "Illegal string offset 'allow_cid'"
}
+*/
/**
* set_from_array() calls some other functions, too which are not yet unit tested.
@@ -188,4 +191,4 @@ class AccessListTest extends UnitTestCase {
];
}
-} \ No newline at end of file
+}
diff --git a/tests/unit/Access/PermissionRolesTest.php b/tests/unit/Access/PermissionRolesTest.php
index 58fd88bb1..dd55eb6e2 100644
--- a/tests/unit/Access/PermissionRolesTest.php
+++ b/tests/unit/Access/PermissionRolesTest.php
@@ -26,6 +26,7 @@ namespace Zotlabs\Tests\Unit\Access;
use Zotlabs\Tests\Unit\UnitTestCase;
use Zotlabs\Access\PermissionRoles;
use phpmock\phpunit\PHPMock;
+use DMS\PHPUnitExtensions\ArraySubset\Assert;
/**
* @brief Unit Test case for PermissionRoles class.
@@ -68,7 +69,7 @@ class PermissionRolesTest extends UnitTestCase {
'social_private' => 'Social - Private'
];
- $this->assertArraySubset(['Social Networking' => $socialNetworking], $roles);
+ Assert::assertArraySubset(['Social Networking' => $socialNetworking], $roles);
$this->assertEquals($socialNetworking, $roles['Social Networking']);
$this->assertCount(5, $roles, 'There should be 5 permission groups.');
diff --git a/tests/unit/DatabaseTestCase.php b/tests/unit/DatabaseTestCase.php
deleted file mode 100644
index 18c1cfb17..000000000
--- a/tests/unit/DatabaseTestCase.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-/* Copyright (c) 2017 Hubzilla
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-namespace Zotlabs\Tests\Unit;
-
-use PHPUnit\DbUnit\TestCaseTrait;
-use PHPUnit\Framework\TestCase;
-
-/**
- * @brief Base class for our Database Unit Tests.
- *
- * @warning Never run these tests against a production database, because all
- * tables will get truncated and there is no way to recover without a backup.
- *
- * @author Klaus Weidenbach
- */
-abstract class DatabaseTestCase extends TestCase {
-
- use TestCaseTrait;
-
- /**
- * Only instantiate PDO once for test clean-up/fixture load.
- *
- * @var \PDO
- */
- static private $pdo = null;
-
- /**
- * Only instantiate \PHPUnit\DbUnit\Database\Connection once per test.
- *
- * @var \PHPUnit\DbUnit\Database\Connection
- */
- private $conn = null;
-
-
- final public function getConnection() {
- if ($this->conn === null) {
- if (self::$pdo === null) {
- $dsn = \getenv('hz_db_scheme') . ':host=' . \getenv('hz_db_server')
- . ';port=' . \getenv('hz_db_port') . ';dbname=' . \getenv('hz_db_database');
-
- self::$pdo = new \PDO($dsn, \getenv('hz_db_user'), \getenv('hz_db_pass'));
- }
- $this->conn = $this->createDefaultDBConnection(self::$pdo, \getenv('hz_db_database'));
- }
-
- return $this->conn;
- }
-}
diff --git a/tests/unit/Web/HttpSigTest.php b/tests/unit/Web/HttpSigTest.php
index db0f9700f..bd11b96c8 100644
--- a/tests/unit/Web/HttpSigTest.php
+++ b/tests/unit/Web/HttpSigTest.php
@@ -33,7 +33,7 @@ use Zotlabs\Web\HTTPSig;
*
* @covers Zotlabs\Web\HTTPSig
*/
-class PermissionDescriptionTest extends UnitTestCase {
+class HttpSigTest extends UnitTestCase {
use PHPMock;
diff --git a/tests/unit/includes/dba/DBATest.php b/tests/unit/includes/dba/DBATest.php
deleted file mode 100644
index 900d13083..000000000
--- a/tests/unit/includes/dba/DBATest.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-/*
- * Copyright (c) 2017 Hubzilla
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-namespace Zotlabs\Tests\Unit\includes;
-
-use Zotlabs\Tests\Unit\UnitTestCase;
-
-// required because of process isolation and no autoloading
-require_once 'include/dba/dba_driver.php';
-
-/**
- * @brief Unit Test case for include/dba/DBA.php file.
- *
- * This test needs process isolation because of static \DBA.
- * @runTestsInSeparateProcesses
- */
-class DBATest extends UnitTestCase {
-
- public function testDbaFactoryMysql() {
- $this->assertNull(\DBA::$dba);
-
- $ret = \DBA::dba_factory('server', 'port', 'user', 'pass', 'db', '0');
- $this->assertInstanceOf('dba_pdo', $ret);
- $this->assertFalse($ret->connected);
-
- $this->assertSame('mysql', \DBA::$scheme);
- $this->assertSame('schema_mysql.sql', \DBA::$install_script);
- $this->assertSame('0001-01-01 00:00:00', \DBA::$null_date);
- $this->assertSame('UTC_TIMESTAMP()', \DBA::$utc_now);
- $this->assertSame('`', \DBA::$tquot);
- }
-
- public function testDbaFactoryPostgresql() {
- $this->assertNull(\DBA::$dba);
-
- $ret = \DBA::dba_factory('server', 'port', 'user', 'pass', 'db', '1');
- $this->assertInstanceOf('dba_pdo', $ret);
- $this->assertFalse($ret->connected);
-
- $this->assertSame('pgsql', \DBA::$scheme);
- $this->assertSame('schema_postgres.sql', \DBA::$install_script);
- $this->assertSame('0001-01-01 00:00:00', \DBA::$null_date);
- $this->assertSame("now() at time zone 'UTC'", \DBA::$utc_now);
- $this->assertSame('"', \DBA::$tquot);
- }
-
-}
diff --git a/tests/unit/includes/dba/dba_pdoTest.php b/tests/unit/includes/dba/dba_pdoTest.php
deleted file mode 100644
index 689f5a7ce..000000000
--- a/tests/unit/includes/dba/dba_pdoTest.php
+++ /dev/null
@@ -1,189 +0,0 @@
-<?php
-/*
- * Copyright (c) 2017 Hubzilla
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-namespace Zotlabs\Tests\Unit\includes;
-
-use Zotlabs\Tests\Unit\DatabaseTestCase;
-use PHPUnit\DbUnit\TestCaseTrait;
-use PHPUnit\DbUnit\DataSet\YamlDataSet;
-
-require_once 'include/dba/dba_pdo.php';
-
-/**
- * @brief Unit Test case for include/dba/dba_pdo.php file.
- *
- * Some very basic tests to see if our database layer can connect to a real
- * database.
- */
-class dba_pdoTest extends DatabaseTestCase {
-
- use TestCaseTrait;
-
- /**
- * @var \dba_driver
- */
- protected $dba;
-
-
- /**
- * Set initial state of the database before each test is executed.
- * Load database fixtures.
- *
- * @return \PHPUnit\DbUnit\DataSet\IDataSet
- */
- public function getDataSet() {
- return new YamlDataSet(dirname(__FILE__) . '/_files/account.yml');
- }
-
- protected function setUp(): void {
- // Will invoke getDataSet() to load fixtures into DB
- parent::setUp();
-
- $this->dba = new \dba_pdo(
- \getenv('hz_db_server'),
- \getenv('hz_db_scheme'),
- \getenv('hz_db_port'),
- \getenv('hz_db_user'),
- \getenv('hz_db_pass'),
- \getenv('hz_db_database')
- );
- }
- protected function assertPreConditions() {
- $this->assertSame('pdo', $this->dba->getdriver(), "Driver is expected to be 'pdo'.");
- $this->assertInstanceOf('dba_driver', $this->dba);
- $this->assertTrue($this->dba->connected, 'Pre condition failed, DB is not connected.');
- $this->assertInstanceOf('PDO', $this->dba->db);
- }
- protected function tearDown(): void {
- $this->dba = null;
- }
-
-
- /**
- * @group mysql
- */
- public function testQuoteintervalOnMysql() {
- $this->assertSame('value', $this->dba->quote_interval('value'));
- }
- /**
- * @group postgresql
- */
- public function testQuoteintervalOnPostgresql() {
- $this->assertSame("'value'", $this->dba->quote_interval('value'));
- }
-
- /**
- * @group mysql
- */
- public function testGenerateMysqlConcatSql() {
- $this->assertSame('GROUP_CONCAT(DISTINCT field SEPARATOR \';\')', $this->dba->concat('field', ';'));
- $this->assertSame('GROUP_CONCAT(DISTINCT field2 SEPARATOR \' \')', $this->dba->concat('field2', ' '));
- }
- /**
- * @group postgresql
- */
- public function testGeneratePostgresqlConcatSql() {
- $this->assertSame('string_agg(field,\';\')', $this->dba->concat('field', ';'));
- $this->assertSame('string_agg(field2,\' \')', $this->dba->concat('field2', ' '));
- }
-
-
- public function testConnectToSqlServer() {
- // connect() is done in dba_pdo constructor which is called in setUp()
- $this->assertTrue($this->dba->connected);
- }
-
- /**
- * @depends testConnectToSqlServer
- */
- public function testCloseSqlServerConnection() {
- $this->dba->close();
-
- $this->assertNull($this->dba->db);
- $this->assertFalse($this->dba->connected);
- }
-
- /**
- * @depends testConnectToSqlServer
- */
- public function testSelectQueryShouldReturnArray() {
- $ret = $this->dba->q('SELECT * FROM account');
-
- $this->assertTrue(is_array($ret));
- }
-
- /**
- * @depends testConnectToSqlServer
- */
- public function testInsertQueryShouldReturnPdostatement() {
- // Fixture account.yml adds two entries to account table
- $this->assertEquals(2, $this->getConnection()->getRowCount('account'), 'Pre-Condition');
-
- $ret = $this->dba->q('INSERT INTO account
- (account_id, account_email, account_language)
- VALUES (100, \'insert@example.com\', \'de\')
- ');
- $this->assertInstanceOf('PDOStatement', $ret);
-
- $this->assertEquals(3, $this->getConnection()->getRowCount('account'), 'Inserting failed');
- }
-
-
- public function testConnectToWrongSqlServer() {
- $nodba = new \dba_pdo('wrongserver',
- \getenv('hz_db_scheme'), \getenv('hz_db_port'),
- \getenv('hz_db_user'), \getenv('hz_db_pass'),
- \getenv('hz_db_database')
- );
-
- $this->assertSame('pdo', $nodba->getdriver());
- $this->assertInstanceOf('dba_pdo', $nodba);
- $this->assertFalse($nodba->connected);
- $this->assertNull($nodba->db);
-
- $this->assertFalse($nodba->q('SELECT * FROM account'));
- }
-
- /**
- * @depends testConnectToSqlServer
- */
- public function testSelectQueryToNonExistentTableShouldReturnFalse() {
- $ret = $this->dba->q('SELECT * FROM non_existent_table');
-
- $this->assertFalse($ret);
- }
-
- /**
- * @depends testConnectToSqlServer
- */
- public function testInsertQueryToNonExistentTableShouldReturnEmptyArray() {
- $ret = $this->dba->q('INSERT INTO non_existent_table
- (account_email, account_language)
- VALUES (\'email@example.com\', \'en\')
- ');
-
- $this->assertNotInstanceOf('PDOStatement', $ret);
- $this->isEmpty($ret);
- }
-
-}
diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php
index 03b9bb9c4..1a58957d2 100644
--- a/vendor/composer/ClassLoader.php
+++ b/vendor/composer/ClassLoader.php
@@ -37,8 +37,8 @@ namespace Composer\Autoload;
*
* @author Fabien Potencier <fabien@symfony.com>
* @author Jordi Boggiano <j.boggiano@seld.be>
- * @see http://www.php-fig.org/psr/psr-0/
- * @see http://www.php-fig.org/psr/psr-4/
+ * @see https://www.php-fig.org/psr/psr-0/
+ * @see https://www.php-fig.org/psr/psr-4/
*/
class ClassLoader
{
diff --git a/vendor/composer/InstalledVersions.php b/vendor/composer/InstalledVersions.php
new file mode 100644
index 000000000..17bff7072
--- /dev/null
+++ b/vendor/composer/InstalledVersions.php
@@ -0,0 +1,421 @@
+<?php
+
+namespace Composer;
+
+use Composer\Semver\VersionParser;
+
+
+
+
+
+
+class InstalledVersions
+{
+private static $installed = array (
+ 'root' =>
+ array (
+ 'pretty_version' => 'dev-master',
+ 'version' => 'dev-master',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '188975ccbd3a9c584238c35dd8c5a8fda7718199',
+ 'name' => 'zotlabs/hubzilla',
+ ),
+ 'versions' =>
+ array (
+ 'blueimp/jquery-file-upload' =>
+ array (
+ 'pretty_version' => 'v10.31.0',
+ 'version' => '10.31.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '0740f81829698b84efe17e72501e0f420ea0d611',
+ ),
+ 'bshaffer/oauth2-server-php' =>
+ array (
+ 'pretty_version' => 'v1.11.1',
+ 'version' => '1.11.1.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '5a0c8000d4763b276919e2106f54eddda6bc50fa',
+ ),
+ 'commerceguys/intl' =>
+ array (
+ 'pretty_version' => 'v1.0.6',
+ 'version' => '1.0.6.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '47d5d6d60d0cc25f867e337ce229a228bf6be6f8',
+ ),
+ 'desandro/imagesloaded' =>
+ array (
+ 'pretty_version' => 'v4.1.4',
+ 'version' => '4.1.4.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '67c4e57453120935180c45c6820e7d3fbd2ea1f9',
+ ),
+ 'ezyang/htmlpurifier' =>
+ array (
+ 'pretty_version' => 'v4.13.0',
+ 'version' => '4.13.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '08e27c97e4c6ed02f37c5b2b20488046c8d90d75',
+ ),
+ 'league/html-to-markdown' =>
+ array (
+ 'pretty_version' => '4.10.0',
+ 'version' => '4.10.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '0868ae7a552e809e5cd8f93ba022071640408e88',
+ ),
+ 'lukasreschke/id3parser' =>
+ array (
+ 'pretty_version' => 'v0.0.3',
+ 'version' => '0.0.3.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '62f4de76d4eaa9ea13c66dacc1f22977dace6638',
+ ),
+ 'michelf/php-markdown' =>
+ array (
+ 'pretty_version' => '1.9.0',
+ 'version' => '1.9.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => 'c83178d49e372ca967d1a8c77ae4e051b3a3c75c',
+ ),
+ 'paragonie/random_compat' =>
+ array (
+ 'pretty_version' => 'v9.99.99',
+ 'version' => '9.99.99.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95',
+ ),
+ 'pear/text_languagedetect' =>
+ array (
+ 'pretty_version' => 'v1.0.0',
+ 'version' => '1.0.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => 'bb9ff6f4970f686fac59081e916b456021fe7ba6',
+ ),
+ 'psr/log' =>
+ array (
+ 'pretty_version' => '1.1.3',
+ 'version' => '1.1.3.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '0f73288fd15629204f9d42b7055f72dacbe811fc',
+ ),
+ 'ramsey/uuid' =>
+ array (
+ 'pretty_version' => '3.9.3',
+ 'version' => '3.9.3.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '7e1633a6964b48589b142d60542f9ed31bd37a92',
+ ),
+ 'rhumsaa/uuid' =>
+ array (
+ 'replaced' =>
+ array (
+ 0 => '3.9.3',
+ ),
+ ),
+ 'sabre/dav' =>
+ array (
+ 'pretty_version' => '4.1.1',
+ 'version' => '4.1.1.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '5736f943c90d8d73d04cd8944d8c913811dc7360',
+ ),
+ 'sabre/event' =>
+ array (
+ 'pretty_version' => '5.1.0',
+ 'version' => '5.1.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => 'd00a17507af0e7544cfe17096372f5d733e3b276',
+ ),
+ 'sabre/http' =>
+ array (
+ 'pretty_version' => '5.1.0',
+ 'version' => '5.1.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '23446999f1f6e62892bbd89745070aa902dd3539',
+ ),
+ 'sabre/uri' =>
+ array (
+ 'pretty_version' => '2.2.0',
+ 'version' => '2.2.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '059d11012603be2e32ddb7543602965563ddbb09',
+ ),
+ 'sabre/vobject' =>
+ array (
+ 'pretty_version' => '4.3.1',
+ 'version' => '4.3.1.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => 'a7feca8311462e5da16952454e420b92c20d3586',
+ ),
+ 'sabre/xml' =>
+ array (
+ 'pretty_version' => '2.2.1',
+ 'version' => '2.2.1.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '41c6ba148966b10cafd31d1a4e5feb1e2138d95c',
+ ),
+ 'simplepie/simplepie' =>
+ array (
+ 'pretty_version' => '1.5.5',
+ 'version' => '1.5.5.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => 'ae49e2201b6da9c808e5dac437aca356a11831b4',
+ ),
+ 'smarty/smarty' =>
+ array (
+ 'pretty_version' => 'v3.1.36',
+ 'version' => '3.1.36.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => 'fd148f7ade295014fff77f89ee3d5b20d9d55451',
+ ),
+ 'symfony/polyfill-ctype' =>
+ array (
+ 'pretty_version' => 'v1.20.0',
+ 'version' => '1.20.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => 'f4ba089a5b6366e453971d3aad5fe8e897b37f41',
+ ),
+ 'twbs/bootstrap' =>
+ array (
+ 'pretty_version' => 'v4.5.2',
+ 'version' => '4.5.2.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '5f2480a90ab911babc53039835fe78c6fc12646d',
+ ),
+ 'twitter/bootstrap' =>
+ array (
+ 'replaced' =>
+ array (
+ 0 => 'v4.5.2',
+ ),
+ ),
+ 'zotlabs/hubzilla' =>
+ array (
+ 'pretty_version' => 'dev-master',
+ 'version' => 'dev-master',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '188975ccbd3a9c584238c35dd8c5a8fda7718199',
+ ),
+ ),
+);
+
+
+
+
+
+
+
+public static function getInstalledPackages()
+{
+return array_keys(self::$installed['versions']);
+}
+
+
+
+
+
+
+
+
+
+public static function isInstalled($packageName)
+{
+return isset(self::$installed['versions'][$packageName]);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+public static function satisfies(VersionParser $parser, $packageName, $constraint)
+{
+$constraint = $parser->parseConstraints($constraint);
+$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
+
+return $provided->matches($constraint);
+}
+
+
+
+
+
+
+
+
+
+
+public static function getVersionRanges($packageName)
+{
+if (!isset(self::$installed['versions'][$packageName])) {
+throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
+}
+
+$ranges = array();
+if (isset(self::$installed['versions'][$packageName]['pretty_version'])) {
+$ranges[] = self::$installed['versions'][$packageName]['pretty_version'];
+}
+if (array_key_exists('aliases', self::$installed['versions'][$packageName])) {
+$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['aliases']);
+}
+if (array_key_exists('replaced', self::$installed['versions'][$packageName])) {
+$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['replaced']);
+}
+if (array_key_exists('provided', self::$installed['versions'][$packageName])) {
+$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['provided']);
+}
+
+return implode(' || ', $ranges);
+}
+
+
+
+
+
+public static function getVersion($packageName)
+{
+if (!isset(self::$installed['versions'][$packageName])) {
+throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
+}
+
+if (!isset(self::$installed['versions'][$packageName]['version'])) {
+return null;
+}
+
+return self::$installed['versions'][$packageName]['version'];
+}
+
+
+
+
+
+public static function getPrettyVersion($packageName)
+{
+if (!isset(self::$installed['versions'][$packageName])) {
+throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
+}
+
+if (!isset(self::$installed['versions'][$packageName]['pretty_version'])) {
+return null;
+}
+
+return self::$installed['versions'][$packageName]['pretty_version'];
+}
+
+
+
+
+
+public static function getReference($packageName)
+{
+if (!isset(self::$installed['versions'][$packageName])) {
+throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
+}
+
+if (!isset(self::$installed['versions'][$packageName]['reference'])) {
+return null;
+}
+
+return self::$installed['versions'][$packageName]['reference'];
+}
+
+
+
+
+
+public static function getRootPackage()
+{
+return self::$installed['root'];
+}
+
+
+
+
+
+
+
+public static function getRawData()
+{
+return self::$installed;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+public static function reload($data)
+{
+self::$installed = $data;
+}
+}
diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php
index 76f79059b..8c4222ad6 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -28,6 +28,7 @@ return array(
'CommerceGuys\\Intl\\NumberFormat\\NumberFormat' => $vendorDir . '/commerceguys/intl/src/NumberFormat/NumberFormat.php',
'CommerceGuys\\Intl\\NumberFormat\\NumberFormatRepository' => $vendorDir . '/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php',
'CommerceGuys\\Intl\\NumberFormat\\NumberFormatRepositoryInterface' => $vendorDir . '/commerceguys/intl/src/NumberFormat/NumberFormatRepositoryInterface.php',
+ 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
'HTMLPurifier' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier.php',
'HTMLPurifier_Arborize' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Arborize.php',
'HTMLPurifier_AttrCollections' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php',
@@ -206,9 +207,6 @@ return array(
'HTMLPurifier_Printer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer.php',
'HTMLPurifier_Printer_CSSDefinition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/CSSDefinition.php',
'HTMLPurifier_Printer_ConfigForm' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php',
- 'HTMLPurifier_Printer_ConfigForm_NullDecorator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php',
- 'HTMLPurifier_Printer_ConfigForm_bool' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php',
- 'HTMLPurifier_Printer_ConfigForm_default' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php',
'HTMLPurifier_Printer_HTMLDefinition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/HTMLDefinition.php',
'HTMLPurifier_PropertyList' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/PropertyList.php',
'HTMLPurifier_PropertyListIterator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/PropertyListIterator.php',
@@ -264,7 +262,6 @@ return array(
'ID3Parser\\ID3Parser' => $vendorDir . '/lukasreschke/id3parser/src/ID3Parser.php',
'ID3Parser\\getID3\\Tags\\getid3_id3v1' => $vendorDir . '/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v1.php',
'ID3Parser\\getID3\\Tags\\getid3_id3v2' => $vendorDir . '/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v2.php',
- 'ID3Parser\\getID3\\getID3' => $vendorDir . '/lukasreschke/id3parser/src/getID3/getid3.php',
'ID3Parser\\getID3\\getid3_exception' => $vendorDir . '/lukasreschke/id3parser/src/getID3/getid3_exception.php',
'ID3Parser\\getID3\\getid3_handler' => $vendorDir . '/lukasreschke/id3parser/src/getID3/getid3_handler.php',
'ID3Parser\\getID3\\getid3_lib' => $vendorDir . '/lukasreschke/id3parser/src/getID3/getid3_lib.php',
@@ -1009,10 +1006,10 @@ return array(
'Zotlabs\\Extend\\Hook' => $baseDir . '/Zotlabs/Extend/Hook.php',
'Zotlabs\\Extend\\Route' => $baseDir . '/Zotlabs/Extend/Route.php',
'Zotlabs\\Extend\\Widget' => $baseDir . '/Zotlabs/Extend/Widget.php',
- 'Zotlabs\\Identity\\BasicId\\BasicId' => $baseDir . '/Zotlabs/Identity/BasicId.php',
+ 'Zotlabs\\Identity\\BasicId' => $baseDir . '/Zotlabs/Identity/BasicId.php',
'Zotlabs\\Identity\\OAuth2Server' => $baseDir . '/Zotlabs/Identity/OAuth2Server.php',
'Zotlabs\\Identity\\OAuth2Storage' => $baseDir . '/Zotlabs/Identity/OAuth2Storage.php',
- 'Zotlabs\\Identity\\ProfilePhoto\\ProfilePhoto' => $baseDir . '/Zotlabs/Identity/ProfilePhoto.php',
+ 'Zotlabs\\Identity\\ProfilePhoto' => $baseDir . '/Zotlabs/Identity/ProfilePhoto.php',
'Zotlabs\\Lib\\AConfig' => $baseDir . '/Zotlabs/Lib/AConfig.php',
'Zotlabs\\Lib\\AbConfig' => $baseDir . '/Zotlabs/Lib/AbConfig.php',
'Zotlabs\\Lib\\AccessList' => $baseDir . '/Zotlabs/Lib/AccessList.php',
@@ -1169,7 +1166,7 @@ return array(
'Zotlabs\\Module\\Notes' => $baseDir . '/Zotlabs/Module/Notes.php',
'Zotlabs\\Module\\Notifications' => $baseDir . '/Zotlabs/Module/Notifications.php',
'Zotlabs\\Module\\Notify' => $baseDir . '/Zotlabs/Module/Notify.php',
- 'Zotlabs\\Module\\OAuth2TestVehicle' => $baseDir . '/Zotlabs/Module/Oauth2testvehicle.php',
+ 'Zotlabs\\Module\\OAuth2TestVehicle' => $baseDir . '/Zotlabs/Module/OAuth2TestVehicle.php',
'Zotlabs\\Module\\Oauth' => $baseDir . '/Zotlabs/Module/Oauth.php',
'Zotlabs\\Module\\Oauth2' => $baseDir . '/Zotlabs/Module/Oauth2.php',
'Zotlabs\\Module\\Oauthinfo' => $baseDir . '/Zotlabs/Module/Oauthinfo.php',
@@ -1544,6 +1541,7 @@ return array(
'Zotlabs\\Update\\_1236' => $baseDir . '/Zotlabs/Update/_1236.php',
'Zotlabs\\Update\\_1237' => $baseDir . '/Zotlabs/Update/_1237.php',
'Zotlabs\\Update\\_1238' => $baseDir . '/Zotlabs/Update/_1238.php',
+ 'Zotlabs\\Update\\_1239' => $baseDir . '/Zotlabs/Update/_1239.php',
'Zotlabs\\Web\\Controller' => $baseDir . '/Zotlabs/Web/Controller.php',
'Zotlabs\\Web\\HTTPHeaders' => $baseDir . '/Zotlabs/Web/HTTPHeaders.php',
'Zotlabs\\Web\\HTTPSig' => $baseDir . '/Zotlabs/Web/HTTPSig.php',
diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
index de682b90d..264e26beb 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -22,6 +22,8 @@ class ComposerAutoloaderInit7b34d7e50a62201ec5d5e526a5b8b35d
return self::$loader;
}
+ require __DIR__ . '/platform_check.php';
+
spl_autoload_register(array('ComposerAutoloaderInit7b34d7e50a62201ec5d5e526a5b8b35d', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInit7b34d7e50a62201ec5d5e526a5b8b35d', 'loadClassLoader'));
@@ -32,7 +34,7 @@ class ComposerAutoloaderInit7b34d7e50a62201ec5d5e526a5b8b35d
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
- require_once __DIR__ . '/autoload_static.php';
+ require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d::getInitializer($loader));
} else {
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index afdda7129..e0f45c032 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -196,6 +196,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'CommerceGuys\\Intl\\NumberFormat\\NumberFormat' => __DIR__ . '/..' . '/commerceguys/intl/src/NumberFormat/NumberFormat.php',
'CommerceGuys\\Intl\\NumberFormat\\NumberFormatRepository' => __DIR__ . '/..' . '/commerceguys/intl/src/NumberFormat/NumberFormatRepository.php',
'CommerceGuys\\Intl\\NumberFormat\\NumberFormatRepositoryInterface' => __DIR__ . '/..' . '/commerceguys/intl/src/NumberFormat/NumberFormatRepositoryInterface.php',
+ 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
'HTMLPurifier' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier.php',
'HTMLPurifier_Arborize' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Arborize.php',
'HTMLPurifier_AttrCollections' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php',
@@ -374,9 +375,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'HTMLPurifier_Printer' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer.php',
'HTMLPurifier_Printer_CSSDefinition' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/CSSDefinition.php',
'HTMLPurifier_Printer_ConfigForm' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php',
- 'HTMLPurifier_Printer_ConfigForm_NullDecorator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php',
- 'HTMLPurifier_Printer_ConfigForm_bool' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php',
- 'HTMLPurifier_Printer_ConfigForm_default' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php',
'HTMLPurifier_Printer_HTMLDefinition' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/HTMLDefinition.php',
'HTMLPurifier_PropertyList' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/PropertyList.php',
'HTMLPurifier_PropertyListIterator' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier/PropertyListIterator.php',
@@ -432,7 +430,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'ID3Parser\\ID3Parser' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/ID3Parser.php',
'ID3Parser\\getID3\\Tags\\getid3_id3v1' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v1.php',
'ID3Parser\\getID3\\Tags\\getid3_id3v2' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v2.php',
- 'ID3Parser\\getID3\\getID3' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/getid3.php',
'ID3Parser\\getID3\\getid3_exception' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/getid3_exception.php',
'ID3Parser\\getID3\\getid3_handler' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/getid3_handler.php',
'ID3Parser\\getID3\\getid3_lib' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/getid3_lib.php',
@@ -1177,10 +1174,10 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Extend\\Hook' => __DIR__ . '/../..' . '/Zotlabs/Extend/Hook.php',
'Zotlabs\\Extend\\Route' => __DIR__ . '/../..' . '/Zotlabs/Extend/Route.php',
'Zotlabs\\Extend\\Widget' => __DIR__ . '/../..' . '/Zotlabs/Extend/Widget.php',
- 'Zotlabs\\Identity\\BasicId\\BasicId' => __DIR__ . '/../..' . '/Zotlabs/Identity/BasicId.php',
+ 'Zotlabs\\Identity\\BasicId' => __DIR__ . '/../..' . '/Zotlabs/Identity/BasicId.php',
'Zotlabs\\Identity\\OAuth2Server' => __DIR__ . '/../..' . '/Zotlabs/Identity/OAuth2Server.php',
'Zotlabs\\Identity\\OAuth2Storage' => __DIR__ . '/../..' . '/Zotlabs/Identity/OAuth2Storage.php',
- 'Zotlabs\\Identity\\ProfilePhoto\\ProfilePhoto' => __DIR__ . '/../..' . '/Zotlabs/Identity/ProfilePhoto.php',
+ 'Zotlabs\\Identity\\ProfilePhoto' => __DIR__ . '/../..' . '/Zotlabs/Identity/ProfilePhoto.php',
'Zotlabs\\Lib\\AConfig' => __DIR__ . '/../..' . '/Zotlabs/Lib/AConfig.php',
'Zotlabs\\Lib\\AbConfig' => __DIR__ . '/../..' . '/Zotlabs/Lib/AbConfig.php',
'Zotlabs\\Lib\\AccessList' => __DIR__ . '/../..' . '/Zotlabs/Lib/AccessList.php',
@@ -1337,7 +1334,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Notes' => __DIR__ . '/../..' . '/Zotlabs/Module/Notes.php',
'Zotlabs\\Module\\Notifications' => __DIR__ . '/../..' . '/Zotlabs/Module/Notifications.php',
'Zotlabs\\Module\\Notify' => __DIR__ . '/../..' . '/Zotlabs/Module/Notify.php',
- 'Zotlabs\\Module\\OAuth2TestVehicle' => __DIR__ . '/../..' . '/Zotlabs/Module/Oauth2testvehicle.php',
+ 'Zotlabs\\Module\\OAuth2TestVehicle' => __DIR__ . '/../..' . '/Zotlabs/Module/OAuth2TestVehicle.php',
'Zotlabs\\Module\\Oauth' => __DIR__ . '/../..' . '/Zotlabs/Module/Oauth.php',
'Zotlabs\\Module\\Oauth2' => __DIR__ . '/../..' . '/Zotlabs/Module/Oauth2.php',
'Zotlabs\\Module\\Oauthinfo' => __DIR__ . '/../..' . '/Zotlabs/Module/Oauthinfo.php',
@@ -1712,6 +1709,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Update\\_1236' => __DIR__ . '/../..' . '/Zotlabs/Update/_1236.php',
'Zotlabs\\Update\\_1237' => __DIR__ . '/../..' . '/Zotlabs/Update/_1237.php',
'Zotlabs\\Update\\_1238' => __DIR__ . '/../..' . '/Zotlabs/Update/_1238.php',
+ 'Zotlabs\\Update\\_1239' => __DIR__ . '/../..' . '/Zotlabs/Update/_1239.php',
'Zotlabs\\Web\\Controller' => __DIR__ . '/../..' . '/Zotlabs/Web/Controller.php',
'Zotlabs\\Web\\HTTPHeaders' => __DIR__ . '/../..' . '/Zotlabs/Web/HTTPHeaders.php',
'Zotlabs\\Web\\HTTPSig' => __DIR__ . '/../..' . '/Zotlabs/Web/HTTPSig.php',
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 82936174b..7694d45d1 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1,1346 +1,1393 @@
-[
- {
- "name": "blueimp/jquery-file-upload",
- "version": "v10.31.0",
- "version_normalized": "10.31.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/vkhramtsov/jQuery-File-Upload.git",
- "reference": "0740f81829698b84efe17e72501e0f420ea0d611"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/vkhramtsov/jQuery-File-Upload/zipball/0740f81829698b84efe17e72501e0f420ea0d611",
- "reference": "0740f81829698b84efe17e72501e0f420ea0d611",
- "shasum": ""
- },
- "time": "2020-07-13T05:42:06+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "server/php/UploadHandler.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Sebastian Tschan",
- "homepage": "https://blueimp.net"
- }
- ],
- "description": "File Upload widget for jQuery.",
- "homepage": "https://github.com/blueimp/jQuery-File-Upload",
- "keywords": [
- "bootstrap",
- "chunk",
- "cross-domain",
- "cross-site",
- "drag",
- "drop",
- "file",
- "gae",
- "go",
- "jquery",
- "multiple",
- "php",
- "preview",
- "progress",
- "python",
- "resume",
- "selection",
- "upload",
- "widget"
- ],
- "funding": [
- {
- "url": "https://github.com/blueimp",
- "type": "github"
- }
- ]
- },
- {
- "name": "bshaffer/oauth2-server-php",
- "version": "v1.11.1",
- "version_normalized": "1.11.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/bshaffer/oauth2-server-php.git",
- "reference": "5a0c8000d4763b276919e2106f54eddda6bc50fa"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/bshaffer/oauth2-server-php/zipball/5a0c8000d4763b276919e2106f54eddda6bc50fa",
- "reference": "5a0c8000d4763b276919e2106f54eddda6bc50fa",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.9"
- },
- "require-dev": {
- "aws/aws-sdk-php": "~2.8",
- "firebase/php-jwt": "~2.2",
- "mongodb/mongodb": "^1.1",
- "phpunit/phpunit": "^4.0",
- "predis/predis": "dev-master",
- "thobbs/phpcassa": "dev-master"
- },
- "suggest": {
- "aws/aws-sdk-php": "~2.8 is required to use DynamoDB storage",
- "firebase/php-jwt": "~2.2 is required to use JWT features",
- "mongodb/mongodb": "^1.1 is required to use MongoDB storage",
- "predis/predis": "Required to use Redis storage",
- "thobbs/phpcassa": "Required to use Cassandra storage"
- },
- "time": "2018-12-04T00:29:32+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-0": {
- "OAuth2": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Brent Shaffer",
- "email": "bshafs@gmail.com",
- "homepage": "http://brentertainment.com"
- }
- ],
- "description": "OAuth2 Server for PHP",
- "homepage": "http://github.com/bshaffer/oauth2-server-php",
- "keywords": [
- "auth",
- "oauth",
- "oauth2"
- ]
- },
- {
- "name": "commerceguys/intl",
- "version": "v1.0.6",
- "version_normalized": "1.0.6.0",
- "source": {
- "type": "git",
- "url": "https://github.com/commerceguys/intl.git",
- "reference": "47d5d6d60d0cc25f867e337ce229a228bf6be6f8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/commerceguys/intl/zipball/47d5d6d60d0cc25f867e337ce229a228bf6be6f8",
- "reference": "47d5d6d60d0cc25f867e337ce229a228bf6be6f8",
- "shasum": ""
- },
- "require": {
- "php": ">=7.0.8"
- },
- "require-dev": {
- "mikey179/vfsstream": "1.*",
- "phpunit/phpunit": "^6.0"
- },
- "time": "2020-05-26T12:19:43+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "CommerceGuys\\Intl\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Bojan Zivanovic"
- }
- ],
- "description": "Internationalization library powered by CLDR data."
- },
- {
- "name": "desandro/imagesloaded",
- "version": "v4.1.4",
- "version_normalized": "4.1.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/desandro/imagesloaded.git",
- "reference": "67c4e57453120935180c45c6820e7d3fbd2ea1f9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/desandro/imagesloaded/zipball/67c4e57453120935180c45c6820e7d3fbd2ea1f9",
- "reference": "67c4e57453120935180c45c6820e7d3fbd2ea1f9",
- "shasum": ""
- },
- "time": "2018-01-02T16:53:35+00:00",
- "type": "component",
- "installation-source": "dist",
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "David DeSandro",
- "homepage": "http://desandro.com/",
- "role": "developer"
- }
- ],
- "description": "JavaScript is all like _You images done yet or what?_",
- "homepage": "http://imagesloaded.desandro.com",
- "keywords": [
- "dom",
- "images",
- "javascript",
- "jquery-plugin",
- "library",
- "loaded",
- "ui"
- ]
- },
- {
- "name": "ezyang/htmlpurifier",
- "version": "v4.13.0",
- "version_normalized": "4.13.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/ezyang/htmlpurifier.git",
- "reference": "08e27c97e4c6ed02f37c5b2b20488046c8d90d75"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/08e27c97e4c6ed02f37c5b2b20488046c8d90d75",
- "reference": "08e27c97e4c6ed02f37c5b2b20488046c8d90d75",
- "shasum": ""
- },
- "require": {
- "php": ">=5.2"
- },
- "require-dev": {
- "simpletest/simpletest": "dev-master#72de02a7b80c6bb8864ef9bf66d41d2f58f826bd"
- },
- "time": "2020-06-29T00:56:53+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-0": {
- "HTMLPurifier": "library/"
- },
- "files": [
- "library/HTMLPurifier.composer.php"
- ],
- "exclude-from-classmap": [
- "/library/HTMLPurifier/Language/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "LGPL-2.1-or-later"
- ],
- "authors": [
- {
- "name": "Edward Z. Yang",
- "email": "admin@htmlpurifier.org",
- "homepage": "http://ezyang.com"
- }
- ],
- "description": "Standards compliant HTML filter written in PHP",
- "homepage": "http://htmlpurifier.org/",
- "keywords": [
- "html"
- ]
- },
- {
- "name": "league/html-to-markdown",
- "version": "4.10.0",
- "version_normalized": "4.10.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/html-to-markdown.git",
- "reference": "0868ae7a552e809e5cd8f93ba022071640408e88"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/html-to-markdown/zipball/0868ae7a552e809e5cd8f93ba022071640408e88",
- "reference": "0868ae7a552e809e5cd8f93ba022071640408e88",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-xml": "*",
- "php": ">=5.3.3"
- },
- "require-dev": {
- "mikehaertl/php-shellcommand": "~1.1.0",
- "phpunit/phpunit": "^4.8|^5.7",
- "scrutinizer/ocular": "~1.1"
- },
- "time": "2020-07-01T00:34:03+00:00",
- "bin": [
- "bin/html-to-markdown"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.10-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "League\\HTMLToMarkdown\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Colin O'Dell",
- "email": "colinodell@gmail.com",
- "homepage": "https://www.colinodell.com",
- "role": "Lead Developer"
- },
- {
- "name": "Nick Cernis",
- "email": "nick@cern.is",
- "homepage": "http://modernnerd.net",
- "role": "Original Author"
- }
- ],
- "description": "An HTML-to-markdown conversion helper for PHP",
- "homepage": "https://github.com/thephpleague/html-to-markdown",
- "keywords": [
- "html",
- "markdown"
- ],
- "funding": [
- {
- "url": "https://www.colinodell.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://www.paypal.me/colinpodell/10.00",
- "type": "custom"
- },
- {
- "url": "https://github.com/colinodell",
- "type": "github"
- },
- {
- "url": "https://www.patreon.com/colinodell",
- "type": "patreon"
- }
- ]
- },
- {
- "name": "lukasreschke/id3parser",
- "version": "v0.0.3",
- "version_normalized": "0.0.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/LukasReschke/ID3Parser.git",
- "reference": "62f4de76d4eaa9ea13c66dacc1f22977dace6638"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/LukasReschke/ID3Parser/zipball/62f4de76d4eaa9ea13c66dacc1f22977dace6638",
- "reference": "62f4de76d4eaa9ea13c66dacc1f22977dace6638",
- "shasum": ""
- },
- "require": {
- "php": ">=5.4.0"
- },
- "time": "2016-09-22T15:10:54+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "ID3Parser\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "GPL"
- ],
- "homepage": "https://github.com/LukasReschke/ID3Parser/",
- "keywords": [
- "codecs",
- "php",
- "tags"
- ],
- "abandoned": true
- },
- {
- "name": "michelf/php-markdown",
- "version": "1.9.0",
- "version_normalized": "1.9.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/michelf/php-markdown.git",
- "reference": "c83178d49e372ca967d1a8c77ae4e051b3a3c75c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/michelf/php-markdown/zipball/c83178d49e372ca967d1a8c77ae4e051b3a3c75c",
- "reference": "c83178d49e372ca967d1a8c77ae4e051b3a3c75c",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "require-dev": {
- "phpunit/phpunit": ">=4.3 <5.8"
- },
- "time": "2019-12-02T02:32:27+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Michelf\\": "Michelf/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Michel Fortin",
- "email": "michel.fortin@michelf.ca",
- "homepage": "https://michelf.ca/",
- "role": "Developer"
- },
- {
- "name": "John Gruber",
- "homepage": "https://daringfireball.net/"
- }
- ],
- "description": "PHP Markdown",
- "homepage": "https://michelf.ca/projects/php-markdown/",
- "keywords": [
- "markdown"
- ]
- },
- {
- "name": "paragonie/random_compat",
- "version": "v9.99.99",
- "version_normalized": "9.99.99.0",
- "source": {
- "type": "git",
- "url": "https://github.com/paragonie/random_compat.git",
- "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
- "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
- "shasum": ""
- },
- "require": {
- "php": "^7"
- },
- "require-dev": {
- "phpunit/phpunit": "4.*|5.*",
- "vimeo/psalm": "^1"
- },
- "suggest": {
- "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
- },
- "time": "2018-07-02T15:55:56+00:00",
- "type": "library",
- "installation-source": "dist",
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Paragon Initiative Enterprises",
- "email": "security@paragonie.com",
- "homepage": "https://paragonie.com"
- }
- ],
- "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
- "keywords": [
- "csprng",
- "polyfill",
- "pseudorandom",
- "random"
- ]
- },
- {
- "name": "pear/text_languagedetect",
- "version": "v1.0.0",
- "version_normalized": "1.0.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/pear/Text_LanguageDetect.git",
- "reference": "bb9ff6f4970f686fac59081e916b456021fe7ba6"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/pear/Text_LanguageDetect/zipball/bb9ff6f4970f686fac59081e916b456021fe7ba6",
- "reference": "bb9ff6f4970f686fac59081e916b456021fe7ba6",
- "shasum": ""
- },
- "require-dev": {
- "phpunit/phpunit": "*"
- },
- "suggest": {
- "ext-mbstring": "May require the mbstring PHP extension"
- },
- "time": "2017-03-02T16:14:08+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-0": {
- "Text": "./"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "include-path": [
- "./"
- ],
- "license": [
- "BSD-2-Clause"
- ],
- "authors": [
- {
- "name": "Nicholas Pisarro",
- "email": "taak@php.net",
- "role": "Lead"
- }
- ],
- "description": "Identify human languages from text samples",
- "homepage": "http://pear.php.net/package/Text_LanguageDetect"
- },
- {
- "name": "psr/log",
- "version": "1.1.3",
- "version_normalized": "1.1.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/log.git",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "time": "2020-03-23T09:12:05+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1.x-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Psr\\Log\\": "Psr/Log/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common interface for logging libraries",
- "homepage": "https://github.com/php-fig/log",
- "keywords": [
- "log",
- "psr",
- "psr-3"
- ]
- },
- {
- "name": "ramsey/uuid",
- "version": "3.9.3",
- "version_normalized": "3.9.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/ramsey/uuid.git",
- "reference": "7e1633a6964b48589b142d60542f9ed31bd37a92"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ramsey/uuid/zipball/7e1633a6964b48589b142d60542f9ed31bd37a92",
- "reference": "7e1633a6964b48589b142d60542f9ed31bd37a92",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "paragonie/random_compat": "^1 | ^2 | 9.99.99",
- "php": "^5.4 | ^7 | ^8",
- "symfony/polyfill-ctype": "^1.8"
- },
- "replace": {
- "rhumsaa/uuid": "self.version"
- },
- "require-dev": {
- "codeception/aspect-mock": "^1 | ^2",
- "doctrine/annotations": "^1.2",
- "goaop/framework": "1.0.0-alpha.2 | ^1 | ^2.1",
- "jakub-onderka/php-parallel-lint": "^1",
- "mockery/mockery": "^0.9.11 | ^1",
- "moontoast/math": "^1.1",
- "paragonie/random-lib": "^2",
- "php-mock/php-mock-phpunit": "^0.3 | ^1.1",
- "phpunit/phpunit": "^4.8 | ^5.4 | ^6.5",
- "squizlabs/php_codesniffer": "^3.5"
- },
- "suggest": {
- "ext-ctype": "Provides support for PHP Ctype functions",
- "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator",
- "ext-openssl": "Provides the OpenSSL extension for use with the OpenSslGenerator",
- "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator",
- "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).",
- "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter",
- "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid",
- "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type."
- },
- "time": "2020-02-21T04:36:14+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.x-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Ramsey\\Uuid\\": "src/"
- },
- "files": [
- "src/functions.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ben Ramsey",
- "email": "ben@benramsey.com",
- "homepage": "https://benramsey.com"
- },
- {
- "name": "Marijn Huizendveld",
- "email": "marijn.huizendveld@gmail.com"
- },
- {
- "name": "Thibaud Fabre",
- "email": "thibaud@aztech.io"
- }
- ],
- "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).",
- "homepage": "https://github.com/ramsey/uuid",
- "keywords": [
- "guid",
- "identifier",
- "uuid"
- ]
- },
- {
- "name": "sabre/dav",
- "version": "4.1.1",
- "version_normalized": "4.1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sabre-io/dav.git",
- "reference": "5736f943c90d8d73d04cd8944d8c913811dc7360"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sabre-io/dav/zipball/5736f943c90d8d73d04cd8944d8c913811dc7360",
- "reference": "5736f943c90d8d73d04cd8944d8c913811dc7360",
- "shasum": ""
- },
- "require": {
- "ext-ctype": "*",
- "ext-date": "*",
- "ext-dom": "*",
- "ext-iconv": "*",
- "ext-json": "*",
- "ext-mbstring": "*",
- "ext-pcre": "*",
- "ext-simplexml": "*",
- "ext-spl": "*",
- "lib-libxml": ">=2.7.0",
- "php": "^7.1.0",
- "psr/log": "^1.0",
- "sabre/event": "^5.0",
- "sabre/http": "^5.0.5",
- "sabre/uri": "^2.0",
- "sabre/vobject": "^4.2.1",
- "sabre/xml": "^2.0.1"
- },
- "require-dev": {
- "evert/phpdoc-md": "~0.1.0",
- "friendsofphp/php-cs-fixer": "^2.16.3",
- "monolog/monolog": "^1.18",
- "phpstan/phpstan": "^0.12",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.0"
- },
- "suggest": {
- "ext-curl": "*",
- "ext-imap": "*",
- "ext-pdo": "*"
- },
- "time": "2020-07-13T13:38:16+00:00",
- "bin": [
- "bin/sabredav",
- "bin/naturalselection"
- ],
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Sabre\\DAV\\": "lib/DAV/",
- "Sabre\\DAVACL\\": "lib/DAVACL/",
- "Sabre\\CalDAV\\": "lib/CalDAV/",
- "Sabre\\CardDAV\\": "lib/CardDAV/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Evert Pot",
- "email": "me@evertpot.com",
- "homepage": "http://evertpot.com/",
- "role": "Developer"
- }
- ],
- "description": "WebDAV Framework for PHP",
- "homepage": "http://sabre.io/",
- "keywords": [
- "CalDAV",
- "CardDAV",
- "WebDAV",
- "framework",
- "iCalendar"
- ]
- },
- {
- "name": "sabre/event",
- "version": "5.1.0",
- "version_normalized": "5.1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sabre-io/event.git",
- "reference": "d00a17507af0e7544cfe17096372f5d733e3b276"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sabre-io/event/zipball/d00a17507af0e7544cfe17096372f5d733e3b276",
- "reference": "d00a17507af0e7544cfe17096372f5d733e3b276",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "~2.16.1",
- "phpunit/phpunit": "^7 || ^8"
- },
- "time": "2020-01-31T18:52:29+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Sabre\\Event\\": "lib/"
- },
- "files": [
- "lib/coroutine.php",
- "lib/Loop/functions.php",
- "lib/Promise/functions.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Evert Pot",
- "email": "me@evertpot.com",
- "homepage": "http://evertpot.com/",
- "role": "Developer"
- }
- ],
- "description": "sabre/event is a library for lightweight event-based programming",
- "homepage": "http://sabre.io/event/",
- "keywords": [
- "EventEmitter",
- "async",
- "coroutine",
- "eventloop",
- "events",
- "hooks",
- "plugin",
- "promise",
- "reactor",
- "signal"
- ]
- },
- {
- "name": "sabre/http",
- "version": "5.1.0",
- "version_normalized": "5.1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sabre-io/http.git",
- "reference": "23446999f1f6e62892bbd89745070aa902dd3539"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sabre-io/http/zipball/23446999f1f6e62892bbd89745070aa902dd3539",
- "reference": "23446999f1f6e62892bbd89745070aa902dd3539",
- "shasum": ""
- },
- "require": {
- "ext-ctype": "*",
- "ext-curl": "*",
- "ext-mbstring": "*",
- "php": "^7.1",
- "sabre/event": ">=4.0 <6.0",
- "sabre/uri": "^2.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "~2.16.1",
- "phpunit/phpunit": "^7.0 || ^8.0"
- },
- "suggest": {
- "ext-curl": " to make http requests with the Client class"
- },
- "time": "2020-01-31T20:07:09+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "files": [
- "lib/functions.php"
- ],
- "psr-4": {
- "Sabre\\HTTP\\": "lib/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Evert Pot",
- "email": "me@evertpot.com",
- "homepage": "http://evertpot.com/",
- "role": "Developer"
- }
- ],
- "description": "The sabre/http library provides utilities for dealing with http requests and responses. ",
- "homepage": "https://github.com/fruux/sabre-http",
- "keywords": [
- "http"
- ]
- },
- {
- "name": "sabre/uri",
- "version": "2.2.0",
- "version_normalized": "2.2.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sabre-io/uri.git",
- "reference": "059d11012603be2e32ddb7543602965563ddbb09"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sabre-io/uri/zipball/059d11012603be2e32ddb7543602965563ddbb09",
- "reference": "059d11012603be2e32ddb7543602965563ddbb09",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "~2.16.1",
- "phpunit/phpunit": "^7 || ^8"
- },
- "time": "2020-01-31T18:53:43+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "files": [
- "lib/functions.php"
- ],
- "psr-4": {
- "Sabre\\Uri\\": "lib/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Evert Pot",
- "email": "me@evertpot.com",
- "homepage": "http://evertpot.com/",
- "role": "Developer"
- }
- ],
- "description": "Functions for making sense out of URIs.",
- "homepage": "http://sabre.io/uri/",
- "keywords": [
- "rfc3986",
- "uri",
- "url"
- ]
- },
- {
- "name": "sabre/vobject",
- "version": "4.3.1",
- "version_normalized": "4.3.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sabre-io/vobject.git",
- "reference": "a7feca8311462e5da16952454e420b92c20d3586"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sabre-io/vobject/zipball/a7feca8311462e5da16952454e420b92c20d3586",
- "reference": "a7feca8311462e5da16952454e420b92c20d3586",
- "shasum": ""
- },
- "require": {
- "ext-mbstring": "*",
- "php": "^7.1",
- "sabre/xml": "^2.1"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "~2.16.1",
- "phpstan/phpstan": "^0.12",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.0"
- },
- "suggest": {
- "hoa/bench": "If you would like to run the benchmark scripts"
- },
- "time": "2020-07-13T11:23:30+00:00",
- "bin": [
- "bin/vobject",
- "bin/generate_vcards"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0.x-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Sabre\\VObject\\": "lib/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Evert Pot",
- "email": "me@evertpot.com",
- "homepage": "http://evertpot.com/",
- "role": "Developer"
- },
- {
- "name": "Dominik Tobschall",
- "email": "dominik@fruux.com",
- "homepage": "http://tobschall.de/",
- "role": "Developer"
- },
- {
- "name": "Ivan Enderlin",
- "email": "ivan.enderlin@hoa-project.net",
- "homepage": "http://mnt.io/",
- "role": "Developer"
- }
- ],
- "description": "The VObject library for PHP allows you to easily parse and manipulate iCalendar and vCard objects",
- "homepage": "http://sabre.io/vobject/",
- "keywords": [
- "availability",
- "freebusy",
- "iCalendar",
- "ical",
- "ics",
- "jCal",
- "jCard",
- "recurrence",
- "rfc2425",
- "rfc2426",
- "rfc2739",
- "rfc4770",
- "rfc5545",
- "rfc5546",
- "rfc6321",
- "rfc6350",
- "rfc6351",
- "rfc6474",
- "rfc6638",
- "rfc6715",
- "rfc6868",
- "vCalendar",
- "vCard",
- "vcf",
- "xCal",
- "xCard"
- ]
- },
- {
- "name": "sabre/xml",
- "version": "2.2.1",
- "version_normalized": "2.2.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sabre-io/xml.git",
- "reference": "41c6ba148966b10cafd31d1a4e5feb1e2138d95c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sabre-io/xml/zipball/41c6ba148966b10cafd31d1a4e5feb1e2138d95c",
- "reference": "41c6ba148966b10cafd31d1a4e5feb1e2138d95c",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-xmlreader": "*",
- "ext-xmlwriter": "*",
- "lib-libxml": ">=2.6.20",
- "php": "^7.1",
- "sabre/uri": ">=1.0,<3.0.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "~2.16.1",
- "phpstan/phpstan": "^0.12",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.0"
- },
- "time": "2020-05-11T09:44:55+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Sabre\\Xml\\": "lib/"
- },
- "files": [
- "lib/Deserializer/functions.php",
- "lib/Serializer/functions.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Evert Pot",
- "email": "me@evertpot.com",
- "homepage": "http://evertpot.com/",
- "role": "Developer"
- },
- {
- "name": "Markus Staab",
- "email": "markus.staab@redaxo.de",
- "role": "Developer"
- }
- ],
- "description": "sabre/xml is an XML library that you may not hate.",
- "homepage": "https://sabre.io/xml/",
- "keywords": [
- "XMLReader",
- "XMLWriter",
- "dom",
- "xml"
- ]
- },
- {
- "name": "simplepie/simplepie",
- "version": "1.5.5",
- "version_normalized": "1.5.5.0",
- "source": {
- "type": "git",
- "url": "https://github.com/simplepie/simplepie.git",
- "reference": "ae49e2201b6da9c808e5dac437aca356a11831b4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/simplepie/simplepie/zipball/ae49e2201b6da9c808e5dac437aca356a11831b4",
- "reference": "ae49e2201b6da9c808e5dac437aca356a11831b4",
- "shasum": ""
- },
- "require": {
- "ext-pcre": "*",
- "ext-xml": "*",
- "ext-xmlreader": "*",
- "php": ">=5.6.0"
- },
- "require-dev": {
- "phpunit/phpunit": "~5.4.3 || ~6.5"
- },
- "suggest": {
- "ext-curl": "",
- "ext-iconv": "",
- "ext-intl": "",
- "ext-mbstring": "",
- "mf2/mf2": "Microformat module that allows for parsing HTML for microformats"
- },
- "time": "2020-05-01T12:23:14+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-0": {
- "SimplePie": "library"
- }
- },
- "scripts": {
- "test": [
- "phpunit"
- ]
- },
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Ryan Parman",
- "homepage": "http://ryanparman.com/",
- "role": "Creator, alumnus developer"
- },
- {
- "name": "Sam Sneddon",
- "homepage": "https://gsnedders.com/",
- "role": "Alumnus developer"
- },
- {
- "name": "Ryan McCue",
- "email": "me@ryanmccue.info",
- "homepage": "http://ryanmccue.info/",
- "role": "Developer"
- }
- ],
- "description": "A simple Atom/RSS parsing library for PHP",
- "homepage": "http://simplepie.org/",
- "keywords": [
- "atom",
- "feeds",
- "rss"
- ],
- "support": {
- "source": "https://github.com/simplepie/simplepie/tree/1.5.5",
- "issues": "https://github.com/simplepie/simplepie/issues"
+{
+ "packages": [
+ {
+ "name": "blueimp/jquery-file-upload",
+ "version": "v10.31.0",
+ "version_normalized": "10.31.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/vkhramtsov/jQuery-File-Upload.git",
+ "reference": "0740f81829698b84efe17e72501e0f420ea0d611"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/vkhramtsov/jQuery-File-Upload/zipball/0740f81829698b84efe17e72501e0f420ea0d611",
+ "reference": "0740f81829698b84efe17e72501e0f420ea0d611",
+ "shasum": ""
+ },
+ "time": "2020-07-13T05:42:06+00:00",
+ "type": "library",
+ "installation-source": "dist",
+ "autoload": {
+ "classmap": [
+ "server/php/UploadHandler.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Tschan",
+ "homepage": "https://blueimp.net"
+ }
+ ],
+ "description": "File Upload widget for jQuery.",
+ "homepage": "https://github.com/blueimp/jQuery-File-Upload",
+ "keywords": [
+ "bootstrap",
+ "chunk",
+ "cross-domain",
+ "cross-site",
+ "drag",
+ "drop",
+ "file",
+ "gae",
+ "go",
+ "jquery",
+ "multiple",
+ "php",
+ "preview",
+ "progress",
+ "python",
+ "resume",
+ "selection",
+ "upload",
+ "widget"
+ ],
+ "funding": [
+ {
+ "url": "https://github.com/blueimp",
+ "type": "github"
+ }
+ ],
+ "install-path": "../blueimp/jquery-file-upload"
+ },
+ {
+ "name": "bshaffer/oauth2-server-php",
+ "version": "v1.11.1",
+ "version_normalized": "1.11.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/bshaffer/oauth2-server-php.git",
+ "reference": "5a0c8000d4763b276919e2106f54eddda6bc50fa"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/bshaffer/oauth2-server-php/zipball/5a0c8000d4763b276919e2106f54eddda6bc50fa",
+ "reference": "5a0c8000d4763b276919e2106f54eddda6bc50fa",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.9"
+ },
+ "require-dev": {
+ "aws/aws-sdk-php": "~2.8",
+ "firebase/php-jwt": "~2.2",
+ "mongodb/mongodb": "^1.1",
+ "phpunit/phpunit": "^4.0",
+ "predis/predis": "dev-master",
+ "thobbs/phpcassa": "dev-master"
+ },
+ "suggest": {
+ "aws/aws-sdk-php": "~2.8 is required to use DynamoDB storage",
+ "firebase/php-jwt": "~2.2 is required to use JWT features",
+ "mongodb/mongodb": "^1.1 is required to use MongoDB storage",
+ "predis/predis": "Required to use Redis storage",
+ "thobbs/phpcassa": "Required to use Cassandra storage"
+ },
+ "time": "2018-12-04T00:29:32+00:00",
+ "type": "library",
+ "installation-source": "dist",
+ "autoload": {
+ "psr-0": {
+ "OAuth2": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Brent Shaffer",
+ "email": "bshafs@gmail.com",
+ "homepage": "http://brentertainment.com"
+ }
+ ],
+ "description": "OAuth2 Server for PHP",
+ "homepage": "http://github.com/bshaffer/oauth2-server-php",
+ "keywords": [
+ "auth",
+ "oauth",
+ "oauth2"
+ ],
+ "install-path": "../bshaffer/oauth2-server-php"
+ },
+ {
+ "name": "commerceguys/intl",
+ "version": "v1.0.6",
+ "version_normalized": "1.0.6.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/commerceguys/intl.git",
+ "reference": "47d5d6d60d0cc25f867e337ce229a228bf6be6f8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/commerceguys/intl/zipball/47d5d6d60d0cc25f867e337ce229a228bf6be6f8",
+ "reference": "47d5d6d60d0cc25f867e337ce229a228bf6be6f8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.0.8"
+ },
+ "require-dev": {
+ "mikey179/vfsstream": "1.*",
+ "phpunit/phpunit": "^6.0"
+ },
+ "time": "2020-05-26T12:19:43+00:00",
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "CommerceGuys\\Intl\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bojan Zivanovic"
+ }
+ ],
+ "description": "Internationalization library powered by CLDR data.",
+ "install-path": "../commerceguys/intl"
+ },
+ {
+ "name": "desandro/imagesloaded",
+ "version": "v4.1.4",
+ "version_normalized": "4.1.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/desandro/imagesloaded.git",
+ "reference": "67c4e57453120935180c45c6820e7d3fbd2ea1f9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/desandro/imagesloaded/zipball/67c4e57453120935180c45c6820e7d3fbd2ea1f9",
+ "reference": "67c4e57453120935180c45c6820e7d3fbd2ea1f9",
+ "shasum": ""
+ },
+ "time": "2018-01-02T16:53:35+00:00",
+ "type": "component",
+ "installation-source": "dist",
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "David DeSandro",
+ "homepage": "http://desandro.com/",
+ "role": "developer"
+ }
+ ],
+ "description": "JavaScript is all like _You images done yet or what?_",
+ "homepage": "http://imagesloaded.desandro.com",
+ "keywords": [
+ "dom",
+ "images",
+ "javascript",
+ "jquery-plugin",
+ "library",
+ "loaded",
+ "ui"
+ ],
+ "install-path": "../desandro/imagesloaded"
+ },
+ {
+ "name": "ezyang/htmlpurifier",
+ "version": "v4.13.0",
+ "version_normalized": "4.13.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/ezyang/htmlpurifier.git",
+ "reference": "08e27c97e4c6ed02f37c5b2b20488046c8d90d75"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/08e27c97e4c6ed02f37c5b2b20488046c8d90d75",
+ "reference": "08e27c97e4c6ed02f37c5b2b20488046c8d90d75",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.2"
+ },
+ "require-dev": {
+ "simpletest/simpletest": "dev-master#72de02a7b80c6bb8864ef9bf66d41d2f58f826bd"
+ },
+ "time": "2020-06-29T00:56:53+00:00",
+ "type": "library",
+ "installation-source": "dist",
+ "autoload": {
+ "psr-0": {
+ "HTMLPurifier": "library/"
+ },
+ "files": [
+ "library/HTMLPurifier.composer.php"
+ ],
+ "exclude-from-classmap": [
+ "/library/HTMLPurifier/Language/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL-2.1-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Edward Z. Yang",
+ "email": "admin@htmlpurifier.org",
+ "homepage": "http://ezyang.com"
+ }
+ ],
+ "description": "Standards compliant HTML filter written in PHP",
+ "homepage": "http://htmlpurifier.org/",
+ "keywords": [
+ "html"
+ ],
+ "install-path": "../ezyang/htmlpurifier"
+ },
+ {
+ "name": "league/html-to-markdown",
+ "version": "4.10.0",
+ "version_normalized": "4.10.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/html-to-markdown.git",
+ "reference": "0868ae7a552e809e5cd8f93ba022071640408e88"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/html-to-markdown/zipball/0868ae7a552e809e5cd8f93ba022071640408e88",
+ "reference": "0868ae7a552e809e5cd8f93ba022071640408e88",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-xml": "*",
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "mikehaertl/php-shellcommand": "~1.1.0",
+ "phpunit/phpunit": "^4.8|^5.7",
+ "scrutinizer/ocular": "~1.1"
+ },
+ "time": "2020-07-01T00:34:03+00:00",
+ "bin": [
+ "bin/html-to-markdown"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.10-dev"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "League\\HTMLToMarkdown\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Colin O'Dell",
+ "email": "colinodell@gmail.com",
+ "homepage": "https://www.colinodell.com",
+ "role": "Lead Developer"
+ },
+ {
+ "name": "Nick Cernis",
+ "email": "nick@cern.is",
+ "homepage": "http://modernnerd.net",
+ "role": "Original Author"
+ }
+ ],
+ "description": "An HTML-to-markdown conversion helper for PHP",
+ "homepage": "https://github.com/thephpleague/html-to-markdown",
+ "keywords": [
+ "html",
+ "markdown"
+ ],
+ "funding": [
+ {
+ "url": "https://www.colinodell.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.paypal.me/colinpodell/10.00",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/colinodell",
+ "type": "github"
+ },
+ {
+ "url": "https://www.patreon.com/colinodell",
+ "type": "patreon"
+ }
+ ],
+ "install-path": "../league/html-to-markdown"
+ },
+ {
+ "name": "lukasreschke/id3parser",
+ "version": "v0.0.3",
+ "version_normalized": "0.0.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/LukasReschke/ID3Parser.git",
+ "reference": "62f4de76d4eaa9ea13c66dacc1f22977dace6638"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/LukasReschke/ID3Parser/zipball/62f4de76d4eaa9ea13c66dacc1f22977dace6638",
+ "reference": "62f4de76d4eaa9ea13c66dacc1f22977dace6638",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.4.0"
+ },
+ "time": "2016-09-22T15:10:54+00:00",
+ "type": "library",
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "ID3Parser\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL"
+ ],
+ "homepage": "https://github.com/LukasReschke/ID3Parser/",
+ "keywords": [
+ "codecs",
+ "php",
+ "tags"
+ ],
+ "abandoned": true,
+ "install-path": "../lukasreschke/id3parser"
+ },
+ {
+ "name": "michelf/php-markdown",
+ "version": "1.9.0",
+ "version_normalized": "1.9.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/michelf/php-markdown.git",
+ "reference": "c83178d49e372ca967d1a8c77ae4e051b3a3c75c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/michelf/php-markdown/zipball/c83178d49e372ca967d1a8c77ae4e051b3a3c75c",
+ "reference": "c83178d49e372ca967d1a8c77ae4e051b3a3c75c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": ">=4.3 <5.8"
+ },
+ "time": "2019-12-02T02:32:27+00:00",
+ "type": "library",
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "Michelf\\": "Michelf/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Michel Fortin",
+ "email": "michel.fortin@michelf.ca",
+ "homepage": "https://michelf.ca/",
+ "role": "Developer"
+ },
+ {
+ "name": "John Gruber",
+ "homepage": "https://daringfireball.net/"
+ }
+ ],
+ "description": "PHP Markdown",
+ "homepage": "https://michelf.ca/projects/php-markdown/",
+ "keywords": [
+ "markdown"
+ ],
+ "install-path": "../michelf/php-markdown"
+ },
+ {
+ "name": "paragonie/random_compat",
+ "version": "v9.99.99",
+ "version_normalized": "9.99.99.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/paragonie/random_compat.git",
+ "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
+ "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "4.*|5.*",
+ "vimeo/psalm": "^1"
+ },
+ "suggest": {
+ "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
+ },
+ "time": "2018-07-02T15:55:56+00:00",
+ "type": "library",
+ "installation-source": "dist",
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Paragon Initiative Enterprises",
+ "email": "security@paragonie.com",
+ "homepage": "https://paragonie.com"
+ }
+ ],
+ "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
+ "keywords": [
+ "csprng",
+ "polyfill",
+ "pseudorandom",
+ "random"
+ ],
+ "install-path": "../paragonie/random_compat"
+ },
+ {
+ "name": "pear/text_languagedetect",
+ "version": "v1.0.0",
+ "version_normalized": "1.0.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pear/Text_LanguageDetect.git",
+ "reference": "bb9ff6f4970f686fac59081e916b456021fe7ba6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pear/Text_LanguageDetect/zipball/bb9ff6f4970f686fac59081e916b456021fe7ba6",
+ "reference": "bb9ff6f4970f686fac59081e916b456021fe7ba6",
+ "shasum": ""
+ },
+ "require-dev": {
+ "phpunit/phpunit": "*"
+ },
+ "suggest": {
+ "ext-mbstring": "May require the mbstring PHP extension"
+ },
+ "time": "2017-03-02T16:14:08+00:00",
+ "type": "library",
+ "installation-source": "dist",
+ "autoload": {
+ "psr-0": {
+ "Text": "./"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "include-path": [
+ "./"
+ ],
+ "license": [
+ "BSD-2-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Nicholas Pisarro",
+ "email": "taak@php.net",
+ "role": "Lead"
+ }
+ ],
+ "description": "Identify human languages from text samples",
+ "homepage": "http://pear.php.net/package/Text_LanguageDetect",
+ "install-path": "../pear/text_languagedetect"
+ },
+ {
+ "name": "psr/log",
+ "version": "1.1.3",
+ "version_normalized": "1.1.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
+ "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "time": "2020-03-23T09:12:05+00:00",
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.1.x-dev"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "Psr\\Log\\": "Psr/Log/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for logging libraries",
+ "homepage": "https://github.com/php-fig/log",
+ "keywords": [
+ "log",
+ "psr",
+ "psr-3"
+ ],
+ "install-path": "../psr/log"
+ },
+ {
+ "name": "ramsey/uuid",
+ "version": "3.9.3",
+ "version_normalized": "3.9.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/ramsey/uuid.git",
+ "reference": "7e1633a6964b48589b142d60542f9ed31bd37a92"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/ramsey/uuid/zipball/7e1633a6964b48589b142d60542f9ed31bd37a92",
+ "reference": "7e1633a6964b48589b142d60542f9ed31bd37a92",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "paragonie/random_compat": "^1 | ^2 | 9.99.99",
+ "php": "^5.4 | ^7 | ^8",
+ "symfony/polyfill-ctype": "^1.8"
+ },
+ "replace": {
+ "rhumsaa/uuid": "self.version"
+ },
+ "require-dev": {
+ "codeception/aspect-mock": "^1 | ^2",
+ "doctrine/annotations": "^1.2",
+ "goaop/framework": "1.0.0-alpha.2 | ^1 | ^2.1",
+ "jakub-onderka/php-parallel-lint": "^1",
+ "mockery/mockery": "^0.9.11 | ^1",
+ "moontoast/math": "^1.1",
+ "paragonie/random-lib": "^2",
+ "php-mock/php-mock-phpunit": "^0.3 | ^1.1",
+ "phpunit/phpunit": "^4.8 | ^5.4 | ^6.5",
+ "squizlabs/php_codesniffer": "^3.5"
+ },
+ "suggest": {
+ "ext-ctype": "Provides support for PHP Ctype functions",
+ "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator",
+ "ext-openssl": "Provides the OpenSSL extension for use with the OpenSslGenerator",
+ "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator",
+ "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).",
+ "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter",
+ "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid",
+ "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type."
+ },
+ "time": "2020-02-21T04:36:14+00:00",
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.x-dev"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "Ramsey\\Uuid\\": "src/"
+ },
+ "files": [
+ "src/functions.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Ben Ramsey",
+ "email": "ben@benramsey.com",
+ "homepage": "https://benramsey.com"
+ },
+ {
+ "name": "Marijn Huizendveld",
+ "email": "marijn.huizendveld@gmail.com"
+ },
+ {
+ "name": "Thibaud Fabre",
+ "email": "thibaud@aztech.io"
+ }
+ ],
+ "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).",
+ "homepage": "https://github.com/ramsey/uuid",
+ "keywords": [
+ "guid",
+ "identifier",
+ "uuid"
+ ],
+ "install-path": "../ramsey/uuid"
+ },
+ {
+ "name": "sabre/dav",
+ "version": "4.1.1",
+ "version_normalized": "4.1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sabre-io/dav.git",
+ "reference": "5736f943c90d8d73d04cd8944d8c913811dc7360"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sabre-io/dav/zipball/5736f943c90d8d73d04cd8944d8c913811dc7360",
+ "reference": "5736f943c90d8d73d04cd8944d8c913811dc7360",
+ "shasum": ""
+ },
+ "require": {
+ "ext-ctype": "*",
+ "ext-date": "*",
+ "ext-dom": "*",
+ "ext-iconv": "*",
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "ext-pcre": "*",
+ "ext-simplexml": "*",
+ "ext-spl": "*",
+ "lib-libxml": ">=2.7.0",
+ "php": "^7.1.0",
+ "psr/log": "^1.0",
+ "sabre/event": "^5.0",
+ "sabre/http": "^5.0.5",
+ "sabre/uri": "^2.0",
+ "sabre/vobject": "^4.2.1",
+ "sabre/xml": "^2.0.1"
+ },
+ "require-dev": {
+ "evert/phpdoc-md": "~0.1.0",
+ "friendsofphp/php-cs-fixer": "^2.16.3",
+ "monolog/monolog": "^1.18",
+ "phpstan/phpstan": "^0.12",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.0"
+ },
+ "suggest": {
+ "ext-curl": "*",
+ "ext-imap": "*",
+ "ext-pdo": "*"
+ },
+ "time": "2020-07-13T13:38:16+00:00",
+ "bin": [
+ "bin/sabredav",
+ "bin/naturalselection"
+ ],
+ "type": "library",
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "Sabre\\DAV\\": "lib/DAV/",
+ "Sabre\\DAVACL\\": "lib/DAVACL/",
+ "Sabre\\CalDAV\\": "lib/CalDAV/",
+ "Sabre\\CardDAV\\": "lib/CardDAV/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Evert Pot",
+ "email": "me@evertpot.com",
+ "homepage": "http://evertpot.com/",
+ "role": "Developer"
+ }
+ ],
+ "description": "WebDAV Framework for PHP",
+ "homepage": "http://sabre.io/",
+ "keywords": [
+ "CalDAV",
+ "CardDAV",
+ "WebDAV",
+ "framework",
+ "iCalendar"
+ ],
+ "install-path": "../sabre/dav"
+ },
+ {
+ "name": "sabre/event",
+ "version": "5.1.0",
+ "version_normalized": "5.1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sabre-io/event.git",
+ "reference": "d00a17507af0e7544cfe17096372f5d733e3b276"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sabre-io/event/zipball/d00a17507af0e7544cfe17096372f5d733e3b276",
+ "reference": "d00a17507af0e7544cfe17096372f5d733e3b276",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpunit/phpunit": "^7 || ^8"
+ },
+ "time": "2020-01-31T18:52:29+00:00",
+ "type": "library",
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "Sabre\\Event\\": "lib/"
+ },
+ "files": [
+ "lib/coroutine.php",
+ "lib/Loop/functions.php",
+ "lib/Promise/functions.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Evert Pot",
+ "email": "me@evertpot.com",
+ "homepage": "http://evertpot.com/",
+ "role": "Developer"
+ }
+ ],
+ "description": "sabre/event is a library for lightweight event-based programming",
+ "homepage": "http://sabre.io/event/",
+ "keywords": [
+ "EventEmitter",
+ "async",
+ "coroutine",
+ "eventloop",
+ "events",
+ "hooks",
+ "plugin",
+ "promise",
+ "reactor",
+ "signal"
+ ],
+ "install-path": "../sabre/event"
+ },
+ {
+ "name": "sabre/http",
+ "version": "5.1.0",
+ "version_normalized": "5.1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sabre-io/http.git",
+ "reference": "23446999f1f6e62892bbd89745070aa902dd3539"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sabre-io/http/zipball/23446999f1f6e62892bbd89745070aa902dd3539",
+ "reference": "23446999f1f6e62892bbd89745070aa902dd3539",
+ "shasum": ""
+ },
+ "require": {
+ "ext-ctype": "*",
+ "ext-curl": "*",
+ "ext-mbstring": "*",
+ "php": "^7.1",
+ "sabre/event": ">=4.0 <6.0",
+ "sabre/uri": "^2.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpunit/phpunit": "^7.0 || ^8.0"
+ },
+ "suggest": {
+ "ext-curl": " to make http requests with the Client class"
+ },
+ "time": "2020-01-31T20:07:09+00:00",
+ "type": "library",
+ "installation-source": "dist",
+ "autoload": {
+ "files": [
+ "lib/functions.php"
+ ],
+ "psr-4": {
+ "Sabre\\HTTP\\": "lib/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Evert Pot",
+ "email": "me@evertpot.com",
+ "homepage": "http://evertpot.com/",
+ "role": "Developer"
+ }
+ ],
+ "description": "The sabre/http library provides utilities for dealing with http requests and responses. ",
+ "homepage": "https://github.com/fruux/sabre-http",
+ "keywords": [
+ "http"
+ ],
+ "install-path": "../sabre/http"
+ },
+ {
+ "name": "sabre/uri",
+ "version": "2.2.0",
+ "version_normalized": "2.2.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sabre-io/uri.git",
+ "reference": "059d11012603be2e32ddb7543602965563ddbb09"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sabre-io/uri/zipball/059d11012603be2e32ddb7543602965563ddbb09",
+ "reference": "059d11012603be2e32ddb7543602965563ddbb09",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpunit/phpunit": "^7 || ^8"
+ },
+ "time": "2020-01-31T18:53:43+00:00",
+ "type": "library",
+ "installation-source": "dist",
+ "autoload": {
+ "files": [
+ "lib/functions.php"
+ ],
+ "psr-4": {
+ "Sabre\\Uri\\": "lib/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Evert Pot",
+ "email": "me@evertpot.com",
+ "homepage": "http://evertpot.com/",
+ "role": "Developer"
+ }
+ ],
+ "description": "Functions for making sense out of URIs.",
+ "homepage": "http://sabre.io/uri/",
+ "keywords": [
+ "rfc3986",
+ "uri",
+ "url"
+ ],
+ "install-path": "../sabre/uri"
+ },
+ {
+ "name": "sabre/vobject",
+ "version": "4.3.1",
+ "version_normalized": "4.3.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sabre-io/vobject.git",
+ "reference": "a7feca8311462e5da16952454e420b92c20d3586"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sabre-io/vobject/zipball/a7feca8311462e5da16952454e420b92c20d3586",
+ "reference": "a7feca8311462e5da16952454e420b92c20d3586",
+ "shasum": ""
+ },
+ "require": {
+ "ext-mbstring": "*",
+ "php": "^7.1",
+ "sabre/xml": "^2.1"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpstan/phpstan": "^0.12",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.0"
+ },
+ "suggest": {
+ "hoa/bench": "If you would like to run the benchmark scripts"
+ },
+ "time": "2020-07-13T11:23:30+00:00",
+ "bin": [
+ "bin/vobject",
+ "bin/generate_vcards"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0.x-dev"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "Sabre\\VObject\\": "lib/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Evert Pot",
+ "email": "me@evertpot.com",
+ "homepage": "http://evertpot.com/",
+ "role": "Developer"
+ },
+ {
+ "name": "Dominik Tobschall",
+ "email": "dominik@fruux.com",
+ "homepage": "http://tobschall.de/",
+ "role": "Developer"
+ },
+ {
+ "name": "Ivan Enderlin",
+ "email": "ivan.enderlin@hoa-project.net",
+ "homepage": "http://mnt.io/",
+ "role": "Developer"
+ }
+ ],
+ "description": "The VObject library for PHP allows you to easily parse and manipulate iCalendar and vCard objects",
+ "homepage": "http://sabre.io/vobject/",
+ "keywords": [
+ "availability",
+ "freebusy",
+ "iCalendar",
+ "ical",
+ "ics",
+ "jCal",
+ "jCard",
+ "recurrence",
+ "rfc2425",
+ "rfc2426",
+ "rfc2739",
+ "rfc4770",
+ "rfc5545",
+ "rfc5546",
+ "rfc6321",
+ "rfc6350",
+ "rfc6351",
+ "rfc6474",
+ "rfc6638",
+ "rfc6715",
+ "rfc6868",
+ "vCalendar",
+ "vCard",
+ "vcf",
+ "xCal",
+ "xCard"
+ ],
+ "install-path": "../sabre/vobject"
+ },
+ {
+ "name": "sabre/xml",
+ "version": "2.2.1",
+ "version_normalized": "2.2.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sabre-io/xml.git",
+ "reference": "41c6ba148966b10cafd31d1a4e5feb1e2138d95c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sabre-io/xml/zipball/41c6ba148966b10cafd31d1a4e5feb1e2138d95c",
+ "reference": "41c6ba148966b10cafd31d1a4e5feb1e2138d95c",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-xmlreader": "*",
+ "ext-xmlwriter": "*",
+ "lib-libxml": ">=2.6.20",
+ "php": "^7.1",
+ "sabre/uri": ">=1.0,<3.0.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpstan/phpstan": "^0.12",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.0"
+ },
+ "time": "2020-05-11T09:44:55+00:00",
+ "type": "library",
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "Sabre\\Xml\\": "lib/"
+ },
+ "files": [
+ "lib/Deserializer/functions.php",
+ "lib/Serializer/functions.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Evert Pot",
+ "email": "me@evertpot.com",
+ "homepage": "http://evertpot.com/",
+ "role": "Developer"
+ },
+ {
+ "name": "Markus Staab",
+ "email": "markus.staab@redaxo.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "sabre/xml is an XML library that you may not hate.",
+ "homepage": "https://sabre.io/xml/",
+ "keywords": [
+ "XMLReader",
+ "XMLWriter",
+ "dom",
+ "xml"
+ ],
+ "install-path": "../sabre/xml"
+ },
+ {
+ "name": "simplepie/simplepie",
+ "version": "1.5.5",
+ "version_normalized": "1.5.5.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/simplepie/simplepie.git",
+ "reference": "ae49e2201b6da9c808e5dac437aca356a11831b4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/simplepie/simplepie/zipball/ae49e2201b6da9c808e5dac437aca356a11831b4",
+ "reference": "ae49e2201b6da9c808e5dac437aca356a11831b4",
+ "shasum": ""
+ },
+ "require": {
+ "ext-pcre": "*",
+ "ext-xml": "*",
+ "ext-xmlreader": "*",
+ "php": ">=5.6.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~5.4.3 || ~6.5"
+ },
+ "suggest": {
+ "ext-curl": "",
+ "ext-iconv": "",
+ "ext-intl": "",
+ "ext-mbstring": "",
+ "mf2/mf2": "Microformat module that allows for parsing HTML for microformats"
+ },
+ "time": "2020-05-01T12:23:14+00:00",
+ "type": "library",
+ "installation-source": "dist",
+ "autoload": {
+ "psr-0": {
+ "SimplePie": "library"
+ }
+ },
+ "scripts": {
+ "test": [
+ "phpunit"
+ ]
+ },
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Ryan Parman",
+ "homepage": "http://ryanparman.com/",
+ "role": "Creator, alumnus developer"
+ },
+ {
+ "name": "Sam Sneddon",
+ "homepage": "https://gsnedders.com/",
+ "role": "Alumnus developer"
+ },
+ {
+ "name": "Ryan McCue",
+ "email": "me@ryanmccue.info",
+ "homepage": "http://ryanmccue.info/",
+ "role": "Developer"
+ }
+ ],
+ "description": "A simple Atom/RSS parsing library for PHP",
+ "homepage": "http://simplepie.org/",
+ "keywords": [
+ "atom",
+ "feeds",
+ "rss"
+ ],
+ "support": {
+ "source": "https://github.com/simplepie/simplepie/tree/1.5.5",
+ "issues": "https://github.com/simplepie/simplepie/issues"
+ },
+ "install-path": "../simplepie/simplepie"
+ },
+ {
+ "name": "smarty/smarty",
+ "version": "v3.1.36",
+ "version_normalized": "3.1.36.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/smarty-php/smarty.git",
+ "reference": "fd148f7ade295014fff77f89ee3d5b20d9d55451"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/smarty-php/smarty/zipball/fd148f7ade295014fff77f89ee3d5b20d9d55451",
+ "reference": "fd148f7ade295014fff77f89ee3d5b20d9d55451",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "6.4.1",
+ "smarty/smarty-lexer": "^3.1"
+ },
+ "time": "2020-04-14T14:44:26+00:00",
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1.x-dev"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "classmap": [
+ "libs/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL-3.0"
+ ],
+ "authors": [
+ {
+ "name": "Monte Ohrt",
+ "email": "monte@ohrt.com"
+ },
+ {
+ "name": "Uwe Tews",
+ "email": "uwe.tews@googlemail.com"
+ },
+ {
+ "name": "Rodney Rehm",
+ "email": "rodney.rehm@medialize.de"
+ }
+ ],
+ "description": "Smarty - the compiling PHP template engine",
+ "homepage": "http://www.smarty.net",
+ "keywords": [
+ "templating"
+ ],
+ "install-path": "../smarty/smarty"
+ },
+ {
+ "name": "symfony/polyfill-ctype",
+ "version": "v1.20.0",
+ "version_normalized": "1.20.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-ctype.git",
+ "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f4ba089a5b6366e453971d3aad5fe8e897b37f41",
+ "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "suggest": {
+ "ext-ctype": "For best performance"
+ },
+ "time": "2020-10-23T14:02:19+00:00",
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.20-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Ctype\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Gert de Pagter",
+ "email": "BackEndTea@gmail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for ctype functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "ctype",
+ "polyfill",
+ "portable"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.20.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "install-path": "../symfony/polyfill-ctype"
+ },
+ {
+ "name": "twbs/bootstrap",
+ "version": "v4.5.2",
+ "version_normalized": "4.5.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/twbs/bootstrap.git",
+ "reference": "5f2480a90ab911babc53039835fe78c6fc12646d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/twbs/bootstrap/zipball/5f2480a90ab911babc53039835fe78c6fc12646d",
+ "reference": "5f2480a90ab911babc53039835fe78c6fc12646d",
+ "shasum": ""
+ },
+ "replace": {
+ "twitter/bootstrap": "self.version"
+ },
+ "time": "2020-08-06T16:22:43+00:00",
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.3.x-dev"
+ }
+ },
+ "installation-source": "dist",
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mark Otto",
+ "email": "markdotto@gmail.com"
+ },
+ {
+ "name": "Jacob Thornton",
+ "email": "jacobthornton@gmail.com"
+ }
+ ],
+ "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
+ "homepage": "https://getbootstrap.com/",
+ "keywords": [
+ "JS",
+ "css",
+ "framework",
+ "front-end",
+ "mobile-first",
+ "responsive",
+ "sass",
+ "web"
+ ],
+ "funding": [
+ {
+ "url": "https://opencollective.com/bootstrap",
+ "type": "open_collective"
+ }
+ ],
+ "install-path": "../twbs/bootstrap"
}
- },
- {
- "name": "smarty/smarty",
- "version": "v3.1.36",
- "version_normalized": "3.1.36.0",
- "source": {
- "type": "git",
- "url": "https://github.com/smarty-php/smarty.git",
- "reference": "fd148f7ade295014fff77f89ee3d5b20d9d55451"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/smarty-php/smarty/zipball/fd148f7ade295014fff77f89ee3d5b20d9d55451",
- "reference": "fd148f7ade295014fff77f89ee3d5b20d9d55451",
- "shasum": ""
- },
- "require": {
- "php": ">=5.2"
- },
- "require-dev": {
- "phpunit/phpunit": "6.4.1",
- "smarty/smarty-lexer": "^3.1"
- },
- "time": "2020-04-14T14:44:26+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.1.x-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "libs/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "LGPL-3.0"
- ],
- "authors": [
- {
- "name": "Monte Ohrt",
- "email": "monte@ohrt.com"
- },
- {
- "name": "Uwe Tews",
- "email": "uwe.tews@googlemail.com"
- },
- {
- "name": "Rodney Rehm",
- "email": "rodney.rehm@medialize.de"
- }
- ],
- "description": "Smarty - the compiling PHP template engine",
- "homepage": "http://www.smarty.net",
- "keywords": [
- "templating"
- ]
- },
- {
- "name": "symfony/polyfill-ctype",
- "version": "v1.13.1",
- "version_normalized": "1.13.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
- "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "suggest": {
- "ext-ctype": "For best performance"
- },
- "time": "2019-11-27T13:56:44+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.13-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Gert de Pagter",
- "email": "BackEndTea@gmail.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for ctype functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "ctype",
- "polyfill",
- "portable"
- ]
- },
- {
- "name": "twbs/bootstrap",
- "version": "v4.5.2",
- "version_normalized": "4.5.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/twbs/bootstrap.git",
- "reference": "5f2480a90ab911babc53039835fe78c6fc12646d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/twbs/bootstrap/zipball/5f2480a90ab911babc53039835fe78c6fc12646d",
- "reference": "5f2480a90ab911babc53039835fe78c6fc12646d",
- "shasum": ""
- },
- "replace": {
- "twitter/bootstrap": "self.version"
- },
- "time": "2020-08-06T16:22:43+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.3.x-dev"
- }
- },
- "installation-source": "dist",
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mark Otto",
- "email": "markdotto@gmail.com"
- },
- {
- "name": "Jacob Thornton",
- "email": "jacobthornton@gmail.com"
- }
- ],
- "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
- "homepage": "https://getbootstrap.com/",
- "keywords": [
- "JS",
- "css",
- "framework",
- "front-end",
- "mobile-first",
- "responsive",
- "sass",
- "web"
- ],
- "funding": [
- {
- "url": "https://opencollective.com/bootstrap",
- "type": "open_collective"
- }
- ]
- }
-]
+ ],
+ "dev": false,
+ "dev-package-names": []
+}
diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php
new file mode 100644
index 000000000..1a96800ef
--- /dev/null
+++ b/vendor/composer/installed.php
@@ -0,0 +1,236 @@
+<?php return array (
+ 'root' =>
+ array (
+ 'pretty_version' => 'dev-master',
+ 'version' => 'dev-master',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '188975ccbd3a9c584238c35dd8c5a8fda7718199',
+ 'name' => 'zotlabs/hubzilla',
+ ),
+ 'versions' =>
+ array (
+ 'blueimp/jquery-file-upload' =>
+ array (
+ 'pretty_version' => 'v10.31.0',
+ 'version' => '10.31.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '0740f81829698b84efe17e72501e0f420ea0d611',
+ ),
+ 'bshaffer/oauth2-server-php' =>
+ array (
+ 'pretty_version' => 'v1.11.1',
+ 'version' => '1.11.1.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '5a0c8000d4763b276919e2106f54eddda6bc50fa',
+ ),
+ 'commerceguys/intl' =>
+ array (
+ 'pretty_version' => 'v1.0.6',
+ 'version' => '1.0.6.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '47d5d6d60d0cc25f867e337ce229a228bf6be6f8',
+ ),
+ 'desandro/imagesloaded' =>
+ array (
+ 'pretty_version' => 'v4.1.4',
+ 'version' => '4.1.4.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '67c4e57453120935180c45c6820e7d3fbd2ea1f9',
+ ),
+ 'ezyang/htmlpurifier' =>
+ array (
+ 'pretty_version' => 'v4.13.0',
+ 'version' => '4.13.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '08e27c97e4c6ed02f37c5b2b20488046c8d90d75',
+ ),
+ 'league/html-to-markdown' =>
+ array (
+ 'pretty_version' => '4.10.0',
+ 'version' => '4.10.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '0868ae7a552e809e5cd8f93ba022071640408e88',
+ ),
+ 'lukasreschke/id3parser' =>
+ array (
+ 'pretty_version' => 'v0.0.3',
+ 'version' => '0.0.3.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '62f4de76d4eaa9ea13c66dacc1f22977dace6638',
+ ),
+ 'michelf/php-markdown' =>
+ array (
+ 'pretty_version' => '1.9.0',
+ 'version' => '1.9.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => 'c83178d49e372ca967d1a8c77ae4e051b3a3c75c',
+ ),
+ 'paragonie/random_compat' =>
+ array (
+ 'pretty_version' => 'v9.99.99',
+ 'version' => '9.99.99.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95',
+ ),
+ 'pear/text_languagedetect' =>
+ array (
+ 'pretty_version' => 'v1.0.0',
+ 'version' => '1.0.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => 'bb9ff6f4970f686fac59081e916b456021fe7ba6',
+ ),
+ 'psr/log' =>
+ array (
+ 'pretty_version' => '1.1.3',
+ 'version' => '1.1.3.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '0f73288fd15629204f9d42b7055f72dacbe811fc',
+ ),
+ 'ramsey/uuid' =>
+ array (
+ 'pretty_version' => '3.9.3',
+ 'version' => '3.9.3.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '7e1633a6964b48589b142d60542f9ed31bd37a92',
+ ),
+ 'rhumsaa/uuid' =>
+ array (
+ 'replaced' =>
+ array (
+ 0 => '3.9.3',
+ ),
+ ),
+ 'sabre/dav' =>
+ array (
+ 'pretty_version' => '4.1.1',
+ 'version' => '4.1.1.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '5736f943c90d8d73d04cd8944d8c913811dc7360',
+ ),
+ 'sabre/event' =>
+ array (
+ 'pretty_version' => '5.1.0',
+ 'version' => '5.1.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => 'd00a17507af0e7544cfe17096372f5d733e3b276',
+ ),
+ 'sabre/http' =>
+ array (
+ 'pretty_version' => '5.1.0',
+ 'version' => '5.1.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '23446999f1f6e62892bbd89745070aa902dd3539',
+ ),
+ 'sabre/uri' =>
+ array (
+ 'pretty_version' => '2.2.0',
+ 'version' => '2.2.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '059d11012603be2e32ddb7543602965563ddbb09',
+ ),
+ 'sabre/vobject' =>
+ array (
+ 'pretty_version' => '4.3.1',
+ 'version' => '4.3.1.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => 'a7feca8311462e5da16952454e420b92c20d3586',
+ ),
+ 'sabre/xml' =>
+ array (
+ 'pretty_version' => '2.2.1',
+ 'version' => '2.2.1.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '41c6ba148966b10cafd31d1a4e5feb1e2138d95c',
+ ),
+ 'simplepie/simplepie' =>
+ array (
+ 'pretty_version' => '1.5.5',
+ 'version' => '1.5.5.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => 'ae49e2201b6da9c808e5dac437aca356a11831b4',
+ ),
+ 'smarty/smarty' =>
+ array (
+ 'pretty_version' => 'v3.1.36',
+ 'version' => '3.1.36.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => 'fd148f7ade295014fff77f89ee3d5b20d9d55451',
+ ),
+ 'symfony/polyfill-ctype' =>
+ array (
+ 'pretty_version' => 'v1.20.0',
+ 'version' => '1.20.0.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => 'f4ba089a5b6366e453971d3aad5fe8e897b37f41',
+ ),
+ 'twbs/bootstrap' =>
+ array (
+ 'pretty_version' => 'v4.5.2',
+ 'version' => '4.5.2.0',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '5f2480a90ab911babc53039835fe78c6fc12646d',
+ ),
+ 'twitter/bootstrap' =>
+ array (
+ 'replaced' =>
+ array (
+ 0 => 'v4.5.2',
+ ),
+ ),
+ 'zotlabs/hubzilla' =>
+ array (
+ 'pretty_version' => 'dev-master',
+ 'version' => 'dev-master',
+ 'aliases' =>
+ array (
+ ),
+ 'reference' => '188975ccbd3a9c584238c35dd8c5a8fda7718199',
+ ),
+ ),
+);
diff --git a/vendor/composer/platform_check.php b/vendor/composer/platform_check.php
new file mode 100644
index 000000000..6d3407dbb
--- /dev/null
+++ b/vendor/composer/platform_check.php
@@ -0,0 +1,26 @@
+<?php
+
+// platform_check.php @generated by Composer
+
+$issues = array();
+
+if (!(PHP_VERSION_ID >= 70100)) {
+ $issues[] = 'Your Composer dependencies require a PHP version ">= 7.1.0". You are running ' . PHP_VERSION . '.';
+}
+
+if ($issues) {
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
+ } elseif (!headers_sent()) {
+ echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
+ }
+ }
+ trigger_error(
+ 'Composer detected issues in your platform: ' . implode(' ', $issues),
+ E_USER_ERROR
+ );
+}
diff --git a/vendor/symfony/polyfill-ctype/bootstrap.php b/vendor/symfony/polyfill-ctype/bootstrap.php
index 14d1d0faa..0bc45cfdf 100644
--- a/vendor/symfony/polyfill-ctype/bootstrap.php
+++ b/vendor/symfony/polyfill-ctype/bootstrap.php
@@ -12,15 +12,35 @@
use Symfony\Polyfill\Ctype as p;
if (!function_exists('ctype_alnum')) {
- function ctype_alnum($text) { return p\Ctype::ctype_alnum($text); }
- function ctype_alpha($text) { return p\Ctype::ctype_alpha($text); }
- function ctype_cntrl($text) { return p\Ctype::ctype_cntrl($text); }
- function ctype_digit($text) { return p\Ctype::ctype_digit($text); }
- function ctype_graph($text) { return p\Ctype::ctype_graph($text); }
- function ctype_lower($text) { return p\Ctype::ctype_lower($text); }
- function ctype_print($text) { return p\Ctype::ctype_print($text); }
- function ctype_punct($text) { return p\Ctype::ctype_punct($text); }
- function ctype_space($text) { return p\Ctype::ctype_space($text); }
- function ctype_upper($text) { return p\Ctype::ctype_upper($text); }
- function ctype_xdigit($text) { return p\Ctype::ctype_xdigit($text); }
+ function ctype_alnum($input) { return p\Ctype::ctype_alnum($input); }
+}
+if (!function_exists('ctype_alpha')) {
+ function ctype_alpha($input) { return p\Ctype::ctype_alpha($input); }
+}
+if (!function_exists('ctype_cntrl')) {
+ function ctype_cntrl($input) { return p\Ctype::ctype_cntrl($input); }
+}
+if (!function_exists('ctype_digit')) {
+ function ctype_digit($input) { return p\Ctype::ctype_digit($input); }
+}
+if (!function_exists('ctype_graph')) {
+ function ctype_graph($input) { return p\Ctype::ctype_graph($input); }
+}
+if (!function_exists('ctype_lower')) {
+ function ctype_lower($input) { return p\Ctype::ctype_lower($input); }
+}
+if (!function_exists('ctype_print')) {
+ function ctype_print($input) { return p\Ctype::ctype_print($input); }
+}
+if (!function_exists('ctype_punct')) {
+ function ctype_punct($input) { return p\Ctype::ctype_punct($input); }
+}
+if (!function_exists('ctype_space')) {
+ function ctype_space($input) { return p\Ctype::ctype_space($input); }
+}
+if (!function_exists('ctype_upper')) {
+ function ctype_upper($input) { return p\Ctype::ctype_upper($input); }
+}
+if (!function_exists('ctype_xdigit')) {
+ function ctype_xdigit($input) { return p\Ctype::ctype_xdigit($input); }
}
diff --git a/vendor/symfony/polyfill-ctype/composer.json b/vendor/symfony/polyfill-ctype/composer.json
index 2a2ea044b..2088bb9f6 100644
--- a/vendor/symfony/polyfill-ctype/composer.json
+++ b/vendor/symfony/polyfill-ctype/composer.json
@@ -16,7 +16,7 @@
}
],
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"autoload": {
"psr-4": { "Symfony\\Polyfill\\Ctype\\": "" },
@@ -28,7 +28,11 @@
"minimum-stability": "dev",
"extra": {
"branch-alias": {
- "dev-master": "1.13-dev"
+ "dev-main": "1.20-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
}
}
diff --git a/view/js/main.js b/view/js/main.js
index 560868046..ca82e3101 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -20,11 +20,11 @@ var pageHasMoreContent = true;
var divmore_height = 400;
var last_filestorage_id = null;
var mediaPlaying = false;
-var contentHeightDiff = 0;
var liveRecurse = 0;
var savedTitle = '';
var followUpPageLoad = false;
var window_needs_alert = true;
+var expanded_items = [];
var sse_bs_active = false;
var sse_offset = 0;
@@ -69,6 +69,13 @@ $(document).ready(function() {
this.autocomplete_handled = true;
}
+
+ });
+
+ $(document).on('keydown', '.comment-edit-form textarea.expanded', function (e) {
+ if (e.ctrlKey && e.keyCode === 13) {
+ post_comment(this.id.replace('comment-edit-text-',''));
+ }
});
var tf = new Function('n', 's', 'var k = s.split("/")['+aStr['plural_func']+']; return (k ? k : s);');
@@ -95,7 +102,6 @@ $(document).ready(function() {
jQuery.timeago.settings.allowFuture = true;
-
if(sse_enabled) {
if(typeof(window.SharedWorker) === 'undefined') {
// notifications with multiple tabs open will not work very well in this scenario
@@ -208,33 +214,6 @@ $(document).ready(function() {
updateInit();
- // Allow folks to stop the ajax page updates with the pause/break key
- $(document).keydown(function(event) {
- if(event.keyCode == '8') {
- var target = event.target || event.srcElement;
- if (!/input|textarea/i.test(target.nodeName)) {
- return false;
- }
- }
-
- if(event.keyCode == '19' || (event.ctrlKey && event.which == '32')) {
- event.preventDefault();
- if(stopped === false) {
- stopped = true;
- if (event.ctrlKey) {
- totStopped = true;
- }
- $('#pause').html('<img src="images/pause.gif" alt="pause" style="border: 1px solid black;" />');
- } else {
- unpause();
- }
- } else {
- if (!totStopped) {
- unpause();
- }
- }
- });
-
var e = document.getElementById('content-complete');
if(e)
pageHasMoreContent = false;
@@ -244,8 +223,6 @@ $(document).ready(function() {
cache_next_page();
});
-
-
});
function getConversationSettings() {
@@ -310,6 +287,7 @@ function handle_comment_form(e) {
// handle clicked form
var form = $(this);
+
var fields = form.find(':input[type=text], textarea');
var fields_empty = true;
@@ -324,8 +302,9 @@ function handle_comment_form(e) {
form.find(':not(:visible)').show();
}
+
// handle click outside of form (close empty forms)
- $(document).on('click', function(e) {
+ $(document).one('click', function(e) {
fields.each(function() {
if($(this).val() != '')
fields_empty = false;
@@ -344,18 +323,19 @@ function handle_comment_form(e) {
form.find(':button[type=submit]').prop('title', '');
}
});
-
+
var commentSaveTimer = null;
var emptyCommentElm = form.find('.comment-edit-text').attr('id');
var convId = emptyCommentElm.replace('comment-edit-text-','');
- $(document).on('focusout','#' + emptyCommentElm,function(e){
+ $('#' + emptyCommentElm).on('focusout',function(e){
if(commentSaveTimer)
clearTimeout(commentSaveTimer);
commentSaveChanges(convId,true);
commentSaveTimer = null;
+ $('#' + emptyCommentElm).off();
});
- $(document).on('focusin','#' + emptyCommentElm,function(e){
+ $('#' + emptyCommentElm).on('focusin', function (e){
commentSaveTimer = setTimeout(function () {
commentSaveChanges(convId,false);
},10000);
@@ -379,11 +359,13 @@ function handle_comment_form(e) {
}
}
}
+
}
+
+
function commentClose(obj, id) {
if(obj.value === '') {
- obj.value = aStr.comment;
$("#comment-edit-text-" + id).removeClass("expanded");
$("#mod-cmnt-wrap-" + id).hide();
$("#comment-tools-" + id).hide();
@@ -638,7 +620,10 @@ function updatePageItems(mode, data) {
function updateConvItems(mode,data) {
- $(document).trigger('hz:updateConvItems');
+ var scroll_position = $(window).scrollTop();
+
+ if(mode !== 'update')
+ $(document).trigger('hz:updateConvItems');
if(mode === 'update' || mode === 'replace') {
prev = 'threads-begin';
@@ -648,12 +633,11 @@ function updateConvItems(mode,data) {
}
if(mode === 'replace') {
- $('.thread-wrapper').remove(); // clear existing content
+ $('.thread-parent').remove(); // clear existing content
}
$('.thread-wrapper', data).each(function() {
if(this.classList.contains('toplevel_item')) {
-
var ident = this.id;
var convId = ident.replace('thread-wrapper-','');
var commentWrap = $('#'+ident+' .collapsed-comments').attr('id');
@@ -768,6 +752,8 @@ function updateConvItems(mode,data) {
});
+ $(window).scrollTop(scroll_position);
+
if(followUpPageLoad)
sse_bs_counts();
else
@@ -863,25 +849,16 @@ function scrollToItem() {
}
function collapseHeight() {
- var origContentHeight = Math.ceil($("#region_2").height());
- var cDiff = 0;
- var i = 0;
- var position = $(window).scrollTop();
$(".wall-item-content, .directory-collapse").each(function() {
var orgHeight = $(this).outerHeight(true);
+ var id = $(this).attr('id')
+ var open = ((expanded_items.indexOf($(this).attr('id')) === -1) ? false : true);
if(orgHeight > divmore_height) {
if(! $(this).hasClass('divmore') && $(this).has('div.no-collapse').length == 0) {
-
- // check if we will collapse some content above the visible content and compensate the diff later
- if($(this).offset().top + divmore_height - $(window).scrollTop() + cDiff - ($(".divgrow-showmore").outerHeight() * i) < 65) {
- diff = orgHeight - divmore_height;
- cDiff = cDiff + diff;
- i++;
- }
-
$(this).readmore({
speed: 0,
+ startOpen: open,
heightMargin: 50,
collapsedHeight: divmore_height,
moreLink: '<a href="#" class="divgrow-showmore fakelink">' + aStr.divgrowmore + '</a>',
@@ -891,6 +868,10 @@ function collapseHeight() {
if((($(element).offset().top + divmore_height) - $(window).scrollTop()) < 65 ) {
$(window).scrollTop($(window).scrollTop() - ($(element).outerHeight(true) - divmore_height));
}
+ expanded_items = expanded_items.filter(expanded_items => expanded_items !== id);
+ }
+ else {
+ expanded_items.push(id);
}
}
});
@@ -899,15 +880,6 @@ function collapseHeight() {
}
});
- var collapsedContentHeight = Math.ceil($("#region_2").height());
- contentHeightDiff = liking ? 0 : origContentHeight - collapsedContentHeight;
- console.log('collapseHeight() - contentHeightDiff: ' + contentHeightDiff + 'px');
-
- if(i && !liking){
- var sval = position - cDiff + ($(".divgrow-showmore").outerHeight() * i);
- console.log('collapsed above viewport count: ' + i);
- $(window).scrollTop(sval);
- }
}
function updateInit() {
@@ -942,12 +914,7 @@ function liveUpdate(notify_id) {
if((src === null) || (stopped) || (! profile_uid)) { $('.like-rotator').hide(); return; }
- // if auto updates are enabled and a comment box is open,
- // prevent live updates until the comment is submitted
-
- var lockUpdates = (($('.comment-edit-text.expanded').length && (! bParam_static)) ? true : false);
-
- if(lockUpdates || in_progress || mediaPlaying) {
+ if(in_progress || mediaPlaying) {
if(livetime) {
clearTimeout(livetime);
}
@@ -1049,11 +1016,6 @@ function liveUpdate(notify_id) {
scroll_next = false;
updateConvItems(update_mode,data);
- // adjust scroll position if new content was added above viewport
- if(update_mode === 'update' && !justifiedGalleryActive) {
- $(window).scrollTop($(window).scrollTop() + $("#region_2").height() - orgHeight + contentHeightDiff);
- }
-
in_progress = false;
$('#image_counter').html('');
@@ -1184,19 +1146,30 @@ function justifyPhotosAjax(id) {
$('#' + id).justifiedGallery('norewind').on('jg.complete', function(e){ justifiedGalleryActive = false; });
}
-// Since our ajax calls are asynchronous, we will give a few
-// seconds for the first ajax call (setting like/dislike), then
-// run the updater to pick up any changes and display on the page.
-// The updater will turn any rotators off when it's done.
-// This function will have returned long before any of these
-// events have completed and therefore there won't be any
-// visible feedback that anything changed without all this
-// trickery. This still could cause confusion if the "like" ajax call
-// is delayed and updateInit runs before it completes.
function dolike(ident, verb) {
- unpause();
$('#like-rotator-' + ident.toString()).show();
- $.get('like/' + ident.toString() + '?verb=' + verb, updateInit );
+
+ if(typeof conv_mode == typeof undefined)
+ conv_mode = '';
+
+ $.get('like/' + ident.toString() + '?verb=' + verb + '&conv_mode=' + conv_mode, function (data) {
+ if(data.success) {
+ // this is a bit tricky since the top level thread wrapper wraps the whole thread
+ if($('#thread-wrapper-' + data.orig_id).hasClass('toplevel_item')) {
+ var wrapper = $('<div></div>').html( data.html ).find('#wall-item-outside-wrapper-' + data.id);
+ $('#wall-item-outside-wrapper-' + data.orig_id).html(wrapper[0].innerHTML);
+ // those were not replaced - swap the id
+ $('#thread-wrapper-' + data.orig_id).attr('id', 'thread-wrapper-' + data.id);
+ $('#wall-item-outside-wrapper-' + data.orig_id).attr('id', 'wall-item-outside-wrapper-' + data.id);
+ }
+ else {
+ $('#thread-wrapper-' + data.orig_id).replaceWith(data.html);
+ }
+ $('#wall-item-ago-' + data.id + ' .autotime').timeago();
+ collapseHeight();
+ liking = 0;
+ }
+ });
liking = 1;
}
@@ -1301,14 +1274,12 @@ function dropItem(url, object) {
}
function dosubthread(ident) {
- unpause();
$('#like-rotator-' + ident.toString()).show();
$.get('subthread/sub/' + ident.toString(), updateInit );
liking = 1;
}
function dounsubthread(ident) {
- unpause();
$('#like-rotator-' + ident.toString()).show();
$.get('subthread/unsub/' + ident.toString(), updateInit );
liking = 1;
@@ -1387,44 +1358,53 @@ function submitPoll(id) {
function(data) {
$.jGrowl(data.message, { sticky: false, theme: ((data.success) ? 'info' : 'notice'), life: 10000 });
if(timer) clearTimeout(timer);
- timer = setTimeout(updateInit,1500);
+ timer = setTimeout(updateInit, 500);
}
);
}
-
function post_comment(id) {
- unpause();
+
commentBusy = true;
$('body').css('cursor', 'wait');
$("#comment-preview-inp-" + id).val("0");
+
+ if(typeof conv_mode == typeof undefined)
+ conv_mode = '';
+
+ var form_data = $("#comment-edit-form-" + id).serialize();
+
$.post(
"item",
- $("#comment-edit-form-" + id).serialize(),
+ form_data + '&conv_mode=' + conv_mode,
function(data) {
if(data.success) {
localStorage.removeItem("comment_body-" + id);
$("#comment-edit-preview-" + id).hide();
- $("#comment-edit-wrapper-" + id).hide();
- $("#comment-edit-text-" + id).val('');
+ $("#comment-edit-text-" + id).val('').blur().attr('placeholder', aStr.comment);
+ $('#wall-item-comment-wrapper-' + id).before(data.html);
+ $('#wall-item-ago-' + data.id + ' .autotime').timeago();
+ $('body').css('cursor', 'unset');
+ collapseHeight();
+ commentBusy = false;
+
var tarea = document.getElementById("comment-edit-text-" + id);
if(tarea) {
commentClose(tarea, id);
- $(document).unbind( "click.commentOpen");
+ $(document).off( "click.commentOpen");
}
- if(timer) clearTimeout(timer);
- timer = setTimeout(updateInit,1500);
- }
- if(data.reload) {
- window.location.href=data.reload;
}
},
"json"
);
+
return false;
+
}
+
+
function preview_comment(id) {
$("#comment-preview-inp-" + id).val("1");
$("#comment-edit-preview-" + id).show();
@@ -1492,13 +1472,6 @@ function preview_mail() {
return true;
}
-function unpause() {
- // unpause auto reloads if they are currently stopped
- totStopped = false;
- stopped = false;
- $('#pause').html('');
-}
-
function bin2hex(s) {
// Converts the binary representation of data to hex
//
@@ -1595,7 +1568,6 @@ function zFormError(elm,x) {
}
}
-
$(window).scroll(function () {
if(typeof buildCmd == 'function') {
// This is a content page with items and/or conversations
@@ -1621,22 +1593,6 @@ $(window).scroll(function () {
}
});
-var chanviewFullSize = false;
-
-function chanviewFull() {
- if(chanviewFullSize) {
- chanviewFullSize = false;
- $('#chanview-iframe-border').css({ 'position' : 'relative', 'z-index' : '10' });
- $('#remote-channel').css({ 'position' : 'relative' , 'z-index' : '10' });
- }
- else {
- chanviewFullSize = true;
- $('#chanview-iframe-border').css({ 'position' : 'fixed', 'top' : '0', 'left' : '0', 'z-index' : '150001' });
- $('#remote-channel').css({ 'position' : 'fixed', 'top' : '0', 'left' : '0', 'z-index' : '150000' });
- resize_iframe();
- }
-}
-
function addhtmltext(data) {
data = h2b(data);
addeditortext(data);
@@ -1867,8 +1823,6 @@ function sse_bs_notifications(e, replace, followup) {
}
}
-
-
function sse_handleNotifications(obj, replace, followup) {
var primary_notifications = ['dm', 'home', 'intros', 'register', 'mail', 'notify', 'files'];
diff --git a/view/tpl/build_query.tpl b/view/tpl/build_query.tpl
index bbe0ac7ee..83e756367 100755
--- a/view/tpl/build_query.tpl
+++ b/view/tpl/build_query.tpl
@@ -2,6 +2,9 @@
var bParam_cmd = "{{$baseurl}}/update/{{$pgtype}}";
+ {{if $conv_mode}}
+ var conv_mode = '{{$conv_mode}}';
+ {{/if}}
var bParam_uid = {{$uid}};
var bParam_gid = {{$gid}};
@@ -18,7 +21,6 @@
var bParam_list = {{$list}};
var bParam_fh = {{$fh}};
var bParam_dm = {{$dm}};
- var bParam_static = {{$static}};
var bParam_search = "{{$search}}";
var bParam_xchan = "{{$xchan}}";
@@ -42,7 +44,6 @@
if(bParam_cmax != (-1)) bCmd = bCmd + "&cmax=" + bParam_cmax;
if(bParam_gid != 0) { bCmd = bCmd + "&gid=" + bParam_gid; } else
if(bParam_cid != 0) { bCmd = bCmd + "&cid=" + bParam_cid; }
- if(bParam_static != 0) { bCmd = bCmd + "&static=" + bParam_static; }
if(bParam_star != 0) bCmd = bCmd + "&star=" + bParam_star;
if(bParam_liked != 0) bCmd = bCmd + "&liked=" + bParam_liked;
if(bParam_conv!= 0) bCmd = bCmd + "&conv=" + bParam_conv;
diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl
index d7eaefe7e..78601c40d 100755
--- a/view/tpl/conv_item.tpl
+++ b/view/tpl/conv_item.tpl
@@ -259,7 +259,7 @@
{{/foreach}}
{{/if}}
{{if $item.comment}}
- <div class="p-2 wall-item-comment-wrapper{{if $item.children}} wall-item-comment-wrapper-wc{{/if}}" >
+ <div id="wall-item-comment-wrapper-{{$item.id}}" class="p-2 wall-item-comment-wrapper{{if $item.children}} wall-item-comment-wrapper-wc{{/if}}" >
{{$item.comment}}
</div>
{{/if}}
diff --git a/view/tpl/head.tpl b/view/tpl/head.tpl
index 0d212e029..ecb30afd3 100755
--- a/view/tpl/head.tpl
+++ b/view/tpl/head.tpl
@@ -14,7 +14,7 @@
var zid = {{if $zid}}'{{$zid}}'{{else}}null{{/if}};
var justifiedGalleryActive = false;
{{if $channel_hash}}var channelHash = '{{$channel_hash}}';{{/if}}
- {{if $channel_id}}var channelId = '{{$channel_id}}';{{/if}}{{* Used in e.g. autocomplete *}}
+ var channelId = {{if $channel_id}}{{$channel_id}}{{else}}false{{/if}};{{* Used in e.g. autocomplete *}}
var preloadImages = {{$preload_images}};
var auto_save_draft = {{$auto_save_draft}};
</script>
diff --git a/view/tpl/item_filer.tpl b/view/tpl/item_filer.tpl
index 4eb621f93..f814b374c 100644
--- a/view/tpl/item_filer.tpl
+++ b/view/tpl/item_filer.tpl
@@ -1,7 +1,7 @@
{{if $categories}}
<!--div class="filesavetags"-->
{{foreach $categories as $cat}}
-<span class="item-category badge badge-pill badge-danger"><i class="fa fa-folder-o"></i>&nbsp;{{$cat.term}}&nbsp;<a href="{{$cat.removelink}}" class="text-white" title="{{$remove}}"><i class="fa fa-close"></i></a></span>
+<span class="item-category badge badge-pill badge-danger"><i class="fa fa-folder-o"></i>&nbsp;{{$cat.term}}&nbsp;<a href="{{$cat.removelink}}" class="text-white" title="{{$remove}}" onClick="itemFilerRm({{$cat.id}}, '{{$cat.term}}'); return false;"><i class="fa fa-close"></i></a></span>
{{/foreach}}
<!--/div-->
{{/if}}
diff --git a/view/tpl/jot-header.tpl b/view/tpl/jot-header.tpl
index d519fd666..2539c1fdf 100755
--- a/view/tpl/jot-header.tpl
+++ b/view/tpl/jot-header.tpl
@@ -61,13 +61,11 @@ var activeCommentText = '';
$('#jot-add-option').on('click', jotAddOption);
$(document).on('click', '.poll-option-close', jotRemoveOption);
- function jotSetMime() {
- var mtype = $('#id_mimetype').val();
- if(mtype == 'text/bbcode')
- $('#profile-jot-submit-left').show();
- else
- $('#profile-jot-submit-left').hide();
- }
+ $('#profile-jot-form').keydown(function(e) {
+ if (e.ctrlKey && e.keyCode === 13) {
+ $(this).trigger('submit');
+ }
+ });
$('#invisible-wall-file-upload').fileupload({
url: 'wall_attach/{{$nickname}}',
@@ -91,11 +89,10 @@ var activeCommentText = '';
$('#wall-file-upload').click(function(event) { event.preventDefault(); $('#invisible-wall-file-upload').trigger('click'); return false;});
$('#wall-file-upload-sub').click(function(event) { event.preventDefault(); $('#invisible-wall-file-upload').trigger('click'); return false;});
- // call initialization file
- if (window.File && window.FileList && window.FileReader) {
- DragDropUploadInit();
- }
-
+ // call initialization file
+ if (window.File && window.FileList && window.FileReader) {
+ DragDropUploadInit();
+ }
$('#invisible-comment-upload').fileupload({
url: 'wall_attach/{{$nickname}}',
@@ -128,6 +125,14 @@ var activeCommentText = '';
});
+ function jotSetMime() {
+ var mtype = $('#id_mimetype').val();
+ if(mtype == 'text/bbcode')
+ $('#profile-jot-submit-left').show();
+ else
+ $('#profile-jot-submit-left').hide();
+ }
+
function deleteCheckedItems() {
var checkedstr = '';
@@ -298,13 +303,9 @@ var activeCommentText = '';
if(reply && reply.length) {
reply = reply.replace('#','');
if(reply.length) {
-
commentBusy = true;
$('body').css('cursor', 'wait');
-
- $.get('{{$baseurl}}/tagger/' + id + '?term=' + reply);
- if(timer) clearTimeout(timer);
- timer = setTimeout(updateInit,3000);
+ $.get('{{$baseurl}}/tagger/' + id + '?term=' + reply, updateInit);
liking = 1;
}
}
@@ -353,6 +354,13 @@ var activeCommentText = '';
}
+ function itemFilerRm(id, term) {
+ commentBusy = true;
+ $('body').css('cursor', 'wait');
+ $.get('{{$baseurl}}/filerm/' + id + '?f=&term=' + term, updateInit);
+ liking = 1;
+ }
+
function itemBookmark(id) {
$.get('{{$baseurl}}/bookmarks?f=&item=' + id);
if(timer) clearTimeout(timer);
diff --git a/view/tpl/settings_display.tpl b/view/tpl/settings_display.tpl
index c93efb4aa..c2dd94175 100755
--- a/view/tpl/settings_display.tpl
+++ b/view/tpl/settings_display.tpl
@@ -63,7 +63,6 @@
{{include file="field_checkbox.tpl" field=$title_tosource}}
{{include file="field_checkbox.tpl" field=$user_scalable}}
{{include file="field_checkbox.tpl" field=$preload_images}}
- {{include file="field_checkbox.tpl" field=$manual_update}}
{{include file="field_checkbox.tpl" field=$start_menu}}
<div class="settings-submit-wrapper" >
<button type="submit" name="submit" class="btn btn-primary">{{$submit}}</button>