Merge branch 'dev' of https://github.com/redmatrix/hubzilla into xdev_merge
This commit is contained in:
commit
f840082aae
@ -318,6 +318,7 @@ class Import extends \Zotlabs\Web\Controller {
|
||||
unset($abook['abconfig']);
|
||||
unset($abook['abook_their_perms']);
|
||||
unset($abook['abook_my_perms']);
|
||||
unset($abook['abook_not_here']);
|
||||
|
||||
$abook['abook_account'] = $account_id;
|
||||
$abook['abook_channel'] = $channel['channel_id'];
|
||||
@ -347,7 +348,7 @@ class Import extends \Zotlabs\Web\Controller {
|
||||
continue;
|
||||
}
|
||||
|
||||
create_table_from_array('abook',$abook);
|
||||
abook_store_lowlevel($abook);
|
||||
|
||||
$friends ++;
|
||||
if(intval($abook['abook_feed']))
|
||||
|
2
boot.php
2
boot.php
@ -53,7 +53,7 @@ define ( 'PLATFORM_NAME', 'red' );
|
||||
define ( 'STD_VERSION', '5.3' );
|
||||
define ( 'ZOT_REVISION', '1.2' );
|
||||
|
||||
define ( 'DB_UPDATE_VERSION', 1190 );
|
||||
define ( 'DB_UPDATE_VERSION', 1191 );
|
||||
|
||||
define ( 'PROJECT_BASE', __DIR__ );
|
||||
|
||||
|
@ -33,7 +33,7 @@
|
||||
"pixel418/markdownify": "^2.2",
|
||||
"bshaffer/oauth2-server-php": "^1.9",
|
||||
"ezyang/htmlpurifier": "^4.9",
|
||||
"simplepie/simplepie": ">=1.4.4 || dev-master"
|
||||
"simplepie/simplepie": "~1.5"
|
||||
},
|
||||
"require-dev" : {
|
||||
"php" : ">=7.0",
|
||||
|
126
composer.lock
generated
126
composer.lock
generated
@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "9842014a99ac4e654bc7bfd6061d6f60",
|
||||
"content-hash": "21511c39f481ecdc20210f885d840787",
|
||||
"packages": [
|
||||
{
|
||||
"name": "bshaffer/oauth2-server-php",
|
||||
@ -62,6 +62,53 @@
|
||||
],
|
||||
"time": "2017-01-06T23:20:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ezyang/htmlpurifier",
|
||||
"version": "v4.9.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ezyang/htmlpurifier.git",
|
||||
"reference": "6d50e5282afdfdfc3e0ff6d192aff56c5629b3d4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/6d50e5282afdfdfc3e0ff6d192aff56c5629b3d4",
|
||||
"reference": "6d50e5282afdfdfc3e0ff6d192aff56c5629b3d4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"simpletest/simpletest": "^1.1"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"HTMLPurifier": "library/"
|
||||
},
|
||||
"files": [
|
||||
"library/HTMLPurifier.composer.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"LGPL"
|
||||
],
|
||||
"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"
|
||||
],
|
||||
"time": "2017-03-13T06:30:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "michelf/php-markdown",
|
||||
"version": "1.7.0",
|
||||
@ -218,16 +265,16 @@
|
||||
},
|
||||
{
|
||||
"name": "sabre/dav",
|
||||
"version": "3.2.0",
|
||||
"version": "3.2.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fruux/sabre-dav.git",
|
||||
"reference": "5b9737cc2f0182e368d14c80df7f6b2d77dc1457"
|
||||
"reference": "e987775e619728f12205606c9cc3ee565ffb1516"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fruux/sabre-dav/zipball/5b9737cc2f0182e368d14c80df7f6b2d77dc1457",
|
||||
"reference": "5b9737cc2f0182e368d14c80df7f6b2d77dc1457",
|
||||
"url": "https://api.github.com/repos/fruux/sabre-dav/zipball/e987775e619728f12205606c9cc3ee565ffb1516",
|
||||
"reference": "e987775e619728f12205606c9cc3ee565ffb1516",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -251,8 +298,8 @@
|
||||
"require-dev": {
|
||||
"evert/phpdoc-md": "~0.1.0",
|
||||
"monolog/monolog": "^1.18",
|
||||
"phpunit/phpunit": "> 4.8, <=6.0.0",
|
||||
"sabre/cs": "~0.0.5"
|
||||
"phpunit/phpunit": "> 4.8, <6.0.0",
|
||||
"sabre/cs": "^1.0.0"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-curl": "*",
|
||||
@ -297,7 +344,7 @@
|
||||
"framework",
|
||||
"iCalendar"
|
||||
],
|
||||
"time": "2016-06-28T02:44:05+00:00"
|
||||
"time": "2017-02-15T03:06:08+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sabre/event",
|
||||
@ -621,6 +668,69 @@
|
||||
"xml"
|
||||
],
|
||||
"time": "2016-10-09T22:57:52+00:00"
|
||||
},
|
||||
{
|
||||
"name": "simplepie/simplepie",
|
||||
"version": "1.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/simplepie/simplepie.git",
|
||||
"reference": "5de5551953f95feef12cf355a7a26a70f94aa3ab"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/simplepie/simplepie/zipball/5de5551953f95feef12cf355a7a26a70f94aa3ab",
|
||||
"reference": "5de5551953f95feef12cf355a7a26a70f94aa3ab",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4 || ~5"
|
||||
},
|
||||
"suggest": {
|
||||
"mf2/mf2": "Microformat module that allows for parsing HTML for microformats"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"SimplePie": "library"
|
||||
}
|
||||
},
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Ryan Parman",
|
||||
"homepage": "http://ryanparman.com/",
|
||||
"role": "Creator, alumnus developer"
|
||||
},
|
||||
{
|
||||
"name": "Geoffrey Sneddon",
|
||||
"homepage": "http://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",
|
||||
"issues": "https://github.com/simplepie/simplepie/issues"
|
||||
},
|
||||
"time": "2017-04-17T07:29:31+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
|
@ -182,4 +182,5 @@ even if we have had our occasional disagreements.
|
||||
[li]Simó Albert i Beltran[/li]
|
||||
[li]Manuel Reva[/li]
|
||||
[li]Manuel Jiménez Friaza[/li]
|
||||
[/list]
|
||||
[li]Gustav Wall aka "neue medienordnung plus"[/li]
|
||||
[/list]
|
||||
|
@ -57,8 +57,9 @@ function identity_check_service_class($account_id) {
|
||||
* Plugins can set additional policies such as full name requirements, character
|
||||
* sets, multi-byte length, etc.
|
||||
*
|
||||
* @hooks validate_channelname
|
||||
* * \e array \b name
|
||||
* @param string $name
|
||||
*
|
||||
* @returns nil return if name is valid, or string describing the error state.
|
||||
*/
|
||||
function validate_channelname($name) {
|
||||
@ -69,7 +70,7 @@ function validate_channelname($name) {
|
||||
if (strlen($name) > 255)
|
||||
return t('Name too long');
|
||||
|
||||
$arr = array('name' => $name);
|
||||
$arr = ['name' => $name];
|
||||
call_hooks('validate_channelname', $arr);
|
||||
|
||||
if (x($arr, 'message'))
|
||||
@ -464,7 +465,6 @@ function create_identity($arr) {
|
||||
* if true, set this default unconditionally
|
||||
* if $force is false only do this if there is no existing default
|
||||
*/
|
||||
|
||||
function set_default_login_identity($account_id, $channel_id, $force = true) {
|
||||
$r = q("select account_default_channel from account where account_id = %d limit 1",
|
||||
intval($account_id)
|
||||
@ -479,12 +479,29 @@ function set_default_login_identity($account_id, $channel_id, $force = true) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Return an array with default list of sections to export.
|
||||
*
|
||||
* @hooks get_default_export_sections
|
||||
* * \e array \b sections
|
||||
* @return array with default section names to export
|
||||
*/
|
||||
function get_default_export_sections() {
|
||||
$sections = [ 'channel', 'connections', 'config', 'apps', 'chatrooms', 'events', 'webpages', 'mail', 'wikis' ];
|
||||
$sections = [
|
||||
'channel',
|
||||
'connections',
|
||||
'config',
|
||||
'apps',
|
||||
'chatrooms',
|
||||
'events',
|
||||
'webpages',
|
||||
'mail',
|
||||
'wikis'
|
||||
];
|
||||
|
||||
$cb = [ 'sections' => $sections ];
|
||||
call_hooks('get_default_export_sections', $cb);
|
||||
|
||||
return $cb['sections'];
|
||||
}
|
||||
|
||||
@ -494,15 +511,17 @@ function get_default_export_sections() {
|
||||
* which would be necessary to create a nomadic identity clone. This includes
|
||||
* most channel resources and connection information with the exception of content.
|
||||
*
|
||||
* @hooks identity_basic_export
|
||||
* * \e int \b channel_id
|
||||
* * \e array \b sections
|
||||
* * \e array \b data
|
||||
* @param int $channel_id
|
||||
* Channel_id to export
|
||||
* @param boolean $items
|
||||
* Include channel posts (wall items), default false
|
||||
*
|
||||
* @param array $sections (optional)
|
||||
* Which sections to include in the export, default see get_default_export_sections()
|
||||
* @returns array
|
||||
* See function for details
|
||||
*/
|
||||
|
||||
function identity_basic_export($channel_id, $sections = null) {
|
||||
|
||||
/*
|
||||
@ -512,16 +531,16 @@ function identity_basic_export($channel_id, $sections = null) {
|
||||
if(! $sections) {
|
||||
$sections = get_default_export_sections();
|
||||
}
|
||||
|
||||
|
||||
$ret = [];
|
||||
|
||||
// use constants here as otherwise we will have no idea if we can import from a site
|
||||
// with a non-standard platform and version.
|
||||
|
||||
$ret['compatibility'] = [
|
||||
'project' => PLATFORM_NAME,
|
||||
'version' => STD_VERSION,
|
||||
'database' => DB_UPDATE_VERSION,
|
||||
'project' => PLATFORM_NAME,
|
||||
'version' => STD_VERSION,
|
||||
'database' => DB_UPDATE_VERSION,
|
||||
'server_role' => Zotlabs\Lib\System::get_server_role()
|
||||
];
|
||||
|
||||
@ -550,8 +569,7 @@ function identity_basic_export($channel_id, $sections = null) {
|
||||
if($r)
|
||||
$ret['profile'] = $r;
|
||||
|
||||
|
||||
$r = q("select mimetype, content, os_storage from photo
|
||||
$r = q("select mimetype, content, os_storage from photo
|
||||
where imgscale = 4 and photo_usage = %d and uid = %d limit 1",
|
||||
intval(PHOTO_PROFILE),
|
||||
intval($channel_id)
|
||||
@ -559,8 +577,8 @@ function identity_basic_export($channel_id, $sections = null) {
|
||||
|
||||
if($r) {
|
||||
$ret['photo'] = [
|
||||
'type' => $r[0]['mimetype'],
|
||||
'data' => (($r[0]['os_storage'])
|
||||
'type' => $r[0]['mimetype'],
|
||||
'data' => (($r[0]['os_storage'])
|
||||
? base64url_encode(file_get_contents($r[0]['content'])) : base64url_encode($r[0]['content']))
|
||||
];
|
||||
}
|
||||
@ -606,7 +624,6 @@ function identity_basic_export($channel_id, $sections = null) {
|
||||
);
|
||||
if($r)
|
||||
$ret['group_member'] = $r;
|
||||
|
||||
}
|
||||
|
||||
if(in_array('config',$sections)) {
|
||||
@ -615,7 +632,7 @@ function identity_basic_export($channel_id, $sections = null) {
|
||||
);
|
||||
if($r)
|
||||
$ret['config'] = $r;
|
||||
|
||||
|
||||
// All other term types will be included in items, if requested.
|
||||
|
||||
$r = q("select * from term where ttype in (%d,%d) and uid = %d",
|
||||
@ -642,7 +659,6 @@ function identity_basic_export($channel_id, $sections = null) {
|
||||
|
||||
if($r)
|
||||
$ret['likes'] = $r;
|
||||
|
||||
}
|
||||
|
||||
if(in_array('apps',$sections)) {
|
||||
@ -668,7 +684,6 @@ function identity_basic_export($channel_id, $sections = null) {
|
||||
$ret['chatroom'] = $r;
|
||||
}
|
||||
|
||||
|
||||
if(in_array('events',$sections)) {
|
||||
$r = q("select * from event where uid = %d",
|
||||
intval($channel_id)
|
||||
@ -698,7 +713,7 @@ function identity_basic_export($channel_id, $sections = null) {
|
||||
$ret['menu'][] = menu_element($ret['channel'],$m);
|
||||
}
|
||||
}
|
||||
$r = q("select * from item where item_type in ( "
|
||||
$r = q("select * from item where item_type in ( "
|
||||
. ITEM_TYPE_BLOCK . "," . ITEM_TYPE_PDL . "," . ITEM_TYPE_WEBPAGE . " ) and uid = %d",
|
||||
intval($channel_id)
|
||||
);
|
||||
@ -708,7 +723,6 @@ function identity_basic_export($channel_id, $sections = null) {
|
||||
$r = fetch_post_tags($r,true);
|
||||
foreach($r as $rr)
|
||||
$ret['webpages'][] = encode_item($rr,true);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -759,7 +773,7 @@ function identity_basic_export($channel_id, $sections = null) {
|
||||
* Don't export linked resource items. we'll have to pull those out separately.
|
||||
*/
|
||||
|
||||
$r = q("select * from item where item_wall = 1 and item_deleted = 0 and uid = %d
|
||||
$r = q("select * from item where item_wall = 1 and item_deleted = 0 and uid = %d
|
||||
and created > %s - INTERVAL %s and resource_type = '' order by created",
|
||||
intval($channel_id),
|
||||
db_utcnow(),
|
||||
@ -1376,15 +1390,15 @@ function get_my_address() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief
|
||||
* @brief Add visitor's zid to our xchan and attempt authentication.
|
||||
*
|
||||
* If somebody arrives at our site using a zid, add their xchan to our DB if we don't have it already.
|
||||
* If somebody arrives at our site using a zid, add their xchan to our DB if we
|
||||
* don't have it already.
|
||||
* And if they aren't already authenticated here, attempt reverse magic auth.
|
||||
*
|
||||
*
|
||||
* @hooks 'zid_init'
|
||||
* string 'zid' - their zid
|
||||
* string 'url' - the destination url
|
||||
* @hooks zid_init
|
||||
* * \e string \b zid - their zid
|
||||
* * \e string \b url - the destination url
|
||||
*/
|
||||
function zid_init() {
|
||||
$tmp_str = get_my_address();
|
||||
@ -1413,12 +1427,9 @@ function zid_init() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*
|
||||
* If somebody arrives at our site using a zat, authenticate them
|
||||
* @brief If somebody arrives at our site using a zat, authenticate them.
|
||||
*
|
||||
*/
|
||||
|
||||
function zat_init() {
|
||||
if(local_channel() || remote_channel())
|
||||
return;
|
||||
@ -1430,7 +1441,6 @@ function zat_init() {
|
||||
$xchan = atoken_xchan($r[0]);
|
||||
atoken_login($xchan);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -1463,7 +1473,7 @@ function get_theme_uid() {
|
||||
*
|
||||
* @param int $size
|
||||
* one of (300, 80, 48)
|
||||
* @returns string
|
||||
* @returns string with path to profile photo
|
||||
*/
|
||||
function get_default_profile_photo($size = 300) {
|
||||
$scheme = get_config('system','default_profile_photo');
|
||||
@ -1956,7 +1966,6 @@ function channel_manual_conv_update($channel_id) {
|
||||
$x = get_config('system','manual_conversation_update', 1);
|
||||
|
||||
return intval($x);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -2124,24 +2133,33 @@ function account_remove($account_id,$local = true,$unset_session=true) {
|
||||
|
||||
}
|
||||
|
||||
function channel_remove($channel_id, $local = true, $unset_session=false) {
|
||||
/**
|
||||
* @brief Removes a channel.
|
||||
*
|
||||
* @hooks channel_remove
|
||||
* * \e array \b entry from channel tabel for $channel_id
|
||||
* @param int $channel_id
|
||||
* @param boolean $local default true
|
||||
* @param boolean $unset_session default false
|
||||
*/
|
||||
function channel_remove($channel_id, $local = true, $unset_session = false) {
|
||||
|
||||
if(! $channel_id)
|
||||
return;
|
||||
|
||||
logger('Removing channel: ' . $channel_id);
|
||||
logger('channel_remove: local only: ' . intval($local));
|
||||
logger('local only: ' . intval($local));
|
||||
|
||||
$r = q("select * from channel where channel_id = %d limit 1", intval($channel_id));
|
||||
if(! $r) {
|
||||
logger('channel_remove: channel not found: ' . $channel_id);
|
||||
logger('channel not found: ' . $channel_id);
|
||||
return;
|
||||
}
|
||||
|
||||
$channel = $r[0];
|
||||
|
||||
call_hooks('channel_remove',$r[0]);
|
||||
|
||||
call_hooks('channel_remove', $r[0]);
|
||||
|
||||
if(! $local) {
|
||||
|
||||
$r = q("update channel set channel_deleted = '%s', channel_removed = 1 where channel_id = %d",
|
||||
@ -2154,12 +2172,11 @@ function channel_remove($channel_id, $local = true, $unset_session=false) {
|
||||
);
|
||||
|
||||
logger('deleting hublocs',LOGGER_DEBUG);
|
||||
|
||||
|
||||
$r = q("update hubloc set hubloc_deleted = 1 where hubloc_hash = '%s'",
|
||||
dbesc($channel['channel_hash'])
|
||||
);
|
||||
|
||||
|
||||
$r = q("update xchan set xchan_deleted = 1 where xchan_hash = '%s'",
|
||||
dbesc($channel['channel_hash'])
|
||||
);
|
||||
@ -2192,8 +2209,7 @@ function channel_remove($channel_id, $local = true, $unset_session=false) {
|
||||
q("DELETE FROM profile WHERE uid = %d", intval($channel_id));
|
||||
q("DELETE FROM pconfig WHERE uid = %d", intval($channel_id));
|
||||
|
||||
// @FIXME At this stage we need to remove the file resources located under /store/$nickname
|
||||
|
||||
/// @FIXME At this stage we need to remove the file resources located under /store/$nickname
|
||||
|
||||
q("delete from abook where abook_xchan = '%s' and abook_self = 1 ",
|
||||
dbesc($channel['channel_hash'])
|
||||
@ -2244,16 +2260,16 @@ function channel_remove($channel_id, $local = true, $unset_session=false) {
|
||||
dbesc($channel['channel_hash'])
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
//remove from file system
|
||||
$r = q("select channel_address from channel where channel_id = %d limit 1",
|
||||
intval($channel_id)
|
||||
);
|
||||
|
||||
|
||||
if($r) {
|
||||
$channel_address = $r[0]['channel_address'] ;
|
||||
}
|
||||
if($channel_address) {
|
||||
if($channel_address) {
|
||||
$f = 'store/' . $channel_address.'/';
|
||||
logger('delete '. $f);
|
||||
if(is_dir($f)) {
|
||||
@ -2267,23 +2283,25 @@ function channel_remove($channel_id, $local = true, $unset_session=false) {
|
||||
App::$session->nuke();
|
||||
goaway(z_root());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* This checks if a channel is allowed to publish executable code.
|
||||
* It is up to the caller to determine if the observer or local_channel
|
||||
* is in fact the resource owner whose channel_id is being checked
|
||||
/**
|
||||
* @brief This checks if a channel is allowed to publish executable code.
|
||||
*
|
||||
* It is up to the caller to determine if the observer or local_channel
|
||||
* is in fact the resource owner whose channel_id is being checked.
|
||||
*
|
||||
* @param int $channel_id
|
||||
* @return boolean
|
||||
*/
|
||||
|
||||
function channel_codeallowed($channel_id) {
|
||||
|
||||
if(! intval($channel_id))
|
||||
return false;
|
||||
|
||||
$x = channelx_by_n($channel_id);
|
||||
if(($x) && ($x['channel_pageflags'] & PAGE_ALLOWCODE))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
@ -23,6 +23,7 @@ function abook_store_lowlevel($arr) {
|
||||
'abook_unconnected' => ((array_key_exists('abook_unconnected',$arr)) ? $arr['abook_unconnected'] : 0),
|
||||
'abook_self' => ((array_key_exists('abook_self',$arr)) ? $arr['abook_self'] : 0),
|
||||
'abook_feed' => ((array_key_exists('abook_feed',$arr)) ? $arr['abook_feed'] : 0),
|
||||
'abook_not_here' => ((array_key_exists('abook_not_here',$arr)) ? $arr['abook_not_here'] : 0),
|
||||
'abook_profile' => ((array_key_exists('abook_profile',$arr)) ? $arr['abook_profile'] : ''),
|
||||
'abook_incl' => ((array_key_exists('abook_incl',$arr)) ? $arr['abook_incl'] : ''),
|
||||
'abook_excl' => ((array_key_exists('abook_excl',$arr)) ? $arr['abook_excl'] : ''),
|
||||
|
@ -742,7 +742,7 @@ function encode_rel_links($links) {
|
||||
* @param $importer
|
||||
* The contact_record (joined to user_record) of the local user who owns this
|
||||
* relationship. It is this person's stuff that is going to be updated.
|
||||
* @param array $contact[in,out]
|
||||
* @param[in,out] array $contact
|
||||
* The person who is sending us stuff. If not set, we MAY be processing a "follow" activity
|
||||
* from an external network and MAY create an appropriate contact record. Otherwise, we MUST
|
||||
* have a contact record.
|
||||
@ -1232,8 +1232,11 @@ function handle_feed($uid, $abook_id, $url) {
|
||||
/**
|
||||
* @brief Return a XML tag with author information.
|
||||
*
|
||||
* @hooks \b atom_author Possibility to add further tags to returned XML string
|
||||
* * \e string The created XML tag as a string without closing tag
|
||||
* @param string $tag The XML tag to create
|
||||
* @param string $name Name of the author
|
||||
* @param string $nick preferred username
|
||||
* @param string $name displayed name of the author
|
||||
* @param string $uri
|
||||
* @param int $h image height
|
||||
* @param int $w image width
|
||||
|
@ -181,7 +181,7 @@ function import_profiles($channel, $profiles) {
|
||||
* @param array $channel
|
||||
* @param array $hublocs
|
||||
* @param unknown $seize
|
||||
* @param boolean $moving
|
||||
* @param boolean $moving (optional) default false
|
||||
*/
|
||||
function import_hublocs($channel, $hublocs, $seize, $moving = false) {
|
||||
|
||||
@ -585,7 +585,7 @@ function sync_chatrooms($channel, $chatrooms) {
|
||||
*
|
||||
* @param array $channel where to import to
|
||||
* @param array $items
|
||||
* @param boolean $sync
|
||||
* @param boolean $sync default false
|
||||
* @param array $relocate default null
|
||||
*/
|
||||
function import_items($channel, $items, $sync = false, $relocate = null) {
|
||||
@ -648,9 +648,13 @@ function sync_items($channel, $items, $relocate = null) {
|
||||
import_items($channel, $items, true, $relocate);
|
||||
}
|
||||
|
||||
|
||||
|
||||
function import_item_ids($channel,$itemids) {
|
||||
/**
|
||||
* @brief
|
||||
*
|
||||
* @param array $channel A channel array.
|
||||
* @param array $itemids
|
||||
*/
|
||||
function import_item_ids($channel, $itemids) {
|
||||
if($channel && $itemids) {
|
||||
foreach($itemids as $i) {
|
||||
$r = q("select id from item where mid = '%s' and uid = %d limit 1",
|
||||
@ -973,6 +977,7 @@ function import_conv($channel,$convs) {
|
||||
*
|
||||
* @param array $channel
|
||||
* @param array $mails
|
||||
* @param boolean $sync (optional) default false
|
||||
*/
|
||||
function import_mail($channel, $mails, $sync = false) {
|
||||
if($channel && $mails) {
|
||||
@ -1267,7 +1272,7 @@ function sync_files($channel, $files) {
|
||||
*
|
||||
* Replaces $old key with $new key in $arr.
|
||||
*
|
||||
* @param array[in,out] $arr The array where to work on
|
||||
* @param[in,out] array &$arr The array where to work on
|
||||
* @param string $old The old key in the array
|
||||
* @param string $new The new key in the array
|
||||
*/
|
||||
@ -1435,7 +1440,7 @@ function import_webpage_element($element, $channel, $type) {
|
||||
// The author is either the owner or whomever was specified
|
||||
$arr['author_xchan'] = (($element['author_xchan']) ? $element['author_xchan'] : get_observer_hash());
|
||||
// Import mimetype if it is a valid mimetype for the element
|
||||
$mimetypes = [
|
||||
$mimetypes = [
|
||||
'text/bbcode',
|
||||
'text/html',
|
||||
'text/markdown',
|
||||
|
@ -296,11 +296,13 @@ function add_source_route($iid, $hash) {
|
||||
* or other processing is performed.
|
||||
*
|
||||
* @param array $arr
|
||||
* @param boolean $allow_code (optional) default false
|
||||
* @param boolean $deliver (optional) default true
|
||||
* @returns array
|
||||
* * \e boolean \b success true or false
|
||||
* * \e array \b activity the resulting activity if successful
|
||||
*/
|
||||
function post_activity_item($arr,$allow_code = false,$deliver = true) {
|
||||
function post_activity_item($arr, $allow_code = false, $deliver = true) {
|
||||
|
||||
$ret = array('success' => false);
|
||||
|
||||
@ -346,7 +348,7 @@ function post_activity_item($arr,$allow_code = false,$deliver = true) {
|
||||
if(($is_comment) && ($arr['obj_type'] === ACTIVITY_OBJ_NOTE))
|
||||
$arr['obj_type'] = ACTIVITY_OBJ_COMMENT;
|
||||
|
||||
if(! ( array_key_exists('allow_cid',$arr) || array_key_exists('allow_gid',$arr)
|
||||
if(! ( array_key_exists('allow_cid',$arr) || array_key_exists('allow_gid',$arr)
|
||||
|| array_key_exists('deny_cid',$arr) || array_key_exists('deny_gid',$arr))) {
|
||||
$arr['allow_cid'] = $channel['channel_allow_cid'];
|
||||
$arr['allow_gid'] = $channel['channel_allow_gid'];
|
||||
@ -641,11 +643,11 @@ function get_item_elements($x,$allow_code = false) {
|
||||
}
|
||||
}
|
||||
|
||||
// Check signature on the body text received.
|
||||
// Check signature on the body text received.
|
||||
// This presents an issue that we aren't verifying the text that is actually displayed
|
||||
// on this site. We are however verifying the received text was exactly as received.
|
||||
// We have every right to strip content that poses a security risk. You are welcome to
|
||||
// create a plugin to verify the content after filtering if this offends you.
|
||||
// create a plugin to verify the content after filtering if this offends you.
|
||||
|
||||
if($arr['sig']) {
|
||||
|
||||
@ -668,7 +670,7 @@ function get_item_elements($x,$allow_code = false) {
|
||||
|
||||
// If we don't have a public key, strip the signature so it won't show as invalid.
|
||||
// This won't happen in normal use, but could happen if import_author_xchan()
|
||||
// failed to load the zot-info packet due to a server failure and had
|
||||
// failed to load the zot-info packet due to a server failure and had
|
||||
// to create an alternate xchan with network 'unknown'
|
||||
|
||||
unset($arr['sig']);
|
||||
@ -1484,7 +1486,7 @@ function item_store($arr, $allow_exec = false, $deliver = true) {
|
||||
if(array_key_exists('cancel',$arr) && $arr['cancel']) {
|
||||
logger('cancelled by plugin');
|
||||
return $ret;
|
||||
}
|
||||
}
|
||||
|
||||
if(! $arr['uid']) {
|
||||
logger('item_store: no uid');
|
||||
@ -1808,7 +1810,7 @@ logger('revision: ' . $arr['revision']);
|
||||
);
|
||||
|
||||
if($r) {
|
||||
// This will gives us a fresh copy of what's now in the DB and undo the db escaping,
|
||||
// This will gives us a fresh copy of what's now in the DB and undo the db escaping,
|
||||
// which really messes up the notifications
|
||||
|
||||
$current_post = $r[0]['id'];
|
||||
@ -1871,7 +1873,7 @@ logger('revision: ' . $arr['revision']);
|
||||
|
||||
// update the commented timestamp on the parent - unless this is potentially a clone of an older item
|
||||
// which we don't wish to bring to the surface. As the queue only holds deliveries for 3 days, it's
|
||||
// suspected of being an older cloned item if the creation time is older than that.
|
||||
// suspected of being an older cloned item if the creation time is older than that.
|
||||
|
||||
if($arr['created'] > datetime_convert('','','now - 4 days')) {
|
||||
$z = q("select max(created) as commented from item where parent_mid = '%s' and uid = %d and item_delayed = 0 ",
|
||||
@ -1917,7 +1919,7 @@ function item_store_update($arr,$allow_exec = false, $deliver = true) {
|
||||
if(array_key_exists('cancel',$arr) && $arr['cancel']) {
|
||||
logger('cancelled by plugin');
|
||||
return $ret;
|
||||
}
|
||||
}
|
||||
|
||||
if(! intval($arr['uid'])) {
|
||||
logger('item_store_update: no uid');
|
||||
@ -4417,12 +4419,12 @@ function item_create_edit_activity($post) {
|
||||
$new_item['id'] = 0;
|
||||
$new_item['parent'] = 0;
|
||||
$new_item['mid'] = item_message_id();
|
||||
|
||||
|
||||
$new_item['body'] = sprintf( t('[Edited %s]'), (($update_item['item_thread_top']) ? t('Post','edit_activity') : t('Comment','edit_activity')));
|
||||
|
||||
$new_item['body'] .= "\n\n";
|
||||
$new_item['body'] .= $update_item['body'];
|
||||
|
||||
|
||||
$new_item['sig'] = '';
|
||||
|
||||
$new_item['verb'] = ACTIVITY_UPDATE;
|
||||
@ -4448,10 +4450,10 @@ function item_create_edit_activity($post) {
|
||||
array('rel' => 'photo', 'type' => $item_author['xchan_photo_mimetype'], 'href' => $item_author['xchan_photo_m'])),
|
||||
),
|
||||
));
|
||||
|
||||
|
||||
|
||||
$x = post_activity_item($new_item);
|
||||
|
||||
$x = post_activity_item($new_item);
|
||||
|
||||
$post_id = $x['id'];
|
||||
if($post_id) {
|
||||
@ -4466,5 +4468,5 @@ function item_create_edit_activity($post) {
|
||||
}
|
||||
|
||||
\Zotlabs\Daemon\Master::Summon(array('Notifier', 'edit_activity', $post_id));
|
||||
|
||||
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ EOT;
|
||||
|
||||
require_once('include/conversation.php');
|
||||
$is_owner = (((local_channel()) && (App::$profile['profile_uid'] == local_channel())) ? true : false);
|
||||
$navapps[] = channel_apps($is_owner, App::$profile['channel_address']);
|
||||
$channel_apps[] = channel_apps($is_owner, App::$profile['channel_address']);
|
||||
|
||||
$myident = (($channel) ? $channel['xchan_addr'] : '');
|
||||
|
||||
@ -258,7 +258,7 @@ EOT;
|
||||
usort($syslist,'Zotlabs\\Lib\\Apps::app_name_compare');
|
||||
|
||||
foreach($syslist as $app) {
|
||||
$navapps[] = Zlib\Apps::app_render($app,'nav');
|
||||
$nav_apps[] = Zlib\Apps::app_render($app,'nav');
|
||||
}
|
||||
|
||||
$tpl = get_markup_template('nav.tpl');
|
||||
@ -276,8 +276,10 @@ EOT;
|
||||
'$powered_by' => $powered_by,
|
||||
'$help' => t('@name, #tag, ?doc, content'),
|
||||
'$pleasewait' => t('Please wait...'),
|
||||
'$navapps' => $navapps,
|
||||
'$addapps' => t('Add Apps')
|
||||
'$nav_apps' => $nav_apps,
|
||||
'$channel_apps' => $channel_apps,
|
||||
'$addapps' => t('Add Apps'),
|
||||
'$sysapps_toggle' => t('Toggle System Apps')
|
||||
));
|
||||
|
||||
if(x($_SESSION, 'reload_avatar') && $observer) {
|
||||
@ -480,4 +482,4 @@ function channel_apps($is_owner = false, $nickname = null) {
|
||||
'$thumb' => App::$profile['thumb']
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -774,9 +774,9 @@ function activity_match($haystack,$needle) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Pull out all #hashtags and @person tags from $s.
|
||||
* @brief Pull out all \#hashtags and \@person tags from $s.
|
||||
*
|
||||
* We also get @person@domain.com - which would make
|
||||
* We also get \@person\@domain.com - which would make
|
||||
* the regex quite complicated as tags can also
|
||||
* end a sentence. So we'll run through our results
|
||||
* and strip the period from any tags which end with one.
|
||||
@ -2114,7 +2114,7 @@ function ids_to_querystr($arr,$idx = 'id',$quote = false) {
|
||||
* If $abook is true also include the abook info. This is needed in the API to
|
||||
* save extra per item lookups there.
|
||||
*
|
||||
* @param array[in,out] &$items
|
||||
* @param[in,out] array &$items
|
||||
* @param boolean $abook If true also include the abook info
|
||||
* @param number $effective_uid
|
||||
*/
|
||||
@ -2210,10 +2210,10 @@ function magic_link($s) {
|
||||
}
|
||||
|
||||
/**
|
||||
* if $escape is true, dbesc() each element before adding quotes
|
||||
* @brief If $escape is true, dbesc() each element before adding quotes.
|
||||
*
|
||||
* @param array[in,out] &$arr
|
||||
* @param boolean $escape default false
|
||||
* @param[in,out] array &$arr
|
||||
* @param boolean $escape (optional) default false
|
||||
*/
|
||||
function stringify_array_elms(&$arr, $escape = false) {
|
||||
for($x = 0; $x < count($arr); $x ++)
|
||||
@ -2224,7 +2224,6 @@ function stringify_array_elms(&$arr, $escape = false) {
|
||||
* @brief Indents a flat JSON string to make it more human-readable.
|
||||
*
|
||||
* @param string $json The original JSON string to process.
|
||||
*
|
||||
* @return string Indented version of the original JSON string.
|
||||
*/
|
||||
function jindent($json) {
|
||||
@ -3175,4 +3174,4 @@ function ellipsify($s,$maxlen) {
|
||||
return $s;
|
||||
|
||||
return mb_substr($s,0,$maxlen / 2) . '...' . mb_substr($s,mb_strlen($s) - ($maxlen / 2));
|
||||
}
|
||||
}
|
||||
|
@ -3226,12 +3226,10 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
|
||||
}
|
||||
|
||||
|
||||
$disallowed = array('abook_id','abook_account','abook_channel','abook_rating','abook_rating_text');
|
||||
$disallowed = array('abook_id','abook_account','abook_channel','abook_rating','abook_rating_text','abook_not_here');
|
||||
|
||||
foreach($arr['abook'] as $abook) {
|
||||
|
||||
|
||||
|
||||
$abconfig = null;
|
||||
|
||||
if(array_key_exists('abconfig',$abook) && is_array($abook['abconfig']) && count($abook['abconfig']))
|
||||
|
@ -32,6 +32,7 @@ CREATE TABLE IF NOT EXISTS `abook` (
|
||||
`abook_unconnected` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`abook_self` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`abook_feed` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`abook_not_here` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`abook_profile` char(64) NOT NULL DEFAULT '',
|
||||
`abook_incl` TEXT NOT NULL DEFAULT '',
|
||||
`abook_excl` TEXT NOT NULL DEFAULT '',
|
||||
@ -54,6 +55,7 @@ CREATE TABLE IF NOT EXISTS `abook` (
|
||||
KEY `abook_pending` (`abook_pending`),
|
||||
KEY `abook_unconnected` (`abook_unconnected`),
|
||||
KEY `abook_self` (`abook_self`),
|
||||
KEY `abook_not_here` (`abook_not_here`),
|
||||
KEY `abook_feed` (`abook_feed`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
|
@ -30,6 +30,7 @@ CREATE TABLE "abook" (
|
||||
"abook_unconnected" smallint NOT NULL DEFAULT '0',
|
||||
"abook_self" smallint NOT NULL DEFAULT '0',
|
||||
"abook_feed" smallint NOT NULL DEFAULT '0',
|
||||
"abook_not_here" smallint NOT NULL DEFAULT '0',
|
||||
"abook_profile" char(64) NOT NULL DEFAULT '',
|
||||
"abook_incl" TEXT NOT NULL DEFAULT '',
|
||||
"abook_excl" TEXT NOT NULL DEFAULT '',
|
||||
@ -51,6 +52,7 @@ CREATE TABLE "abook" (
|
||||
create index "abook_unconnected" on abook ("abook_unconnected");
|
||||
create index "abook_self" on abook ("abook_self");
|
||||
create index "abook_feed" on abook ("abook_feed");
|
||||
create index "abook_not_here" on abook ("abook_not_here");
|
||||
create index "abook_profile" on abook ("abook_profile");
|
||||
create index "abook_dob" on abook ("abook_dob");
|
||||
create index "abook_connected" on abook ("abook_connected");
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
define( 'UPDATE_VERSION' , 1190 );
|
||||
define( 'UPDATE_VERSION' , 1191 );
|
||||
|
||||
/**
|
||||
*
|
||||
@ -2532,3 +2532,12 @@ function update_r1189() {
|
||||
|
||||
}
|
||||
|
||||
function update_r1190() {
|
||||
$r1 = q("alter table abook add abook_not_here int(11) not null default '0' ");
|
||||
|
||||
$r2 = q("create index abook_not_here on abook (abook_not_here)");
|
||||
|
||||
if($r1 && $r2)
|
||||
return UPDATE_SUCCESS;
|
||||
return UPDATE_FAILED;
|
||||
}
|
||||
|
@ -32,3 +32,6 @@ DOT_IMAGE_FORMAT = svg
|
||||
INTERACTIVE_SVG = YES
|
||||
CLASS_GRAPH = YES
|
||||
COLLABORATION_GRAPH = NO
|
||||
# fix @var (https://bugzilla.gnome.org/show_bug.cgi?id=626105)
|
||||
#INPUT_FILTER = "sed -e 's/@var\s/@see /'"
|
||||
INPUT_FILTER = "php util/Doxygen_phpvarfilter.php"
|
||||
|
18
util/Doxygen_phpvarfilter.php
Normal file
18
util/Doxygen_phpvarfilter.php
Normal file
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
/**
|
||||
* @file Doxygen_phpvarfilter.php
|
||||
* @brief A Doxygen INPUT_FILTER to parse \@var member variable documentation.
|
||||
*
|
||||
* An input filter for Doxygen to parse \@var class member variable documentation,
|
||||
* so it is a bit more compatible how anybody else interpretes it.
|
||||
*
|
||||
* @see http://stackoverflow.com/questions/4325224/doxygen-how-to-describe-class-member-variables-in-php/8472180#8472180
|
||||
*/
|
||||
|
||||
$source = file_get_contents($argv[1]);
|
||||
|
||||
$regexp = '#\@var\s+([^\s]+)([^/]+)/\s+(var|public|protected|private)\s+(\$[^\s;=]+)#';
|
||||
$replac = '${2} */ ${3} ${1} ${4}';
|
||||
$source = preg_replace($regexp, $replac, $source);
|
||||
|
||||
echo $source;
|
1005
vendor/composer/autoload_classmap.php
vendored
1005
vendor/composer/autoload_classmap.php
vendored
File diff suppressed because it is too large
Load Diff
1009
vendor/composer/autoload_static.php
vendored
1009
vendor/composer/autoload_static.php
vendored
File diff suppressed because it is too large
Load Diff
793
vendor/composer/installed.json
vendored
793
vendor/composer/installed.json
vendored
@ -1,369 +1,27 @@
|
||||
[
|
||||
{
|
||||
"name": "sabre/event",
|
||||
"version": "3.0.0",
|
||||
"version_normalized": "3.0.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fruux/sabre-event.git",
|
||||
"reference": "831d586f5a442dceacdcf5e9c4c36a4db99a3534"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fruux/sabre-event/zipball/831d586f5a442dceacdcf5e9c4c36a4db99a3534",
|
||||
"reference": "831d586f5a442dceacdcf5e9c4c36a4db99a3534",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.5"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "*",
|
||||
"sabre/cs": "~0.0.4"
|
||||
},
|
||||
"time": "2015-11-05 20:14:39",
|
||||
"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",
|
||||
"events",
|
||||
"hooks",
|
||||
"plugin",
|
||||
"promise",
|
||||
"signal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "sabre/xml",
|
||||
"version": "1.5.0",
|
||||
"version_normalized": "1.5.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fruux/sabre-xml.git",
|
||||
"reference": "59b20e5bbace9912607481634f97d05a776ffca7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fruux/sabre-xml/zipball/59b20e5bbace9912607481634f97d05a776ffca7",
|
||||
"reference": "59b20e5bbace9912607481634f97d05a776ffca7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-dom": "*",
|
||||
"ext-xmlreader": "*",
|
||||
"ext-xmlwriter": "*",
|
||||
"lib-libxml": ">=2.6.20",
|
||||
"php": ">=5.5.5",
|
||||
"sabre/uri": ">=1.0,<3.0.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "*",
|
||||
"sabre/cs": "~1.0.0"
|
||||
},
|
||||
"time": "2016-10-09 22:57:52",
|
||||
"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": "psr/log",
|
||||
"version": "1.0.2",
|
||||
"version_normalized": "1.0.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/log.git",
|
||||
"reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
|
||||
"reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"time": "2016-10-10 12:19:37",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0.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": "michelf/php-markdown",
|
||||
"version": "1.7.0",
|
||||
"version_normalized": "1.7.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/michelf/php-markdown.git",
|
||||
"reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/michelf/php-markdown/zipball/1f51cc520948f66cd2af8cbc45a5ee175e774220",
|
||||
"reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"time": "2016-10-29 18:58:20",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-lib": "1.4.x-dev"
|
||||
}
|
||||
},
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"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": "pixel418/markdownify",
|
||||
"version": "v2.2.1",
|
||||
"version_normalized": "2.2.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Elephant418/Markdownify.git",
|
||||
"reference": "0160677f04c784550dd10fd72fdf3994967db848"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Elephant418/Markdownify/zipball/0160677f04c784550dd10fd72fdf3994967db848",
|
||||
"reference": "0160677f04c784550dd10fd72fdf3994967db848",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^4.8"
|
||||
},
|
||||
"time": "2016-09-21 13:01:43",
|
||||
"type": "lib",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Markdownify\\": "src",
|
||||
"Test\\Markdownify\\": "test"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"LGPL"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Peter Kruithof",
|
||||
"email": "pkruithof@gmail.com",
|
||||
"homepage": "http://pkruithof.tumblr.com/"
|
||||
},
|
||||
{
|
||||
"name": "Milian Wolff",
|
||||
"email": "mail@milianw.de",
|
||||
"homepage": "http://milianw.de"
|
||||
},
|
||||
{
|
||||
"name": "Thomas Zilliox",
|
||||
"email": "hello@tzi.fr",
|
||||
"homepage": "http://tzi.fr"
|
||||
}
|
||||
],
|
||||
"description": "The HTML to Markdown converter for PHP ",
|
||||
"homepage": "https://github.com/elephant418/Markdownify",
|
||||
"keywords": [
|
||||
"markdown",
|
||||
"markdownify"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "bshaffer/oauth2-server-php",
|
||||
"version": "v1.9.0",
|
||||
"version_normalized": "1.9.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/bshaffer/oauth2-server-php.git",
|
||||
"reference": "8856aed1a98d6da596ae3f9b8095b5c7a1581697"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/bshaffer/oauth2-server-php/zipball/8856aed1a98d6da596ae3f9b8095b5c7a1581697",
|
||||
"reference": "8856aed1a98d6da596ae3f9b8095b5c7a1581697",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.9"
|
||||
},
|
||||
"require-dev": {
|
||||
"aws/aws-sdk-php": "~2.8",
|
||||
"firebase/php-jwt": "~2.2",
|
||||
"mongodb/mongodb": "^1.1",
|
||||
"predis/predis": "dev-master",
|
||||
"thobbs/phpcassa": "dev-master"
|
||||
},
|
||||
"suggest": {
|
||||
"aws/aws-sdk-php": "~2.8 is required to use DynamoDB storage",
|
||||
"firebase/php-jwt": "~1.1 is required to use MondoDB storage",
|
||||
"predis/predis": "Required to use Redis storage",
|
||||
"thobbs/phpcassa": "Required to use Cassandra storage"
|
||||
},
|
||||
"time": "2017-01-06 23:20: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": "sabre/uri",
|
||||
"version": "1.2.1",
|
||||
"version_normalized": "1.2.1.0",
|
||||
"version": "1.1.0",
|
||||
"version_normalized": "1.1.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fruux/sabre-uri.git",
|
||||
"reference": "ada354d83579565949d80b2e15593c2371225e61"
|
||||
"reference": "9012116434d84ef6e5e37a89dfdbfbe2204a8704"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fruux/sabre-uri/zipball/ada354d83579565949d80b2e15593c2371225e61",
|
||||
"reference": "ada354d83579565949d80b2e15593c2371225e61",
|
||||
"url": "https://api.github.com/repos/fruux/sabre-uri/zipball/9012116434d84ef6e5e37a89dfdbfbe2204a8704",
|
||||
"reference": "9012116434d84ef6e5e37a89dfdbfbe2204a8704",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.4.7"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": ">=4.0,<6.0",
|
||||
"sabre/cs": "~1.0.0"
|
||||
"phpunit/phpunit": "*",
|
||||
"sabre/cs": "~0.0.1"
|
||||
},
|
||||
"time": "2017-02-20 19:59:28",
|
||||
"time": "2016-03-08T02:29:27+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
@ -396,32 +54,32 @@
|
||||
},
|
||||
{
|
||||
"name": "sabre/vobject",
|
||||
"version": "4.1.2",
|
||||
"version_normalized": "4.1.2.0",
|
||||
"version": "4.1.1",
|
||||
"version_normalized": "4.1.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fruux/sabre-vobject.git",
|
||||
"reference": "d0fde2fafa2a3dad1f559c2d1c2591d4fd75ae3c"
|
||||
"reference": "a3a59b06947f122af2d45d52b72172cdc1efd68f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fruux/sabre-vobject/zipball/d0fde2fafa2a3dad1f559c2d1c2591d4fd75ae3c",
|
||||
"reference": "d0fde2fafa2a3dad1f559c2d1c2591d4fd75ae3c",
|
||||
"url": "https://api.github.com/repos/fruux/sabre-vobject/zipball/a3a59b06947f122af2d45d52b72172cdc1efd68f",
|
||||
"reference": "a3a59b06947f122af2d45d52b72172cdc1efd68f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-mbstring": "*",
|
||||
"php": ">=5.5",
|
||||
"sabre/xml": ">=1.5 <3.0"
|
||||
"sabre/xml": "~1.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "*",
|
||||
"sabre/cs": "^1.0.0"
|
||||
"sabre/cs": "~0.0.3"
|
||||
},
|
||||
"suggest": {
|
||||
"hoa/bench": "If you would like to run the benchmark scripts"
|
||||
},
|
||||
"time": "2016-12-06 04:14:09",
|
||||
"time": "2016-07-15T19:52:17+00:00",
|
||||
"bin": [
|
||||
"bin/vobject",
|
||||
"bin/generate_vcards"
|
||||
@ -494,22 +152,80 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "sabre/http",
|
||||
"version": "4.2.2",
|
||||
"version_normalized": "4.2.2.0",
|
||||
"name": "sabre/event",
|
||||
"version": "3.0.0",
|
||||
"version_normalized": "3.0.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fruux/sabre-http.git",
|
||||
"reference": "dd50e7260356f4599d40270826f9548b23efa204"
|
||||
"url": "https://github.com/fruux/sabre-event.git",
|
||||
"reference": "831d586f5a442dceacdcf5e9c4c36a4db99a3534"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fruux/sabre-http/zipball/dd50e7260356f4599d40270826f9548b23efa204",
|
||||
"reference": "dd50e7260356f4599d40270826f9548b23efa204",
|
||||
"url": "https://api.github.com/repos/fruux/sabre-event/zipball/831d586f5a442dceacdcf5e9c4c36a4db99a3534",
|
||||
"reference": "831d586f5a442dceacdcf5e9c4c36a4db99a3534",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.5"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "*",
|
||||
"sabre/cs": "~0.0.4"
|
||||
},
|
||||
"time": "2015-11-05T20:14:39+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",
|
||||
"events",
|
||||
"hooks",
|
||||
"plugin",
|
||||
"promise",
|
||||
"signal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "sabre/http",
|
||||
"version": "4.2.1",
|
||||
"version_normalized": "4.2.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fruux/sabre-http.git",
|
||||
"reference": "2e93bc8321524c67be4ca5b8415daebd4c8bf85e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fruux/sabre-http/zipball/2e93bc8321524c67be4ca5b8415daebd4c8bf85e",
|
||||
"reference": "2e93bc8321524c67be4ca5b8415daebd4c8bf85e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-ctype": "*",
|
||||
"ext-mbstring": "*",
|
||||
"php": ">=5.4",
|
||||
"sabre/event": ">=1.0.0,<4.0.0",
|
||||
@ -522,7 +238,7 @@
|
||||
"suggest": {
|
||||
"ext-curl": " to make http requests with the Client class"
|
||||
},
|
||||
"time": "2017-01-02 19:38:42",
|
||||
"time": "2016-01-06T23:00:08+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
@ -552,67 +268,43 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "sabre/dav",
|
||||
"version": "3.2.2",
|
||||
"version_normalized": "3.2.2.0",
|
||||
"name": "sabre/xml",
|
||||
"version": "1.5.0",
|
||||
"version_normalized": "1.5.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fruux/sabre-dav.git",
|
||||
"reference": "e987775e619728f12205606c9cc3ee565ffb1516"
|
||||
"url": "https://github.com/fruux/sabre-xml.git",
|
||||
"reference": "59b20e5bbace9912607481634f97d05a776ffca7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fruux/sabre-dav/zipball/e987775e619728f12205606c9cc3ee565ffb1516",
|
||||
"reference": "e987775e619728f12205606c9cc3ee565ffb1516",
|
||||
"url": "https://api.github.com/repos/fruux/sabre-xml/zipball/59b20e5bbace9912607481634f97d05a776ffca7",
|
||||
"reference": "59b20e5bbace9912607481634f97d05a776ffca7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-ctype": "*",
|
||||
"ext-date": "*",
|
||||
"ext-dom": "*",
|
||||
"ext-iconv": "*",
|
||||
"ext-mbstring": "*",
|
||||
"ext-pcre": "*",
|
||||
"ext-simplexml": "*",
|
||||
"ext-spl": "*",
|
||||
"lib-libxml": ">=2.7.0",
|
||||
"php": ">=5.5.0",
|
||||
"psr/log": "^1.0",
|
||||
"sabre/event": ">=2.0.0, <4.0.0",
|
||||
"sabre/http": "^4.2.1",
|
||||
"sabre/uri": "^1.0.1",
|
||||
"sabre/vobject": "^4.1.0",
|
||||
"sabre/xml": "^1.4.0"
|
||||
"ext-xmlreader": "*",
|
||||
"ext-xmlwriter": "*",
|
||||
"lib-libxml": ">=2.6.20",
|
||||
"php": ">=5.5.5",
|
||||
"sabre/uri": ">=1.0,<3.0.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"evert/phpdoc-md": "~0.1.0",
|
||||
"monolog/monolog": "^1.18",
|
||||
"phpunit/phpunit": "> 4.8, <6.0.0",
|
||||
"sabre/cs": "^1.0.0"
|
||||
"phpunit/phpunit": "*",
|
||||
"sabre/cs": "~1.0.0"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-curl": "*",
|
||||
"ext-pdo": "*"
|
||||
},
|
||||
"time": "2017-02-15 03:06:08",
|
||||
"bin": [
|
||||
"bin/sabredav",
|
||||
"bin/naturalselection"
|
||||
],
|
||||
"time": "2016-10-09T22:57:52+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.1.0-dev"
|
||||
}
|
||||
},
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Sabre\\DAV\\": "lib/DAV/",
|
||||
"Sabre\\DAVACL\\": "lib/DAVACL/",
|
||||
"Sabre\\CalDAV\\": "lib/CalDAV/",
|
||||
"Sabre\\CardDAV\\": "lib/CardDAV/"
|
||||
}
|
||||
"Sabre\\Xml\\": "lib/"
|
||||
},
|
||||
"files": [
|
||||
"lib/Deserializer/functions.php",
|
||||
"lib/Serializer/functions.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
@ -624,16 +316,180 @@
|
||||
"email": "me@evertpot.com",
|
||||
"homepage": "http://evertpot.com/",
|
||||
"role": "Developer"
|
||||
},
|
||||
{
|
||||
"name": "Markus Staab",
|
||||
"email": "markus.staab@redaxo.de",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "WebDAV Framework for PHP",
|
||||
"homepage": "http://sabre.io/",
|
||||
"description": "sabre/xml is an XML library that you may not hate.",
|
||||
"homepage": "https://sabre.io/xml/",
|
||||
"keywords": [
|
||||
"CalDAV",
|
||||
"CardDAV",
|
||||
"WebDAV",
|
||||
"framework",
|
||||
"iCalendar"
|
||||
"XMLReader",
|
||||
"XMLWriter",
|
||||
"dom",
|
||||
"xml"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "psr/log",
|
||||
"version": "1.0.2",
|
||||
"version_normalized": "1.0.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/log.git",
|
||||
"reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
|
||||
"reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"time": "2016-10-10T12:19:37+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0.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": "michelf/php-markdown",
|
||||
"version": "1.7.0",
|
||||
"version_normalized": "1.7.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/michelf/php-markdown.git",
|
||||
"reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/michelf/php-markdown/zipball/1f51cc520948f66cd2af8cbc45a5ee175e774220",
|
||||
"reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"time": "2016-10-29T18:58:20+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-lib": "1.4.x-dev"
|
||||
}
|
||||
},
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"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": "pixel418/markdownify",
|
||||
"version": "v2.2.1",
|
||||
"version_normalized": "2.2.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Elephant418/Markdownify.git",
|
||||
"reference": "0160677f04c784550dd10fd72fdf3994967db848"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Elephant418/Markdownify/zipball/0160677f04c784550dd10fd72fdf3994967db848",
|
||||
"reference": "0160677f04c784550dd10fd72fdf3994967db848",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^4.8"
|
||||
},
|
||||
"time": "2016-09-21T13:01:43+00:00",
|
||||
"type": "lib",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Markdownify\\": "src",
|
||||
"Test\\Markdownify\\": "test"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"LGPL"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Peter Kruithof",
|
||||
"email": "pkruithof@gmail.com",
|
||||
"homepage": "http://pkruithof.tumblr.com/"
|
||||
},
|
||||
{
|
||||
"name": "Milian Wolff",
|
||||
"email": "mail@milianw.de",
|
||||
"homepage": "http://milianw.de"
|
||||
},
|
||||
{
|
||||
"name": "Thomas Zilliox",
|
||||
"email": "hello@tzi.fr",
|
||||
"homepage": "http://tzi.fr"
|
||||
}
|
||||
],
|
||||
"description": "The HTML to Markdown converter for PHP ",
|
||||
"homepage": "https://github.com/elephant418/Markdownify",
|
||||
"keywords": [
|
||||
"markdown",
|
||||
"markdownify"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -745,17 +601,17 @@
|
||||
},
|
||||
{
|
||||
"name": "simplepie/simplepie",
|
||||
"version": "dev-master",
|
||||
"version_normalized": "9999999-dev",
|
||||
"version": "1.5",
|
||||
"version_normalized": "1.5.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/simplepie/simplepie.git",
|
||||
"reference": "59e7204610d3a8989822eba1c0cbf1d1680bd10d"
|
||||
"reference": "5de5551953f95feef12cf355a7a26a70f94aa3ab"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/simplepie/simplepie/zipball/59e7204610d3a8989822eba1c0cbf1d1680bd10d",
|
||||
"reference": "59e7204610d3a8989822eba1c0cbf1d1680bd10d",
|
||||
"url": "https://api.github.com/repos/simplepie/simplepie/zipball/5de5551953f95feef12cf355a7a26a70f94aa3ab",
|
||||
"reference": "5de5551953f95feef12cf355a7a26a70f94aa3ab",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -767,7 +623,7 @@
|
||||
"suggest": {
|
||||
"mf2/mf2": "Microformat module that allows for parsing HTML for microformats"
|
||||
},
|
||||
"time": "2017-04-06T03:36:48+00:00",
|
||||
"time": "2017-04-17T07:29:31+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "source",
|
||||
"autoload": {
|
||||
@ -804,8 +660,93 @@
|
||||
"rss"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/simplepie/simplepie/tree/master",
|
||||
"source": "https://github.com/simplepie/simplepie/tree/1.5",
|
||||
"issues": "https://github.com/simplepie/simplepie/issues"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "sabre/dav",
|
||||
"version": "3.2.2",
|
||||
"version_normalized": "3.2.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fruux/sabre-dav.git",
|
||||
"reference": "e987775e619728f12205606c9cc3ee565ffb1516"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fruux/sabre-dav/zipball/e987775e619728f12205606c9cc3ee565ffb1516",
|
||||
"reference": "e987775e619728f12205606c9cc3ee565ffb1516",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-ctype": "*",
|
||||
"ext-date": "*",
|
||||
"ext-dom": "*",
|
||||
"ext-iconv": "*",
|
||||
"ext-mbstring": "*",
|
||||
"ext-pcre": "*",
|
||||
"ext-simplexml": "*",
|
||||
"ext-spl": "*",
|
||||
"lib-libxml": ">=2.7.0",
|
||||
"php": ">=5.5.0",
|
||||
"psr/log": "^1.0",
|
||||
"sabre/event": ">=2.0.0, <4.0.0",
|
||||
"sabre/http": "^4.2.1",
|
||||
"sabre/uri": "^1.0.1",
|
||||
"sabre/vobject": "^4.1.0",
|
||||
"sabre/xml": "^1.4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"evert/phpdoc-md": "~0.1.0",
|
||||
"monolog/monolog": "^1.18",
|
||||
"phpunit/phpunit": "> 4.8, <6.0.0",
|
||||
"sabre/cs": "^1.0.0"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-curl": "*",
|
||||
"ext-pdo": "*"
|
||||
},
|
||||
"time": "2017-02-15T03:06:08+00:00",
|
||||
"bin": [
|
||||
"bin/sabredav",
|
||||
"bin/naturalselection"
|
||||
],
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.1.0-dev"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
@ -5,7 +5,7 @@
|
||||
* A PHP-Based RSS and Atom Feed Framework.
|
||||
* Takes the hard work out of managing a complete RSS/Atom solution.
|
||||
*
|
||||
* Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
|
||||
* Copyright (c) 2004-2017, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are
|
||||
@ -33,8 +33,8 @@
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package SimplePie
|
||||
* @version 1.4.3
|
||||
* @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
|
||||
* @version 1.5
|
||||
* @copyright 2004-2017 Ryan Parman, Geoffrey Sneddon, Ryan McCue
|
||||
* @author Ryan Parman
|
||||
* @author Geoffrey Sneddon
|
||||
* @author Ryan McCue
|
||||
@ -50,7 +50,7 @@ define('SIMPLEPIE_NAME', 'SimplePie');
|
||||
/**
|
||||
* SimplePie Version
|
||||
*/
|
||||
define('SIMPLEPIE_VERSION', '1.4.3');
|
||||
define('SIMPLEPIE_VERSION', '1.5');
|
||||
|
||||
/**
|
||||
* SimplePie Build
|
||||
|
@ -56,7 +56,7 @@ class SimplePie_Category
|
||||
/**
|
||||
* Category identifier
|
||||
*
|
||||
* @var string
|
||||
* @var string|null
|
||||
* @see get_term
|
||||
*/
|
||||
var $term;
|
||||
@ -64,7 +64,7 @@ class SimplePie_Category
|
||||
/**
|
||||
* Categorization scheme identifier
|
||||
*
|
||||
* @var string
|
||||
* @var string|null
|
||||
* @see get_scheme()
|
||||
*/
|
||||
var $scheme;
|
||||
@ -72,23 +72,36 @@ class SimplePie_Category
|
||||
/**
|
||||
* Human readable label
|
||||
*
|
||||
* @var string
|
||||
* @var string|null
|
||||
* @see get_label()
|
||||
*/
|
||||
var $label;
|
||||
|
||||
/**
|
||||
* Category type
|
||||
*
|
||||
* category for <category>
|
||||
* subject for <dc:subject>
|
||||
*
|
||||
* @var string|null
|
||||
* @see get_type()
|
||||
*/
|
||||
var $type;
|
||||
|
||||
/**
|
||||
* Constructor, used to input the data
|
||||
*
|
||||
* @param string $term
|
||||
* @param string $scheme
|
||||
* @param string $label
|
||||
* @param string|null $term
|
||||
* @param string|null $scheme
|
||||
* @param string|null $label
|
||||
* @param string|null $type
|
||||
*/
|
||||
public function __construct($term = null, $scheme = null, $label = null)
|
||||
public function __construct($term = null, $scheme = null, $label = null, $type = null)
|
||||
{
|
||||
$this->term = $term;
|
||||
$this->scheme = $scheme;
|
||||
$this->label = $label;
|
||||
$this->type = $type;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -109,14 +122,7 @@ class SimplePie_Category
|
||||
*/
|
||||
public function get_term()
|
||||
{
|
||||
if ($this->term !== null)
|
||||
{
|
||||
return $this->term;
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return $this->term;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -126,31 +132,32 @@ class SimplePie_Category
|
||||
*/
|
||||
public function get_scheme()
|
||||
{
|
||||
if ($this->scheme !== null)
|
||||
{
|
||||
return $this->scheme;
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return $this->scheme;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the human readable label
|
||||
*
|
||||
* @param bool $strict
|
||||
* @return string|null
|
||||
*/
|
||||
public function get_label()
|
||||
public function get_label($strict = false)
|
||||
{
|
||||
if ($this->label !== null)
|
||||
{
|
||||
return $this->label;
|
||||
}
|
||||
else
|
||||
if ($this->label === null && $strict !== true)
|
||||
{
|
||||
return $this->get_term();
|
||||
}
|
||||
return $this->label;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the category type
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function get_type()
|
||||
{
|
||||
return $this->type;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -206,9 +206,10 @@ class SimplePie_Item
|
||||
*
|
||||
* @since Beta 2
|
||||
* @param boolean $hash Should we force using a hash instead of the supplied ID?
|
||||
* @return string
|
||||
* @param string|false $fn User-supplied function to generate an hash
|
||||
* @return string|null
|
||||
*/
|
||||
public function get_id($hash = false, $fn = '')
|
||||
public function get_id($hash = false, $fn = 'md5')
|
||||
{
|
||||
if (!$hash)
|
||||
{
|
||||
@ -237,7 +238,15 @@ class SimplePie_Item
|
||||
return $this->sanitize($this->data['attribs'][SIMPLEPIE_NAMESPACE_RDF]['about'], SIMPLEPIE_CONSTRUCT_TEXT);
|
||||
}
|
||||
}
|
||||
if ($fn === '' || !is_callable($fn)) $fn = 'md5';
|
||||
if ($fn === false)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
elseif (!is_callable($fn))
|
||||
{
|
||||
trigger_error('User-supplied function $fn must be callable', E_USER_WARNING);
|
||||
$fn = 'md5';
|
||||
}
|
||||
return call_user_func($fn,
|
||||
$this->get_permalink().$this->get_title().$this->get_content());
|
||||
}
|
||||
@ -460,7 +469,8 @@ class SimplePie_Item
|
||||
{
|
||||
$categories = array();
|
||||
|
||||
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'category') as $category)
|
||||
$type = 'category';
|
||||
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, $type) as $category)
|
||||
{
|
||||
$term = null;
|
||||
$scheme = null;
|
||||
@ -477,9 +487,9 @@ class SimplePie_Item
|
||||
{
|
||||
$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_HTML);
|
||||
}
|
||||
$categories[] = $this->registry->create('Category', array($term, $scheme, $label));
|
||||
$categories[] = $this->registry->create('Category', array($term, $scheme, $label, $type));
|
||||
}
|
||||
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category)
|
||||
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, $type) as $category)
|
||||
{
|
||||
// This is really the label, but keep this as the term also for BC.
|
||||
// Label will also work on retrieving because that falls back to term.
|
||||
@ -492,15 +502,17 @@ class SimplePie_Item
|
||||
{
|
||||
$scheme = null;
|
||||
}
|
||||
$categories[] = $this->registry->create('Category', array($term, $scheme, null));
|
||||
$categories[] = $this->registry->create('Category', array($term, $scheme, null, $type));
|
||||
}
|
||||
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category)
|
||||
|
||||
$type = 'subject';
|
||||
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, $type) as $category)
|
||||
{
|
||||
$categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null));
|
||||
$categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null, $type));
|
||||
}
|
||||
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category)
|
||||
foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, $type) as $category)
|
||||
{
|
||||
$categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null));
|
||||
$categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_HTML), null, null, $type));
|
||||
}
|
||||
|
||||
if (!empty($categories))
|
||||
|
6
view/css/bootstrap-red.css
vendored
6
view/css/bootstrap-red.css
vendored
@ -55,6 +55,12 @@ nav .dropdown-menu {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
|
||||
#navbar-collapse-2.collapsing .dropdown-header,
|
||||
#navbar-collapse-2.show .dropdown-header {
|
||||
padding: 0.5rem 0.1rem;
|
||||
}
|
||||
|
||||
.navbar-inverse .navbar-toggler {
|
||||
color: rgba(255,255,255,1);
|
||||
}
|
||||
|
@ -13751,3 +13751,19 @@ msgstr "Cron-Aufgaben laufen nicht."
|
||||
#, php-format
|
||||
msgid "[hubzilla] Cron tasks not running on %s"
|
||||
msgstr "[hubzilla] Cron-Aufgaben für %s laufen nicht"
|
||||
|
||||
#: ../../addon/demohub/demohub.php:41
|
||||
msgid "Welcome to the Hubzilla demo hub!"
|
||||
msgstr "Willkommen auf dem Hubzilla demo Hub!"
|
||||
|
||||
#: ../../addon/demohub/demohub.php:42
|
||||
msgid "This demo hub is designed to give you a chance to explore some of the features offered by the Hubzilla platform. The activities of the fictional characters illustrate only a few of the ways communities can use Hubzilla to collaborate and connect."
|
||||
msgstr "Dieser demo Hub (Hubzilla-Knoten) ist konzipiert, um Ihnen eine Chance zu geben, einige Features der Hubzilla-Platform kennenzulernen. Die fiktive Aktivitäten illustrieren nur einige von vielen Möglichkeiten, die den Communities für die Kommunikation und Zusammenarbeit im Hubzilla-Netzwerk zur Verfügung stehen."
|
||||
|
||||
#: ../../addon/demohub/demohub.php:45
|
||||
msgid "To really grasp what Hubzilla is offering in terms of nomadic identity and decentralized access control, you have to try it for yourself. Run your own hub or register on an open hub. You can always clone your channels and migrate to another hub later. With Hubzilla, <i>you</i> not only own your <b>data</b>, but your <b>identity</b> as well!</p><p>The demo resets every ten minutes, which may interrupt your session. Simply reload the page as necessary. You can return to this dialog using the blue info button in the navbar."
|
||||
msgstr "Sie können selbst in der Praxis testen, welche Möglichkeiten Ihnen im Hubzilla-Netzwerk mit Nomadic Identity und mit dem dezentralen Zugang. Richten Sie einen eigenen Hubzilla-Knoten ein oder registrieren Sie sich auf einem offenen Hub. Sie können dann Ihren Kanal klonen oder mit diesem Kanal auf einen anderen Hub umziehen. Mit Hubzilla kontrollieren Sie Ihre Daten, aber auch Ihre Identität!</p><p>Die Demoinstanz wird im 10-Minuten-Takt zurückgesetzt, wobei Ihre Hubzilla-Sitzung evtl. unterbrochen wird. Laden Sie die Website #^https://demo.hubzilla.org/ einfach neu, um fortzufahren. Sie können dieses Dialog-Fenster mit einem Klick auf das blaue [i]-Symbol rechts oben in der Navigationsleiste."
|
||||
|
||||
#: ../../addon/demohub/demohub.php:52
|
||||
msgid "Explore"
|
||||
msgstr "Erforschen"
|
@ -886,7 +886,8 @@ a .drop-icons:hover {
|
||||
color: #FF0000;
|
||||
}
|
||||
|
||||
.lockview {
|
||||
.lockview,
|
||||
.sys-apps-toggle {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
@ -64,4 +64,4 @@
|
||||
<div class="clear"></div>
|
||||
</form>
|
||||
</div>
|
||||
<div id="comment-edit-preview-{{$id}}" class="comment-edit-preview"></div>
|
||||
<div id="comment-edit-preview-{{$id}}" class="comment-edit-preview mt-4"></div>
|
||||
|
@ -188,10 +188,22 @@
|
||||
{{/if}}
|
||||
<li class="nav-item dropdown" id="app-menu">
|
||||
<a class="nav-link" href="#" data-toggle="dropdown"><i class="fa fa-fw fa-bars"></i></a>
|
||||
<div class="dropdown-menu dropdown-menu-right">
|
||||
{{foreach $navapps as $navapp}}
|
||||
{{$navapp}}
|
||||
<div id="dropdown-menu" class="dropdown-menu dropdown-menu-right">
|
||||
{{if $channel_apps.0}}
|
||||
{{foreach $channel_apps as $channel_app}}
|
||||
{{$channel_app}}
|
||||
{{/foreach}}
|
||||
<div class="dropdown-header sys-apps-toggle" onclick="$('#dropdown-menu').click(function(e) { e.stopPropagation(); }); openClose('sys_apps');">
|
||||
{{$sysapps_toggle}}
|
||||
</div>
|
||||
<div id="sys_apps" style="display:none;">
|
||||
{{/if}}
|
||||
{{foreach $nav_apps as $nav_app}}
|
||||
{{$nav_app}}
|
||||
{{/foreach}}
|
||||
{{if $channel_apps.0}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if $localuser}}
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item" href="/apps"><i class="generic-icons-nav fa fa-fw fa-plus-circle"></i>{{$addapps}}</a>
|
||||
@ -202,9 +214,21 @@
|
||||
</div>
|
||||
<div class="collapse d-md-none" id="navbar-collapse-2">
|
||||
<div class="navbar-nav mr-auto">
|
||||
{{foreach $navapps as $navapp}}
|
||||
{{$navapp|replace:'dropdown-item':'nav-link'}}
|
||||
{{if $channel_apps.0}}
|
||||
{{foreach $channel_apps as $channel_app}}
|
||||
{{$channel_app|replace:'dropdown-item':'nav-link'}}
|
||||
{{/foreach}}
|
||||
<div class="dropdown-header sys-apps-toggle" onclick="openClose('sys-apps-collapsed');">
|
||||
{{$sysapps_toggle}}
|
||||
</div>
|
||||
<div id="sys-apps-collapsed" style="display:none;">
|
||||
{{/if}}
|
||||
{{foreach $nav_apps as $nav_app}}
|
||||
{{$nav_app|replace:'dropdown-item':'nav-link'}}
|
||||
{{/foreach}}
|
||||
{{if $channel_apps.0}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if $localuser}}
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="nav-link" href="/apps"><i class="generic-icons-nav fa fa-fw fa-plus-circle"></i>{{$addapps}}</a>
|
||||
|
Reference in New Issue
Block a user