commit
c8ff773b96
@ -191,7 +191,7 @@ class Articles extends \Zotlabs\Web\Controller {
|
||||
'$title' => t('Articles'),
|
||||
'$editor' => $editor,
|
||||
'$content' => $content,
|
||||
'$pager' => alt_pager($a,$pager_total)
|
||||
'$pager' => alt_pager($pager_total)
|
||||
]);
|
||||
|
||||
return $o;
|
||||
|
@ -194,7 +194,7 @@ class Cards extends \Zotlabs\Web\Controller {
|
||||
'$title' => t('Cards'),
|
||||
'$editor' => $editor,
|
||||
'$content' => $content,
|
||||
'$pager' => alt_pager($a, $pager_total)
|
||||
'$pager' => alt_pager($pager_total)
|
||||
]);
|
||||
|
||||
return $o;
|
||||
|
@ -380,7 +380,7 @@ class Channel extends \Zotlabs\Web\Controller {
|
||||
}
|
||||
|
||||
if((! $update) || ($checkjs->disabled())) {
|
||||
$o .= alt_pager($a,count($items));
|
||||
$o .= alt_pager(count($items));
|
||||
if ($mid && $items[0]['title'])
|
||||
\App::$page['title'] = $items[0]['title'] . " - " . \App::$page['title'];
|
||||
}
|
||||
|
@ -355,6 +355,7 @@ class Cover_photo extends \Zotlabs\Web\Controller {
|
||||
|
||||
$o .= replace_macros($tpl,array(
|
||||
'$user' => \App::$channel['channel_address'],
|
||||
'$existing' => get_cover_photo(local_channel(),'array',PHOTO_RES_COVER_850),
|
||||
'$lbl_upfile' => t('Upload File:'),
|
||||
'$lbl_profiles' => t('Select a profile:'),
|
||||
'$title' => t('Change Cover Photo'),
|
||||
|
@ -404,7 +404,7 @@ class Directory extends \Zotlabs\Web\Controller {
|
||||
'$entries' => $entries,
|
||||
'$dirlbl' => $suggest ? t('Channel Suggestions') : $dirtitle,
|
||||
'$submit' => t('Find'),
|
||||
'$next' => alt_pager($a,$j['records'], t('next page'), t('previous page')),
|
||||
'$next' => alt_pager($j['records'], t('next page'), t('previous page')),
|
||||
'$sort' => t('Sort options'),
|
||||
'$normal' => t('Alphabetic'),
|
||||
'$reverse' => t('Reverse Alphabetic'),
|
||||
|
@ -93,7 +93,7 @@ class Message extends \Zotlabs\Web\Controller {
|
||||
));
|
||||
|
||||
|
||||
$o .= alt_pager($a,count($r));
|
||||
$o .= alt_pager(count($r));
|
||||
|
||||
return $o;
|
||||
|
||||
|
@ -14,9 +14,12 @@ class Moderate extends \Zotlabs\Web\Controller {
|
||||
return;
|
||||
}
|
||||
|
||||
\App::set_pager_itemspage(60);
|
||||
$pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start']));
|
||||
|
||||
//show all items
|
||||
if(argc() == 1) {
|
||||
$r = q("select item.id as item_id, item.* from item where item.uid = %d and item_blocked = %d and item_deleted = 0 order by created desc limit 60",
|
||||
$r = q("select item.id as item_id, item.* from item where item.uid = %d and item_blocked = %d and item_deleted = 0 order by created desc $pager_sql",
|
||||
intval(local_channel()),
|
||||
intval(ITEM_MODERATED)
|
||||
);
|
||||
@ -26,7 +29,7 @@ class Moderate extends \Zotlabs\Web\Controller {
|
||||
if(argc() == 2) {
|
||||
$post_id = intval(argv(1));
|
||||
|
||||
$r = q("select item.id as item_id, item.* from item where item.id = %d and item.uid = %d and item_blocked = %d and item_deleted = 0 order by created desc limit 60",
|
||||
$r = q("select item.id as item_id, item.* from item where item.id = %d and item.uid = %d and item_blocked = %d and item_deleted = 0 order by created desc $pager_sql",
|
||||
intval($post_id),
|
||||
intval(local_channel()),
|
||||
intval(ITEM_MODERATED)
|
||||
@ -92,6 +95,7 @@ class Moderate extends \Zotlabs\Web\Controller {
|
||||
}
|
||||
|
||||
$o = conversation($items,'moderate',false,'traditional');
|
||||
$o .= alt_pager(count($items));
|
||||
return $o;
|
||||
|
||||
}
|
||||
|
@ -565,7 +565,7 @@ class Network extends \Zotlabs\Web\Controller {
|
||||
$o .= conversation($items,$mode,$update,$page_mode);
|
||||
|
||||
if(($items) && (! $update))
|
||||
$o .= alt_pager($a,count($items));
|
||||
$o .= alt_pager(count($items));
|
||||
|
||||
return $o;
|
||||
}
|
||||
|
@ -285,10 +285,10 @@ class Ping extends \Zotlabs\Web\Controller {
|
||||
intval(local_channel())
|
||||
);
|
||||
|
||||
$b64mid = ((strpos($r[0]['thr_parent'], 'b64.' === 0)) ? $r[0]['thr_parent'] : 'b64.' . base64url_encode($r[0]['thr_parent']));
|
||||
$b64mid = ((strpos($r[0]['thr_parent'], 'b64.') === 0) ? $r[0]['thr_parent'] : 'b64.' . base64url_encode($r[0]['thr_parent']));
|
||||
}
|
||||
else {
|
||||
$b64mid = ((strpos($mid, 'b64.' === 0)) ? $mid : 'b64.' . base64url_encode($mid));
|
||||
$b64mid = ((strpos($mid, 'b64.') === 0) ? $mid : 'b64.' . base64url_encode($mid));
|
||||
}
|
||||
|
||||
$notifs[] = array(
|
||||
|
@ -34,6 +34,8 @@ class Pubstream extends \Zotlabs\Web\Controller {
|
||||
}
|
||||
|
||||
$mid = ((x($_REQUEST,'mid')) ? $_REQUEST['mid'] : '');
|
||||
$hashtags = ((x($_REQUEST,'tag')) ? $_REQUEST['tag'] : '');
|
||||
|
||||
|
||||
if(strpos($mid,'b64.') === 0)
|
||||
$decoded = @base64url_decode(substr($mid,4));
|
||||
@ -133,7 +135,7 @@ class Pubstream extends \Zotlabs\Web\Controller {
|
||||
'$order' => 'comment',
|
||||
'$file' => '',
|
||||
'$cats' => '',
|
||||
'$tags' => '',
|
||||
'$tags' => $hashtags,
|
||||
'$dend' => '',
|
||||
'$mid' => $mid,
|
||||
'$verb' => '',
|
||||
@ -170,6 +172,10 @@ class Pubstream extends \Zotlabs\Web\Controller {
|
||||
$page_mode = 'client';
|
||||
|
||||
|
||||
if(x($hashtags)) {
|
||||
$sql_extra .= protect_sprintf(term_query('item', $hashtags, TERM_HASHTAG, TERM_COMMUNITYTAG));
|
||||
}
|
||||
|
||||
$net_query = (($net) ? " left join xchan on xchan_hash = author_xchan " : '');
|
||||
$net_query2 = (($net) ? " and xchan_network = '" . protect_sprintf(dbesc($net)) . "' " : '');
|
||||
|
||||
@ -273,7 +279,7 @@ class Pubstream extends \Zotlabs\Web\Controller {
|
||||
$o .= '<div id="content-complete"></div>';
|
||||
|
||||
if(($items) && (! $update))
|
||||
$o .= alt_pager($a,count($items));
|
||||
$o .= alt_pager(count($items));
|
||||
|
||||
return $o;
|
||||
|
||||
|
@ -19,6 +19,11 @@ class Permcats {
|
||||
$all_perms = \Zotlabs\Access\Permissions::Perms();
|
||||
|
||||
$name = escape_tags(trim($_POST['name']));
|
||||
if(! $name) {
|
||||
notice( t('Permission Name is required.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
$pcarr = [];
|
||||
|
||||
|
26
Zotlabs/Update/_1211.php
Normal file
26
Zotlabs/Update/_1211.php
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Zotlabs\Update;
|
||||
|
||||
class _1211 {
|
||||
|
||||
function run() {
|
||||
|
||||
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
|
||||
$r1 = q("ALTER TABLE channel ADD channel_active timestamp NOT NULL DEFAULT '0001-01-01 00:00:00' ");
|
||||
$r2 = q("create index \"channel_active\" on channel_active \"channel_active\"");
|
||||
|
||||
$r = ($r1 && $r2);
|
||||
}
|
||||
else {
|
||||
$r = q("ALTER TABLE `channel` ADD `channel_active` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' ,
|
||||
ADD INDEX `channel_active` (`channel_active`)");
|
||||
}
|
||||
|
||||
if($r)
|
||||
return UPDATE_SUCCESS;
|
||||
return UPDATE_FAILED;
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -6,16 +6,9 @@ class Design_tools {
|
||||
|
||||
function widget($arr) {
|
||||
|
||||
// mod menu doesn't load a profile. For any modules which load a profile, check it.
|
||||
// otherwise local_channel() is sufficient for permissions.
|
||||
|
||||
if(\App::$profile['profile_uid'])
|
||||
if((\App::$profile['profile_uid'] != local_channel()) && (! \App::$is_sys))
|
||||
return '';
|
||||
|
||||
if(! local_channel())
|
||||
return '';
|
||||
|
||||
if(perm_is_allowed(\App::$profile['profile_uid'],get_observer_hash(),'write_pages') || (\App::$is_sys && is_site_admin()))
|
||||
return design_tools();
|
||||
|
||||
return EMPTY_STR;
|
||||
}
|
||||
}
|
41
Zotlabs/Widget/Pubtagcloud.php
Normal file
41
Zotlabs/Widget/Pubtagcloud.php
Normal file
@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace Zotlabs\Widget;
|
||||
|
||||
class Pubtagcloud {
|
||||
|
||||
function widget($arr) {
|
||||
|
||||
$trending = ((array_key_exists('trending',$arr)) ? intval($arr['trending']) : 0);
|
||||
if((observer_prohibited(true))) {
|
||||
return EMPTY_STR;
|
||||
}
|
||||
|
||||
if(! intval(get_config('system','open_pubstream',1))) {
|
||||
if(! get_observer_hash()) {
|
||||
return EMPTY_STR;
|
||||
}
|
||||
}
|
||||
|
||||
$site_firehose = ((intval(get_config('system','site_firehose',0))) ? true : false);
|
||||
$net_firehose = ((get_config('system','disable_discover_tab',1)) ? false : true);
|
||||
|
||||
if(! ($site_firehose || $net_firehose)) {
|
||||
return EMPTY_STR;
|
||||
}
|
||||
|
||||
if($net_firehose) {
|
||||
$site_firehose = false;
|
||||
}
|
||||
|
||||
$safemode = get_xconfig(get_observer_hash(),'directory','safemode',1);
|
||||
|
||||
|
||||
|
||||
$limit = ((array_key_exists('limit', $arr)) ? intval($arr['limit']) : 75);
|
||||
|
||||
return pubtagblock($net_firehose,$site_firehose, $limit, $trending, $safemode);
|
||||
|
||||
return '';
|
||||
}
|
||||
}
|
4
boot.php
4
boot.php
@ -50,11 +50,11 @@ require_once('include/attach.php');
|
||||
require_once('include/bbcode.php');
|
||||
|
||||
define ( 'PLATFORM_NAME', 'hubzilla' );
|
||||
define ( 'STD_VERSION', '3.3.5' );
|
||||
define ( 'STD_VERSION', '3.5' );
|
||||
define ( 'ZOT_REVISION', '6.0a' );
|
||||
|
||||
|
||||
define ( 'DB_UPDATE_VERSION', 1210 );
|
||||
define ( 'DB_UPDATE_VERSION', 1211 );
|
||||
|
||||
define ( 'PROJECT_BASE', __DIR__ );
|
||||
|
||||
|
@ -2563,7 +2563,7 @@ function channel_remove($channel_id, $local = true, $unset_session = false) {
|
||||
q("DELETE FROM photo WHERE uid = %d", intval($channel_id));
|
||||
q("DELETE FROM attach WHERE uid = %d", intval($channel_id));
|
||||
q("DELETE FROM profile WHERE uid = %d", intval($channel_id));
|
||||
q("DELETE FROM src WHERE src_channel_id = %d", intval($channel_id));
|
||||
q("DELETE FROM source WHERE src_channel_id = %d", intval($channel_id));
|
||||
|
||||
$r = q("select hash FROM attach WHERE uid = %d", intval($channel_id));
|
||||
if($r) {
|
||||
|
@ -150,9 +150,9 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
|
||||
|
||||
// attempt network auto-discovery
|
||||
|
||||
$d = discover_by_webbie($url,$protocol);
|
||||
$wf = discover_by_webbie($url,$protocol);
|
||||
|
||||
if((! $d) && ($is_http)) {
|
||||
if((! $wf) && ($is_http)) {
|
||||
|
||||
// try RSS discovery
|
||||
|
||||
@ -167,9 +167,9 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
|
||||
}
|
||||
}
|
||||
|
||||
if($d) {
|
||||
if($wf || $d) {
|
||||
$r = q("select * from xchan where xchan_hash = '%s' or xchan_url = '%s' limit 1",
|
||||
dbesc($url),
|
||||
dbesc(($wf) ? $wf : $url),
|
||||
dbesc($url)
|
||||
);
|
||||
}
|
||||
|
@ -176,7 +176,7 @@ EOT;
|
||||
$nav['help'] = [$help_url, t('Help'), "", t('Help and documentation'), 'help_nav_btn', $context_help, $enable_context_help];
|
||||
}
|
||||
|
||||
$nav['search'] = ['search', t('Search'), "", t('Search site @name, #tag, ?docs, content')];
|
||||
$nav['search'] = ['search', t('Search'), "", t('Search site @name, !forum, #tag, ?docs, content')];
|
||||
|
||||
|
||||
/**
|
||||
@ -287,7 +287,7 @@ EOT;
|
||||
'$is_owner' => $is_owner,
|
||||
'$sel' => App::$nav_sel,
|
||||
'$powered_by' => $powered_by,
|
||||
'$help' => t('@name, #tag, ?doc, content'),
|
||||
'$help' => t('@name, !forum, #tag, ?doc, content'),
|
||||
'$pleasewait' => t('Please wait...'),
|
||||
'$nav_apps' => $nav_apps,
|
||||
'$navbar_apps' => $navbar_apps,
|
||||
|
@ -1195,6 +1195,7 @@ function discover_by_webbie($webbie, $protocol = '') {
|
||||
'address' => $webbie,
|
||||
'protocol' => $protocol,
|
||||
'success' => false,
|
||||
'xchan' => '',
|
||||
'webfinger' => $x
|
||||
];
|
||||
/**
|
||||
@ -1207,7 +1208,7 @@ function discover_by_webbie($webbie, $protocol = '') {
|
||||
*/
|
||||
call_hooks('discover_channel_webfinger', $arr);
|
||||
if($arr['success'])
|
||||
return true;
|
||||
return $arr['xchan'];
|
||||
|
||||
return false;
|
||||
}
|
||||
@ -1240,16 +1241,9 @@ function webfinger_rfc7033($webbie, $zot = false) {
|
||||
}
|
||||
logger('fetching url from resource: ' . $rhs . ':' . $webbie);
|
||||
|
||||
// The default curl Accept: header is */*, which is incorrectly handled by Mastodon servers
|
||||
// and results in a 406 (Not Acceptable) response, and will also incorrectly produce an XML
|
||||
// document if you use 'application/jrd+json, */*'. We could set this to application/jrd+json,
|
||||
// but some test webfinger servers may not explicitly set the content type and they would be
|
||||
// blocked. The best compromise until Mastodon is fixed is to remove the Accept header which is
|
||||
// accomplished by setting it to nothing.
|
||||
|
||||
$counter = 0;
|
||||
$s = z_fetch_url('https://' . $rhs . '/.well-known/webfinger?f=&resource=' . $resource . (($zot) ? '&zot=1' : ''),
|
||||
false, $counter, [ 'headers' => [ 'Accept:' ] ]);
|
||||
false, $counter, [ 'headers' => [ 'Accept: application/jrd+json, */*' ] ]);
|
||||
|
||||
if($s['success']) {
|
||||
$j = json_decode($s['body'], true);
|
||||
@ -1845,7 +1839,8 @@ function z_mail($params) {
|
||||
$messageHeader =
|
||||
$params['additionalMailHeader'] .
|
||||
"From: $fromName <{$params['fromEmail']}>\n" .
|
||||
"Reply-To: $fromName <{$params['replyTo']}>";
|
||||
"Reply-To: $fromName <{$params['replyTo']}>\n" .
|
||||
"Content-Type: text/plain; charset=UTF-8";
|
||||
|
||||
// send the message
|
||||
$res = mail(
|
||||
|
@ -95,6 +95,12 @@ function queue_set_delivered($id,$channel = 0) {
|
||||
|
||||
function queue_insert($arr) {
|
||||
|
||||
// do not queue anything with no destination
|
||||
|
||||
if(! (array_key_exists('posturl',$arr) && trim($arr['posturl']))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$x = q("insert into outq ( outq_hash, outq_account, outq_channel, outq_driver, outq_posturl, outq_async, outq_priority,
|
||||
outq_created, outq_updated, outq_scheduled, outq_notify, outq_msg )
|
||||
values ( '%s', %d, %d, '%s', '%s', %d, %d, '%s', '%s', '%s', '%s', '%s' )",
|
||||
|
@ -266,6 +266,15 @@ function change_channel($change_channel) {
|
||||
$_SESSION['mobile_theme'] = get_pconfig(local_channel(),'system', 'mobile_theme');
|
||||
$_SESSION['cloud_tiles'] = get_pconfig(local_channel(),'system', 'cloud_tiles');
|
||||
date_default_timezone_set($r[0]['channel_timezone']);
|
||||
|
||||
// Update the active timestamp at most once a day
|
||||
|
||||
if(substr($r[0]['channel_active'],0,10) !== substr(datetime_convert(),0,10)) {
|
||||
$z = q("UPDATE channel SET channel_active = '%s' WHERE channel_id = %d",
|
||||
dbesc(datetime_convert()),
|
||||
intval($r[0]['channel_id'])
|
||||
);
|
||||
}
|
||||
$ret = $r[0];
|
||||
}
|
||||
$x = q("select * from xchan where xchan_hash = '%s' limit 1",
|
||||
|
@ -174,8 +174,7 @@ function tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags = 0, $re
|
||||
if(! is_array($authors))
|
||||
$authors = array($authors);
|
||||
|
||||
stringify_array_elms($authors,true);
|
||||
$sql_options .= " and author_xchan in (" . implode(',',$authors) . ") ";
|
||||
$sql_options .= " and author_xchan in (" . stringify_array($authors,true) . ") ";
|
||||
}
|
||||
|
||||
if($owner) {
|
||||
@ -227,8 +226,7 @@ function card_tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags = 0
|
||||
if(! is_array($authors))
|
||||
$authors = array($authors);
|
||||
|
||||
stringify_array_elms($authors,true);
|
||||
$sql_options .= " and author_xchan in (" . implode(',',$authors) . ") ";
|
||||
$sql_options .= " and author_xchan in (" . stringify_array($authors,true) . ") ";
|
||||
}
|
||||
|
||||
if($owner) {
|
||||
@ -280,8 +278,7 @@ function article_tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags
|
||||
if(! is_array($authors))
|
||||
$authors = array($authors);
|
||||
|
||||
stringify_array_elms($authors,true);
|
||||
$sql_options .= " and author_xchan in (" . implode(',',$authors) . ") ";
|
||||
$sql_options .= " and author_xchan in (" . stringify_array($authors,true) . ") ";
|
||||
}
|
||||
|
||||
if($owner) {
|
||||
@ -312,6 +309,69 @@ function article_tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags
|
||||
|
||||
|
||||
|
||||
function pubtagblock($net,$site,$limit,$recent = 0,$safemode = 1, $type = TERM_HASHTAG) {
|
||||
$o = '';
|
||||
|
||||
$r = pub_tagadelic($net,$site,$limit,$since,$safemode,$type);
|
||||
$link = z_root() . '/pubstream';
|
||||
|
||||
if($r) {
|
||||
$o = '<div class="tagblock widget"><h3>' . (($recent) ? t('Trending') : t('Tags')) . '</h3><div class="tags" align="center">';
|
||||
foreach($r as $rr) {
|
||||
$o .= '<span class="tag'.$rr[2].'">#</span><a href="'.$link .'/' . '?f=&tag=' . urlencode($rr[0]).'" class="tag'.$rr[2].'">'.$rr[0].'</a> ' . "\r\n";
|
||||
}
|
||||
$o .= '</div></div>';
|
||||
}
|
||||
|
||||
return $o;
|
||||
}
|
||||
|
||||
function pub_tagadelic($net,$site,$limit,$recent,$safemode,$type) {
|
||||
|
||||
|
||||
$item_normal = item_normal();
|
||||
$count = intval($limit);
|
||||
|
||||
if($site) {
|
||||
$uids = " and item.uid in ( " . stream_perms_api_uids(PERMS_PUBLIC) . " ) and item_private = 0 and item_wall = 1 ";
|
||||
}
|
||||
else {
|
||||
$sys = get_sys_channel();
|
||||
$uids = " and item.uid = " . intval($sys['channel_id']) . " ";
|
||||
$sql_extra = " and item_private = 0 ";
|
||||
}
|
||||
|
||||
if($recent)
|
||||
$sql_extra .= " and item.created > '" . datetime_convert('UTC','UTC', 'now - ' . intval($recent) . ' days ') . "' ";
|
||||
|
||||
|
||||
if($safemode) {
|
||||
$unsafetags = get_config('system','unsafepubtags', [ 'boobs', 'bot', 'rss', 'girl','girls', 'nsfw', 'sexy', 'nude' ]);
|
||||
if($unsafetags) {
|
||||
$sql_extra .= " and not term.term in ( " . stringify_array($unsafetags,true) . ") ";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Fetch tags
|
||||
$r = q("select term, count(term) as total from term left join item on term.oid = item.id
|
||||
where term.ttype = %d
|
||||
and otype = %d and item_type = %d
|
||||
$sql_extra $uids $item_normal
|
||||
group by term order by total desc %s",
|
||||
intval($type),
|
||||
intval(TERM_OBJ_POST),
|
||||
intval(ITEM_TYPE_POST),
|
||||
((intval($count)) ? "limit $count" : '')
|
||||
);
|
||||
|
||||
if(! $r)
|
||||
return array();
|
||||
|
||||
return Zotlabs\Text\Tagadelic::calc($r);
|
||||
|
||||
}
|
||||
|
||||
|
||||
function dir_tagadelic($count = 0, $hub = '') {
|
||||
|
||||
@ -557,9 +617,8 @@ function get_things($profile_hash,$uid) {
|
||||
if(! in_array($rr['obj_obj'],$profile_hashes))
|
||||
$profile_hashes[] = $rr['obj_obj'];
|
||||
}
|
||||
stringify_array_elms($profile_hashes);
|
||||
if(! $profile_hash) {
|
||||
$exp = explode(',',$profile_hashes);
|
||||
$exp = stringify_array($profile_hashes,true);
|
||||
$p = q("select profile_guid as hash, profile_name as name from profile where profile_guid in ( $exp ) ");
|
||||
if($p) {
|
||||
foreach($r as $rr) {
|
||||
|
@ -531,7 +531,7 @@ function paginate(&$a) {
|
||||
}
|
||||
|
||||
|
||||
function alt_pager(&$a, $i, $more = '', $less = '') {
|
||||
function alt_pager($i, $more = '', $less = '') {
|
||||
|
||||
if(! $more)
|
||||
$more = t('older');
|
||||
@ -2324,6 +2324,23 @@ function stringify_array_elms(&$arr, $escape = false) {
|
||||
$arr[$x] = "'" . (($escape) ? dbesc($arr[$x]) : $arr[$x]) . "'";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Similar to stringify_array_elms but returns a string. If $escape is true, dbesc() each element before adding quotes.
|
||||
*
|
||||
* @param array $arr
|
||||
* @param boolean $escape (optional) default false
|
||||
* @return string
|
||||
*/
|
||||
function stringify_array($arr, $escape = false) {
|
||||
if($arr) {
|
||||
stringify_array_elms($arr);
|
||||
return(implode(',',$arr));
|
||||
}
|
||||
return EMPTY_STR;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Indents a flat JSON string to make it more human-readable.
|
||||
*
|
||||
@ -2387,7 +2404,7 @@ function jindent($json) {
|
||||
*/
|
||||
function design_tools() {
|
||||
|
||||
$channel = App::get_channel();
|
||||
$channel = channelx_by_n(App::$profile['profile_uid']);
|
||||
$sys = false;
|
||||
|
||||
if(App::$is_sys && is_site_admin()) {
|
||||
|
@ -3208,6 +3208,9 @@ function build_sync_packet($uid = 0, $packet = null, $groups_changed = false) {
|
||||
|
||||
$channel = $r[0];
|
||||
|
||||
// don't provide these in the export
|
||||
|
||||
unset($channel['channel_active']);
|
||||
unset($channel['channel_password']);
|
||||
unset($channel['channel_salt']);
|
||||
|
||||
@ -3474,6 +3477,14 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// if the clone is active, so are we
|
||||
|
||||
if(substr($channel['channel_active'],0,10) !== substr(datetime_convert(),0,10)) {
|
||||
q("UPDATE channel set channel_active = '%s' where channel_id = %d",
|
||||
dbesc(datetime_convert()),
|
||||
intval($channel['channel_id'])
|
||||
);
|
||||
}
|
||||
|
||||
if(array_key_exists('config',$arr) && is_array($arr['config']) && count($arr['config'])) {
|
||||
foreach($arr['config'] as $cat => $k) {
|
||||
|
@ -259,6 +259,7 @@ CREATE TABLE IF NOT EXISTS `channel` (
|
||||
`channel_dirdate` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
`channel_lastpost` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
`channel_deleted` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
`channel_active` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
`channel_max_anon_mail` int(10) unsigned NOT NULL DEFAULT 10,
|
||||
`channel_max_friend_req` int(10) unsigned NOT NULL DEFAULT 10,
|
||||
`channel_expire_days` int(11) NOT NULL DEFAULT 0 ,
|
||||
@ -308,6 +309,7 @@ CREATE TABLE IF NOT EXISTS `channel` (
|
||||
KEY `channel_hash` (`channel_hash`),
|
||||
KEY `channel_expire_days` (`channel_expire_days`),
|
||||
KEY `channel_deleted` (`channel_deleted`),
|
||||
KEY `channel_active` (`channel_active`),
|
||||
KEY `channel_dirdate` (`channel_dirdate`),
|
||||
KEY `channel_removed` (`channel_removed`),
|
||||
KEY `channel_system` (`channel_system`),
|
||||
|
@ -252,6 +252,7 @@ CREATE TABLE "channel" (
|
||||
"channel_dirdate" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
"channel_lastpost" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
"channel_deleted" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
"channel_active" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
"channel_max_anon_mail" bigint NOT NULL DEFAULT '10',
|
||||
"channel_max_friend_req" bigint NOT NULL DEFAULT '10',
|
||||
"channel_expire_days" bigint NOT NULL DEFAULT '0',
|
||||
@ -284,6 +285,7 @@ create index "channel_guid" on channel ("channel_guid");
|
||||
create index "channel_hash" on channel ("channel_hash");
|
||||
create index "channel_expire_days" on channel ("channel_expire_days");
|
||||
create index "channel_deleted" on channel ("channel_deleted");
|
||||
create index "channel_active" on channel ("channel_active");
|
||||
create index "channel_dirdate" on channel ("channel_dirdate");
|
||||
create index "channel_lastpost" on channel ("channel_lastpost");
|
||||
create index "channel_removed" on channel ("channel_removed");
|
||||
|
350
library/bootstrap/css/bootstrap-grid.css
vendored
350
library/bootstrap/css/bootstrap-grid.css
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
4
library/bootstrap/css/bootstrap-grid.min.css
vendored
4
library/bootstrap/css/bootstrap-grid.min.css
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
4
library/bootstrap/css/bootstrap-reboot.css
vendored
4
library/bootstrap/css/bootstrap-reboot.css
vendored
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Bootstrap Reboot v4.0.0 (https://getbootstrap.com)
|
||||
* Bootstrap Reboot v4.1.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2018 The Bootstrap Authors
|
||||
* Copyright 2011-2018 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
@ -202,7 +202,7 @@ th {
|
||||
|
||||
label {
|
||||
display: inline-block;
|
||||
margin-bottom: .5rem;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
button {
|
||||
|
File diff suppressed because one or more lines are too long
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Bootstrap Reboot v4.0.0 (https://getbootstrap.com)
|
||||
* Bootstrap Reboot v4.1.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2018 The Bootstrap Authors
|
||||
* Copyright 2011-2018 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
|
File diff suppressed because one or more lines are too long
873
library/bootstrap/css/bootstrap.css
vendored
873
library/bootstrap/css/bootstrap.css
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
4
library/bootstrap/css/bootstrap.min.css
vendored
4
library/bootstrap/css/bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
505
library/bootstrap/js/bootstrap.bundle.js
vendored
505
library/bootstrap/js/bootstrap.bundle.js
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
4
library/bootstrap/js/bootstrap.bundle.min.js
vendored
4
library/bootstrap/js/bootstrap.bundle.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
315
library/bootstrap/js/bootstrap.js
vendored
315
library/bootstrap/js/bootstrap.js
vendored
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Bootstrap v4.0.0 (https://getbootstrap.com)
|
||||
* Bootstrap v4.1.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
@ -28,22 +28,38 @@ function _createClass(Constructor, protoProps, staticProps) {
|
||||
return Constructor;
|
||||
}
|
||||
|
||||
function _extends() {
|
||||
_extends = Object.assign || function (target) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
var source = arguments[i];
|
||||
function _defineProperty(obj, key, value) {
|
||||
if (key in obj) {
|
||||
Object.defineProperty(obj, key, {
|
||||
value: value,
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
writable: true
|
||||
});
|
||||
} else {
|
||||
obj[key] = value;
|
||||
}
|
||||
|
||||
for (var key in source) {
|
||||
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
||||
target[key] = source[key];
|
||||
return obj;
|
||||
}
|
||||
|
||||
function _objectSpread(target) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
var source = arguments[i] != null ? arguments[i] : {};
|
||||
var ownKeys = Object.keys(source);
|
||||
|
||||
if (typeof Object.getOwnPropertySymbols === 'function') {
|
||||
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
|
||||
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
||||
}));
|
||||
}
|
||||
|
||||
ownKeys.forEach(function (key) {
|
||||
_defineProperty(target, key, source[key]);
|
||||
});
|
||||
}
|
||||
|
||||
return target;
|
||||
};
|
||||
|
||||
return _extends.apply(this, arguments);
|
||||
}
|
||||
|
||||
function _inheritsLoose(subClass, superClass) {
|
||||
@ -54,7 +70,7 @@ function _inheritsLoose(subClass, superClass) {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): util.js
|
||||
* Bootstrap (v4.1.0): util.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@ -65,17 +81,18 @@ var Util = function ($$$1) {
|
||||
* Private TransitionEnd Helpers
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var transition = false;
|
||||
var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
||||
var TRANSITION_END = 'transitionend';
|
||||
var MAX_UID = 1000000;
|
||||
var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
||||
|
||||
function toType(obj) {
|
||||
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
|
||||
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
||||
}
|
||||
|
||||
function getSpecialTransitionEndEvent() {
|
||||
return {
|
||||
bindType: transition.end,
|
||||
delegateType: transition.end,
|
||||
bindType: TRANSITION_END,
|
||||
delegateType: TRANSITION_END,
|
||||
handle: function handle(event) {
|
||||
if ($$$1(event.target).is(this)) {
|
||||
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
|
||||
@ -86,16 +103,6 @@ var Util = function ($$$1) {
|
||||
};
|
||||
}
|
||||
|
||||
function transitionEndTest() {
|
||||
if (typeof window !== 'undefined' && window.QUnit) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return {
|
||||
end: 'transitionend'
|
||||
};
|
||||
}
|
||||
|
||||
function transitionEndEmulator(duration) {
|
||||
var _this = this;
|
||||
|
||||
@ -112,20 +119,9 @@ var Util = function ($$$1) {
|
||||
}
|
||||
|
||||
function setTransitionEndSupport() {
|
||||
transition = transitionEndTest();
|
||||
$$$1.fn.emulateTransitionEnd = transitionEndEmulator;
|
||||
|
||||
if (Util.supportsTransitionEnd()) {
|
||||
$$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
|
||||
}
|
||||
}
|
||||
|
||||
function escapeId(selector) {
|
||||
// We escape IDs in case of special selectors (selector = '#myId:something')
|
||||
// $.escapeSelector does not exist in jQuery < 3
|
||||
selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
|
||||
return selector;
|
||||
}
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Public Util Api
|
||||
@ -148,11 +144,6 @@ var Util = function ($$$1) {
|
||||
|
||||
if (!selector || selector === '#') {
|
||||
selector = element.getAttribute('href') || '';
|
||||
} // If it's an ID
|
||||
|
||||
|
||||
if (selector.charAt(0) === '#') {
|
||||
selector = escapeId(selector);
|
||||
}
|
||||
|
||||
try {
|
||||
@ -162,14 +153,32 @@ var Util = function ($$$1) {
|
||||
return null;
|
||||
}
|
||||
},
|
||||
getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
|
||||
if (!element) {
|
||||
return 0;
|
||||
} // Get transition-duration of the element
|
||||
|
||||
|
||||
var transitionDuration = $$$1(element).css('transition-duration');
|
||||
var floatTransitionDuration = parseFloat(transitionDuration); // Return 0 if element or transition duration is not found
|
||||
|
||||
if (!floatTransitionDuration) {
|
||||
return 0;
|
||||
} // If multiple durations are defined, take the first
|
||||
|
||||
|
||||
transitionDuration = transitionDuration.split(',')[0];
|
||||
return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER;
|
||||
},
|
||||
reflow: function reflow(element) {
|
||||
return element.offsetHeight;
|
||||
},
|
||||
triggerTransitionEnd: function triggerTransitionEnd(element) {
|
||||
$$$1(element).trigger(transition.end);
|
||||
$$$1(element).trigger(TRANSITION_END);
|
||||
},
|
||||
// TODO: Remove in v5
|
||||
supportsTransitionEnd: function supportsTransitionEnd() {
|
||||
return Boolean(transition);
|
||||
return Boolean(TRANSITION_END);
|
||||
},
|
||||
isElement: function isElement(obj) {
|
||||
return (obj[0] || obj).nodeType;
|
||||
@ -194,7 +203,7 @@ var Util = function ($$$1) {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): alert.js
|
||||
* Bootstrap (v4.1.0): alert.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@ -206,12 +215,11 @@ var Alert = function ($$$1) {
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'alert';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.alert';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 150;
|
||||
var Selector = {
|
||||
DISMISS: '[data-dismiss="alert"]'
|
||||
};
|
||||
@ -289,15 +297,16 @@ var Alert = function ($$$1) {
|
||||
|
||||
$$$1(element).removeClass(ClassName.SHOW);
|
||||
|
||||
if (!Util.supportsTransitionEnd() || !$$$1(element).hasClass(ClassName.FADE)) {
|
||||
if (!$$$1(element).hasClass(ClassName.FADE)) {
|
||||
this._destroyElement(element);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(element);
|
||||
$$$1(element).one(Util.TRANSITION_END, function (event) {
|
||||
return _this._destroyElement(element, event);
|
||||
}).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
}).emulateTransitionEnd(transitionDuration);
|
||||
};
|
||||
|
||||
_proto._destroyElement = function _destroyElement(element) {
|
||||
@ -337,6 +346,7 @@ var Alert = function ($$$1) {
|
||||
return VERSION;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Alert;
|
||||
}();
|
||||
/**
|
||||
@ -366,7 +376,7 @@ var Alert = function ($$$1) {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): button.js
|
||||
* Bootstrap (v4.1.0): button.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@ -378,7 +388,7 @@ var Button = function ($$$1) {
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'button';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.button';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
@ -488,6 +498,7 @@ var Button = function ($$$1) {
|
||||
return VERSION;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Button;
|
||||
}();
|
||||
/**
|
||||
@ -529,7 +540,7 @@ var Button = function ($$$1) {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): carousel.js
|
||||
* Bootstrap (v4.1.0): carousel.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@ -541,12 +552,11 @@ var Carousel = function ($$$1) {
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'carousel';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.carousel';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 600;
|
||||
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
|
||||
|
||||
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
|
||||
@ -655,7 +665,7 @@ var Carousel = function ($$$1) {
|
||||
this._isPaused = true;
|
||||
}
|
||||
|
||||
if ($$$1(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
|
||||
if ($$$1(this._element).find(Selector.NEXT_PREV)[0]) {
|
||||
Util.triggerTransitionEnd(this._element);
|
||||
this.cycle(true);
|
||||
}
|
||||
@ -723,7 +733,7 @@ var Carousel = function ($$$1) {
|
||||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
Util.typeCheckConfig(NAME, config, DefaultType);
|
||||
return config;
|
||||
};
|
||||
@ -894,11 +904,12 @@ var Carousel = function ($$$1) {
|
||||
to: nextElementIndex
|
||||
});
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.SLIDE)) {
|
||||
if ($$$1(this._element).hasClass(ClassName.SLIDE)) {
|
||||
$$$1(nextElement).addClass(orderClassName);
|
||||
Util.reflow(nextElement);
|
||||
$$$1(activeElement).addClass(directionalClassName);
|
||||
$$$1(nextElement).addClass(directionalClassName);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
|
||||
$$$1(activeElement).one(Util.TRANSITION_END, function () {
|
||||
$$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
|
||||
$$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
|
||||
@ -906,7 +917,7 @@ var Carousel = function ($$$1) {
|
||||
setTimeout(function () {
|
||||
return $$$1(_this3._element).trigger(slidEvent);
|
||||
}, 0);
|
||||
}).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
}).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
$$$1(activeElement).removeClass(ClassName.ACTIVE);
|
||||
$$$1(nextElement).addClass(ClassName.ACTIVE);
|
||||
@ -924,10 +935,10 @@ var Carousel = function ($$$1) {
|
||||
return this.each(function () {
|
||||
var data = $$$1(this).data(DATA_KEY);
|
||||
|
||||
var _config = _extends({}, Default, $$$1(this).data());
|
||||
var _config = _objectSpread({}, Default, $$$1(this).data());
|
||||
|
||||
if (typeof config === 'object') {
|
||||
_config = _extends({}, _config, config);
|
||||
_config = _objectSpread({}, _config, config);
|
||||
}
|
||||
|
||||
var action = typeof config === 'string' ? config : _config.slide;
|
||||
@ -965,7 +976,8 @@ var Carousel = function ($$$1) {
|
||||
return;
|
||||
}
|
||||
|
||||
var config = _extends({}, $$$1(target).data(), $$$1(this).data());
|
||||
var config = _objectSpread({}, $$$1(target).data(), $$$1(this).data());
|
||||
|
||||
var slideIndex = this.getAttribute('data-slide-to');
|
||||
|
||||
if (slideIndex) {
|
||||
@ -992,6 +1004,7 @@ var Carousel = function ($$$1) {
|
||||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Carousel;
|
||||
}();
|
||||
/**
|
||||
@ -1028,7 +1041,7 @@ var Carousel = function ($$$1) {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): collapse.js
|
||||
* Bootstrap (v4.1.0): collapse.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@ -1040,12 +1053,11 @@ var Collapse = function ($$$1) {
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'collapse';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.collapse';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 600;
|
||||
var Default = {
|
||||
toggle: true,
|
||||
parent: ''
|
||||
@ -1187,14 +1199,10 @@ var Collapse = function ($$$1) {
|
||||
$$$1(_this._element).trigger(Event.SHOWN);
|
||||
};
|
||||
|
||||
if (!Util.supportsTransitionEnd()) {
|
||||
complete();
|
||||
return;
|
||||
}
|
||||
|
||||
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
|
||||
var scrollSize = "scroll" + capitalizedDimension;
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
this._element.style[dimension] = this._element[scrollSize] + "px";
|
||||
};
|
||||
|
||||
@ -1242,13 +1250,8 @@ var Collapse = function ($$$1) {
|
||||
};
|
||||
|
||||
this._element.style[dimension] = '';
|
||||
|
||||
if (!Util.supportsTransitionEnd()) {
|
||||
complete();
|
||||
return;
|
||||
}
|
||||
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
};
|
||||
|
||||
_proto.setTransitioning = function setTransitioning(isTransitioning) {
|
||||
@ -1266,7 +1269,7 @@ var Collapse = function ($$$1) {
|
||||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
config.toggle = Boolean(config.toggle); // Coerce string values
|
||||
|
||||
Util.typeCheckConfig(NAME, config, DefaultType);
|
||||
@ -1321,7 +1324,7 @@ var Collapse = function ($$$1) {
|
||||
var $this = $$$1(this);
|
||||
var data = $this.data(DATA_KEY);
|
||||
|
||||
var _config = _extends({}, Default, $this.data(), typeof config === 'object' && config);
|
||||
var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config);
|
||||
|
||||
if (!data && _config.toggle && /show|hide/.test(config)) {
|
||||
_config.toggle = false;
|
||||
@ -1353,6 +1356,7 @@ var Collapse = function ($$$1) {
|
||||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Collapse;
|
||||
}();
|
||||
/**
|
||||
@ -1397,7 +1401,7 @@ var Collapse = function ($$$1) {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): dropdown.js
|
||||
* Bootstrap (v4.1.0): dropdown.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@ -1409,7 +1413,7 @@ var Dropdown = function ($$$1) {
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'dropdown';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.dropdown';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
@ -1452,7 +1456,7 @@ var Dropdown = function ($$$1) {
|
||||
FORM_CHILD: '.dropdown form',
|
||||
MENU: '.dropdown-menu',
|
||||
NAVBAR_NAV: '.navbar-nav',
|
||||
VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
|
||||
VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
|
||||
};
|
||||
var AttachmentMap = {
|
||||
TOP: 'top-start',
|
||||
@ -1467,12 +1471,16 @@ var Dropdown = function ($$$1) {
|
||||
var Default = {
|
||||
offset: 0,
|
||||
flip: true,
|
||||
boundary: 'scrollParent'
|
||||
boundary: 'scrollParent',
|
||||
reference: 'toggle',
|
||||
display: 'dynamic'
|
||||
};
|
||||
var DefaultType = {
|
||||
offset: '(number|string|function)',
|
||||
flip: 'boolean',
|
||||
boundary: '(string|element)'
|
||||
boundary: '(string|element)',
|
||||
reference: '(string|element)',
|
||||
display: 'string'
|
||||
/**
|
||||
* ------------------------------------------------------------------------
|
||||
* Class Definition
|
||||
@ -1533,11 +1541,15 @@ var Dropdown = function ($$$1) {
|
||||
throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
|
||||
}
|
||||
|
||||
var element = this._element; // For dropup with alignment we use the parent as popper container
|
||||
var referenceElement = this._element;
|
||||
|
||||
if ($$$1(parent).hasClass(ClassName.DROPUP)) {
|
||||
if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
|
||||
element = parent;
|
||||
if (this._config.reference === 'parent') {
|
||||
referenceElement = parent;
|
||||
} else if (Util.isElement(this._config.reference)) {
|
||||
referenceElement = this._config.reference; // Check if it's jQuery element
|
||||
|
||||
if (typeof this._config.reference.jquery !== 'undefined') {
|
||||
referenceElement = this._config.reference[0];
|
||||
}
|
||||
} // If boundary is not `scrollParent`, then set position to `static`
|
||||
// to allow the menu to "escape" the scroll parent's boundaries
|
||||
@ -1548,7 +1560,7 @@ var Dropdown = function ($$$1) {
|
||||
$$$1(parent).addClass(ClassName.POSITION_STATIC);
|
||||
}
|
||||
|
||||
this._popper = new Popper(element, this._menu, this._getPopperConfig());
|
||||
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
|
||||
} // If this is a touch-enabled device we add extra
|
||||
// empty mouseover listeners to the body's immediate children;
|
||||
// only needed because of broken event delegation on iOS
|
||||
@ -1556,7 +1568,7 @@ var Dropdown = function ($$$1) {
|
||||
|
||||
|
||||
if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
|
||||
$$$1('body').children().on('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().on('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
this._element.focus();
|
||||
@ -1601,7 +1613,7 @@ var Dropdown = function ($$$1) {
|
||||
};
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config);
|
||||
config = _objectSpread({}, this.constructor.Default, $$$1(this._element).data(), config);
|
||||
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
|
||||
return config;
|
||||
};
|
||||
@ -1648,7 +1660,7 @@ var Dropdown = function ($$$1) {
|
||||
|
||||
if (typeof this._config.offset === 'function') {
|
||||
offsetConf.fn = function (data) {
|
||||
data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {});
|
||||
data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets) || {});
|
||||
return data;
|
||||
};
|
||||
} else {
|
||||
@ -1665,8 +1677,16 @@ var Dropdown = function ($$$1) {
|
||||
preventOverflow: {
|
||||
boundariesElement: this._config.boundary
|
||||
}
|
||||
}
|
||||
} // Disable Popper.js if we have a static display
|
||||
|
||||
};
|
||||
|
||||
if (this._config.display === 'static') {
|
||||
popperConfig.modifiers.applyStyle = {
|
||||
enabled: false
|
||||
};
|
||||
}
|
||||
|
||||
return popperConfig;
|
||||
}; // Static
|
||||
|
||||
@ -1731,7 +1751,7 @@ var Dropdown = function ($$$1) {
|
||||
|
||||
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
$$$1('body').children().off('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().off('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
toggles[i].setAttribute('aria-expanded', 'false');
|
||||
@ -1826,6 +1846,7 @@ var Dropdown = function ($$$1) {
|
||||
return DefaultType;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Dropdown;
|
||||
}();
|
||||
/**
|
||||
@ -1862,7 +1883,7 @@ var Dropdown = function ($$$1) {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): modal.js
|
||||
* Bootstrap (v4.1.0): modal.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@ -1874,13 +1895,11 @@ var Modal = function ($$$1) {
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'modal';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.modal';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 300;
|
||||
var BACKDROP_TRANSITION_DURATION = 150;
|
||||
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
|
||||
|
||||
var Default = {
|
||||
@ -1941,7 +1960,6 @@ var Modal = function ($$$1) {
|
||||
this._isShown = false;
|
||||
this._isBodyOverflowing = false;
|
||||
this._ignoreBackdropClick = false;
|
||||
this._originalBodyPadding = 0;
|
||||
this._scrollbarWidth = 0;
|
||||
} // Getters
|
||||
|
||||
@ -1960,7 +1978,7 @@ var Modal = function ($$$1) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
if ($$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
this._isTransitioning = true;
|
||||
}
|
||||
|
||||
@ -2022,7 +2040,7 @@ var Modal = function ($$$1) {
|
||||
}
|
||||
|
||||
this._isShown = false;
|
||||
var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
|
||||
var transition = $$$1(this._element).hasClass(ClassName.FADE);
|
||||
|
||||
if (transition) {
|
||||
this._isTransitioning = true;
|
||||
@ -2038,9 +2056,10 @@ var Modal = function ($$$1) {
|
||||
$$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
|
||||
|
||||
if (transition) {
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._element).one(Util.TRANSITION_END, function (event) {
|
||||
return _this2._hideModal(event);
|
||||
}).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
}).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
this._hideModal();
|
||||
}
|
||||
@ -2065,7 +2084,7 @@ var Modal = function ($$$1) {
|
||||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
Util.typeCheckConfig(NAME, config, DefaultType);
|
||||
return config;
|
||||
};
|
||||
@ -2073,7 +2092,7 @@ var Modal = function ($$$1) {
|
||||
_proto._showElement = function _showElement(relatedTarget) {
|
||||
var _this3 = this;
|
||||
|
||||
var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
|
||||
var transition = $$$1(this._element).hasClass(ClassName.FADE);
|
||||
|
||||
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
|
||||
// Don't move modal's DOM position
|
||||
@ -2110,7 +2129,8 @@ var Modal = function ($$$1) {
|
||||
};
|
||||
|
||||
if (transition) {
|
||||
$$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
transitionComplete();
|
||||
}
|
||||
@ -2188,7 +2208,6 @@ var Modal = function ($$$1) {
|
||||
var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
|
||||
|
||||
if (this._isShown && this._config.backdrop) {
|
||||
var doAnimate = Util.supportsTransitionEnd() && animate;
|
||||
this._backdrop = document.createElement('div');
|
||||
this._backdrop.className = ClassName.BACKDROP;
|
||||
|
||||
@ -2214,7 +2233,7 @@ var Modal = function ($$$1) {
|
||||
}
|
||||
});
|
||||
|
||||
if (doAnimate) {
|
||||
if (animate) {
|
||||
Util.reflow(this._backdrop);
|
||||
}
|
||||
|
||||
@ -2224,12 +2243,13 @@ var Modal = function ($$$1) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!doAnimate) {
|
||||
if (!animate) {
|
||||
callback();
|
||||
return;
|
||||
}
|
||||
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
|
||||
var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
|
||||
} else if (!this._isShown && this._backdrop) {
|
||||
$$$1(this._backdrop).removeClass(ClassName.SHOW);
|
||||
|
||||
@ -2241,8 +2261,10 @@ var Modal = function ($$$1) {
|
||||
}
|
||||
};
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
|
||||
if ($$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
|
||||
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
|
||||
} else {
|
||||
callbackRemove();
|
||||
}
|
||||
@ -2304,8 +2326,8 @@ var Modal = function ($$$1) {
|
||||
}); // Adjust body padding
|
||||
|
||||
var actualPadding = document.body.style.paddingRight;
|
||||
var calculatedPadding = $$$1('body').css('padding-right');
|
||||
$$$1('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
|
||||
var calculatedPadding = $$$1(document.body).css('padding-right');
|
||||
$$$1(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
|
||||
}
|
||||
};
|
||||
|
||||
@ -2327,10 +2349,10 @@ var Modal = function ($$$1) {
|
||||
}
|
||||
}); // Restore body padding
|
||||
|
||||
var padding = $$$1('body').data('padding-right');
|
||||
var padding = $$$1(document.body).data('padding-right');
|
||||
|
||||
if (typeof padding !== 'undefined') {
|
||||
$$$1('body').css('padding-right', padding).removeData('padding-right');
|
||||
$$$1(document.body).css('padding-right', padding).removeData('padding-right');
|
||||
}
|
||||
};
|
||||
|
||||
@ -2349,7 +2371,7 @@ var Modal = function ($$$1) {
|
||||
return this.each(function () {
|
||||
var data = $$$1(this).data(DATA_KEY);
|
||||
|
||||
var _config = _extends({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
|
||||
var _config = _objectSpread({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
|
||||
|
||||
if (!data) {
|
||||
data = new Modal(this, _config);
|
||||
@ -2379,6 +2401,7 @@ var Modal = function ($$$1) {
|
||||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Modal;
|
||||
}();
|
||||
/**
|
||||
@ -2398,7 +2421,7 @@ var Modal = function ($$$1) {
|
||||
target = $$$1(selector)[0];
|
||||
}
|
||||
|
||||
var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _extends({}, $$$1(target).data(), $$$1(this).data());
|
||||
var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $$$1(target).data(), $$$1(this).data());
|
||||
|
||||
if (this.tagName === 'A' || this.tagName === 'AREA') {
|
||||
event.preventDefault();
|
||||
@ -2438,7 +2461,7 @@ var Modal = function ($$$1) {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): tooltip.js
|
||||
* Bootstrap (v4.1.0): tooltip.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@ -2450,11 +2473,10 @@ var Tooltip = function ($$$1) {
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'tooltip';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.tooltip';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 150;
|
||||
var CLASS_PREFIX = 'bs-tooltip';
|
||||
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
|
||||
var DefaultType = {
|
||||
@ -2700,7 +2722,7 @@ var Tooltip = function ($$$1) {
|
||||
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
|
||||
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
$$$1('body').children().on('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().on('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
var complete = function complete() {
|
||||
@ -2717,8 +2739,9 @@ var Tooltip = function ($$$1) {
|
||||
}
|
||||
};
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
$$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
|
||||
if ($$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
|
||||
$$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
complete();
|
||||
}
|
||||
@ -2761,15 +2784,16 @@ var Tooltip = function ($$$1) {
|
||||
// empty mouseover listeners we added for iOS support
|
||||
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
$$$1('body').children().off('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().off('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
this._activeTrigger[Trigger.CLICK] = false;
|
||||
this._activeTrigger[Trigger.FOCUS] = false;
|
||||
this._activeTrigger[Trigger.HOVER] = false;
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
$$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
if ($$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(tip);
|
||||
$$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
complete();
|
||||
}
|
||||
@ -2860,7 +2884,7 @@ var Tooltip = function ($$$1) {
|
||||
});
|
||||
|
||||
if (this.config.selector) {
|
||||
this.config = _extends({}, this.config, {
|
||||
this.config = _objectSpread({}, this.config, {
|
||||
trigger: 'manual',
|
||||
selector: ''
|
||||
});
|
||||
@ -2954,7 +2978,7 @@ var Tooltip = function ($$$1) {
|
||||
};
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, this.constructor.Default, $$$1(this.element).data(), config);
|
||||
config = _objectSpread({}, this.constructor.Default, $$$1(this.element).data(), config);
|
||||
|
||||
if (typeof config.delay === 'number') {
|
||||
config.delay = {
|
||||
@ -3081,6 +3105,7 @@ var Tooltip = function ($$$1) {
|
||||
return DefaultType;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Tooltip;
|
||||
}();
|
||||
/**
|
||||
@ -3103,7 +3128,7 @@ var Tooltip = function ($$$1) {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): popover.js
|
||||
* Bootstrap (v4.1.0): popover.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@ -3115,21 +3140,24 @@ var Popover = function ($$$1) {
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'popover';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.popover';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var CLASS_PREFIX = 'bs-popover';
|
||||
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
|
||||
var Default = _extends({}, Tooltip.Default, {
|
||||
|
||||
var Default = _objectSpread({}, Tooltip.Default, {
|
||||
placement: 'right',
|
||||
trigger: 'click',
|
||||
content: '',
|
||||
template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
|
||||
});
|
||||
var DefaultType = _extends({}, Tooltip.DefaultType, {
|
||||
|
||||
var DefaultType = _objectSpread({}, Tooltip.DefaultType, {
|
||||
content: '(string|element|function)'
|
||||
});
|
||||
|
||||
var ClassName = {
|
||||
FADE: 'fade',
|
||||
SHOW: 'show'
|
||||
@ -3274,6 +3302,7 @@ var Popover = function ($$$1) {
|
||||
return DefaultType;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Popover;
|
||||
}(Tooltip);
|
||||
/**
|
||||
@ -3296,7 +3325,7 @@ var Popover = function ($$$1) {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): scrollspy.js
|
||||
* Bootstrap (v4.1.0): scrollspy.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@ -3308,7 +3337,7 @@ var ScrollSpy = function ($$$1) {
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'scrollspy';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.scrollspy';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
@ -3435,7 +3464,7 @@ var ScrollSpy = function ($$$1) {
|
||||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
|
||||
if (typeof config.target !== 'string') {
|
||||
var id = $$$1(config.target).attr('id');
|
||||
@ -3570,6 +3599,7 @@ var ScrollSpy = function ($$$1) {
|
||||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return ScrollSpy;
|
||||
}();
|
||||
/**
|
||||
@ -3607,7 +3637,7 @@ var ScrollSpy = function ($$$1) {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): tab.js
|
||||
* Bootstrap (v4.1.0): tab.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
@ -3619,12 +3649,11 @@ var Tab = function ($$$1) {
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'tab';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.tab';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 150;
|
||||
var Event = {
|
||||
HIDE: "hide" + EVENT_KEY,
|
||||
HIDDEN: "hidden" + EVENT_KEY,
|
||||
@ -3743,14 +3772,15 @@ var Tab = function ($$$1) {
|
||||
}
|
||||
|
||||
var active = activeElements[0];
|
||||
var isTransitioning = callback && Util.supportsTransitionEnd() && active && $$$1(active).hasClass(ClassName.FADE);
|
||||
var isTransitioning = callback && active && $$$1(active).hasClass(ClassName.FADE);
|
||||
|
||||
var complete = function complete() {
|
||||
return _this2._transitionComplete(element, active, callback);
|
||||
};
|
||||
|
||||
if (active && isTransitioning) {
|
||||
$$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(active);
|
||||
$$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
complete();
|
||||
}
|
||||
@ -3821,6 +3851,7 @@ var Tab = function ($$$1) {
|
||||
return VERSION;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Tab;
|
||||
}();
|
||||
/**
|
||||
@ -3854,7 +3885,7 @@ var Tab = function ($$$1) {
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0-alpha.6): index.js
|
||||
* Bootstrap (v4.0.0): index.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
File diff suppressed because one or more lines are too long
4
library/bootstrap/js/bootstrap.min.js
vendored
4
library/bootstrap/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -6,9 +6,9 @@
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 3.3.5\n"
|
||||
"Project-Id-Version: 3.4RC\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-04-13 21:54+0200\n"
|
||||
"POT-Creation-Date: 2018-04-18 08:37+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -248,7 +248,7 @@ msgstr ""
|
||||
msgid "Block Name"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2405
|
||||
#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2422
|
||||
msgid "Blocks"
|
||||
msgstr ""
|
||||
|
||||
@ -415,7 +415,7 @@ msgstr ""
|
||||
#: ../../Zotlabs/Module/Admin/Profs.php:178
|
||||
#: ../../Zotlabs/Module/Admin/Account_edit.php:74
|
||||
#: ../../Zotlabs/Module/Admin/Security.php:104
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:110
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:115
|
||||
#: ../../Zotlabs/Module/Settings/Channel.php:495
|
||||
#: ../../Zotlabs/Module/Settings/Features.php:79
|
||||
#: ../../Zotlabs/Module/Settings/Tokens.php:168
|
||||
@ -673,7 +673,7 @@ msgstr ""
|
||||
#: ../../Zotlabs/Module/Profile_photo.php:464
|
||||
#: ../../Zotlabs/Module/Connedit.php:924 ../../Zotlabs/Module/Fbrowser.php:66
|
||||
#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Profiles.php:801
|
||||
#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Module/Cover_photo.php:365
|
||||
#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Module/Cover_photo.php:366
|
||||
#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
|
||||
#: ../../include/conversation.php:1389 ../../include/conversation.php:1438
|
||||
msgid "Cancel"
|
||||
@ -716,7 +716,7 @@ msgstr ""
|
||||
#: ../../Zotlabs/Module/Connedit.php:910 ../../Zotlabs/Module/Profiles.php:787
|
||||
#: ../../addon/openid/MysqlProvider.php:56
|
||||
#: ../../addon/openid/MysqlProvider.php:57 ../../addon/rtof/rtof.php:93
|
||||
#: ../../addon/redred/redred.php:107 ../../include/network.php:1776
|
||||
#: ../../addon/redred/redred.php:107 ../../include/network.php:1769
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
@ -932,7 +932,7 @@ msgstr ""
|
||||
msgid "Search results for: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Pubstream.php:93
|
||||
#: ../../Zotlabs/Module/Pubstream.php:95
|
||||
#: ../../Zotlabs/Widget/Notifications.php:131
|
||||
msgid "Public Stream"
|
||||
msgstr ""
|
||||
@ -2638,7 +2638,7 @@ msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Admin/Site.php:191
|
||||
#: ../../view/theme/redbasic_c/php/config.php:15
|
||||
#: ../../view/theme/redbasic/php/config.php:15 ../../include/text.php:3089
|
||||
#: ../../view/theme/redbasic/php/config.php:15 ../../include/text.php:3106
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
@ -3345,43 +3345,47 @@ msgstr ""
|
||||
msgid "Comment deleted"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:37
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:23
|
||||
msgid "Permission Name is required."
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:42
|
||||
msgid "Permission category saved."
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:61
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:66
|
||||
msgid ""
|
||||
"Use this form to create permission rules for various classes of people or "
|
||||
"connections."
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:94
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:99
|
||||
msgid "Permission Categories"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:102
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:107
|
||||
msgid "Permission Name"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:103
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:108
|
||||
#: ../../Zotlabs/Module/Settings/Tokens.php:161
|
||||
#: ../../Zotlabs/Module/Connedit.php:891 ../../Zotlabs/Module/Defperms.php:250
|
||||
msgid "My Settings"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:105
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:110
|
||||
#: ../../Zotlabs/Module/Settings/Tokens.php:163
|
||||
#: ../../Zotlabs/Module/Connedit.php:886 ../../Zotlabs/Module/Defperms.php:248
|
||||
msgid "inherited"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:108
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:113
|
||||
#: ../../Zotlabs/Module/Settings/Tokens.php:166
|
||||
#: ../../Zotlabs/Module/Connedit.php:893 ../../Zotlabs/Module/Defperms.php:253
|
||||
msgid "Individual Permissions"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:109
|
||||
#: ../../Zotlabs/Module/Settings/Permcats.php:114
|
||||
#: ../../Zotlabs/Module/Settings/Tokens.php:167
|
||||
#: ../../Zotlabs/Module/Connedit.php:894
|
||||
msgid ""
|
||||
@ -4227,7 +4231,7 @@ msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Embedphotos.php:158 ../../Zotlabs/Module/Photos.php:712
|
||||
#: ../../Zotlabs/Module/Profile_photo.php:458
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:361
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:362
|
||||
#: ../../Zotlabs/Storage/Browser.php:384 ../../Zotlabs/Widget/Cdav.php:133
|
||||
#: ../../Zotlabs/Widget/Cdav.php:169 ../../Zotlabs/Widget/Portfolio.php:110
|
||||
#: ../../Zotlabs/Widget/Album.php:97
|
||||
@ -4406,7 +4410,7 @@ msgstr ""
|
||||
msgid "Permissions denied."
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Cal.php:344 ../../include/text.php:2429
|
||||
#: ../../Zotlabs/Module/Cal.php:344 ../../include/text.php:2446
|
||||
msgid "Import"
|
||||
msgstr ""
|
||||
|
||||
@ -4870,7 +4874,7 @@ msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Photos.php:1160 ../../Zotlabs/Lib/ThreadItem.php:205
|
||||
#: ../../include/conversation.php:1981 ../../include/channel.php:1539
|
||||
#: ../../include/taxonomy.php:601
|
||||
#: ../../include/taxonomy.php:660
|
||||
msgctxt "noun"
|
||||
msgid "Like"
|
||||
msgid_plural "Likes"
|
||||
@ -5047,38 +5051,38 @@ msgid "Embed an image from your albums"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Wiki.php:380 ../../Zotlabs/Module/Profile_photo.php:465
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:366 ../../include/conversation.php:1390
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:367 ../../include/conversation.php:1390
|
||||
#: ../../include/conversation.php:1437
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Wiki.php:381 ../../Zotlabs/Module/Profile_photo.php:466
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:367 ../../include/conversation.php:1320
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:368 ../../include/conversation.php:1320
|
||||
msgid "Choose images to embed"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Wiki.php:382 ../../Zotlabs/Module/Profile_photo.php:467
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:368 ../../include/conversation.php:1321
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:369 ../../include/conversation.php:1321
|
||||
msgid "Choose an album"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Wiki.php:383 ../../Zotlabs/Module/Profile_photo.php:468
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:369
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:370
|
||||
msgid "Choose a different album"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Wiki.php:384 ../../Zotlabs/Module/Profile_photo.php:469
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:370 ../../include/conversation.php:1323
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:371 ../../include/conversation.php:1323
|
||||
msgid "Error getting album list"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Wiki.php:385 ../../Zotlabs/Module/Profile_photo.php:470
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:371 ../../include/conversation.php:1324
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:372 ../../include/conversation.php:1324
|
||||
msgid "Error getting photo link"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Wiki.php:386 ../../Zotlabs/Module/Profile_photo.php:471
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:372 ../../include/conversation.php:1325
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:373 ../../include/conversation.php:1325
|
||||
msgid "Error getting album"
|
||||
msgstr ""
|
||||
|
||||
@ -5253,12 +5257,12 @@ msgid "Photo not available."
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Profile_photo.php:455
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:358
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:359
|
||||
msgid "Upload File:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Profile_photo.php:456
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:359
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:360
|
||||
msgid "Select a profile:"
|
||||
msgstr ""
|
||||
|
||||
@ -5276,28 +5280,28 @@ msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Profile_photo.php:462
|
||||
#: ../../Zotlabs/Module/Profile_photo.php:463
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:363
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:364
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:365
|
||||
msgid "Use a photo from your albums"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Profile_photo.php:473
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:375
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:376
|
||||
msgid "Select existing photo"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Profile_photo.php:492
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:392
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:393
|
||||
msgid "Crop Image"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Profile_photo.php:493
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:393
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:394
|
||||
msgid "Please adjust the image cropping for optimum viewing."
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Profile_photo.php:495
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:395
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:396
|
||||
msgid "Done Editing"
|
||||
msgstr ""
|
||||
|
||||
@ -5827,7 +5831,7 @@ msgstr ""
|
||||
msgid "Submit and proceed"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2406
|
||||
#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2423
|
||||
msgid "Menus"
|
||||
msgstr ""
|
||||
|
||||
@ -5879,7 +5883,7 @@ msgstr ""
|
||||
msgid "Allow bookmarks"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2407
|
||||
#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2424
|
||||
msgid "Layouts"
|
||||
msgstr ""
|
||||
|
||||
@ -7304,7 +7308,7 @@ msgstr ""
|
||||
msgid "cover photo"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:360
|
||||
#: ../../Zotlabs/Module/Cover_photo.php:361
|
||||
msgid "Change Cover Photo"
|
||||
msgstr ""
|
||||
|
||||
@ -7373,19 +7377,19 @@ msgstr ""
|
||||
msgid "Search Results For:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Network.php:230
|
||||
#: ../../Zotlabs/Module/Network.php:229
|
||||
msgid "Privacy group is empty"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Network.php:240
|
||||
#: ../../Zotlabs/Module/Network.php:238
|
||||
msgid "Privacy group: "
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Network.php:268
|
||||
#: ../../Zotlabs/Module/Network.php:265
|
||||
msgid "Invalid connection."
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Module/Network.php:289 ../../addon/redred/redred.php:65
|
||||
#: ../../Zotlabs/Module/Network.php:285 ../../addon/redred/redred.php:65
|
||||
msgid "Invalid channel."
|
||||
msgstr ""
|
||||
|
||||
@ -8223,7 +8227,7 @@ msgstr ""
|
||||
msgid "Wiki updated successfully"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Lib/NativeWiki.php:198
|
||||
#: ../../Zotlabs/Lib/NativeWiki.php:205
|
||||
msgid "Wiki files deleted successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -8297,11 +8301,11 @@ msgstr ""
|
||||
msgid "Add Tag"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Lib/ThreadItem.php:281 ../../include/taxonomy.php:514
|
||||
#: ../../Zotlabs/Lib/ThreadItem.php:281 ../../include/taxonomy.php:574
|
||||
msgid "like"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Lib/ThreadItem.php:282 ../../include/taxonomy.php:515
|
||||
#: ../../Zotlabs/Lib/ThreadItem.php:282 ../../include/taxonomy.php:575
|
||||
msgid "dislike"
|
||||
msgstr ""
|
||||
|
||||
@ -8458,7 +8462,7 @@ msgstr ""
|
||||
msgid "parent"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2828
|
||||
#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2845
|
||||
msgid "Collection"
|
||||
msgstr ""
|
||||
|
||||
@ -8603,9 +8607,9 @@ msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Widget/Appcategories.php:40
|
||||
#: ../../include/contact_widgets.php:97 ../../include/contact_widgets.php:141
|
||||
#: ../../include/contact_widgets.php:186 ../../include/taxonomy.php:348
|
||||
#: ../../include/taxonomy.php:430 ../../include/taxonomy.php:450
|
||||
#: ../../include/taxonomy.php:471
|
||||
#: ../../include/contact_widgets.php:186 ../../include/taxonomy.php:408
|
||||
#: ../../include/taxonomy.php:490 ../../include/taxonomy.php:510
|
||||
#: ../../include/taxonomy.php:531
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
@ -8793,8 +8797,8 @@ msgstr ""
|
||||
msgid "Click to show more"
|
||||
msgstr ""
|
||||
|
||||
#: ../../Zotlabs/Widget/Tagcloud.php:22 ../../include/taxonomy.php:388
|
||||
#: ../../include/taxonomy.php:409
|
||||
#: ../../Zotlabs/Widget/Tagcloud.php:22 ../../include/taxonomy.php:319
|
||||
#: ../../include/taxonomy.php:448 ../../include/taxonomy.php:469
|
||||
msgid "Tags"
|
||||
msgstr ""
|
||||
|
||||
@ -9095,6 +9099,10 @@ msgstr ""
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: ../../store/[data]/smarty3/compiled/a0a1289f91f53b2c12e4e0b45ffe8291540ba895_0.file.cover_photo.tpl.php:123
|
||||
msgid "Cover Photo"
|
||||
msgstr ""
|
||||
|
||||
#: ../../view/theme/redbasic_c/php/config.php:16
|
||||
#: ../../view/theme/redbasic_c/php/config.php:19
|
||||
#: ../../view/theme/redbasic/php/config.php:16
|
||||
@ -10584,7 +10592,7 @@ msgid "Friendica Login Password"
|
||||
msgstr ""
|
||||
|
||||
#: ../../addon/pubcrawl/as.php:1129 ../../addon/pubcrawl/as.php:1256
|
||||
#: ../../addon/pubcrawl/as.php:1432 ../../include/network.php:1775
|
||||
#: ../../addon/pubcrawl/as.php:1432 ../../include/network.php:1768
|
||||
msgid "ActivityPub"
|
||||
msgstr ""
|
||||
|
||||
@ -12573,71 +12581,71 @@ msgstr ""
|
||||
msgid "a-z, 0-9, -, and _ only"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/text.php:2402
|
||||
#: ../../include/text.php:2419
|
||||
msgid "Design Tools"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/text.php:2408
|
||||
#: ../../include/text.php:2425
|
||||
msgid "Pages"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/text.php:2430
|
||||
#: ../../include/text.php:2447
|
||||
msgid "Import website..."
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/text.php:2431
|
||||
#: ../../include/text.php:2448
|
||||
msgid "Select folder to import"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/text.php:2432
|
||||
#: ../../include/text.php:2449
|
||||
msgid "Import from a zipped folder:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/text.php:2433
|
||||
#: ../../include/text.php:2450
|
||||
msgid "Import from cloud files:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/text.php:2434
|
||||
#: ../../include/text.php:2451
|
||||
msgid "/cloud/channel/path/to/folder"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/text.php:2435
|
||||
#: ../../include/text.php:2452
|
||||
msgid "Enter path to website files"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/text.php:2436
|
||||
#: ../../include/text.php:2453
|
||||
msgid "Select folder"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/text.php:2437
|
||||
#: ../../include/text.php:2454
|
||||
msgid "Export website..."
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/text.php:2438
|
||||
#: ../../include/text.php:2455
|
||||
msgid "Export to a zip file"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/text.php:2439
|
||||
#: ../../include/text.php:2456
|
||||
msgid "website.zip"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/text.php:2440
|
||||
#: ../../include/text.php:2457
|
||||
msgid "Enter a name for the zip file."
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/text.php:2441
|
||||
#: ../../include/text.php:2458
|
||||
msgid "Export to cloud files"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/text.php:2442
|
||||
#: ../../include/text.php:2459
|
||||
msgid "/path/to/export/folder"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/text.php:2443
|
||||
#: ../../include/text.php:2460
|
||||
msgid "Enter a path to a cloud files destination."
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/text.php:2444
|
||||
#: ../../include/text.php:2461
|
||||
msgid "Specify folder"
|
||||
msgstr ""
|
||||
|
||||
@ -13074,7 +13082,7 @@ msgstr ""
|
||||
msgid "Empty path"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/security.php:532
|
||||
#: ../../include/security.php:541
|
||||
msgid ""
|
||||
"The form security token was not correct. This probably happened because the "
|
||||
"form has been opened for too long (>3 hours) before submitting it."
|
||||
@ -13354,43 +13362,43 @@ msgstr ""
|
||||
msgid "view full size"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/network.php:1770 ../../include/network.php:1771
|
||||
#: ../../include/network.php:1763 ../../include/network.php:1764
|
||||
msgid "Friendica"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/network.php:1772
|
||||
#: ../../include/network.php:1765
|
||||
msgid "OStatus"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/network.php:1773
|
||||
#: ../../include/network.php:1766
|
||||
msgid "GNU-Social"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/network.php:1774
|
||||
#: ../../include/network.php:1767
|
||||
msgid "RSS/Atom"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/network.php:1777
|
||||
#: ../../include/network.php:1770
|
||||
msgid "Diaspora"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/network.php:1778
|
||||
#: ../../include/network.php:1771
|
||||
msgid "Facebook"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/network.php:1779
|
||||
#: ../../include/network.php:1772
|
||||
msgid "Zot"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/network.php:1780
|
||||
#: ../../include/network.php:1773
|
||||
msgid "LinkedIn"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/network.php:1781
|
||||
#: ../../include/network.php:1774
|
||||
msgid "XMPP/IM"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/network.php:1782
|
||||
#: ../../include/network.php:1775
|
||||
msgid "MySpace"
|
||||
msgstr ""
|
||||
|
||||
@ -13862,31 +13870,35 @@ msgstr ""
|
||||
msgid "Provide a personal tag cloud on your channel page"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/taxonomy.php:491
|
||||
#: ../../include/taxonomy.php:319
|
||||
msgid "Trending"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/taxonomy.php:551
|
||||
msgid "Keywords"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/taxonomy.php:512
|
||||
#: ../../include/taxonomy.php:572
|
||||
msgid "have"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/taxonomy.php:512
|
||||
#: ../../include/taxonomy.php:572
|
||||
msgid "has"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/taxonomy.php:513
|
||||
#: ../../include/taxonomy.php:573
|
||||
msgid "want"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/taxonomy.php:513
|
||||
#: ../../include/taxonomy.php:573
|
||||
msgid "wants"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/taxonomy.php:514
|
||||
#: ../../include/taxonomy.php:574
|
||||
msgid "likes"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/taxonomy.php:515
|
||||
#: ../../include/taxonomy.php:575
|
||||
msgid "dislikes"
|
||||
msgstr ""
|
||||
|
||||
@ -14088,7 +14100,7 @@ msgid "Help and documentation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/nav.php:179
|
||||
msgid "Search site @name, #tag, ?docs, content"
|
||||
msgid "Search site @name, !forum, #tag, ?docs, content"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/nav.php:199
|
||||
@ -14096,7 +14108,7 @@ msgid "Site Setup and Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/nav.php:290
|
||||
msgid "@name, #tag, ?doc, content"
|
||||
msgid "@name, !forum, #tag, ?doc, content"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/nav.php:291
|
||||
@ -14155,7 +14167,7 @@ msgstr ""
|
||||
msgid "Unable to verify site signature for %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../../include/zot.php:4206
|
||||
#: ../../include/zot.php:4217
|
||||
msgid "invalid target signature"
|
||||
msgstr ""
|
||||
|
||||
|
@ -253,9 +253,18 @@ function string2bb(element) {
|
||||
template: contact_format
|
||||
};
|
||||
|
||||
// Autocomplete hashtags
|
||||
tags = {
|
||||
match: /(^\#)([^ \n]{3,})$/,
|
||||
index: 2,
|
||||
search: function(term, callback) { $.getJSON('/hashtags/' + '$f=&t=' + term).done(function(data) { callback($.map(data, function(entry) { return entry.text.toLowerCase().indexOf(term.toLowerCase()) === 0 ? entry : null; })); }); },
|
||||
replace: function(item) { return "$1" + item.text + ' '; },
|
||||
context: function(text) { return text.toLowerCase(); },
|
||||
template: tag_format
|
||||
};
|
||||
|
||||
this.attr('autocomplete', 'off');
|
||||
var a = this.textcomplete([contacts,forums], {className:'acpopup', maxCount:100, zIndex: 1020, appendTo:'nav'});
|
||||
var a = this.textcomplete([contacts,forums,tags], {className:'acpopup', maxCount:100, zIndex: 1020, appendTo:'nav'});
|
||||
a.on('textComplete:select', function(e, value, strategy) { submit_form(this); });
|
||||
};
|
||||
})( jQuery );
|
||||
|
@ -1,3 +1,6 @@
|
||||
[region=aside]
|
||||
[widget=pubtagcloud][var=trending]8[/var][var=limit]20[/var][/widget]
|
||||
[/region]
|
||||
[region=right_aside]
|
||||
[widget=notifications][/widget]
|
||||
[widget=newmember][/widget]
|
||||
|
@ -1795,3 +1795,7 @@ dl.bb-dl > dd > li {
|
||||
position: absolute;
|
||||
text-shadow: -2px 0 1px #fff, 0 2px 1px#fff, 2px 0 1px #fff, 0 -2px 1px #fff;
|
||||
}
|
||||
|
||||
.cover-photo-review {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
@ -86,10 +86,11 @@
|
||||
<h2>{{$title}}</h2>
|
||||
</div>
|
||||
<div class="section-content-wrapper">
|
||||
|
||||
{{if $existing}}
|
||||
<img class="cover-photo-review" style="max-width: 100%;" src="{{$existing.url}}" alt="{{t('Cover Photo')}}" />
|
||||
{{/if}}
|
||||
<form enctype="multipart/form-data" action="cover_photo" method="post">
|
||||
<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
|
||||
|
||||
<div id="profile-photo-upload-wrapper">
|
||||
|
||||
<label id="profile-photo-upload-label" class="form-label" for="profile-photo-upload">{{$lbl_upfile}}</label>
|
||||
|
@ -164,7 +164,7 @@
|
||||
{{$channel_app}}
|
||||
{{/foreach}}
|
||||
<div class="dropdown-divider"></div>
|
||||
<div class="dropdown-header sys-apps-toggle" onclick="$('#dropdown-menu').click(function(e) { e.stopPropagation(); }); openClose('sys_apps');">
|
||||
<div class="dropdown-header text-black-50 sys-apps-toggle" onclick="$('#dropdown-menu').click(function(e) { e.stopPropagation(); }); openClose('sys_apps');">
|
||||
{{$sysapps_toggle}}
|
||||
</div>
|
||||
<div id="sys_apps" style="display:none;">
|
||||
@ -190,7 +190,7 @@
|
||||
{{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');">
|
||||
<div class="dropdown-header text-white-50 sys-apps-toggle" onclick="openClose('sys-apps-collapsed');">
|
||||
{{$sysapps_toggle}}
|
||||
</div>
|
||||
<div id="sys-apps-collapsed" style="display:none;">
|
||||
|
@ -164,7 +164,7 @@
|
||||
{{$channel_app}}
|
||||
{{/foreach}}
|
||||
<div class="dropdown-divider"></div>
|
||||
<div class="dropdown-header sys-apps-toggle" onclick="$('#dropdown-menu').click(function(e) { e.stopPropagation(); }); openClose('sys_apps');">
|
||||
<div class="dropdown-header text-black-50 sys-apps-toggle" onclick="$('#dropdown-menu').click(function(e) { e.stopPropagation(); }); openClose('sys_apps');">
|
||||
{{$sysapps_toggle}}
|
||||
</div>
|
||||
<div id="sys_apps" style="display:none;">
|
||||
@ -190,7 +190,7 @@
|
||||
{{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');">
|
||||
<div class="dropdown-header text-white-50 sys-apps-toggle" onclick="openClose('sys-apps-collapsed');">
|
||||
{{$sysapps_toggle}}
|
||||
</div>
|
||||
<div id="sys-apps-collapsed" style="display:none;">
|
||||
|
@ -1,4 +1,5 @@
|
||||
<div class="dropdown-header"><img src="{{$thumb}}" class="menu-img-1">{{$name}}</div>
|
||||
<div class="dropdown-header text-white-50 d-lg-none" ><img src="{{$thumb}}" class="menu-img-1">{{$name}}</div>
|
||||
<div class="dropdown-header text-black-50 d-none d-lg-block"><img src="{{$thumb}}" class="menu-img-1">{{$name}}</div>
|
||||
{{foreach $tabs as $tab}}
|
||||
<a class="dropdown-item{{if $tab.sel}} {{$tab.sel}}{{/if}}" href="{{$tab.url}}"{{if $tab.title}} title="{{$tab.title}}"{{/if}}><i class="fa fa-fw fa-{{$tab.icon}} generic-icons-nav"></i>{{$tab.label}}</a>
|
||||
{{/foreach}}
|
||||
|
Reference in New Issue
Block a user