@@ 3166-3216 (lines=51) @@ | ||
3163 | * |
|
3164 | * @return null|string |
|
3165 | */ |
|
3166 | public static function xtubeGetBannerFromBannerId($banner_id) |
|
3167 | { |
|
3168 | ###### Hack by www.stefanosilvestrini.com ###### |
|
3169 | $db = XoopsDatabaseFactory::getDatabaseConnection(); |
|
3170 | $bresult = $db->query('SELECT COUNT(*) FROM ' . $db->prefix('banner') . ' WHERE bid=' . $banner_id); |
|
3171 | list($numrows) = $db->fetchRow($bresult); |
|
3172 | if ($numrows > 1) { |
|
3173 | --$numrows; |
|
3174 | mt_srand((double)microtime() * 1000000); |
|
3175 | $bannum = mt_rand(0, $numrows); |
|
3176 | } else { |
|
3177 | $bannum = 0; |
|
3178 | } |
|
3179 | if ($numrows > 0) { |
|
3180 | $bresult = $db->query('SELECT * FROM ' . $db->prefix('banner') . ' WHERE bid=' . $banner_id, 1, $bannum); |
|
3181 | list($bid, $cid, $imptotal, $impmade, $clicks, $imageurl, $clickurl, $date, $htmlbanner, $htmlcode) = $db->fetchRow($bresult); |
|
3182 | if ($GLOBALS['xoopsConfig']['my_ip'] == xoops_getenv('REMOTE_ADDR')) { |
|
3183 | // EMPTY |
|
3184 | } else { |
|
3185 | $db->queryF(sprintf('UPDATE %s SET impmade = impmade+1 WHERE bid = %u', $db->prefix('banner'), $bid)); |
|
3186 | } |
|
3187 | /* Check if this impression is the last one and print the banner */ |
|
3188 | if ($imptotal == $impmade) { |
|
3189 | $newid = $db->genId($db->prefix('bannerfinish') . '_bid_seq'); |
|
3190 | $sql = |
|
3191 | 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, |
|
3192 | time()); |
|
3193 | $db->queryF($sql); |
|
3194 | $db->queryF(sprintf('DELETE FROM %s WHERE bid = %u', $db->prefix('banner'), $bid)); |
|
3195 | } |
|
3196 | if ($htmlbanner) { |
|
3197 | $bannerobject = $htmlcode; |
|
3198 | } else { |
|
3199 | $bannerobject = '<div align="center"><a href="' . XOOPS_URL . '/banners.php?op=click&bid=' . $bid . '" target="_blank">'; |
|
3200 | if (false !== stripos($imageurl, '.swf')) { |
|
3201 | $bannerobject = $bannerobject |
|
3202 | . '<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">' |
|
3203 | . '<param name="movie" value="' . $imageurl . '"></param>' . '<param name="quality" value="high"></param>' . '<embed src="' . $imageurl |
|
3204 | . '" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="468" height="60">' |
|
3205 | . '</embed>' . '</object>'; |
|
3206 | } else { |
|
3207 | $bannerobject = $bannerobject . '<img src="' . $imageurl . '" alt="" />'; |
|
3208 | } |
|
3209 | $bannerobject .= '</a></div>'; |
|
3210 | } |
|
3211 | ||
3212 | return $bannerobject; |
|
3213 | } |
|
3214 | ||
3215 | return null; |
|
3216 | } |
|
3217 | ||
3218 | /** |
|
3219 | * @param $client_id |
|
@@ 3223-3273 (lines=51) @@ | ||
3220 | * |
|
3221 | * @return null|string |
|
3222 | */ |
|
3223 | public static function xtubeGetBannerFromClientId($client_id) |
|
3224 | { |
|
3225 | ###### Hack by www.stefanosilvestrini.com ###### |
|
3226 | $db = XoopsDatabaseFactory::getDatabaseConnection(); |
|
3227 | $bresult = $db->query('SELECT COUNT(*) FROM ' . $db->prefix('banner') . ' WHERE cid=' . $client_id); |
|
3228 | list($numrows) = $db->fetchRow($bresult); |
|
3229 | if ($numrows > 1) { |
|
3230 | --$numrows; |
|
3231 | mt_srand((double)microtime() * 1000000); |
|
3232 | $bannum = mt_rand(0, $numrows); |
|
3233 | } else { |
|
3234 | $bannum = 0; |
|
3235 | } |
|
3236 | if ($numrows > 0) { |
|
3237 | $bresult = $db->query('SELECT * FROM ' . $db->prefix('banner') . ' WHERE cid=' . $client_id . ' ORDER BY rand()', 1, $bannum); |
|
3238 | list($bid, $cid, $imptotal, $impmade, $clicks, $imageurl, $clickurl, $date, $htmlbanner, $htmlcode) = $db->fetchRow($bresult); |
|
3239 | if ($GLOBALS['xoopsConfig']['my_ip'] == xoops_getenv('REMOTE_ADDR')) { |
|
3240 | // EMPTY |
|
3241 | } else { |
|
3242 | $db->queryF(sprintf('UPDATE %s SET impmade = impmade+1 WHERE bid = %u', $db->prefix('banner'), $bid)); |
|
3243 | } |
|
3244 | /* Check if this impression is the last one and print the banner */ |
|
3245 | if ($imptotal == $impmade) { |
|
3246 | $newid = $db->genId($db->prefix('bannerfinish') . '_bid_seq'); |
|
3247 | $sql = |
|
3248 | 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, |
|
3249 | time()); |
|
3250 | $db->queryF($sql); |
|
3251 | $db->queryF(sprintf('DELETE FROM %s WHERE bid = %u', $db->prefix('banner'), $bid)); |
|
3252 | } |
|
3253 | if ($htmlbanner) { |
|
3254 | $bannerobject = $htmlcode; |
|
3255 | } else { |
|
3256 | $bannerobject = '<div align="center"><a href="' . XOOPS_URL . '/banners.php?op=click&bid=' . $bid . '" target="_blank">'; |
|
3257 | if (false !== stripos($imageurl, '.swf')) { |
|
3258 | $bannerobject = $bannerobject |
|
3259 | . '<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">' |
|
3260 | . '<param name="movie" value="' . $imageurl . '"></param>' . '<param name="quality" value="high"></param>' . '<embed src="' . $imageurl |
|
3261 | . '" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="468" height="60">' |
|
3262 | . '</embed>' . '</object>'; |
|
3263 | } else { |
|
3264 | $bannerobject = $bannerobject . '<img src="' . $imageurl . '" alt="" />'; |
|
3265 | } |
|
3266 | $bannerobject .= '</a></div>'; |
|
3267 | } |
|
3268 | ||
3269 | return $bannerobject; |
|
3270 | } |
|
3271 | ||
3272 | return null; |
|
3273 | } |
|
3274 | ||
3275 | /** |
|
3276 | * |