Code Duplication    Length = 56-56 lines in 2 locations

class/utility.php 2 locations

@@ 1553-1608 (lines=56) @@
1550
     *
1551
     * @return null|string
1552
     */
1553
    public static function getBannerFromIdBanner($banner_id)
1554
    {
1555
        ###### Hack by www.stefanosilvestrini.com ######
1556
        global $xoopsConfig;
1557
        $db      = XoopsDatabaseFactory::getDatabaseConnection();
1558
        $bresult = $db->query('SELECT COUNT(*) FROM ' . $db->prefix('banner') . ' WHERE bid=' . $banner_id);
1559
        list($numrows) = $db->fetchRow($bresult);
1560
        if ($numrows > 1) {
1561
            --$numrows;
1562
            mt_srand((double)microtime() * 1000000);
1563
            $bannum = mt_rand(0, $numrows);
1564
        } else {
1565
            $bannum = 0;
1566
        }
1567
        if ($numrows > 0) {
1568
            $bresult = $db->query('SELECT * FROM ' . $db->prefix('banner') . ' WHERE bid=' . $banner_id, 1, $bannum);
1569
            list($bid, $cid, $imptotal, $impmade, $clicks, $imageurl, $clickurl, $date, $htmlbanner, $htmlcode) = $db->fetchRow($bresult);
1570
            if ($xoopsConfig['my_ip'] == xoops_getenv('REMOTE_ADDR')) {
1571
                // EMPTY
1572
            } else {
1573
                $db->queryF(sprintf('UPDATE %s SET impmade = impmade+1 WHERE bid = %u', $db->prefix('banner'), $bid));
1574
            }
1575
            /* Check if this impression is the last one and print the banner */
1576
            if ($imptotal == $impmade) {
1577
                $newid = $db->genId($db->prefix('bannerfinish') . '_bid_seq');
1578
                $sql   = sprintf('INSERT INTO %s (bid, cid, impressions, clicks, datestart, dateend) VALUES (%u, %u, %u, %u, %u, %u)', $db->prefix('bannerfinish'), $newid, $cid, $impmade, $clicks, $date, time());
1579
                $db->queryF($sql);
1580
                $db->queryF(sprintf('DELETE FROM %s WHERE bid = %u', $db->prefix('banner'), $bid));
1581
            }
1582
            if ($htmlbanner) {
1583
                $bannerobject = $htmlcode;
1584
            } else {
1585
                $bannerobject = '<div align="center"><a href="' . XOOPS_URL . '/banners.php?op=click&bid=' . $bid . '" target="_blank">';
1586
                if (stristr($imageurl, '.swf')) {
1587
                    $bannerobject = $bannerobject
1588
                                    . '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="468" height="60">'
1589
                                    . '<param name="movie" value="'
1590
                                    . $imageurl
1591
                                    . '"></param>'
1592
                                    . '<param name="quality" value="high"></param>'
1593
                                    . '<embed src="'
1594
                                    . $imageurl
1595
                                    . '" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="468" height="60">'
1596
                                    . '</embed>'
1597
                                    . '</object>';
1598
                } else {
1599
                    $bannerobject = $bannerobject . '<img src="' . $imageurl . '" alt="">';
1600
                }
1601
                $bannerobject .= '</a></div>';
1602
            }
1603
1604
            return $bannerobject;
1605
        }
1606
1607
        return null;
1608
    }
1609
1610
    /**
1611
     * @param $client_id
@@ 1615-1670 (lines=56) @@
1612
     *
1613
     * @return string
1614
     */
1615
    public static function getBannerFromIdClient($client_id)
1616
    {
1617
        ###### Hack by www.stefanosilvestrini.com ######
1618
        global $xoopsConfig;
1619
        $db      = XoopsDatabaseFactory::getDatabaseConnection();
1620
        $bresult = $db->query('SELECT COUNT(*) FROM ' . $db->prefix('banner') . ' WHERE cid=' . $client_id);
1621
        list($numrows) = $db->fetchRow($bresult);
1622
        if ($numrows > 1) {
1623
            --$numrows;
1624
            mt_srand((double)microtime() * 1000000);
1625
            $bannum = mt_rand(0, $numrows);
1626
        } else {
1627
            $bannum = 0;
1628
        }
1629
        if ($numrows > 0) {
1630
            $bresult = $db->query('SELECT * FROM ' . $db->prefix('banner') . ' WHERE cid=' . $client_id . ' ORDER BY rand()', 1, $bannum);
1631
            list($bid, $cid, $imptotal, $impmade, $clicks, $imageurl, $clickurl, $date, $htmlbanner, $htmlcode) = $db->fetchRow($bresult);
1632
            if ($xoopsConfig['my_ip'] == xoops_getenv('REMOTE_ADDR')) {
1633
                // EMPTY
1634
            } else {
1635
                $db->queryF(sprintf('UPDATE %s SET impmade = impmade+1 WHERE bid = %u', $db->prefix('banner'), $bid));
1636
            }
1637
            /* Check if this impression is the last one and print the banner */
1638
            if ($imptotal == $impmade) {
1639
                $newid = $db->genId($db->prefix('bannerfinish') . '_bid_seq');
1640
                $sql   = sprintf('INSERT INTO %s (bid, cid, impressions, clicks, datestart, dateend) VALUES (%u, %u, %u, %u, %u, %u)', $db->prefix('bannerfinish'), $newid, $cid, $impmade, $clicks, $date, time());
1641
                $db->queryF($sql);
1642
                $db->queryF(sprintf('DELETE FROM %s WHERE bid = %u', $db->prefix('banner'), $bid));
1643
            }
1644
            if ($htmlbanner) {
1645
                $bannerobject = $htmlcode;
1646
            } else {
1647
                $bannerobject = '<div align="center"><a href="' . XOOPS_URL . '/banners.php?op=click&bid=' . $bid . '" target="_blank">';
1648
                if (stristr($imageurl, '.swf')) {
1649
                    $bannerobject = $bannerobject
1650
                                    . '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="468" height="60">'
1651
                                    . '<param name="movie" value="'
1652
                                    . $imageurl
1653
                                    . '"></param>'
1654
                                    . '<param name="quality" value="high"></param>'
1655
                                    . '<embed src="'
1656
                                    . $imageurl
1657
                                    . '" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="468" height="60">'
1658
                                    . '</embed>'
1659
                                    . '</object>';
1660
                } else {
1661
                    $bannerobject = $bannerobject . '<img src="' . $imageurl . '" alt="">';
1662
                }
1663
                $bannerobject .= '</a></div>';
1664
            }
1665
1666
            return $bannerobject;
1667
        }
1668
1669
        return null;
1670
    }
1671
1672
    /**
1673
     * @param $email