12 of the Top Multipurpose WordPress Themes Available Today

The Swiss Army knife is an extremely handy tool. You can do many things with one and do them well. Due to their small size, some of the individual tools can have certain limitations. Yet given the chance, few people would refuse one as a gift, and most wouldn’t hesitate to purchase one at a fair price.

A multipurpose theme is a different kind of animal. The performance of some would lead you to think about the “Jack of all trades, master of none” saying. You would believe that this truism that applies to software tools just as it does to many other things.

Indeed, some may be lacking in what you need to build certain types of websites. Yet, premier multipurpose themes provide everything you’ll need to build a high-performing website. Here are the 12 best options in our opinion.

Be Theme

BeTheme’s 40+ core features give you a powerful toolkit you can use to build any type of website for any purpose, and as close to perfection as possible. These core website-building features have much to do with Be being the biggest WordPress theme of them all. What really tips the “bigness” scales is its library of more than 400 professionally designed, responsive, and customizable pre-built websites.

As these 30+ pre-built websites cover all the major business and industry sectors, it’s never a problem to find a close match that will get your project off to a flying start. Better yet, each of these pre-built websites features the functionality you need to produce a website that is not only responsive, retina-ready, and SEO friendly but features a friendly UX as well.

Features like the new Header Builder provide you with greater design flexibility and make your overall design effort as easy as can be. No coding is necessary, and it’s not at all unusual to complete a reasonably complex project in as little as 4 hours.

Jupiter

Give Jupiter X half a chance to show its stuff and it will do what only a premium quality multipurpose theme is capable of. It will let you build the unbuildable. Its Elementor page builder, with a little assistance from WordPress Customizer technology, allows you to build and customize parts of your website that are beyond the capabilities of most other themes.

You can design headers and footers from scratch, another feature that seems to elude most other themes; and with Jupiter X you can completely reinvent the appearance of your blog list, blog single page, and portfolio list. You can also take advantage of this multipurpose theme’s stunningly beautiful ready-made website templates to get any project off to a quick start.

Jupiter X is a makeover of the immensely popular Jupiter WordPress theme. It’s developer friendly, scalable, and with the help of Bootstrap, Beans, and ACF is also extendible.

Uncode – Creative Multiuse WordPress Theme

Uncode is a pixel perfect creative multipurpose WordPress theme that was designed with great attention to detail and performance and packed with tools and features that enable its users to achieve the same highly-customized details and performance in their website designs.

Uncode’s advanced adaptive grid system with its wide range of options allows you to create layouts you thought would be incredibly difficult if not impossible to achieve. These options extend to portfolio styles and include typographic and hover animation options as well as selective image sizes and ratios.

There’s much more that can be said about Uncode but since space is limited, we suggest you visit their website and view their showcase of user-created websites. You’re guaranteed to be both impressed and inspired!

Kalium

With its impressive selection of layout designs, high-quality design demos, theme options, and drag and drop elements to work with at your fingertips, you shouldn’t be overly surprised to discover just how easy Kalium is to work with.

Premium fonts, a useful selection of bundled plugins, and regular updates also come with the package. Kalium is a great portfolio builder and offers endless possibilities in other areas as well.

TheGem – Creative Multi-Purpose High-Performance WordPress Theme

First time users often find TheGem somewhat overwhelming. Not because it’s difficult to work with. It’s not. It’s TheGems’s flexibility and diversity that get their attention; qualities that you should expect once you dive into what this WordPress theme offers. It’s truly the ultimate WP toolbox.

TheGem is packed to the rim with multi-purpose design concepts, stunning and inspiring demo pages, flexible page layouts, and more, and its ideal for startups, agencies, and businesses of any size.

Brook – Creative Multipurpose WordPress Theme

The tools Brook provides users with certainly have much to do with this best-seller’s popularity; but as any experienced web designer will tell you, it’s the performance that counts. This theme’s squeaky-clean code gives a guarantee of optimal performance on all browsers and devices.

Whether you’re building business websites, news blogs, creative portfolios, landing pages or even starting from scratch, Brook puts the ultimate control power in your hands with all responsive features integrated inside

KLEO – Pro Community Focused, Multi-Purpose BuddyPress Theme

This community-focused multipurpose theme is ideal for startups trying to gain the attention needed to grow and succeed. It’s host of cool features include its ability to help you have a working site up and running in a matter of minutes, 1 click import of ready-to-use demos, sliders, images, and other design elements.

With respect to plugins, Kleo is a plugin’s best friend in that it will work well with the vast majority of them.

Bridge

The Bridge WordPress theme is chock-full of web-design options. Browse its library of 376 and counting pre-made websites and you’re guaranteed to find one that will enable you to get your next project off to a lightning-fast start.

Bridge also provides an impressive assortment of design modules that enable you to create anything from magazines and blogs to online shops, and your need for coding is as close to zero as you can get.

Pofo – Creative Portfolio, Blog and eCommerce WordPress Theme

Pofo is a modern web design theme that was created with creatives in mind. Pofo is an ideal choice for artists, teams, and agencies in need of a tool that enables them to create stunning portfolios, informative and engaging blogs, and user-friendly online shops.

 Pofo is customizable, flexible, and features a large and outstanding selection of home and demo pages and pre-built design elements.

Crocal – Premium WordPress Theme

Crocal is new; and as such it may be unfamiliar to most web designers. Created by ThemeForest’s #1 rated elite author, it has nevertheless been clearly demonstrated that it will give you superior performance and it is extremely user friendly.

One of Crocal’s key features is its advanced grid system, a feature than almost guarantees you can expect superior flexibility. Crocal is also Gutenberg optimized and fully GDPR and WordPress compliant.

Schema

Schema give you one less issue to worry about; SEO. It’s an area many web designers struggle to get right. Schema guides search engines though your site, section by section, and design element by design element.

Schema checks code quality, page load times, and other performance features that can make or break a website, and lets you know what needs fixing.

