Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/popup-bu.../com/helpers
File: AdminHelper.php
break;
[1500] Fix | Delete
}
[1501] Fix | Delete
}
[1502] Fix | Delete
[1503] Fix | Delete
return $hasInactiveExtensions;
[1504] Fix | Delete
}
[1505] Fix | Delete
[1506] Fix | Delete
public static function getSubscriptionColumnsById($id)
[1507] Fix | Delete
{
[1508] Fix | Delete
$popup = SGPopup::find($id);
[1509] Fix | Delete
if (empty($popup) || !is_object($popup)) {
[1510] Fix | Delete
return array();
[1511] Fix | Delete
}
[1512] Fix | Delete
$freeSavedOptions = $popup->getOptionValue('sgpb-subs-fields');
[1513] Fix | Delete
[1514] Fix | Delete
if (!empty($freeSavedOptions)) {
[1515] Fix | Delete
return array('firstName' => 'First name','lastName' => 'Last name', 'email' => 'Email', 'date' => 'Date');
[1516] Fix | Delete
}
[1517] Fix | Delete
$formFieldsJson = $popup->getOptionValue('sgpb-subscription-fields-json');
[1518] Fix | Delete
if (!empty($formFieldsJson)) {
[1519] Fix | Delete
$data = apply_filters('sgpbGetSubscriptionLabels', array(), $popup);
[1520] Fix | Delete
$data['date'] = 'Date';
[1521] Fix | Delete
return $data;
[1522] Fix | Delete
}
[1523] Fix | Delete
[1524] Fix | Delete
return array();
[1525] Fix | Delete
}
[1526] Fix | Delete
[1527] Fix | Delete
public static function getCustomFormFieldsByPopupId($popupId)
[1528] Fix | Delete
{
[1529] Fix | Delete
if (!class_exists('sgpbsubscriptionplus\SubscriptionPlusAdminHelper')) {
[1530] Fix | Delete
return array();
[1531] Fix | Delete
}
[1532] Fix | Delete
[1533] Fix | Delete
if (method_exists('sgpbsubscriptionplus\SubscriptionPlusAdminHelper', 'getCustomFormFieldsByPopupId')) {
[1534] Fix | Delete
return SubscriptionPlusAdminHelper::getCustomFormFieldsByPopupId($popupId);
[1535] Fix | Delete
}
[1536] Fix | Delete
[1537] Fix | Delete
return array();
[1538] Fix | Delete
}
[1539] Fix | Delete
[1540] Fix | Delete
public static function removeAllNonPrintableCharacters($title, $defaultValue)
[1541] Fix | Delete
{
[1542] Fix | Delete
$titleRes = $title;
[1543] Fix | Delete
$pattern = '/[\\\^£$%&*()}{@#~?><>,|=_+¬-]/u';
[1544] Fix | Delete
$title = preg_replace($pattern, '', $title);
[1545] Fix | Delete
$title = mb_ereg_replace($pattern, '', $title);
[1546] Fix | Delete
$title = htmlspecialchars($title, ENT_IGNORE, 'UTF-8');
[1547] Fix | Delete
$result = str_replace(' ', '', $title);
[1548] Fix | Delete
if (empty($result)) {
[1549] Fix | Delete
$titleRes = $defaultValue;
[1550] Fix | Delete
}
[1551] Fix | Delete
[1552] Fix | Delete
return $titleRes;
[1553] Fix | Delete
}
[1554] Fix | Delete
[1555] Fix | Delete
public static function renderCustomScripts($popupId)
[1556] Fix | Delete
{
[1557] Fix | Delete
$finalResult = '';
[1558] Fix | Delete
$postMeta = get_post_meta($popupId, 'sg_popup_scripts', true);
[1559] Fix | Delete
if (empty($postMeta)) {
[1560] Fix | Delete
return '';
[1561] Fix | Delete
}
[1562] Fix | Delete
$defaultData = \SGPBConfigDataHelper::defaultData();
[1563] Fix | Delete
[1564] Fix | Delete
// get scripts
[1565] Fix | Delete
if (!isset($postMeta['js'])) {
[1566] Fix | Delete
$postMeta['js'] = array();
[1567] Fix | Delete
}
[1568] Fix | Delete
$jsPostMeta = $postMeta['js'];
[1569] Fix | Delete
$jsDefaultData = $defaultData['customEditorContent']['js']['helperText'];
[1570] Fix | Delete
$suspiciousStrings = array('document.createElement', 'createElement', 'String.fromCharCode', 'fromCharCode', '<!--', '-->');
[1571] Fix | Delete
$finalContent = '';
[1572] Fix | Delete
$suspiciousStringFound = false;
[1573] Fix | Delete
if (!empty($jsPostMeta)) {
[1574] Fix | Delete
$customScripts = '<script id="sgpb-custom-script-'.$popupId.'">';
[1575] Fix | Delete
foreach ($jsDefaultData as $key => $value) {
[1576] Fix | Delete
$eventName = 'sgpb'.$key;
[1577] Fix | Delete
if ((!isset($jsPostMeta['sgpb-'.$key]) || empty($jsPostMeta['sgpb-'.$key])) || $key == 'ShouldOpen' || $key == 'ShouldClose') {
[1578] Fix | Delete
continue;
[1579] Fix | Delete
}
[1580] Fix | Delete
$content = isset($jsPostMeta['sgpb-'.$key]) ? $jsPostMeta['sgpb-'.$key] : '';
[1581] Fix | Delete
$content = str_replace('popupId', $popupId, $content);
[1582] Fix | Delete
$content = str_replace("<", "&lt;", $content);
[1583] Fix | Delete
$content = str_replace(">", "&gt;", $content);
[1584] Fix | Delete
foreach ($suspiciousStrings as $string) {
[1585] Fix | Delete
if (strpos($content, $string)) {
[1586] Fix | Delete
$suspiciousStringFound = true;
[1587] Fix | Delete
break;
[1588] Fix | Delete
}
[1589] Fix | Delete
}
[1590] Fix | Delete
if ($suspiciousStringFound) {
[1591] Fix | Delete
break;
[1592] Fix | Delete
}
[1593] Fix | Delete
$content = html_entity_decode($content, ENT_QUOTES, 'UTF-8');
[1594] Fix | Delete
[1595] Fix | Delete
$finalContent .= 'jQuery(document).ready(function(){';
[1596] Fix | Delete
$finalContent .= 'sgAddEvent(window, "'.$eventName.'", function(e) {';
[1597] Fix | Delete
$finalContent .= 'if (e.detail.popupId == "'.$popupId.'") {';
[1598] Fix | Delete
$finalContent .= $content;
[1599] Fix | Delete
$finalContent .= '};';
[1600] Fix | Delete
$finalContent .= '});';
[1601] Fix | Delete
$finalContent .= '});';
[1602] Fix | Delete
}
[1603] Fix | Delete
$customScripts .= $finalContent;
[1604] Fix | Delete
$customScripts .= '</script>';
[1605] Fix | Delete
if (empty($finalContent)) {
[1606] Fix | Delete
$customScripts = '';
[1607] Fix | Delete
}
[1608] Fix | Delete
$finalResult .= $customScripts;
[1609] Fix | Delete
}
[1610] Fix | Delete
[1611] Fix | Delete
// get styles
[1612] Fix | Delete
if (isset($postMeta['css'])) {
[1613] Fix | Delete
$cssPostMeta = $postMeta['css'];
[1614] Fix | Delete
}
[1615] Fix | Delete
$finalContent = '';
[1616] Fix | Delete
if (!empty($cssPostMeta)) {
[1617] Fix | Delete
$customStyles = '<style id="sgpb-custom-style-'.$popupId.'">';
[1618] Fix | Delete
$finalContent = str_replace('popupId', $popupId, $cssPostMeta);
[1619] Fix | Delete
$finalContent = html_entity_decode($finalContent, ENT_QUOTES, 'UTF-8');
[1620] Fix | Delete
[1621] Fix | Delete
$customStyles .= $finalContent;
[1622] Fix | Delete
$customStyles .= '</style>';
[1623] Fix | Delete
$finalResult .= $customStyles;
[1624] Fix | Delete
}
[1625] Fix | Delete
[1626] Fix | Delete
[1627] Fix | Delete
return $finalResult;
[1628] Fix | Delete
}
[1629] Fix | Delete
[1630] Fix | Delete
public static function removeSelectedTypeOptions($type)
[1631] Fix | Delete
{
[1632] Fix | Delete
switch ($type) {
[1633] Fix | Delete
case 'cron':
[1634] Fix | Delete
$crons = _get_cron_array();
[1635] Fix | Delete
foreach ($crons as $key => $value) {
[1636] Fix | Delete
foreach ($value as $key => $body) {
[1637] Fix | Delete
if (strstr($key, 'sgpb')) {
[1638] Fix | Delete
wp_clear_scheduled_hook($key);
[1639] Fix | Delete
}
[1640] Fix | Delete
}
[1641] Fix | Delete
}
[1642] Fix | Delete
break;
[1643] Fix | Delete
}
[1644] Fix | Delete
}
[1645] Fix | Delete
[1646] Fix | Delete
public static function getSystemInfoText() {
[1647] Fix | Delete
global $wpdb;
[1648] Fix | Delete
[1649] Fix | Delete
$browser = self::getBrowser();
[1650] Fix | Delete
[1651] Fix | Delete
// Get theme info
[1652] Fix | Delete
if (get_bloginfo('version') < '3.4') {
[1653] Fix | Delete
$themeData = wp_get_theme(get_stylesheet_directory().'/style.css');
[1654] Fix | Delete
$theme = $themeData['Name'].' '.$themeData['Version'];
[1655] Fix | Delete
}
[1656] Fix | Delete
else {
[1657] Fix | Delete
$themeData = wp_get_theme();
[1658] Fix | Delete
$theme = $themeData->Name.' '.$themeData->Version;
[1659] Fix | Delete
}
[1660] Fix | Delete
[1661] Fix | Delete
// Try to identify the hosting provider
[1662] Fix | Delete
$host = self::getHost();
[1663] Fix | Delete
[1664] Fix | Delete
$systemInfoContent = '### Start System Info ###'."\n\n";
[1665] Fix | Delete
[1666] Fix | Delete
// Start with the basics...
[1667] Fix | Delete
$systemInfoContent .= '-- Site Info'."\n\n";
[1668] Fix | Delete
$systemInfoContent .= 'Site URL: '.site_url()."\n";
[1669] Fix | Delete
$systemInfoContent .= 'Home URL: '.home_url()."\n";
[1670] Fix | Delete
$systemInfoContent .= 'Multisite: '.(is_multisite() ? 'Yes' : 'No')."\n";
[1671] Fix | Delete
[1672] Fix | Delete
// Can we determine the site's host?
[1673] Fix | Delete
if ($host) {
[1674] Fix | Delete
$systemInfoContent .= "\n".'-- Hosting Provider'."\n\n";
[1675] Fix | Delete
$systemInfoContent .= 'Host: '.$host."\n";
[1676] Fix | Delete
}
[1677] Fix | Delete
[1678] Fix | Delete
// The local users' browser information, handled by the Browser class
[1679] Fix | Delete
$systemInfoContent .= "\n".'-- User Browser'."\n\n";
[1680] Fix | Delete
$systemInfoContent .= $browser;
[1681] Fix | Delete
[1682] Fix | Delete
// WordPress configuration
[1683] Fix | Delete
$systemInfoContent .= "\n".'-- WordPress Configuration'."\n\n";
[1684] Fix | Delete
$systemInfoContent .= 'Version: '.get_bloginfo('version')."\n";
[1685] Fix | Delete
$systemInfoContent .= 'Language: '.(defined('WPLANG') && WPLANG ? WPLANG : 'en_US')."\n";
[1686] Fix | Delete
$systemInfoContent .= 'Permalink Structure: '.(get_option('permalink_structure') ? get_option('permalink_structure') : 'Default')."\n";
[1687] Fix | Delete
$systemInfoContent .= 'Active Theme: '.$theme."\n";
[1688] Fix | Delete
$systemInfoContent .= 'Show On Front: '.get_option('show_on_front')."\n";
[1689] Fix | Delete
[1690] Fix | Delete
// Only show page specs if frontpage is set to 'page'
[1691] Fix | Delete
if (get_option('show_on_front') == 'page') {
[1692] Fix | Delete
$frontPageId = get_option('page_on_front');
[1693] Fix | Delete
$blogPageId = get_option('page_for_posts');
[1694] Fix | Delete
[1695] Fix | Delete
$systemInfoContent .= 'Page On Front: '.($frontPageId != 0 ? get_the_title($frontPageId).' (#'.$frontPageId.')' : 'Unset')."\n";
[1696] Fix | Delete
$systemInfoContent .= 'Page For Posts: '.($blogPageId != 0 ? get_the_title($blogPageId).' (#'.$blogPageId.')' : 'Unset')."\n";
[1697] Fix | Delete
}
[1698] Fix | Delete
[1699] Fix | Delete
$systemInfoContent .= 'Table Prefix: '.'Prefix: '.$wpdb->prefix.' Length: '.strlen($wpdb->prefix ).' Status: '.( strlen($wpdb->prefix) > 16 ? 'ERROR: Too long' : 'Acceptable')."\n";
[1700] Fix | Delete
$systemInfoContent .= 'WP_DEBUG: '.(defined('WP_DEBUG') ? WP_DEBUG ? 'Enabled' : 'Disabled' : 'Not set')."\n";
[1701] Fix | Delete
$systemInfoContent .= 'Memory Limit: '.WP_MEMORY_LIMIT."\n";
[1702] Fix | Delete
$systemInfoContent .= 'Registered Post Stati: '.implode(', ', get_post_stati())."\n";
[1703] Fix | Delete
[1704] Fix | Delete
// Must-use plugins
[1705] Fix | Delete
$muplugins = get_mu_plugins();
[1706] Fix | Delete
if ($muplugins && count($muplugins)) {
[1707] Fix | Delete
$systemInfoContent .= "\n".'-- Must-Use Plugins'."\n\n";
[1708] Fix | Delete
[1709] Fix | Delete
foreach ($muplugins as $plugin => $plugin_data) {
[1710] Fix | Delete
$systemInfoContent .= $plugin_data['Name'].': '.$plugin_data['Version']."\n";
[1711] Fix | Delete
}
[1712] Fix | Delete
}
[1713] Fix | Delete
[1714] Fix | Delete
$registered = AdminHelper::getOption(SGPB_POPUP_BUILDER_REGISTERED_PLUGINS);
[1715] Fix | Delete
$registered = json_decode($registered, true);
[1716] Fix | Delete
[1717] Fix | Delete
if (empty($registered)) {
[1718] Fix | Delete
return false;
[1719] Fix | Delete
}
[1720] Fix | Delete
// remove free package data, we don't need it
[1721] Fix | Delete
array_shift($registered);
[1722] Fix | Delete
[1723] Fix | Delete
$systemInfoContent .= "\n".'-- Popup Builder License Data'."\n\n";
[1724] Fix | Delete
if (!empty($registered)) {
[1725] Fix | Delete
foreach ($registered as $singleExntensionData) {
[1726] Fix | Delete
if (empty($singleExntensionData['options'])) {
[1727] Fix | Delete
continue;
[1728] Fix | Delete
}
[1729] Fix | Delete
[1730] Fix | Delete
$key = $singleExntensionData['options']['licence']['key'];
[1731] Fix | Delete
$name = $singleExntensionData['options']['licence']['itemName'];
[1732] Fix | Delete
$licenseKey = __('No license');
[1733] Fix | Delete
if (!empty($key)) {
[1734] Fix | Delete
$licenseKey = self::getOption('sgpb-license-key-'.$key);
[1735] Fix | Delete
}
[1736] Fix | Delete
$licenseStatus = 'Inactive';
[1737] Fix | Delete
if (self::getOption('sgpb-license-status-'.$key) == 'valid') {
[1738] Fix | Delete
$licenseStatus = 'Active';
[1739] Fix | Delete
}
[1740] Fix | Delete
[1741] Fix | Delete
$systemInfoContent .= 'Name: '.$name."\n";
[1742] Fix | Delete
$systemInfoContent .= 'License key: '.$licenseKey."\n";
[1743] Fix | Delete
$systemInfoContent .= 'License status: '.$licenseStatus."\n";
[1744] Fix | Delete
$systemInfoContent .= "\n";
[1745] Fix | Delete
}
[1746] Fix | Delete
}
[1747] Fix | Delete
[1748] Fix | Delete
$systemInfoContent .= "\n".'-- All created Popups'."\n\n";
[1749] Fix | Delete
$allPopups = self::getPopupsIdAndTitle();
[1750] Fix | Delete
$args['status'] = array('publish', 'draft', 'pending', 'private', 'trash');
[1751] Fix | Delete
foreach ($allPopups as $id => $popupTitleType) {
[1752] Fix | Delete
$popup = SGPopup::find($id, $args);
[1753] Fix | Delete
$popupStatus = ($popup->getOptionValue('sgpb-is-active')) ? 'Enabled' : 'Disabled';
[1754] Fix | Delete
$systemInfoContent .= 'Id: '.$id."\n";
[1755] Fix | Delete
$systemInfoContent .= 'Title: '.get_the_title($id)."\n";
[1756] Fix | Delete
$systemInfoContent .= 'Type: '.$popup->getOptionValue('sgpb-type')."\n";
[1757] Fix | Delete
$systemInfoContent .= 'Status: '.$popupStatus."\n";
[1758] Fix | Delete
$systemInfoContent .= "\n";
[1759] Fix | Delete
}
[1760] Fix | Delete
[1761] Fix | Delete
// WordPress active plugins
[1762] Fix | Delete
$systemInfoContent .= "\n".'-- WordPress Active Plugins'."\n\n";
[1763] Fix | Delete
[1764] Fix | Delete
$plugins = get_plugins();
[1765] Fix | Delete
$activePlugins = get_option('active_plugins', array());
[1766] Fix | Delete
foreach ($plugins as $pluginPath => $plugin) {
[1767] Fix | Delete
[1768] Fix | Delete
if (! in_array($pluginPath, $activePlugins)) {
[1769] Fix | Delete
continue;
[1770] Fix | Delete
}
[1771] Fix | Delete
[1772] Fix | Delete
$systemInfoContent .= $plugin['Name'].': '.$plugin['Version']."\n";
[1773] Fix | Delete
}
[1774] Fix | Delete
// WordPress inactive plugins
[1775] Fix | Delete
$systemInfoContent .= "\n".'-- WordPress Inactive Plugins'."\n\n";
[1776] Fix | Delete
[1777] Fix | Delete
foreach ($plugins as $pluginPath => $plugin) {
[1778] Fix | Delete
if (in_array($pluginPath, $activePlugins)) {
[1779] Fix | Delete
continue;
[1780] Fix | Delete
}
[1781] Fix | Delete
$systemInfoContent .= $plugin['Name'].': '.$plugin['Version']."\n";
[1782] Fix | Delete
}
[1783] Fix | Delete
[1784] Fix | Delete
if (is_multisite()) {
[1785] Fix | Delete
// WordPress Multisite active plugins
[1786] Fix | Delete
$systemInfoContent .= "\n".'-- Network Active Plugins'."\n\n";
[1787] Fix | Delete
[1788] Fix | Delete
$plugins = wp_get_active_network_plugins();
[1789] Fix | Delete
$activePlugins = get_site_option('active_sitewide_plugins', array());
[1790] Fix | Delete
[1791] Fix | Delete
foreach ($plugins as $pluginPath) {
[1792] Fix | Delete
$plugin_base = plugin_basename($pluginPath);
[1793] Fix | Delete
[1794] Fix | Delete
if (! array_key_exists($plugin_base, $activePlugins)) {
[1795] Fix | Delete
continue;
[1796] Fix | Delete
}
[1797] Fix | Delete
[1798] Fix | Delete
$plugin = get_plugin_data($pluginPath);
[1799] Fix | Delete
$systemInfoContent .= $plugin['Name'].': '.$plugin['Version']."\n";
[1800] Fix | Delete
}
[1801] Fix | Delete
}
[1802] Fix | Delete
[1803] Fix | Delete
// Server configuration (really just versioning)
[1804] Fix | Delete
$systemInfoContent .= "\n".'-- Webserver Configuration'."\n\n";
[1805] Fix | Delete
$systemInfoContent .= 'PHP Version: '.PHP_VERSION."\n";
[1806] Fix | Delete
$systemInfoContent .= 'MySQL Version: '.$wpdb->db_version()."\n";
[1807] Fix | Delete
$serverinfo = isset($_SERVER['SERVER_SOFTWARE']) ? sanitize_text_field($_SERVER['SERVER_SOFTWARE']) : '';
[1808] Fix | Delete
$systemInfoContent .= 'Webserver Info: '.$serverinfo."\n";
[1809] Fix | Delete
// PHP configs... now we're getting to the important stuff
[1810] Fix | Delete
$systemInfoContent .= "\n".'-- PHP Configuration'."\n\n";
[1811] Fix | Delete
$systemInfoContent .= 'Memory Limit: '.ini_get('memory_limit')."\n";
[1812] Fix | Delete
$systemInfoContent .= 'Upload Max Size: '.ini_get('upload_max_filesize')."\n";
[1813] Fix | Delete
$systemInfoContent .= 'Post Max Size: '.ini_get('post_max_size')."\n";
[1814] Fix | Delete
$systemInfoContent .= 'Upload Max Filesize: '.ini_get('upload_max_filesize')."\n";
[1815] Fix | Delete
$systemInfoContent .= 'Time Limit: '.ini_get('max_execution_time')."\n";
[1816] Fix | Delete
$systemInfoContent .= 'Max Input Vars: '.ini_get('max_input_vars')."\n";
[1817] Fix | Delete
$systemInfoContent .= 'Display Errors: '.(ini_get('display_errors') ? 'On ('.ini_get('display_errors').')' : 'N/A')."\n";
[1818] Fix | Delete
[1819] Fix | Delete
// PHP extensions and such
[1820] Fix | Delete
$systemInfoContent .= "\n".'-- PHP Extensions'."\n\n";
[1821] Fix | Delete
$systemInfoContent .= 'cURL: '.(function_exists('curl_init') ? 'Supported' : 'Not Supported')."\n";
[1822] Fix | Delete
$systemInfoContent .= 'fsockopen: '.(function_exists('fsockopen') ? 'Supported' : 'Not Supported')."\n";
[1823] Fix | Delete
$systemInfoContent .= 'SOAP Client: '.(class_exists('SoapClient') ? 'Installed' : 'Not Installed')."\n";
[1824] Fix | Delete
$systemInfoContent .= 'Suhosin: '.(extension_loaded('suhosin') ? 'Installed' : 'Not Installed')."\n";
[1825] Fix | Delete
[1826] Fix | Delete
// Session stuff
[1827] Fix | Delete
$systemInfoContent .= "\n".'-- Session Configuration'."\n\n";
[1828] Fix | Delete
$systemInfoContent .= 'Session: '.(isset($_SESSION ) ? 'Enabled' : 'Disabled')."\n";
[1829] Fix | Delete
[1830] Fix | Delete
// The rest of this is only relevant is session is enabled
[1831] Fix | Delete
if (isset($_SESSION)) {
[1832] Fix | Delete
$systemInfoContent .= 'Session Name: '.esc_html( ini_get('session.name'))."\n";
[1833] Fix | Delete
$systemInfoContent .= 'Cookie Path: '.esc_html( ini_get('session.cookie_path'))."\n";
[1834] Fix | Delete
$systemInfoContent .= 'Save Path: '.esc_html( ini_get('session.save_path'))."\n";
[1835] Fix | Delete
$systemInfoContent .= 'Use Cookies: '.(ini_get('session.use_cookies') ? 'On' : 'Off')."\n";
[1836] Fix | Delete
$systemInfoContent .= 'Use Only Cookies: '.(ini_get('session.use_only_cookies') ? 'On' : 'Off')."\n";
[1837] Fix | Delete
}
[1838] Fix | Delete
$systemInfoContent = apply_filters('sgpbSystemInformation', $systemInfoContent);
[1839] Fix | Delete
[1840] Fix | Delete
$systemInfoContent .= "\n".'### End System Info ###';
[1841] Fix | Delete
[1842] Fix | Delete
return $systemInfoContent;
[1843] Fix | Delete
}
[1844] Fix | Delete
[1845] Fix | Delete
public static function getHost()
[1846] Fix | Delete
{
[1847] Fix | Delete
if (defined('WPE_APIKEY')) {
[1848] Fix | Delete
return 'WP Engine';
[1849] Fix | Delete
}
[1850] Fix | Delete
else if (defined('PAGELYBIN')) {
[1851] Fix | Delete
return 'Pagely';
[1852] Fix | Delete
}
[1853] Fix | Delete
else if (DB_HOST == 'localhost:/tmp/mysql5.sock') {
[1854] Fix | Delete
return 'ICDSoft';
[1855] Fix | Delete
}
[1856] Fix | Delete
else if (DB_HOST == 'mysqlv5') {
[1857] Fix | Delete
return 'NetworkSolutions';
[1858] Fix | Delete
}
[1859] Fix | Delete
else if (strpos(DB_HOST, 'ipagemysql.com') !== false) {
[1860] Fix | Delete
return 'iPage';
[1861] Fix | Delete
}
[1862] Fix | Delete
else if (strpos(DB_HOST, 'ipowermysql.com') !== false) {
[1863] Fix | Delete
return 'IPower';
[1864] Fix | Delete
}
[1865] Fix | Delete
else if (strpos(DB_HOST, '.gridserver.com') !== false) {
[1866] Fix | Delete
return 'MediaTemple Grid';
[1867] Fix | Delete
}
[1868] Fix | Delete
else if (strpos(DB_HOST, '.pair.com') !== false) {
[1869] Fix | Delete
return 'pair Networks';
[1870] Fix | Delete
}
[1871] Fix | Delete
else if (strpos(DB_HOST, '.stabletransit.com') !== false) {
[1872] Fix | Delete
return 'Rackspace Cloud';
[1873] Fix | Delete
}
[1874] Fix | Delete
else if (strpos(DB_HOST, '.sysfix.eu') !== false) {
[1875] Fix | Delete
return 'SysFix.eu Power Hosting';
[1876] Fix | Delete
}
[1877] Fix | Delete
else if (isset($_SERVER['SERVER_NAME']) && strpos($_SERVER['SERVER_NAME'], 'Flywheel') !== false) {
[1878] Fix | Delete
return 'Flywheel';
[1879] Fix | Delete
}
[1880] Fix | Delete
else {
[1881] Fix | Delete
// Adding a general fallback for data gathering
[1882] Fix | Delete
$servername = isset($_SERVER['SERVER_NAME']) ? sanitize_text_field($_SERVER['SERVER_NAME']) : '';
[1883] Fix | Delete
return 'DBH: '.DB_HOST.', SRV: '.$servername;
[1884] Fix | Delete
}
[1885] Fix | Delete
}
[1886] Fix | Delete
[1887] Fix | Delete
public static function getBrowser()
[1888] Fix | Delete
{
[1889] Fix | Delete
[1890] Fix | Delete
$uAgent = isset( $_SERVER['HTTP_USER_AGENT'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) ) : 'Unknown';
[1891] Fix | Delete
$bname = $platform = $ub = $version = 'Unknown';
[1892] Fix | Delete
$browserInfoContent = '';
[1893] Fix | Delete
[1894] Fix | Delete
//First get the platform?
[1895] Fix | Delete
if (preg_match('/linux/i', $uAgent)) {
[1896] Fix | Delete
$platform = 'Linux';
[1897] Fix | Delete
}
[1898] Fix | Delete
else if (preg_match('/macintosh|mac os x/i', $uAgent)) {
[1899] Fix | Delete
$platform = 'Apple';
[1900] Fix | Delete
}
[1901] Fix | Delete
else if (preg_match('/windows|win32/i', $uAgent)) {
[1902] Fix | Delete
$platform = 'Windows';
[1903] Fix | Delete
}
[1904] Fix | Delete
[1905] Fix | Delete
if (preg_match('/MSIE/i',$uAgent) && !preg_match('/Opera/i',$uAgent)) {
[1906] Fix | Delete
$bname = 'Internet Explorer';
[1907] Fix | Delete
$ub = 'MSIE';
[1908] Fix | Delete
}
[1909] Fix | Delete
else if (preg_match('/Firefox/i',$uAgent)) {
[1910] Fix | Delete
$bname = 'Mozilla Firefox';
[1911] Fix | Delete
$ub = 'Firefox';
[1912] Fix | Delete
}
[1913] Fix | Delete
else if (preg_match('/OPR/i',$uAgent)) {
[1914] Fix | Delete
$bname = 'Opera';
[1915] Fix | Delete
$ub = 'Opera';
[1916] Fix | Delete
}
[1917] Fix | Delete
else if (preg_match('/Chrome/i',$uAgent) && !preg_match('/Edge/i',$uAgent)) {
[1918] Fix | Delete
$bname = 'Google Chrome';
[1919] Fix | Delete
$ub = 'Chrome';
[1920] Fix | Delete
}
[1921] Fix | Delete
else if (preg_match('/Safari/i',$uAgent) && !preg_match('/Edge/i',$uAgent)) {
[1922] Fix | Delete
$bname = 'Apple Safari';
[1923] Fix | Delete
$ub = 'Safari';
[1924] Fix | Delete
}
[1925] Fix | Delete
else if (preg_match('/Netscape/i',$uAgent)) {
[1926] Fix | Delete
$bname = 'Netscape';
[1927] Fix | Delete
$ub = 'Netscape';
[1928] Fix | Delete
}
[1929] Fix | Delete
else if (preg_match('/Edge/i',$uAgent)) {
[1930] Fix | Delete
$bname = 'Edge';
[1931] Fix | Delete
$ub = 'Edge';
[1932] Fix | Delete
}
[1933] Fix | Delete
else if (preg_match('/Trident/i',$uAgent)) {
[1934] Fix | Delete
$bname = 'Internet Explorer';
[1935] Fix | Delete
$ub = 'MSIE';
[1936] Fix | Delete
}
[1937] Fix | Delete
[1938] Fix | Delete
// finally get the correct version number
[1939] Fix | Delete
$known = array('Version', $ub, 'other');
[1940] Fix | Delete
$pattern = '#(?<browser>'.implode('|', $known).')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
[1941] Fix | Delete
$matches = array();
[1942] Fix | Delete
preg_match_all($pattern, $uAgent, $matches);
[1943] Fix | Delete
[1944] Fix | Delete
// see how many we have
[1945] Fix | Delete
$i = count($matches['browser']);
[1946] Fix | Delete
//we will have two since we are not using 'other' argument yet
[1947] Fix | Delete
if ($i != 1) {
[1948] Fix | Delete
//see if version is before or after the name
[1949] Fix | Delete
if (strripos($uAgent,"Version") < strripos($uAgent,$ub)) {
[1950] Fix | Delete
$version= $matches['version'][0];
[1951] Fix | Delete
}
[1952] Fix | Delete
else {
[1953] Fix | Delete
$version= $matches['version'][1];
[1954] Fix | Delete
}
[1955] Fix | Delete
}
[1956] Fix | Delete
else {
[1957] Fix | Delete
$version= $matches['version'][0];
[1958] Fix | Delete
}
[1959] Fix | Delete
[1960] Fix | Delete
// check if we have a number
[1961] Fix | Delete
if ($version == null || $version == "") {$version = "?" ;}
[1962] Fix | Delete
[1963] Fix | Delete
$browserInfoContent .= 'Platform: '.$platform."\n";
[1964] Fix | Delete
$browserInfoContent .= 'Browser Name: '.$bname."\n";
[1965] Fix | Delete
$browserInfoContent .= 'Browser Version: '.$version."\n";
[1966] Fix | Delete
$browserInfoContent .= 'User Agent: '.$uAgent."\n";
[1967] Fix | Delete
[1968] Fix | Delete
return $browserInfoContent;
[1969] Fix | Delete
}
[1970] Fix | Delete
[1971] Fix | Delete
// checking user roles capability to do actions
[1972] Fix | Delete
public static function userCanAccessTo()
[1973] Fix | Delete
{
[1974] Fix | Delete
[1975] Fix | Delete
$allow = false;
[1976] Fix | Delete
[1977] Fix | Delete
$savedUserRolesInPopup = self::getPopupPostAllowedUserRoles();
[1978] Fix | Delete
$currentUserRole = self::getCurrentUserRole();
[1979] Fix | Delete
[1980] Fix | Delete
// we need to check if there are any intersections between saved user roles and current user
[1981] Fix | Delete
$hasIntersection = array_intersect($currentUserRole, $savedUserRolesInPopup);
[1982] Fix | Delete
if (!empty($hasIntersection)) {
[1983] Fix | Delete
$allow = true;
[1984] Fix | Delete
}
[1985] Fix | Delete
[1986] Fix | Delete
return $allow;
[1987] Fix | Delete
}
[1988] Fix | Delete
[1989] Fix | Delete
public static function filterUserCapabilitiesForTheUserRoles($hook = 'save')
[1990] Fix | Delete
{
[1991] Fix | Delete
global $wp_roles;
[1992] Fix | Delete
[1993] Fix | Delete
$allAvailableWpRoles = $wp_roles->roles;
[1994] Fix | Delete
$savedUserRoles = get_option('sgpb-user-roles');
[1995] Fix | Delete
// we need to remove from all roles, either when deactivating the plugin and when there is no saved roles
[1996] Fix | Delete
if (empty($savedUserRoles) || $hook == 'deactivate') {
[1997] Fix | Delete
$savedUserRoles = array();
[1998] Fix | Delete
}
[1999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function