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/wp-conte.../plugins/popup-bu.../com/classes/popups
File: SGPopup.php
{
[1500] Fix | Delete
return false;
[1501] Fix | Delete
}
[1502] Fix | Delete
[1503] Fix | Delete
/**
[1504] Fix | Delete
* Remove popup option from admin view by option name
[1505] Fix | Delete
*
[1506] Fix | Delete
* @since 1.0.0
[1507] Fix | Delete
*
[1508] Fix | Delete
* @return array $removedOptions
[1509] Fix | Delete
*
[1510] Fix | Delete
*/
[1511] Fix | Delete
public function getRemoveOptions()
[1512] Fix | Delete
{
[1513] Fix | Delete
$removeOptions = array();
[1514] Fix | Delete
[1515] Fix | Delete
return apply_filters('sgpbRemoveOptions', $removeOptions);
[1516] Fix | Delete
}
[1517] Fix | Delete
[1518] Fix | Delete
public static function createPopupTypeObjById($popupId)
[1519] Fix | Delete
{
[1520] Fix | Delete
global $SGPB_POPUP_TYPES;
[1521] Fix | Delete
$typePath = '';
[1522] Fix | Delete
$popupOptionsData = SGPopup::getPopupOptionsById($popupId);
[1523] Fix | Delete
if (empty($popupOptionsData)) {
[1524] Fix | Delete
return false;
[1525] Fix | Delete
}
[1526] Fix | Delete
$popupType = $popupOptionsData['sgpb-type'];
[1527] Fix | Delete
$popupName = ucfirst(strtolower($popupType));
[1528] Fix | Delete
$popupClassName = $popupName.'Popup';
[1529] Fix | Delete
[1530] Fix | Delete
if (!empty($SGPB_POPUP_TYPES['typePath'][$popupType])) {
[1531] Fix | Delete
$typePath = $SGPB_POPUP_TYPES['typePath'][$popupType];
[1532] Fix | Delete
}
[1533] Fix | Delete
[1534] Fix | Delete
if (!file_exists($typePath.$popupClassName.'.php')) {
[1535] Fix | Delete
wp_die(esc_html__('Popup class does not exist', 'popup-builder'));
[1536] Fix | Delete
}
[1537] Fix | Delete
require_once($typePath.$popupClassName.'.php');
[1538] Fix | Delete
[1539] Fix | Delete
$popupClassName = __NAMESPACE__.'\\'.$popupClassName;
[1540] Fix | Delete
$popupTypeObj = new $popupClassName();
[1541] Fix | Delete
$popupTypeObj->setId($popupId);
[1542] Fix | Delete
[1543] Fix | Delete
return $popupTypeObj;
[1544] Fix | Delete
}
[1545] Fix | Delete
[1546] Fix | Delete
/**
[1547] Fix | Delete
* if child class does not have this function we call parent function to not get any errors
[1548] Fix | Delete
*
[1549] Fix | Delete
* @since 1.0.0
[1550] Fix | Delete
*
[1551] Fix | Delete
* @return array
[1552] Fix | Delete
*
[1553] Fix | Delete
*/
[1554] Fix | Delete
public static function getTablesSql()
[1555] Fix | Delete
{
[1556] Fix | Delete
return array();
[1557] Fix | Delete
}
[1558] Fix | Delete
[1559] Fix | Delete
/**
[1560] Fix | Delete
* if child class does not have this function we call parent function to not get any errors
[1561] Fix | Delete
*
[1562] Fix | Delete
* @since 1.0.0
[1563] Fix | Delete
*
[1564] Fix | Delete
* @return array
[1565] Fix | Delete
*
[1566] Fix | Delete
*/
[1567] Fix | Delete
public static function getTableNames()
[1568] Fix | Delete
{
[1569] Fix | Delete
return array();
[1570] Fix | Delete
}
[1571] Fix | Delete
[1572] Fix | Delete
/**
[1573] Fix | Delete
*
[1574] Fix | Delete
* Get WordPress localization name
[1575] Fix | Delete
*
[1576] Fix | Delete
* @since 1.0.0
[1577] Fix | Delete
*
[1578] Fix | Delete
* @return string
[1579] Fix | Delete
*
[1580] Fix | Delete
*/
[1581] Fix | Delete
public function getSiteLocale()
[1582] Fix | Delete
{
[1583] Fix | Delete
$locale = get_bloginfo('language');
[1584] Fix | Delete
$locale = str_replace('-', '_', $locale);
[1585] Fix | Delete
[1586] Fix | Delete
return $locale;
[1587] Fix | Delete
}
[1588] Fix | Delete
[1589] Fix | Delete
public function addAdditionalSettings($postData = array(), $obj = null)
[1590] Fix | Delete
{
[1591] Fix | Delete
return array();
[1592] Fix | Delete
}
[1593] Fix | Delete
[1594] Fix | Delete
public function allowToLoad()
[1595] Fix | Delete
{
[1596] Fix | Delete
global $post;
[1597] Fix | Delete
[1598] Fix | Delete
$popupChecker = PopupChecker::instance();
[1599] Fix | Delete
$loadableModes = $popupChecker->isLoadable($this, $post);
[1600] Fix | Delete
$this->setLoadableModes($loadableModes);
[1601] Fix | Delete
[1602] Fix | Delete
return ($loadableModes['attr_event'] || $loadableModes['option_event']);
[1603] Fix | Delete
}
[1604] Fix | Delete
[1605] Fix | Delete
public function allowToLoadAJAX()
[1606] Fix | Delete
{
[1607] Fix | Delete
global $post;
[1608] Fix | Delete
[1609] Fix | Delete
$popupChecker = PopupChecker::instance();
[1610] Fix | Delete
$loadableModes = $popupChecker->isLoadable($this, $post, true);
[1611] Fix | Delete
$this->setLoadableModes($loadableModes);
[1612] Fix | Delete
[1613] Fix | Delete
return ($loadableModes['attr_event'] || $loadableModes['option_event']);
[1614] Fix | Delete
}
[1615] Fix | Delete
[1616] Fix | Delete
public static function getAllPopups($filters = array())
[1617] Fix | Delete
{
[1618] Fix | Delete
$args = array(
[1619] Fix | Delete
'post_type' => SG_POPUP_POST_TYPE
[1620] Fix | Delete
);
[1621] Fix | Delete
$allPopups = array();
[1622] Fix | Delete
$allPostData = SGPBConfigDataHelper::getQueryDataByArgs($args);
[1623] Fix | Delete
[1624] Fix | Delete
if (empty($allPostData)) {
[1625] Fix | Delete
return $allPopups;
[1626] Fix | Delete
}
[1627] Fix | Delete
[1628] Fix | Delete
foreach ($allPostData->posts as $postData) {
[1629] Fix | Delete
if (empty($postData)) {
[1630] Fix | Delete
continue;
[1631] Fix | Delete
}
[1632] Fix | Delete
[1633] Fix | Delete
$popup = self::find($postData->ID, $args);
[1634] Fix | Delete
if (empty($popup) || !($popup instanceof SGPopup)) {
[1635] Fix | Delete
continue;
[1636] Fix | Delete
}
[1637] Fix | Delete
$type = $popup->getType();
[1638] Fix | Delete
[1639] Fix | Delete
if (isset($filters['type'])) {
[1640] Fix | Delete
if (is_array($filters['type'])) {
[1641] Fix | Delete
if (!in_array($type, $filters['type'])) {
[1642] Fix | Delete
continue;
[1643] Fix | Delete
}
[1644] Fix | Delete
}
[1645] Fix | Delete
else if ($type != $filters['type']) {
[1646] Fix | Delete
continue;
[1647] Fix | Delete
}
[1648] Fix | Delete
}
[1649] Fix | Delete
$allPopups[] = $popup;
[1650] Fix | Delete
}
[1651] Fix | Delete
[1652] Fix | Delete
return $allPopups;
[1653] Fix | Delete
}
[1654] Fix | Delete
[1655] Fix | Delete
public function getPopupsIdAndTitle()
[1656] Fix | Delete
{
[1657] Fix | Delete
$allPopups = SGPopup::getAllPopups();
[1658] Fix | Delete
$popupIdTitles = array();
[1659] Fix | Delete
[1660] Fix | Delete
if (empty($allPopups)) {
[1661] Fix | Delete
return $popupIdTitles;
[1662] Fix | Delete
}
[1663] Fix | Delete
$currentPopupId = $this->getId();
[1664] Fix | Delete
[1665] Fix | Delete
foreach ($allPopups as $popup) {
[1666] Fix | Delete
if (empty($popup)) {
[1667] Fix | Delete
continue;
[1668] Fix | Delete
}
[1669] Fix | Delete
$id = $popup->getId();
[1670] Fix | Delete
[1671] Fix | Delete
if ($id == $currentPopupId) {
[1672] Fix | Delete
continue;
[1673] Fix | Delete
}
[1674] Fix | Delete
[1675] Fix | Delete
$title = $popup->getTitle();
[1676] Fix | Delete
$type = $popup->getType();
[1677] Fix | Delete
[1678] Fix | Delete
$popupIdTitles[$id] = $title.' - '.$type;
[1679] Fix | Delete
}
[1680] Fix | Delete
[1681] Fix | Delete
return $popupIdTitles;
[1682] Fix | Delete
}
[1683] Fix | Delete
[1684] Fix | Delete
public function getSubPopupObj()
[1685] Fix | Delete
{
[1686] Fix | Delete
$subPopups = array();
[1687] Fix | Delete
$options = $this->getOptions();
[1688] Fix | Delete
[1689] Fix | Delete
$specialBehaviors = isset($options['sgpb-behavior-after-special-events']) ? $options['sgpb-behavior-after-special-events'] : '';
[1690] Fix | Delete
if (!empty($specialBehaviors) && is_array($specialBehaviors)) {
[1691] Fix | Delete
foreach ($specialBehaviors as $behavior) {
[1692] Fix | Delete
foreach ($behavior as $row) {
[1693] Fix | Delete
if (!empty($row['param']) && $row['param'] == SGPB_CONTACT_FORM_7_BEHAVIOR_KEY) {
[1694] Fix | Delete
if (!empty($row['operator']) && $row['operator'] == 'open-popup') {
[1695] Fix | Delete
if (!empty($row['value'])) {
[1696] Fix | Delete
$popupId = key($row['value']);
[1697] Fix | Delete
$subPopupObj = self::find((int)$popupId);
[1698] Fix | Delete
if (!empty($subPopupObj) && ($subPopupObj instanceof SGPopup)) {
[1699] Fix | Delete
$subPopupObj->setEvents(array('param' => 'click', 'value' => ''));
[1700] Fix | Delete
$subPopups[] = $subPopupObj;
[1701] Fix | Delete
}
[1702] Fix | Delete
}
[1703] Fix | Delete
}
[1704] Fix | Delete
}
[1705] Fix | Delete
}
[1706] Fix | Delete
}
[1707] Fix | Delete
}
[1708] Fix | Delete
[1709] Fix | Delete
return $subPopups;
[1710] Fix | Delete
}
[1711] Fix | Delete
[1712] Fix | Delete
public static function doInsideShortcode($insideShortcode)
[1713] Fix | Delete
{
[1714] Fix | Delete
return do_shortcode($insideShortcode);
[1715] Fix | Delete
}
[1716] Fix | Delete
[1717] Fix | Delete
public function popupShortcodesInsidePopup()
[1718] Fix | Delete
{
[1719] Fix | Delete
$popups = array();
[1720] Fix | Delete
$args = array('insidePopup' => 'on');
[1721] Fix | Delete
$popupContent = $this->getContent();
[1722] Fix | Delete
$parentTarget = $this->getTarget();
[1723] Fix | Delete
$insidePopupShortcodes = self::collectInsidePopupShortcodes($popupContent);
[1724] Fix | Delete
if (empty($insidePopupShortcodes)) {
[1725] Fix | Delete
return $popups;
[1726] Fix | Delete
}
[1727] Fix | Delete
foreach ($insidePopupShortcodes as $insidePopupId => $insidePopupShortcode) {
[1728] Fix | Delete
$insidePopupId = (int)$insidePopupId;
[1729] Fix | Delete
if (!$insidePopupId) {
[1730] Fix | Delete
continue;
[1731] Fix | Delete
}
[1732] Fix | Delete
// true = find inside popup
[1733] Fix | Delete
$insidePopup = self::find($insidePopupId, $args);
[1734] Fix | Delete
if (empty($insidePopup) || $insidePopup == 'trash' || $insidePopup == 'inherit') {
[1735] Fix | Delete
continue;
[1736] Fix | Delete
}
[1737] Fix | Delete
$events = array('insideclick');
[1738] Fix | Delete
$insidePopup->setEvents($events);
[1739] Fix | Delete
$popups[$insidePopupId] = $insidePopup;
[1740] Fix | Delete
}
[1741] Fix | Delete
[1742] Fix | Delete
$popupContent = self::doInsideShortcode($popupContent);
[1743] Fix | Delete
$this->setContent($popupContent);
[1744] Fix | Delete
[1745] Fix | Delete
return $popups;
[1746] Fix | Delete
}
[1747] Fix | Delete
[1748] Fix | Delete
public function getPopupOpeningCountById($popupId)
[1749] Fix | Delete
{
[1750] Fix | Delete
global $wpdb;
[1751] Fix | Delete
[1752] Fix | Delete
$allCount = 0;
[1753] Fix | Delete
$popupsCounterData = get_option('SgpbCounter');
[1754] Fix | Delete
$popupCountFromAnalyticsData = 0;
[1755] Fix | Delete
$tableName = $wpdb->prefix.'sgpb_analytics';
[1756] Fix | Delete
if ($wpdb->get_var("SHOW TABLES LIKE '$tableName'") == $tableName) {
[1757] Fix | Delete
$popupCountFromAnalyticsData = self::getAnalyticsDataByPopupId($popupId);
[1758] Fix | Delete
}
[1759] Fix | Delete
if (isset($popupsCounterData[$popupId])) {
[1760] Fix | Delete
$allCount += $popupsCounterData[$popupId];
[1761] Fix | Delete
}
[1762] Fix | Delete
$allCount += $popupCountFromAnalyticsData;
[1763] Fix | Delete
[1764] Fix | Delete
return $allCount;
[1765] Fix | Delete
}
[1766] Fix | Delete
[1767] Fix | Delete
public static function getAnalyticsDataByPopupId($popupId)
[1768] Fix | Delete
{
[1769] Fix | Delete
global $wpdb;
[1770] Fix | Delete
// 7, 12, 13 => exclude close, subscription success, contact success events
[1771] Fix | Delete
$tableName_sgpb_analytics = $wpdb->prefix.'sgpb_analytics';
[1772] Fix | Delete
$popupAnalyticsData = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(*) FROM $tableName_sgpb_analytics WHERE target_id = %d AND event_id NOT IN (7, 12, 13)", $popupId) );
[1773] Fix | Delete
return $popupAnalyticsData;
[1774] Fix | Delete
}
[1775] Fix | Delete
[1776] Fix | Delete
public static function deleteAnalyticsDataByPopupId($popupId)
[1777] Fix | Delete
{
[1778] Fix | Delete
global $wpdb;
[1779] Fix | Delete
$tableName_sgpb_analytics = $wpdb->prefix.'sgpb_analytics';
[1780] Fix | Delete
$wpdb->query( $wpdb->prepare("DELETE FROM $tableName_sgpb_analytics WHERE target_id = %d AND event_id NOT IN (7, 12, 13) LIMIT 100", $popupId) );
[1781] Fix | Delete
}
[1782] Fix | Delete
[1783] Fix | Delete
public static function getActivePopupsQueryString()
[1784] Fix | Delete
{
[1785] Fix | Delete
$activePopupsQuery = '';
[1786] Fix | Delete
$args = array(
[1787] Fix | Delete
'post_type' => SG_POPUP_POST_TYPE,
[1788] Fix | Delete
'post_status' => array('trash', 'publish')
[1789] Fix | Delete
);
[1790] Fix | Delete
if (!class_exists('SGPBConfigDataHelper')) {
[1791] Fix | Delete
return $activePopupsQuery;
[1792] Fix | Delete
}
[1793] Fix | Delete
$allPostData = SGPBConfigDataHelper::getQueryDataByArgs($args);
[1794] Fix | Delete
$args['checkActivePopupType'] = true;
[1795] Fix | Delete
$allPopups = $allPostData->posts;
[1796] Fix | Delete
foreach ($allPopups as $post) {
[1797] Fix | Delete
$id = $post->ID;
[1798] Fix | Delete
$popup = self::find($id, $args);
[1799] Fix | Delete
if (empty($popup)) {
[1800] Fix | Delete
$activePopupsQuery .= $id.', ';
[1801] Fix | Delete
}
[1802] Fix | Delete
}
[1803] Fix | Delete
if ($activePopupsQuery != '') {
[1804] Fix | Delete
$activePopupsQuery = ' AND ID NOT IN ('.$activePopupsQuery.')';
[1805] Fix | Delete
$activePopupsQuery = str_replace(', )', ') ', $activePopupsQuery);
[1806] Fix | Delete
}
[1807] Fix | Delete
[1808] Fix | Delete
return $activePopupsQuery;
[1809] Fix | Delete
}
[1810] Fix | Delete
[1811] Fix | Delete
public function isActive()
[1812] Fix | Delete
{
[1813] Fix | Delete
return $this->getOptionValue('sgpb-is-active', true);
[1814] Fix | Delete
}
[1815] Fix | Delete
}
[1816] Fix | Delete
[1817] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function