@@ 3127-3177 (lines=51) @@ | ||
3124 | * |
|
3125 | * @return null|string |
|
3126 | */ |
|
3127 | public static function xtubeGetBannerFromBannerId($banner_id) |
|
3128 | { |
|
3129 | ###### Hack by www.stefanosilvestrini.com ###### |
|
3130 | $db = XoopsDatabaseFactory::getDatabaseConnection(); |
|
3131 | $bresult = $db->query('SELECT COUNT(*) FROM ' . $db->prefix('banner') . ' WHERE bid=' . $banner_id); |
|
3132 | list($numrows) = $db->fetchRow($bresult); |
|
3133 | if ($numrows > 1) { |
|
3134 | --$numrows; |
|
3135 | mt_srand((double)microtime() * 1000000); |
|
3136 | $bannum = mt_rand(0, $numrows); |
|
3137 | } else { |
|
3138 | $bannum = 0; |
|
3139 | } |
|
3140 | if ($numrows > 0) { |
|
3141 | $bresult = $db->query('SELECT * FROM ' . $db->prefix('banner') . ' WHERE bid=' . $banner_id, 1, $bannum); |
|
3142 | list($bid, $cid, $imptotal, $impmade, $clicks, $imageurl, $clickurl, $date, $htmlbanner, $htmlcode) = $db->fetchRow($bresult); |
|
3143 | if ($GLOBALS['xoopsConfig']['my_ip'] == xoops_getenv('REMOTE_ADDR')) { |
|
3144 | // EMPTY |
|
3145 | } else { |
|
3146 | $db->queryF(sprintf('UPDATE %s SET impmade = impmade+1 WHERE bid = %u', $db->prefix('banner'), $bid)); |
|
3147 | } |
|
3148 | /* Check if this impression is the last one and print the banner */ |
|
3149 | if ($imptotal == $impmade) { |
|
3150 | $newid = $db->genId($db->prefix('bannerfinish') . '_bid_seq'); |
|
3151 | $sql = |
|
3152 | 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, |
|
3153 | time()); |
|
3154 | $db->queryF($sql); |
|
3155 | $db->queryF(sprintf('DELETE FROM %s WHERE bid = %u', $db->prefix('banner'), $bid)); |
|
3156 | } |
|
3157 | if ($htmlbanner) { |
|
3158 | $bannerobject = $htmlcode; |
|
3159 | } else { |
|
3160 | $bannerobject = '<div align="center"><a href="' . XOOPS_URL . '/banners.php?op=click&bid=' . $bid . '" target="_blank">'; |
|
3161 | if (false !== stripos($imageurl, '.swf')) { |
|
3162 | $bannerobject = $bannerobject |
|
3163 | . '<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">' |
|
3164 | . '<param name="movie" value="' . $imageurl . '"></param>' . '<param name="quality" value="high"></param>' . '<embed src="' . $imageurl |
|
3165 | . '" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="468" height="60">' |
|
3166 | . '</embed>' . '</object>'; |
|
3167 | } else { |
|
3168 | $bannerobject = $bannerobject . '<img src="' . $imageurl . '" alt="" />'; |
|
3169 | } |
|
3170 | $bannerobject .= '</a></div>'; |
|
3171 | } |
|
3172 | ||
3173 | return $bannerobject; |
|
3174 | } |
|
3175 | ||
3176 | return null; |
|
3177 | } |
|
3178 | ||
3179 | /** |
|
3180 | * @param $client_id |
|
@@ 3184-3234 (lines=51) @@ | ||
3181 | * |
|
3182 | * @return null|string |
|
3183 | */ |
|
3184 | public static function xtubeGetBannerFromClientId($client_id) |
|
3185 | { |
|
3186 | ###### Hack by www.stefanosilvestrini.com ###### |
|
3187 | $db = XoopsDatabaseFactory::getDatabaseConnection(); |
|
3188 | $bresult = $db->query('SELECT COUNT(*) FROM ' . $db->prefix('banner') . ' WHERE cid=' . $client_id); |
|
3189 | list($numrows) = $db->fetchRow($bresult); |
|
3190 | if ($numrows > 1) { |
|
3191 | --$numrows; |
|
3192 | mt_srand((double)microtime() * 1000000); |
|
3193 | $bannum = mt_rand(0, $numrows); |
|
3194 | } else { |
|
3195 | $bannum = 0; |
|
3196 | } |
|
3197 | if ($numrows > 0) { |
|
3198 | $bresult = $db->query('SELECT * FROM ' . $db->prefix('banner') . ' WHERE cid=' . $client_id . ' ORDER BY rand()', 1, $bannum); |
|
3199 | list($bid, $cid, $imptotal, $impmade, $clicks, $imageurl, $clickurl, $date, $htmlbanner, $htmlcode) = $db->fetchRow($bresult); |
|
3200 | if ($GLOBALS['xoopsConfig']['my_ip'] == xoops_getenv('REMOTE_ADDR')) { |
|
3201 | // EMPTY |
|
3202 | } else { |
|
3203 | $db->queryF(sprintf('UPDATE %s SET impmade = impmade+1 WHERE bid = %u', $db->prefix('banner'), $bid)); |
|
3204 | } |
|
3205 | /* Check if this impression is the last one and print the banner */ |
|
3206 | if ($imptotal == $impmade) { |
|
3207 | $newid = $db->genId($db->prefix('bannerfinish') . '_bid_seq'); |
|
3208 | $sql = |
|
3209 | 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, |
|
3210 | time()); |
|
3211 | $db->queryF($sql); |
|
3212 | $db->queryF(sprintf('DELETE FROM %s WHERE bid = %u', $db->prefix('banner'), $bid)); |
|
3213 | } |
|
3214 | if ($htmlbanner) { |
|
3215 | $bannerobject = $htmlcode; |
|
3216 | } else { |
|
3217 | $bannerobject = '<div align="center"><a href="' . XOOPS_URL . '/banners.php?op=click&bid=' . $bid . '" target="_blank">'; |
|
3218 | if (false !== stripos($imageurl, '.swf')) { |
|
3219 | $bannerobject = $bannerobject |
|
3220 | . '<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">' |
|
3221 | . '<param name="movie" value="' . $imageurl . '"></param>' . '<param name="quality" value="high"></param>' . '<embed src="' . $imageurl |
|
3222 | . '" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="468" height="60">' |
|
3223 | . '</embed>' . '</object>'; |
|
3224 | } else { |
|
3225 | $bannerobject = $bannerobject . '<img src="' . $imageurl . '" alt="" />'; |
|
3226 | } |
|
3227 | $bannerobject .= '</a></div>'; |
|
3228 | } |
|
3229 | ||
3230 | return $bannerobject; |
|
3231 | } |
|
3232 | ||
3233 | return null; |
|
3234 | } |
|
3235 | ||
3236 | /** |
|
3237 | * |