Movedo – We DO MOVE Your World

MOVEDO is a WordPress theme by creatives, for creatives. It gives you the capability of incorporating the effects of motion in your websites that could lead users to believe that you have a magic wand hidden away in your design toolkit.

What MOVEDO actually does is to apply animations, dynamic parallax effects, and other special effects in ways that give your websites a little extra spark and pizzazz.

Conclusion

We’ve tried to narrow your search for a multipurpose theme that will best meet your needs down to a precious few. We hope you’re convinced that we’ve succeeded. There are no wrong choices to be made here.

It simply a matter of selecting what appeals to you and running with it. Amazing and profitable website-building adventures await you during the remaining months of 2019.

The post 12 of the Top Multipurpose WordPress Themes Available Today appeared first on Speckyboy Web Design Magazine.

Uncertainty over Garcinia’s weight-loss claims

DOES IT WORK?Further studies needed to determine effects, writes DÓNAL O’MATHÚNA

GARCINIA SPECIES are widely used in Thai and Indian cuisine. The fruit, especially from Garcinia cambogia, has developed a reputation among those seeking to lose weight and build muscle.

Extracts of the fruit contain up to 50 per cent hydroxycitric acid, which is believed to be the active ingredient.

Earlier this year, the Food Safety Authority of Ireland (FSAI) issued a product alert, calling on consumers to discontinue using all “Hydroxycut’’ products.

The product name comes from hydroxycitric acid, which is added to some of the products in the form of Garcinia cambogia. The FSAI called on retailers not to sell these products, but they can still be found on Irish websites and remain available elsewhere.

The FSAI alert is based on recent case reports suggesting a link between Hydroxycut products and liver damage. The Canadian manufacturer voluntarily withdrew its products from the US market after the Food and Drug Administration (FDA) issued a consumer warning.

The weight-loss properties of hydroxycitric acid have been studied since the 1960s. Laboratory tests have shown that it inhibits an enzyme involved in producing body fat from other foods. Research also suggested that hydroxycitric acid may suppress appetite and reduce food intake in animals.

These results led to a series of small human studies in the early 1990s which produced contradictory results. One of the largest randomised controlled trials of hydroxycitric acid to date was published in 1998.

More than 130 overweight men and women took either 1.5g hydroxycitric acid (3g Garcinia cambogia) daily or placebo while also eating a high-fibre, low-calorie diet. Both groups lost weight during the study, but the two groups did not differ in the amount of weight lost or their body fat. Some have claimed that the diet may have interfered with the effects of the Garcinia.

At this point, close to a dozen randomised controlled trials have been conducted with Garcinia, although some of them have used it in combination with other herbs. Some of the studies have produced positive effects, although the quality of the research was sometimes poor.

The safety of hydroxycitric acid has been evaluated in recent studies, in addition to the long traditional use of Garcinia. In general, the herb and food supplements have not produced adverse effects and are generally regarded as safe at recommended doses.

Then several case reports were published in the medical literature of liver damage following consumption of Hydroxycut products. In 2009, the FDA reported that it had received 23 cases of serious health effects from these products.

The damage ranged from jaundice to liver failure requiring transplantation and one death. Although the number of cases is low, their seriousness led to the consumer alerts mentioned above and subsequent product withdrawals.

Determining the precise cause of the liver damage is difficult. Hydroxycut contains a number of herbs and other agents, with different mixtures used in different products. Some formulations do not contain any Garcinia cambogia.

The case reports have not been able to identify which ingredient, or combination of ingredients, may have led to the liver damage.

Further research is needed to understand the precise source of these problems.

Hydroxycitric acid from Garcinia cambogia shows some potential as a weight-loss product. However, the available studies are variable in their quality and the types of products tested. More studies are needed to demonstrate whether or not the products are effective and safe.

The reports of potential liver damage associated with Hydroxycut products point to the need for careful evaluation and monitoring of all herbal remedies.

When products contain several herbs, the precise source of positive or negative effects is difficult to determine. Given this uncertainty, and the complexity of weight loss, people should rely on the standard, proven methods of weight loss: reduce calorie intake, increase physical activity and find others to support your efforts.

While some supplements may be helpful, Hydroxycut should be avoided.


Dónal O’Mathúna has a PhD in pharmacy, researching herbal remedies, and an MA in bioethics, and is a senior lecturer in the School of Nursing, Dublin City University. He is author of Alternative Medicine: The Christian Handbook, Updated and Expanded Edition, Zondervan, 2007

Dr. Oz dietary supplements under investigation

