mirror of
https://framagit.org/hubzilla/core.git
synced 2026-06-24 18:19:12 -04:00
Compare commits
93 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9772726065 | ||
|
|
8ecdde6cb5 | ||
|
|
5b3824917d | ||
|
|
ca4f10dc5e | ||
|
|
853fb33913 | ||
|
|
e352cfc861 | ||
|
|
b019ca0746 | ||
|
|
beb4e00afb | ||
|
|
9450305568 | ||
|
|
e18c64c9d9 | ||
|
|
7b018c60cb | ||
|
|
a81286c795 | ||
|
|
571e9bf26a | ||
|
|
c4714e95b6 | ||
|
|
d407e5556e | ||
|
|
6a3cfe54af | ||
|
|
a0bffe4a78 | ||
|
|
336c716a44 | ||
|
|
8810658858 | ||
|
|
337dfd5ee4 | ||
|
|
e37c9ed0a1 | ||
|
|
aa6a31eba5 | ||
|
|
6aa041b193 | ||
|
|
0fdc0a01d0 | ||
|
|
08cacc4943 | ||
|
|
87482e3746 | ||
|
|
8bb2d29a8d | ||
|
|
93039081d5 | ||
|
|
89ee28f858 | ||
|
|
5917786296 | ||
|
|
90fd323ac5 | ||
|
|
b6c384a0f7 | ||
|
|
cda8a7be38 | ||
|
|
ddbc35181c | ||
|
|
57dde3e980 | ||
|
|
3eba0c2297 | ||
|
|
414b7e28d3 | ||
|
|
fca464071f | ||
|
|
4f08f4b84c | ||
|
|
1b5175d018 | ||
|
|
0bfda6d4c8 | ||
|
|
880b22604b | ||
|
|
04a2dc075f | ||
|
|
01448c152c | ||
|
|
a09beb3833 | ||
|
|
feda1e6d84 | ||
|
|
4256bea418 | ||
|
|
4d47b098e5 | ||
|
|
163754a46c | ||
|
|
66b56416b6 | ||
|
|
c855346358 | ||
|
|
0e32c86c3d | ||
|
|
19952264c8 | ||
|
|
5ec1e97cae | ||
|
|
5f5746a2f6 | ||
|
|
d0ee6d1ad2 | ||
|
|
06c71eec65 | ||
|
|
aabc6c2825 | ||
|
|
8323458da9 | ||
|
|
d7c7ff1c12 | ||
|
|
d77c7d51e3 | ||
|
|
d51d0160d3 | ||
|
|
c2ad9d4996 | ||
|
|
79f828125d | ||
|
|
ad4b18cbbe | ||
|
|
1bd49671b7 | ||
|
|
9896057549 | ||
|
|
44832bbacb | ||
|
|
f20a923dd7 | ||
|
|
30403da326 | ||
|
|
6b68a76bbe | ||
|
|
8f10b58cb1 | ||
|
|
f8bc408abc | ||
|
|
f581f6163a | ||
|
|
88486a1278 | ||
|
|
9fcadc2d7c | ||
|
|
9ef6c57ca5 | ||
|
|
443d7684db | ||
|
|
a3ba7f0788 | ||
|
|
f083c0cba1 | ||
|
|
defa2d9df1 | ||
|
|
05c422ef23 | ||
|
|
51d274961b | ||
|
|
4b4cc04897 | ||
|
|
4bf3d4d87a | ||
|
|
71cc980e96 | ||
|
|
58c0b81908 | ||
|
|
3b42bd43ab | ||
|
|
a151532ffa | ||
|
|
a0d1ce77dc | ||
|
|
863cae1bab | ||
|
|
4010ea814a | ||
|
|
8e25c091f4 |
105
CHANGELOG
105
CHANGELOG
@@ -1,3 +1,108 @@
|
||||
Hubzilla 4.0 (2019-03-08)
|
||||
- Add CURLOPT_CONNECTTIMEOUT option
|
||||
- Allow parameters as final path argument in API router
|
||||
- Remove clones from delivery recipients for top-level posts in favor of clone sync
|
||||
- Mention php-zip module dependency in administrator guide
|
||||
- Iron out some kinks with scrollToItem() in combination with collapsed content and images
|
||||
- Zot API changes to support combined content (items+files) import addon
|
||||
- Update PHP Version check during setup - min version is now 7.1
|
||||
- Urlencode links in category widget
|
||||
- Implement ability for channel visitors to be able to delete their own content
|
||||
- Support zot location independent urls
|
||||
- MySQL 8 admin summary compatibility
|
||||
- Improved gitlab-ci environment
|
||||
- Deprecate and remove addon settings in favour of per app settings
|
||||
- Refactor PhotoDriver class and add tests
|
||||
- Convert affinity tool to app
|
||||
- Refactor linkify_tags() so it works with xchans across multiple protocols
|
||||
- Add the actual mid to viewsrc for debuging reasons
|
||||
- Add filter hooks and the ability to add buttons to the default status editor
|
||||
- Prevent Hubzilla usage for SEO backlinks
|
||||
- Implement privacy warning for forum posts via !-tag
|
||||
- Set document title when title changes on a page update
|
||||
- Cache embeds in the background on initial storage rather than on first access
|
||||
- Custom sessionhandler support
|
||||
- Update nginx and lighttpd sample server configs to explicit disallow access to util
|
||||
- Introduce command line tool for managing site admins
|
||||
- Various doxygen improvements
|
||||
- Add privacygroup_extras_post/drop hooks
|
||||
- Add collect_public_recipients hook
|
||||
- Prevent memory exhaustion on zot message pickup with large message queue
|
||||
- Remove experimental worker queue from core
|
||||
- Add get_base_apps hook
|
||||
- Improve handling of notification updates while commenting
|
||||
- Add warning if upload_filesize < 4MB
|
||||
- Add ITEM_TYPE_CUSTOM and hooks for processing custom item types
|
||||
- Set min/maxversion for plugins to STD_VERSION unless otherwise specified
|
||||
- Add option to make affinity slider 'sticky' across page loads
|
||||
- Add photo_view_filter hook
|
||||
- Reset page title if article has no title
|
||||
- Implement the zot6 protocol
|
||||
- Add PHOTO_CACHE photo type
|
||||
- Basic support for HTTP3
|
||||
- Add native summary support
|
||||
- Disable image caching if personal or group permissions enabled
|
||||
|
||||
Bugfixes
|
||||
- Fix guest access token xchan record not created on URL login
|
||||
- Fix regression where mod oep was still using hex2bin/bin2hex instead of album hash
|
||||
- Fix regression when selecting multiple images in embed images
|
||||
- Fix broken sync_an_item()
|
||||
- Fix page jumping on like if comments are expanded (show all x comments)
|
||||
- Fix regression in mod display where an page update could display items from multiple channels
|
||||
- Fix starring and filing allowed for other unsupported item types
|
||||
- Fix wrong variable in z_get_temp_dir()
|
||||
- Fix page jumping when liking a collapsed/expanded post
|
||||
- Fix tags detection in URL
|
||||
- Fix warnings in mod embedphotos
|
||||
- Fix wrong variable in can_comment_on_post()
|
||||
- Fix mod new_channel counting removed channels
|
||||
- Fix regression where not all content variables were sslified
|
||||
- Fix default values for affinity tool and other information which could be lost when approving a connection
|
||||
- Fix regression in linkdropper()
|
||||
- Fix issue with unset auto_save_draft variable which resultet in a javascript error
|
||||
- Fix home notifications won't expand if there are more than 300 unseen network notifications ahead of them
|
||||
- Fix total_identities count
|
||||
- Fix delayed items propagate before publication on cloned channels
|
||||
|
||||
Addons
|
||||
- twitter_api: fedilab needs profile_image_url_https
|
||||
- New addon: content_import - imports items and files to cloned channels (this obsoletes hzfiles)
|
||||
- Diaspora: prevent processing of incomplete messages in various places
|
||||
- hzfiles: fix add missing load/unload functions
|
||||
- chess: do not look for games if we have no game_id - improves initial pageload performance
|
||||
- chess: convert to app
|
||||
- channelreputation: convert to app
|
||||
- irc: convert to per app
|
||||
- Provide the addon_common directory for common addon libraries
|
||||
- fuzzloc: convert to app
|
||||
- flattrwidget: convert to app
|
||||
- jappixmini: convert to app
|
||||
- xmpp: convert to app
|
||||
- visage: convert to app
|
||||
- diaspora: reflect linkify_tags() rewrite
|
||||
- twitter: convert to app
|
||||
- smileybutton: convert to app
|
||||
- skeleton: convert to app
|
||||
- planets: convert to app
|
||||
- pumpio: convert to app
|
||||
- pageheader: convert to app
|
||||
- nsabait: convert to app
|
||||
- dwpost: convert to app
|
||||
- diaspora: set the preserve_lf option in various places
|
||||
- diaspora: fix comments from unknown persons are not accpted
|
||||
- nofed: convert to app
|
||||
- ljpost: convert to app
|
||||
- diaspora: call update_queue_item() if delivery failed
|
||||
- pubcrawl: call update_queue_item() if delivery failed
|
||||
- libertree: convert to app
|
||||
- New addon: queueworker advanced - queue handling (experimental)
|
||||
- gallery: extended functionality: implements stream image viewer, converts images at the beginning of a post to a gallery
|
||||
- authchoose: correction to query, add affinity setting
|
||||
- New addon: photocache - local caching for public photos
|
||||
- New addon: totp - two factor authentication using time-based one-time passwords
|
||||
|
||||
|
||||
Hubzilla 3.8.9 (2018-02-03)
|
||||
- Fix typos in mod oep
|
||||
- Fix page jumping when liking collapsed/expanded post
|
||||
|
||||
@@ -412,6 +412,12 @@ class Notifier {
|
||||
$private = false;
|
||||
$recipients = collect_recipients($parent_item,$private);
|
||||
|
||||
|
||||
if ($top_level_post) {
|
||||
// remove clones who will receive the post via sync
|
||||
$recipients = array_diff($recipients, [ $target_item['owner_xchan'] ]);
|
||||
}
|
||||
|
||||
// FIXME add any additional recipients such as mentions, etc.
|
||||
|
||||
// don't send deletions onward for other people's stuff
|
||||
|
||||
@@ -12,8 +12,16 @@ class Api_router {
|
||||
}
|
||||
|
||||
static function find($path) {
|
||||
if(array_key_exists($path,self::$routes))
|
||||
if (array_key_exists($path,self::$routes)) {
|
||||
return self::$routes[$path];
|
||||
}
|
||||
|
||||
$with_params = dirname($path) . '/[id]';
|
||||
|
||||
if (array_key_exists($with_params,self::$routes)) {
|
||||
return self::$routes[$with_params];
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -327,6 +327,7 @@ class Apps {
|
||||
'Report Bug' => t('Report Bug'),
|
||||
'Bookmarks' => t('Bookmarks'),
|
||||
'Chatrooms' => t('Chatrooms'),
|
||||
'Content Filter' => t('Content Filter'),
|
||||
'Connections' => t('Connections'),
|
||||
'Remote Diagnostics' => t('Remote Diagnostics'),
|
||||
'Suggest Channels' => t('Suggest Channels'),
|
||||
|
||||
@@ -685,9 +685,27 @@ class Libzot {
|
||||
$adult_changed = 1;
|
||||
if(intval($r[0]['xchan_deleted']) != intval($arr['deleted']))
|
||||
$deleted_changed = 1;
|
||||
|
||||
// new style 6-MAR-2019
|
||||
|
||||
if(array_key_exists('channel_type',$arr)) {
|
||||
if($arr['channel_type'] === 'collection') {
|
||||
// do nothing at this time.
|
||||
}
|
||||
elseif($arr['channel_type'] === 'group') {
|
||||
$arr['public_forum'] = 1;
|
||||
}
|
||||
else {
|
||||
$arr['public_forum'] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// old style
|
||||
|
||||
if(intval($r[0]['xchan_pubforum']) != intval($arr['public_forum']))
|
||||
$pubforum_changed = 1;
|
||||
|
||||
|
||||
if($arr['protocols']) {
|
||||
$protocols = implode(',',$arr['protocols']);
|
||||
if($protocols !== 'zot6') {
|
||||
@@ -1107,9 +1125,14 @@ class Libzot {
|
||||
logger('Activity rejected: ' . print_r($data,true));
|
||||
return;
|
||||
}
|
||||
$arr = Activity::decode_note($AS);
|
||||
if (is_array($AS->obj)) {
|
||||
$arr = Activity::decode_note($AS);
|
||||
}
|
||||
else {
|
||||
$arr = [];
|
||||
}
|
||||
|
||||
logger($AS->debug());
|
||||
logger($AS->debug(),LOGGER_DATA);
|
||||
}
|
||||
|
||||
|
||||
@@ -1212,7 +1235,7 @@ class Libzot {
|
||||
|
||||
$relay = (($env['type'] === 'response') ? true : false );
|
||||
|
||||
$result = self::process_delivery($env['sender'],$arr,$deliveries,$relay,false,$message_request);
|
||||
$result = self::process_delivery($env['sender'],$AS,$arr,$deliveries,$relay,false,$message_request);
|
||||
}
|
||||
elseif($env['type'] === 'sync') {
|
||||
// $arr = get_channelsync_elements($data);
|
||||
@@ -1385,7 +1408,7 @@ class Libzot {
|
||||
/**
|
||||
* @brief
|
||||
*
|
||||
* @param array $sender
|
||||
* @param string $sender
|
||||
* @param array $arr
|
||||
* @param array $deliveries
|
||||
* @param boolean $relay
|
||||
@@ -1394,7 +1417,7 @@ class Libzot {
|
||||
* @return array
|
||||
*/
|
||||
|
||||
static function process_delivery($sender, $arr, $deliveries, $relay, $public = false, $request = false) {
|
||||
static function process_delivery($sender, $act, $arr, $deliveries, $relay, $public = false, $request = false) {
|
||||
|
||||
$result = [];
|
||||
|
||||
@@ -1423,6 +1446,24 @@ class Libzot {
|
||||
|
||||
$DR->set_name($channel['channel_name'] . ' <' . channel_reddress($channel) . '>');
|
||||
|
||||
if(($act) && ($act->obj) && (! is_array($act->obj))) {
|
||||
// The initial object fetch failed using the sys channel credentials.
|
||||
// Try again using the delivery channel credentials.
|
||||
// We will also need to re-parse the $item array,
|
||||
// but preserve any values that were set during anonymous parsing.
|
||||
|
||||
$o = Activity::fetch($act->obj,$channel);
|
||||
if($o) {
|
||||
$act->obj = $o;
|
||||
$arr = array_merge(Activity::decode_note($act),$arr);
|
||||
}
|
||||
else {
|
||||
$DR->update('Incomplete or corrupt activity');
|
||||
$result[] = $DR->get();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* We need to block normal top-level message delivery from our clones, as the delivered
|
||||
* message doesn't have ACL information in it as the cloned copy does. That copy
|
||||
@@ -1841,7 +1882,7 @@ class Libzot {
|
||||
logger('FOF Activity received: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG);
|
||||
logger('FOF Activity recipient: ' . $channel['channel_portable_id'], LOGGER_DATA, LOG_DEBUG);
|
||||
|
||||
$result = self::process_delivery($arr['owner_xchan'],$arr, [ $channel['channel_portable_id'] ],false,false,true);
|
||||
$result = self::process_delivery($arr['owner_xchan'],$AS, $arr, [ $channel['channel_portable_id'] ],false,false,true);
|
||||
if ($result) {
|
||||
$ret = array_merge($ret, $result);
|
||||
}
|
||||
@@ -1854,8 +1895,7 @@ class Libzot {
|
||||
/**
|
||||
* @brief Remove community tag.
|
||||
*
|
||||
* @param array $sender an associative array with
|
||||
* * \e string \b hash a xchan_hash
|
||||
* @param string $sender
|
||||
* @param array $arr an associative array
|
||||
* * \e int \b verb
|
||||
* * \e int \b obj_type
|
||||
@@ -1928,7 +1968,7 @@ class Libzot {
|
||||
*
|
||||
* @see item_store_update()
|
||||
*
|
||||
* @param array $sender
|
||||
* @param string $sender
|
||||
* @param array $item
|
||||
* @param array $orig
|
||||
* @param int $uid
|
||||
@@ -1979,7 +2019,7 @@ class Libzot {
|
||||
/**
|
||||
* @brief Deletes an imported item.
|
||||
*
|
||||
* @param array $sender
|
||||
* @param string $sender
|
||||
* * \e string \b hash a xchan_hash
|
||||
* @param array $item
|
||||
* @param int $uid
|
||||
@@ -1997,9 +2037,9 @@ class Libzot {
|
||||
|
||||
$r = q("select id, author_xchan, owner_xchan, source_xchan, item_deleted from item where ( author_xchan = '%s' or owner_xchan = '%s' or source_xchan = '%s' )
|
||||
and mid = '%s' and uid = %d limit 1",
|
||||
dbesc($sender['hash']),
|
||||
dbesc($sender['hash']),
|
||||
dbesc($sender['hash']),
|
||||
dbesc($sender),
|
||||
dbesc($sender),
|
||||
dbesc($sender),
|
||||
dbesc($item['mid']),
|
||||
intval($uid)
|
||||
);
|
||||
@@ -2154,8 +2194,7 @@ class Libzot {
|
||||
*
|
||||
* @see import_directory_profile()
|
||||
*
|
||||
* @param array $sender an associative array
|
||||
* * \e string \b hash a xchan_hash
|
||||
* @param string $sender
|
||||
* @param array $arr
|
||||
* @param array $deliveries (unused)
|
||||
* @return void
|
||||
@@ -2165,7 +2204,7 @@ class Libzot {
|
||||
logger('process_profile_delivery', LOGGER_DEBUG);
|
||||
|
||||
$r = q("select xchan_addr from xchan where xchan_hash = '%s' limit 1",
|
||||
dbesc($sender['hash'])
|
||||
dbesc($sender)
|
||||
);
|
||||
if($r) {
|
||||
Libzotdir::import_directory_profile($sender, $arr, $r[0]['xchan_addr'], UPDATE_FLAGS_UPDATED, 0);
|
||||
@@ -2176,8 +2215,7 @@ class Libzot {
|
||||
/**
|
||||
* @brief
|
||||
*
|
||||
* @param array $sender an associative array
|
||||
* * \e string \b hash a xchan_hash
|
||||
* @param string $sender
|
||||
* @param array $arr
|
||||
* @param array $deliveries (unused) deliveries is irrelevant
|
||||
* @return void
|
||||
|
||||
@@ -456,7 +456,7 @@ class Oep extends \Zotlabs\Web\Controller {
|
||||
|
||||
if(preg_match('|//(.*?)/(.*?)/(.*?)/album/|',$url,$matches)) {
|
||||
$chn = $matches[3];
|
||||
$res = hex2bin(basename($url));
|
||||
$res = basename($url);
|
||||
}
|
||||
|
||||
if(! ($chn && $res))
|
||||
|
||||
2
boot.php
2
boot.php
@@ -50,7 +50,7 @@ require_once('include/attach.php');
|
||||
require_once('include/bbcode.php');
|
||||
|
||||
define ( 'PLATFORM_NAME', 'hubzilla' );
|
||||
define ( 'STD_VERSION', '4.1' );
|
||||
define ( 'STD_VERSION', '4.0' );
|
||||
define ( 'ZOT_REVISION', '6.0a' );
|
||||
|
||||
define ( 'DB_UPDATE_VERSION', 1230 );
|
||||
|
||||
@@ -95,7 +95,7 @@ PHP might differ from the _webserver_ version
|
||||
php.ini file * and with no hosting provider restrictions on the use of
|
||||
exec() and proc_open().
|
||||
|
||||
* curl, gd (with at least jpeg and png support), mysqli, mbstring, mcrypt,
|
||||
* curl, gd (with at least jpeg and png support), mysqli, mbstring, mcrypt, zip,
|
||||
and openssl extensions. The imagick extension is not required but desirable.
|
||||
|
||||
* xml extension is required if you want webdav to work.
|
||||
|
||||
@@ -21,7 +21,7 @@ If you get a blank white screen when doing something, this is almost always a co
|
||||
|
||||
[h3]I'm stumped. I can't figure out what is wrong.[/h3]
|
||||
|
||||
At this point it might be worthwhile discussing the issue on one of the online forums. There may be several of these and some may be more suited to your spoken language. At this time, the 'Hubzilla Support' channel (support@gravizot.de) is the recommended forum for discussing bugs.
|
||||
At this point it might be worthwhile discussing the issue on one of the online forums. There may be several of these and some may be more suited to your spoken language. At this time, the 'Hubzilla Support' channel (support@zotadel.net) is the recommended forum for discussing bugs.
|
||||
|
||||
If community members with software engineering training/expertise can't help you right away, understand that they are volunteers and may have a lot of other work and demands on their time. At this point you need to file a bug report. You will need an account on framagit.org to do this. So register, and then visit https://framagit.org/hubzilla/core/issues . Create an issue here and provide all the same information that you provided online. Don't leave out anything.
|
||||
|
||||
@@ -29,4 +29,4 @@ Then you wait. If it's a high profile issue, it may get fixed quickly. But nobod
|
||||
|
||||
|
||||
Other people working to fix the problem may need to find out more, so do your homework and document what is happening and everything you've tried. Don't say "I did xyz and it didn't work." That doesn't tell us anything. Tell us precisely what steps you took and what you expected the result to be, and precisely what happened as a result. What page/URL were you looking at or what form were you filling in? If there were any error messages, don't say "there was an error message". Tell us exactly what the message said. Also tell us what hub you are using, what software version you're running and any other details that may be unique about your site configuration. It is understood that you might wish to keep some information and your connections private, however if you aren't willing to share the information other people need to reproduce/fix the problem, it may not get fixed.
|
||||
|
||||
|
||||
|
||||
@@ -1836,6 +1836,7 @@ function zat_init() {
|
||||
);
|
||||
if($r) {
|
||||
$xchan = atoken_xchan($r[0]);
|
||||
atoken_create_xchan($xchan);
|
||||
atoken_login($xchan);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,6 +114,13 @@ function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) {
|
||||
@curl_setopt($ch, CURLOPT_TIMEOUT, (($curl_time !== false) ? $curl_time : 60));
|
||||
}
|
||||
|
||||
if(x($opts,'connecttimeout') && intval($opts['connecttimeout'])) {
|
||||
@curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, intval($opts['connecttimeout']));
|
||||
}
|
||||
else {
|
||||
$curl_contime = intval(@get_config('system','curl_connecttimeout'));
|
||||
@curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, (($curl_contime !== false) ? $curl_contime : 30));
|
||||
}
|
||||
|
||||
if(x($opts,'http_auth')) {
|
||||
// "username" . ':' . "password"
|
||||
|
||||
@@ -1840,7 +1840,7 @@ function process_delivery($sender, $arr, $deliveries, $relay, $public = false, $
|
||||
intval($channel['channel_id'])
|
||||
);
|
||||
if ($parent) {
|
||||
$allowed = can_comment_on_post($d['hash'],$parent[0]);
|
||||
$allowed = can_comment_on_post($sender['hash'],$parent[0]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -770,7 +770,7 @@ function updateConvItems(mode,data) {
|
||||
mediaPlaying = false;
|
||||
});
|
||||
|
||||
var bimgs = ((preloadImages) ? false : $(".wall-item-body img, .wall-photo-item img").not(function() { return this.complete; }));
|
||||
var bimgs = $(".wall-item-body img, .wall-photo-item img").not(function() { return this.complete; });
|
||||
var bimgcount = bimgs.length;
|
||||
|
||||
if (bimgcount) {
|
||||
@@ -778,16 +778,22 @@ function updateConvItems(mode,data) {
|
||||
bimgcount--;
|
||||
if (! bimgcount) {
|
||||
collapseHeight();
|
||||
|
||||
if(bParam_mid && mode === 'replace')
|
||||
scrollToItem();
|
||||
|
||||
$(document.body).trigger("sticky_kit:recalc");
|
||||
}
|
||||
});
|
||||
} else {
|
||||
collapseHeight();
|
||||
|
||||
if(bParam_mid && mode === 'replace')
|
||||
scrollToItem();
|
||||
|
||||
$(document.body).trigger("sticky_kit:recalc");
|
||||
}
|
||||
|
||||
if(bParam_mid && mode === 'replace')
|
||||
scrollToItem();
|
||||
|
||||
$(document.body).trigger("sticky_kit:recalc");
|
||||
}
|
||||
|
||||
function scrollToItem() {
|
||||
|
||||
Reference in New Issue
Block a user