“);var a = g[r.size_id].split(“x”).map((function(e) {return Number(e)})), s = u(a, 2);o.width = s[0],o.height = s[1]}o.rubiconTargeting = (Array.isArray(r.targeting) ? r.targeting : []).reduce((function(e, r) {return e[r.key] = r.values[0],e}), {rpfl_elemid: n.adUnitCode}),e.push(o)} else l.logError(“Rubicon bid adapter Error: bidRequest undefined at index position:” + t, c, d);return e}), []).sort((function(e, r) {return (r.cpm || 0) – (e.cpm || 0)}))},getUserSyncs: function(e, r, t) {if (!A e.iframeEnabled) {var i = “”;return t “string” == typeof t.consentString (“boolean” == typeof t.gdprApplies ? i += “?gdpr=” + Number(t.gdprApplies) + “gdpr_consent=” + t.consentString : i += “?gdpr_consent=” + t.consentString),A = !0,{type: “iframe”,url: n + i}}},transformBidParams: function(e, r) {return l.convertTypes({accountId: “number”,siteId: “number”,zoneId: “number”}, e)}};function m() {return [window.screen.width, window.screen.height].join(“x”)}function b(e, r) {var t = f.config.getConfig(“pageUrl”);return e.params.referrer ? t = e.params.referrer : t || (t = r.refererInfo.referer),e.params.secure ? t.replace(/^http:/i, “https:”) : t}function _(e, r) {var t = e.params;if (“video” === r) {var i = [];return t.video t.video.playerWidth t.video.playerHeight ? i = [t.video.playerWidth, t.video.playerHeight] : Array.isArray(l.deepAccess(e, “mediaTypes.video.playerSize”)) 1 === e.mediaTypes.video.playerSize.length ? i = e.mediaTypes.video.playerSize[0] : Array.isArray(e.sizes) 0

U.S.InternationalEspañolArabic

Updated 9:54 AM ET, Thu June 19, 2014

Chat with us in Facebook Messenger. Find out what’s happening in the world as it unfolds.

‘);$vidEndSlate.removeClass(‘video__end-slate–inactive’).addClass(‘video__end-slate–active’);}};CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;var configObj = {thumb: ‘none’,video: ‘health/2014/06/17/erin-dnt-cohen-dr-oz-weight-loss-hearing.cnn’,width: ‘100%’,height: ‘100%’,section: ‘domestic’,profile: ‘expansion’,network: ‘cnn’,markupId: ‘large-media_0’,adsection: ‘const-article-pagetop’,frameWidth: ‘100%’,frameHeight: ‘100%’,posterImageOverride: {“mini”:{“height”:144,”width”:256,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617201524-erin-dnt-cohen-dr-oz-weight-loss-hearing-00002718-hp-video.jpg”},”xsmall”:{“height”:169,”width”:300,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617201524-erin-dnt-cohen-dr-oz-weight-loss-hearing-00002718-story-body.jpg”},”small”:{“height”:360,”width”:640,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617201524-erin-dnt-cohen-dr-oz-weight-loss-hearing-00002718-story-top.jpg”},”medium”:{“height”:552,”width”:980,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617201524-erin-dnt-cohen-dr-oz-weight-loss-hearing-00002718-horizontal-large-gallery.jpg”},”large”:{“height”:552,”width”:980,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617201524-erin-dnt-cohen-dr-oz-weight-loss-hearing-00002718-horizontal-large-gallery.jpg”},”full16x9″:{“height”:552,”width”:980,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617201524-erin-dnt-cohen-dr-oz-weight-loss-hearing-00002718-horizontal-large-gallery.jpg”},”mini1x1″:{“height”:60,”width”:60,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617201524-erin-dnt-cohen-dr-oz-weight-loss-hearing-00002718-topics.jpg”}}},autoStartVideo = false,isVideoReplayClicked = false,callbackObj,containerEl,currentVideoCollection = [],currentVideoCollectionId = ”,isLivePlayer = false,mediaMetadataCallbacks,mobilePinnedView = null,moveToNextTimeout,mutePlayerEnabled = false,nextVideoId = ”,nextVideoUrl = ”,turnOnFlashMessaging = false,videoPinner,videoEndSlateImpl;if (CNN.autoPlayVideoExist === false) {autoStartVideo = true;if (autoStartVideo === true) {if (turnOnFlashMessaging === true) {autoStartVideo = false;containerEl = jQuery(document.getElementById(configObj.markupId));CNN.VideoPlayer.showFlashSlate(containerEl);} else {CNN.autoPlayVideoExist = true;}}}configObj.autostart = CNN.Features.enableAutoplayBlock ? false : autoStartVideo;CNN.VideoPlayer.setPlayerProperties(configObj.markupId, autoStartVideo, isLivePlayer, isVideoReplayClicked, mutePlayerEnabled);CNN.VideoPlayer.setFirstVideoInCollection(currentVideoCollection, configObj.markupId);videoEndSlateImpl = new CNN.VideoEndSlate(‘large-media_0’);function findNextVideo(currentVideoId) {var i,vidObj;if (currentVideoId jQuery.isArray(currentVideoCollection) currentVideoCollection.length 0) {for (i = 0; i 0) {videoEndSlateImpl.showEndSlateForContainer();if (mobilePinnedView) {mobilePinnedView.disable();}}}}callbackObj = {onPlayerReady: function (containerId) {var playerInstance,containerClassId = ‘#’ + containerId;CNN.VideoPlayer.handleInitialExpandableVideoState(containerId);CNN.VideoPlayer.handleAdOnCVPVisibilityChange(containerId, CNN.pageVis.isDocumentVisible());if (CNN.Features.enableMobileWebFloatingPlayer Modernizr (Modernizr.phone || Modernizr.mobile || Modernizr.tablet) CNN.VideoPlayer.getLibraryName(containerId) === ‘fave’ jQuery(containerClassId).parents(‘.js-pg-rail-tall__head’).length 0 CNN.contentModel.pageType === ‘article’) {playerInstance = FAVE.player.getInstance(containerId);mobilePinnedView = new CNN.MobilePinnedView({element: jQuery(containerClassId),enabled: false,transition: CNN.MobileWebFloatingPlayer.transition,onPin: function () {playerInstance.hideUI();},onUnpin: function () {playerInstance.showUI();},onPlayerClick: function () {if (mobilePinnedView) {playerInstance.enterFullscreen();playerInstance.showUI();}},onDismiss: function() {CNN.Videx.mobile.pinnedPlayer.disable();playerInstance.pause();}});/* Storing pinned view on CNN.Videx.mobile.pinnedPlayer So that all players can see the single pinned player */CNN.Videx = CNN.Videx || {};CNN.Videx.mobile = CNN.Videx.mobile || {};CNN.Videx.mobile.pinnedPlayer = mobilePinnedView;}if (Modernizr !Modernizr.phone !Modernizr.mobile !Modernizr.tablet) {if (jQuery(containerClassId).parents(‘.js-pg-rail-tall__head’).length) {videoPinner = new CNN.VideoPinner(containerClassId);videoPinner.init();} else {CNN.VideoPlayer.hideThumbnail(containerId);}}},onContentEntryLoad: function(containerId, playerId, contentid, isQueue) {CNN.VideoPlayer.showSpinner(containerId);},onContentPause: function (containerId, playerId, videoId, paused) {if (mobilePinnedView) {CNN.VideoPlayer.handleMobilePinnedPlayerStates(containerId, paused);}},onContentMetadata: function (containerId, playerId, metadata, contentId, duration, width, height) {var endSlateLen = jQuery(document.getElementById(containerId)).parent().find(‘.js-video__end-slate’).eq(0).length;CNN.VideoSourceUtils.updateSource(containerId, metadata);if (endSlateLen 0) {videoEndSlateImpl.fetchAndShowRecommendedVideos(metadata);}},onAdPlay: function (containerId, cvpId, token, mode, id, duration, blockId, adType) {/* Dismissing the pinnedPlayer if another video players plays an Ad */CNN.VideoPlayer.dismissMobilePinnedPlayer(containerId);clearTimeout(moveToNextTimeout);CNN.VideoPlayer.hideSpinner(containerId);if (Modernizr !Modernizr.phone !Modernizr.mobile !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ videoPinner !== null) {videoPinner.setIsPlaying(true);videoPinner.animateDown();}}},onAdPause: function (containerId, playerId, token, mode, id, duration, blockId, adType, instance, isAdPause) {if (mobilePinnedView) {CNN.VideoPlayer.handleMobilePinnedPlayerStates(containerId, isAdPause);}},onTrackingFullscreen: function (containerId, PlayerId, dataObj) {CNN.VideoPlayer.handleFullscreenChange(containerId, dataObj);if (mobilePinnedView typeof dataObj === ‘object’ FAVE.Utils.os === ‘iOS’ !dataObj.fullscreen) {jQuery(document).scrollTop(mobilePinnedView.getScrollPosition());playerInstance.hideUI();}},onContentPlay: function (containerId, cvpId, event) {var playerInstance,prevVideoId;if (CNN.companion typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘restoreEpicAds’);}clearTimeout(moveToNextTimeout);CNN.VideoPlayer.hideSpinner(containerId);if (Modernizr !Modernizr.phone !Modernizr.mobile !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ videoPinner !== null) {videoPinner.setIsPlaying(true);videoPinner.animateDown();}}},onContentReplayRequest: function (containerId, cvpId, contentId) {if (Modernizr !Modernizr.phone !Modernizr.mobile !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ videoPinner !== null) {videoPinner.setIsPlaying(true);var $endSlate = jQuery(document.getElementById(containerId)).parent().find(‘.js-video__end-slate’).eq(0);if ($endSlate.length 0) {$endSlate.removeClass(‘video__end-slate–active’).addClass(‘video__end-slate–inactive’);}}}},onContentBegin: function (containerId, cvpId, contentId) {if (mobilePinnedView) {mobilePinnedView.enable();}/* Dismissing the pinnedPlayer if another video players plays a video. */CNN.VideoPlayer.dismissMobilePinnedPlayer(containerId);CNN.VideoPlayer.mutePlayer(containerId);if (CNN.companion typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘removeEpicAds’);}CNN.VideoPlayer.hideSpinner(containerId);clearTimeout(moveToNextTimeout);CNN.VideoSourceUtils.clearSource(containerId);jQuery(document).triggerVideoContentStarted();},onContentComplete: function (containerId, cvpId, contentId) {if (CNN.companion typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘restoreFreewheel’);}navigateToNextVideo(contentId, containerId);},onContentEnd: function (containerId, cvpId, contentId) {if (Modernizr !Modernizr.phone !Modernizr.mobile !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ videoPinner !== null) {videoPinner.setIsPlaying(false);}}},onCVPVisibilityChange: function (containerId, cvpId, visible) {CNN.VideoPlayer.handleAdOnCVPVisibilityChange(containerId, visible);}};if (typeof configObj.context !== ‘string’ || configObj.context.length 0) {configObj.adsection = window.ssid;}CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;CNN.VideoPlayer.getLibrary(configObj, callbackObj, isLivePlayer);});CNN.INJECTOR.scriptComplete(‘videodemanddust’);

MUST WATCH

‘);$vidEndSlate.removeClass(‘video__end-slate–inactive’).addClass(‘video__end-slate–active’);}};CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;var configObj = {thumb: ‘none’,video: ‘health/2014/06/17/nr-marsh-dr-oz-diet-hearing.cnn’,width: ‘100%’,height: ‘100%’,section: ‘domestic’,profile: ‘expansion’,network: ‘cnn’,markupId: ‘body-text_7’,theoplayer: {allowNativeFullscreen: true},adsection: ‘const-article-inpage’,frameWidth: ‘100%’,frameHeight: ‘100%’,posterImageOverride: {“mini”:{“height”:144,”width”:256,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617111737-nr-marsh-dr-oz-diet-hearing-00000418-hp-video.jpg”},”xsmall”:{“height”:169,”width”:300,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617111737-nr-marsh-dr-oz-diet-hearing-00000418-story-body.jpg”},”small”:{“height”:360,”width”:640,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617111737-nr-marsh-dr-oz-diet-hearing-00000418-story-top.jpg”},”medium”:{“height”:552,”width”:980,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617111737-nr-marsh-dr-oz-diet-hearing-00000418-horizontal-large-gallery.jpg”},”large”:{“height”:552,”width”:980,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617111737-nr-marsh-dr-oz-diet-hearing-00000418-horizontal-large-gallery.jpg”},”full16x9″:{“height”:552,”width”:980,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617111737-nr-marsh-dr-oz-diet-hearing-00000418-horizontal-large-gallery.jpg”},”mini1x1″:{“height”:60,”width”:60,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617111737-nr-marsh-dr-oz-diet-hearing-00000418-topics.jpg”}}},autoStartVideo = false,isVideoReplayClicked = false,callbackObj,containerEl,currentVideoCollection = [],currentVideoCollectionId = ”,isLivePlayer = false,mediaMetadataCallbacks,mobilePinnedView = null,moveToNextTimeout,mutePlayerEnabled = false,nextVideoId = ”,nextVideoUrl = ”,turnOnFlashMessaging = false,videoPinner,videoEndSlateImpl;if (CNN.autoPlayVideoExist === false) {autoStartVideo = false;if (autoStartVideo === true) {if (turnOnFlashMessaging === true) {autoStartVideo = false;containerEl = jQuery(document.getElementById(configObj.markupId));CNN.VideoPlayer.showFlashSlate(containerEl);} else {CNN.autoPlayVideoExist = true;}}}configObj.autostart = CNN.Features.enableAutoplayBlock ? false : autoStartVideo;CNN.VideoPlayer.setPlayerProperties(configObj.markupId, autoStartVideo, isLivePlayer, isVideoReplayClicked, mutePlayerEnabled);CNN.VideoPlayer.setFirstVideoInCollection(currentVideoCollection, configObj.markupId);videoEndSlateImpl = new CNN.VideoEndSlate(‘body-text_7’);function findNextVideo(currentVideoId) {var i,vidObj;if (currentVideoId jQuery.isArray(currentVideoCollection) currentVideoCollection.length 0) {for (i = 0; i 0) {videoEndSlateImpl.showEndSlateForContainer();if (mobilePinnedView) {mobilePinnedView.disable();}}}}callbackObj = {onPlayerReady: function (containerId) {var playerInstance,containerClassId = ‘#’ + containerId;CNN.VideoPlayer.handleInitialExpandableVideoState(containerId);CNN.VideoPlayer.handleAdOnCVPVisibilityChange(containerId, CNN.pageVis.isDocumentVisible());if (CNN.Features.enableMobileWebFloatingPlayer Modernizr (Modernizr.phone || Modernizr.mobile || Modernizr.tablet) CNN.VideoPlayer.getLibraryName(containerId) === ‘fave’ jQuery(containerClassId).parents(‘.js-pg-rail-tall__head’).length 0 CNN.contentModel.pageType === ‘article’) {playerInstance = FAVE.player.getInstance(containerId);mobilePinnedView = new CNN.MobilePinnedView({element: jQuery(containerClassId),enabled: false,transition: CNN.MobileWebFloatingPlayer.transition,onPin: function () {playerInstance.hideUI();},onUnpin: function () {playerInstance.showUI();},onPlayerClick: function () {if (mobilePinnedView) {playerInstance.enterFullscreen();playerInstance.showUI();}},onDismiss: function() {CNN.Videx.mobile.pinnedPlayer.disable();playerInstance.pause();}});/* Storing pinned view on CNN.Videx.mobile.pinnedPlayer So that all players can see the single pinned player */CNN.Videx = CNN.Videx || {};CNN.Videx.mobile = CNN.Videx.mobile || {};CNN.Videx.mobile.pinnedPlayer = mobilePinnedView;}if (Modernizr !Modernizr.phone !Modernizr.mobile !Modernizr.tablet) {if (jQuery(containerClassId).parents(‘.js-pg-rail-tall__head’).length) {videoPinner = new CNN.VideoPinner(containerClassId);videoPinner.init();} else {CNN.VideoPlayer.hideThumbnail(containerId);}}},onContentEntryLoad: function(containerId, playerId, contentid, isQueue) {CNN.VideoPlayer.showSpinner(containerId);},onContentPause: function (containerId, playerId, videoId, paused) {if (mobilePinnedView) {CNN.VideoPlayer.handleMobilePinnedPlayerStates(containerId, paused);}},onContentMetadata: function (containerId, playerId, metadata, contentId, duration, width, height) {var endSlateLen = jQuery(document.getElementById(containerId)).parent().find(‘.js-video__end-slate’).eq(0).length;CNN.VideoSourceUtils.updateSource(containerId, metadata);if (endSlateLen 0) {videoEndSlateImpl.fetchAndShowRecommendedVideos(metadata);}},onAdPlay: function (containerId, cvpId, token, mode, id, duration, blockId, adType) {/* Dismissing the pinnedPlayer if another video players plays an Ad */CNN.VideoPlayer.dismissMobilePinnedPlayer(containerId);clearTimeout(moveToNextTimeout);CNN.VideoPlayer.hideSpinner(containerId);if (Modernizr !Modernizr.phone !Modernizr.mobile !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ videoPinner !== null) {videoPinner.setIsPlaying(true);videoPinner.animateDown();}}},onAdPause: function (containerId, playerId, token, mode, id, duration, blockId, adType, instance, isAdPause) {if (mobilePinnedView) {CNN.VideoPlayer.handleMobilePinnedPlayerStates(containerId, isAdPause);}},onTrackingFullscreen: function (containerId, PlayerId, dataObj) {CNN.VideoPlayer.handleFullscreenChange(containerId, dataObj);if (mobilePinnedView typeof dataObj === ‘object’ FAVE.Utils.os === ‘iOS’ !dataObj.fullscreen) {jQuery(document).scrollTop(mobilePinnedView.getScrollPosition());playerInstance.hideUI();}},onContentPlay: function (containerId, cvpId, event) {var playerInstance,prevVideoId;if (CNN.companion typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘restoreEpicAds’);}clearTimeout(moveToNextTimeout);CNN.VideoPlayer.hideSpinner(containerId);if (Modernizr !Modernizr.phone !Modernizr.mobile !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ videoPinner !== null) {videoPinner.setIsPlaying(true);videoPinner.animateDown();}}},onContentReplayRequest: function (containerId, cvpId, contentId) {if (Modernizr !Modernizr.phone !Modernizr.mobile !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ videoPinner !== null) {videoPinner.setIsPlaying(true);var $endSlate = jQuery(document.getElementById(containerId)).parent().find(‘.js-video__end-slate’).eq(0);if ($endSlate.length 0) {$endSlate.removeClass(‘video__end-slate–active’).addClass(‘video__end-slate–inactive’);}}}},onContentBegin: function (containerId, cvpId, contentId) {if (mobilePinnedView) {mobilePinnedView.enable();}/* Dismissing the pinnedPlayer if another video players plays a video. */CNN.VideoPlayer.dismissMobilePinnedPlayer(containerId);CNN.VideoPlayer.mutePlayer(containerId);if (CNN.companion typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘removeEpicAds’);}CNN.VideoPlayer.hideSpinner(containerId);clearTimeout(moveToNextTimeout);CNN.VideoSourceUtils.clearSource(containerId);jQuery(document).triggerVideoContentStarted();},onContentComplete: function (containerId, cvpId, contentId) {if (CNN.companion typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘restoreFreewheel’);}navigateToNextVideo(contentId, containerId);},onContentEnd: function (containerId, cvpId, contentId) {if (Modernizr !Modernizr.phone !Modernizr.mobile !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ videoPinner !== null) {videoPinner.setIsPlaying(false);}}},onCVPVisibilityChange: function (containerId, cvpId, visible) {CNN.VideoPlayer.handleAdOnCVPVisibilityChange(containerId, visible);}};if (typeof configObj.context !== ‘string’ || configObj.context.length 0) {configObj.adsection = window.ssid;}CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;CNN.VideoPlayer.getLibrary(configObj, callbackObj, isLivePlayer);});CNN.INJECTOR.scriptComplete(‘videodemanddust’);

MUST WATCH

‘);$vidEndSlate.removeClass(‘video__end-slate–inactive’).addClass(‘video__end-slate–active’);}};CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;var configObj = {thumb: ‘none’,video: ‘health/2014/06/17/bts-oz-mccaskill-diet-hearing.cnn’,width: ‘100%’,height: ‘100%’,section: ‘domestic’,profile: ‘expansion’,network: ‘cnn’,markupId: ‘body-text_8’,theoplayer: {allowNativeFullscreen: true},adsection: ‘const-article-inpage’,frameWidth: ‘100%’,frameHeight: ‘100%’,posterImageOverride: {“mini”:{“height”:144,”width”:256,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617144918-bts-oz-mccaskill-diet-hearing-00001015-hp-video.jpg”},”xsmall”:{“height”:169,”width”:300,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617144918-bts-oz-mccaskill-diet-hearing-00001015-story-body.jpg”},”small”:{“height”:360,”width”:640,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617144918-bts-oz-mccaskill-diet-hearing-00001015-story-top.jpg”},”medium”:{“height”:552,”width”:980,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617144918-bts-oz-mccaskill-diet-hearing-00001015-horizontal-large-gallery.jpg”},”large”:{“height”:552,”width”:980,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617144918-bts-oz-mccaskill-diet-hearing-00001015-horizontal-large-gallery.jpg”},”full16x9″:{“height”:552,”width”:980,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617144918-bts-oz-mccaskill-diet-hearing-00001015-horizontal-large-gallery.jpg”},”mini1x1″:{“height”:60,”width”:60,”type”:”jpg”,”uri”:”//cdn.cnn.com/cnnnext/dam/assets/140617144918-bts-oz-mccaskill-diet-hearing-00001015-topics.jpg”}}},autoStartVideo = false,isVideoReplayClicked = false,callbackObj,containerEl,currentVideoCollection = [],currentVideoCollectionId = ”,isLivePlayer = false,mediaMetadataCallbacks,mobilePinnedView = null,moveToNextTimeout,mutePlayerEnabled = false,nextVideoId = ”,nextVideoUrl = ”,turnOnFlashMessaging = false,videoPinner,videoEndSlateImpl;if (CNN.autoPlayVideoExist === false) {autoStartVideo = false;if (autoStartVideo === true) {if (turnOnFlashMessaging === true) {autoStartVideo = false;containerEl = jQuery(document.getElementById(configObj.markupId));CNN.VideoPlayer.showFlashSlate(containerEl);} else {CNN.autoPlayVideoExist = true;}}}configObj.autostart = CNN.Features.enableAutoplayBlock ? false : autoStartVideo;CNN.VideoPlayer.setPlayerProperties(configObj.markupId, autoStartVideo, isLivePlayer, isVideoReplayClicked, mutePlayerEnabled);CNN.VideoPlayer.setFirstVideoInCollection(currentVideoCollection, configObj.markupId);videoEndSlateImpl = new CNN.VideoEndSlate(‘body-text_8’);function findNextVideo(currentVideoId) {var i,vidObj;if (currentVideoId jQuery.isArray(currentVideoCollection) currentVideoCollection.length 0) {for (i = 0; i 0) {videoEndSlateImpl.showEndSlateForContainer();if (mobilePinnedView) {mobilePinnedView.disable();}}}}callbackObj = {onPlayerReady: function (containerId) {var playerInstance,containerClassId = ‘#’ + containerId;CNN.VideoPlayer.handleInitialExpandableVideoState(containerId);CNN.VideoPlayer.handleAdOnCVPVisibilityChange(containerId, CNN.pageVis.isDocumentVisible());if (CNN.Features.enableMobileWebFloatingPlayer Modernizr (Modernizr.phone || Modernizr.mobile || Modernizr.tablet) CNN.VideoPlayer.getLibraryName(containerId) === ‘fave’ jQuery(containerClassId).parents(‘.js-pg-rail-tall__head’).length 0 CNN.contentModel.pageType === ‘article’) {playerInstance = FAVE.player.getInstance(containerId);mobilePinnedView = new CNN.MobilePinnedView({element: jQuery(containerClassId),enabled: false,transition: CNN.MobileWebFloatingPlayer.transition,onPin: function () {playerInstance.hideUI();},onUnpin: function () {playerInstance.showUI();},onPlayerClick: function () {if (mobilePinnedView) {playerInstance.enterFullscreen();playerInstance.showUI();}},onDismiss: function() {CNN.Videx.mobile.pinnedPlayer.disable();playerInstance.pause();}});/* Storing pinned view on CNN.Videx.mobile.pinnedPlayer So that all players can see the single pinned player */CNN.Videx = CNN.Videx || {};CNN.Videx.mobile = CNN.Videx.mobile || {};CNN.Videx.mobile.pinnedPlayer = mobilePinnedView;}if (Modernizr !Modernizr.phone !Modernizr.mobile !Modernizr.tablet) {if (jQuery(containerClassId).parents(‘.js-pg-rail-tall__head’).length) {videoPinner = new CNN.VideoPinner(containerClassId);videoPinner.init();} else {CNN.VideoPlayer.hideThumbnail(containerId);}}},onContentEntryLoad: function(containerId, playerId, contentid, isQueue) {CNN.VideoPlayer.showSpinner(containerId);},onContentPause: function (containerId, playerId, videoId, paused) {if (mobilePinnedView) {CNN.VideoPlayer.handleMobilePinnedPlayerStates(containerId, paused);}},onContentMetadata: function (containerId, playerId, metadata, contentId, duration, width, height) {var endSlateLen = jQuery(document.getElementById(containerId)).parent().find(‘.js-video__end-slate’).eq(0).length;CNN.VideoSourceUtils.updateSource(containerId, metadata);if (endSlateLen 0) {videoEndSlateImpl.fetchAndShowRecommendedVideos(metadata);}},onAdPlay: function (containerId, cvpId, token, mode, id, duration, blockId, adType) {/* Dismissing the pinnedPlayer if another video players plays an Ad */CNN.VideoPlayer.dismissMobilePinnedPlayer(containerId);clearTimeout(moveToNextTimeout);CNN.VideoPlayer.hideSpinner(containerId);if (Modernizr !Modernizr.phone !Modernizr.mobile !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ videoPinner !== null) {videoPinner.setIsPlaying(true);videoPinner.animateDown();}}},onAdPause: function (containerId, playerId, token, mode, id, duration, blockId, adType, instance, isAdPause) {if (mobilePinnedView) {CNN.VideoPlayer.handleMobilePinnedPlayerStates(containerId, isAdPause);}},onTrackingFullscreen: function (containerId, PlayerId, dataObj) {CNN.VideoPlayer.handleFullscreenChange(containerId, dataObj);if (mobilePinnedView typeof dataObj === ‘object’ FAVE.Utils.os === ‘iOS’ !dataObj.fullscreen) {jQuery(document).scrollTop(mobilePinnedView.getScrollPosition());playerInstance.hideUI();}},onContentPlay: function (containerId, cvpId, event) {var playerInstance,prevVideoId;if (CNN.companion typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘restoreEpicAds’);}clearTimeout(moveToNextTimeout);CNN.VideoPlayer.hideSpinner(containerId);if (Modernizr !Modernizr.phone !Modernizr.mobile !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ videoPinner !== null) {videoPinner.setIsPlaying(true);videoPinner.animateDown();}}},onContentReplayRequest: function (containerId, cvpId, contentId) {if (Modernizr !Modernizr.phone !Modernizr.mobile !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ videoPinner !== null) {videoPinner.setIsPlaying(true);var $endSlate = jQuery(document.getElementById(containerId)).parent().find(‘.js-video__end-slate’).eq(0);if ($endSlate.length 0) {$endSlate.removeClass(‘video__end-slate–active’).addClass(‘video__end-slate–inactive’);}}}},onContentBegin: function (containerId, cvpId, contentId) {if (mobilePinnedView) {mobilePinnedView.enable();}/* Dismissing the pinnedPlayer if another video players plays a video. */CNN.VideoPlayer.dismissMobilePinnedPlayer(containerId);CNN.VideoPlayer.mutePlayer(containerId);if (CNN.companion typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘removeEpicAds’);}CNN.VideoPlayer.hideSpinner(containerId);clearTimeout(moveToNextTimeout);CNN.VideoSourceUtils.clearSource(containerId);jQuery(document).triggerVideoContentStarted();},onContentComplete: function (containerId, cvpId, contentId) {if (CNN.companion typeof CNN.companion.updateCompanionLayout === ‘function’) {CNN.companion.updateCompanionLayout(‘restoreFreewheel’);}navigateToNextVideo(contentId, containerId);},onContentEnd: function (containerId, cvpId, contentId) {if (Modernizr !Modernizr.phone !Modernizr.mobile !Modernizr.tablet) {if (typeof videoPinner !== ‘undefined’ videoPinner !== null) {videoPinner.setIsPlaying(false);}}},onCVPVisibilityChange: function (containerId, cvpId, visible) {CNN.VideoPlayer.handleAdOnCVPVisibilityChange(containerId, visible);}};if (typeof configObj.context !== ‘string’ || configObj.context.length 0) {configObj.adsection = window.ssid;}CNN.autoPlayVideoExist = (CNN.autoPlayVideoExist === true) ? true : false;CNN.VideoPlayer.getLibrary(configObj, callbackObj, isLivePlayer);});CNN.INJECTOR.scriptComplete(‘videodemanddust’);

MUST WATCH

Article source: https://www.cnn.com/2014/06/17/health/senate-grills-dr-oz/index.html

Derick Rethans: Xdebug Update: March 2019

  Xdebug Update: March 2019 
   
     London, UK 
    Tuesday, April 9th 2019, 14:15 BST 
   
  This is the first of the monthly update reports in what happened with Xdebug development in this past month. In these reports I will outline what I've been working on t...

420 Enhance your calm

The 420 Enhance Your Calm status code is an unofficial extension by Twitter.

Twitter used this to tell HTTP clients that they were being rate limited. Rate limiting means putting restrictions on the total number of requests a client may do within a time period.

For Twitter it was useful enough to extend the protocol with a new HTTP status code. However, adding your own HTTP status codes is a bad idea and should generally be avoided.

In many cases it’s possible to express your error condition through one of the exiting status codes. Error statuses that are more unique to your application should simply be communicated via a response body. (for example the standard application/problem+json response).

So when is a new HTTP status code useful? The general idea is that adding a new code to the list is useful if it’s possible for a generic HTTP client to do something with the response.

The idea of having a standard HTTP code for rate limiting was useful enough to be turned into a real HTTP status, So a few years later, we got the 429 Too Many Requests status code, which Twitter ended up adopting too.

Xdebug Update: March 2019

Xdebug Update: March 2019

This is the first of the monthly update reports in what happened with Xdebug development in this past month. In these reports I will outline what I've been working on the month that has passed. It will be published on every second Tuesday of each month. Patreon supporters will get it earlier, on the first of each month. You can become a patron here.

In February, I worked on the following things:

CI

Xdebug needs testing on many PHP versions, from PHP 7.0.0 to PHP 7.3.3, and the tip of the PHP 7.0 to 7.4 and master branches. Each patch version can introduce changes, and so they all need to be tested against. There are also two different configuration axis: thread-safe vs. non-thread-safe, and 32-bit vs 64-bit. There are currently 37 versions, and with all 4 combinations, that makes 148 configurations to test. If I would test this with Travis CI this would take at least an hour, and with Appveyor it would take at least 16 hours. This is clearly not something that I would like to wait on.

So instead I set up a local CI system, where after each commit I can kick off a script that recompiles and tests all of the configurations. I test the following three variants for each PHP version: 64-bit and non-thread-safe (that's the normal one most people use), 64-bit with thread-safe, and 32-bit with non-thread-safe. My local machine can run 24 tasks in parallel, and the full run of recompiling and testing takes less than 5 minutes.

The results are imported in a MongoDB database that I run on their Atlas hosted server, and the results are read and published by the Xdebug website, where you can see the result of the latest 8 runs.

I still need to add the with-OPcache/without-OPcache access; right now, I only test with OPcache present and loaded. I would also like to add configurations of daily versions of the latest PHP-7.4 and master branches to be able to get PHP API changes, and functional changes before they start breaking PHP.

Bugs

I created stablexdebug_2_7 branch so that I can work on both bug fixes (in xdebug_2_7) and features (in master). There is currently a persistent bug that I discovered while analysing #1646: Excessive error messages for broken pipes. I noticed that although my tests would check for this happening, it would never actually make sure that there were no messages sent to stderr. When enabling this, I encountered issues in the step-debugger tests where I wouldn't correctly detach the debugging session.

These tests are now fixed, but there is now one that produces an elusive crash bug that I haven't managed to track down now.

Beyond the broken-pipe step debugger connection issue, I have also started to make a little bit of progress in addressing #1388: Support 'resolved' flag for breakpoints in cooperation with Jetbrains and the PhpStorm team, who are sponsoring this work.

Truncated by Planet PHP, read more at the original (another 612 bytes)

Community News: Latest PECL Releases (04.09.2019)

Latest PECL Releases:

  • gRPC 1.20.0RC3
    - Added memory leak tests #17862

    • Fixed segfault on accessing a closed client #18302
    • Added ini settings for fork support #18539
    • Fixed fork hang #18558
  • datadog_trace 0.18.0
    **NOTE: THIS IS A BREAKING CHANGE RELEASE**

    This change should not impact most users.

    Added

    • MessagePack serialization for traces sent to the Agent with a new function dd_trace_serialize_msgpack() #378

    Changed

    • Request init hook module blacklist now avoids miss matching partial matches #372
    • Add 10MB cap to payloads sent to the Agent #388
    • Added an getTracesAsArray() method to DDTrace/Contracts/Tracer which returns an array of spans (which are also encoded as an array.) To encode an instance of DDTraceContractsSpan as an array, use DDTrace/Encoders/SpanEncoder::encode($span) #378
    • DDTrace/Transport::send() now takes an instance of DDTrace/Contracts/Tracer instead of an array #378
    • DDTrace/Encoder::encodeTraces() now takes an instance of DDTrace/Contracts/Tracer instead of an array #378
    • The default encoder is now DDTrace/Encoders/MessagePack. You can still use the JSON encoder by setting the environment variable DD_TRACE_ENCODER=json. It is generally not recommended to use the JSON encoder as parsing JSON payloads at the Agent level is more CPU & memory intensive.
  • xdebug 2.7.1
    Wed, Apr 5, 2019 - xdebug 2.7.1

    = Fixed bugs:

    • Fixed issue #1646: Missing newline in error message
    • Fixed issue #1647: Memory corruption when a conditional breakpoint is used
    • Fixed issue #1641: Perfomance degradation with getpid syscall (Kees Hoekzema)
  • runkit7 2.0.2
    - Fix the package version seen in reflection APIs.
  • dbase 7.0.0RC1
    Backward Incompatible Changes
    • database link identifiers are now proper resources instead of integers
    • logical values are now retrieved as booleans instead of integers

    New Features

    • FoxPro datetime fields ('T') are now supported as "YYYYMMDDhhmmss.uuu"
    • Uninitialized logical fields are now supported as NULL
    • base_create() now supports an optional $type parameter (either DBASE_TYPE_DBASE or DBASE_TYPE_FOXPRO) to define the type of database to be created
    • FoxPro nullable fields are now transparently supported
    • The $mode of dbase_open() can now be specified as DBASE_RDONLY or DBASE_RDWR
    • The version of the dbase extension is now available as DBASE_VERSION
    • Basic database locking has been implemented
    • Internally the Zend memory manager is now used
    • Error reporting has been improved; e.g. unsupported field type now raise a warning

    Bug Fixes

    • Fixed #73391 (Writing of floats can cause OOB reads)
    • Fixed #73395 (failing dbase_create() may leak memory)
    • Fixed #73411 (dbase_pack() returns TRUE on failure)
    • Fixed #73414 (Unsupported field types may cause dbase_open() to leak memory)
    • Fixed #73442 (Float fields always have precision 0)
    • Fixed #73447 (Floats written to character fields are truncated to integer)
    • Fixed #74983 (SIGABRT when function put_dbf_field is called)
Powered by Gewgley