Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- if(!defined("IN_MYBB"))
- {
- die("Sorry, you cannot access this file directly.");
- }
- //Hooks
- $plugins->add_hook('global_start', 'stockticker_global_start');
- // Information
- function stockticker_info()
- {
- return array(
- "name" => "Crypto Coin Stock Ticker Bar",
- "description"=> "A bar showing realtime scrolling crypto coin stock values.",
- "author" => "Tac",
- "version" => "1.0",
- "website" => "Cryptinex.com",
- "guid" => "",
- "compatibility" => "18*"
- );
- }
- function stockticker_activate() {
- global $mybb, $db;
- $stockticker_group = array(
- 'gid' => 'NULL',
- 'name' => 'stockticker',
- 'title' => 'Crypto Coin Stock Ticker Bar',
- 'disporder' => "1",
- 'isdefault' => "0",
- );
- $db->insert_query('settinggroups', $stockticker_group);
- $gid = $db->insert_id();
- $stockticker_setting1 = array(
- 'sid' => 'NULL',
- 'name' => 'stockticker_stocks1',
- 'title' => 'TickerID',
- 'description' => 'Enter the ticker id to be used below, one individual stock ticker and icon per line. Example: <b><br/>Bitcoin: 0<br/>Ethereum: 1<br/>Ripple: 2<br/>Litecoin: 3<br/>Ethereum-Classic: 4<br/>Nem: 5<br/>Dash:6</br>Iota: 7<br/>Bitshares: 8<br/>Stratis: 9<br/>Monero: 10<br/>ZCash: 11<br/>Golem-Network-Tokens: 12<br/>Waves: 13</br>Bytecoin-bcn: 14<br/>Siacoin: 15<br/>Steem: 16<br/>Stellar: 17<br/>Bitconnect: 18<br/>Lisk: 19<br/>Antishares: 20</b>',
- 'optionscode' => 'text',
- 'disporder' => 1,
- 'value' => '0',
- 'gid' => intval($gid),
- );
- $stockticker_setting2 = array(
- 'sid' => 'NULL',
- 'name' => 'stockticker_stocks2',
- 'title' => 'Ticker #2',
- 'optionscode' => 'text',
- 'disporder' => 2,
- 'value' => '1',
- 'gid' => intval($gid),
- );
- $stockticker_setting3 = array(
- 'sid' => 'NULL',
- 'name' => 'stockticker_stocks3',
- 'title' => 'Ticker #3',
- 'optionscode' => 'text',
- 'disporder' => 3,
- 'value' => '2',
- 'gid' => intval($gid),
- );
- //Break
- $stockticker_setting4 = array(
- 'sid' => 'NULL',
- 'name' => 'stockticker_stocks4',
- 'title' => 'Ticker #4',
- 'optionscode' => 'text',
- 'disporder' => 4,
- 'value' => '3',
- 'gid' => intval($gid),
- );
- $stockticker_setting5 = array(
- 'sid' => 'NULL',
- 'name' => 'stockticker_stocks5',
- 'title' => 'Ticker #5',
- 'optionscode' => 'text',
- 'disporder' => 5,
- 'value' => '4',
- 'gid' => intval($gid),
- );
- $stockticker_setting6 = array(
- 'sid' => 'NULL',
- 'name' => 'stockticker_stocks6',
- 'title' => 'Ticker #6',
- 'optionscode' => 'text',
- 'disporder' => 6,
- 'value' => '5',
- 'gid' => intval($gid),
- );
- $stockticker_setting7 = array(
- 'sid' => 'NULL',
- 'name' => 'stockticker_stocks7',
- 'title' => 'Ticker #7',
- 'optionscode' => 'text',
- 'disporder' => 7,
- 'value' => '6',
- 'gid' => intval($gid),
- );
- $stockticker_setting8 = array(
- 'sid' => 'NULL',
- 'name' => 'stockticker_stocks8',
- 'title' => 'Ticker #8',
- 'optionscode' => 'text',
- 'disporder' => 8,
- 'value' => '7',
- 'gid' => intval($gid),
- );
- $stockticker_setting9 = array(
- 'sid' => 'NULL',
- 'name' => 'stockticker_stocks9',
- 'title' => 'Ticker #9',
- 'optionscode' => 'text',
- 'disporder' => 9,
- 'gid' => intval($gid),
- );
- $stockticker_setting10 = array(
- 'sid' => 'NULL',
- 'name' => 'stockticker_stocks10',
- 'title' => 'Background Color',
- 'value' => 'f1f1f1',
- 'optionscode' => 'text',
- 'disporder' => 10,
- 'gid' => intval($gid),
- );
- $stockticker_setting11 = array(
- 'sid' => 'NULL',
- 'name' => 'stockticker_stocks11',
- 'title' => 'Stock Color',
- 'value' => '000000',
- 'optionscode' => 'text',
- 'disporder' => 11,
- 'gid' => intval($gid),
- );
- $stockticker_setting12 = array(
- 'sid' => 'NULL',
- 'name' => 'stockticker_stocks12',
- 'title' => 'Price Color',
- 'value' => '0000bb',
- 'optionscode' => 'text',
- 'disporder' => 12,
- 'gid' => intval($gid),
- );
- $stockticker_setting13 = array(
- 'sid' => 'NULL',
- 'name' => 'stockticker_stocks13',
- 'title' => 'Up Color',
- 'value' => '008000',
- 'optionscode' => 'text',
- 'disporder' => 13,
- 'gid' => intval($gid),
- );
- $stockticker_setting14 = array(
- 'sid' => 'NULL',
- 'name' => 'stockticker_stocks14',
- 'title' => 'Down Color',
- 'value' => 'f00',
- 'optionscode' => 'text',
- 'disporder' => 14,
- 'gid' => intval($gid),
- );
- $db->insert_query('settings', $stockticker_setting1);
- $db->insert_query('settings', $stockticker_setting2);
- $db->insert_query('settings', $stockticker_setting3);
- $db->insert_query('settings', $stockticker_setting4);
- $db->insert_query('settings', $stockticker_setting5);
- $db->insert_query('settings', $stockticker_setting6);
- $db->insert_query('settings', $stockticker_setting7);
- $db->insert_query('settings', $stockticker_setting8);
- $db->insert_query('settings', $stockticker_setting9);
- $db->insert_query('settings', $stockticker_setting10);
- $db->insert_query('settings', $stockticker_setting11);
- $db->insert_query('settings', $stockticker_setting12);
- $db->insert_query('settings', $stockticker_setting13);
- $db->insert_query('settings', $stockticker_setting14);
- rebuild_settings();
- }
- // Deactivate
- function stockticker_deactivate() {
- global $mybb, $db;
- $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('stockticker_stocks1')");
- $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('stockticker_stocks2')");
- $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('stockticker_stocks3')");
- $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('stockticker_stocks4')");
- $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('stockticker_stocks5')");
- $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('stockticker_stocks6')");
- $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('stockticker_stocks7')");
- $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('stockticker_stocks8')");
- $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('stockticker_stocks9')");
- $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('stockticker_stocks10')");
- $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('stockticker_stocks11')");
- $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('stockticker_stocks12')");
- $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('stockticker_stocks13')");
- $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('stockticker_stocks14')");
- $db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='stockticker'");
- rebuild_settings();
- }
- function stock_ticker ($symbols, $background_color, $stock_color, $price_color, $up_color, $down_color)
- {
- global $mybb, $lang, $stocks;
- sort($symbols);
- if ($background_color==$stock_color) {
- // something's wrong, colors weren't specified
- $background_color = invert_color($background_color);
- }
- $return = '<ul id="webTicker">';
- foreach ($symbols as $symbol) {
- $cache_file = 'inc/cache/cache.csv';
- if(file_exists($cache_file)) {
- if(time() - filemtime($cache_file) > 86400) {
- // too old , re-fetch
- $cache = file_get_contents('https://api.coinmarketcap.com/v1/ticker/?limit=21');
- file_put_contents($cache_file, $cache);
- $tick = file_get_contents("inc/cache/cache.csv");
- } else {
- // cache is still fresh
- $tick = file_get_contents("inc/cache/cache.csv");
- }
- } else {
- // no cache, create one
- $cache = file_get_contents('https://api.coinmarketcap.com/v1/ticker/?limit=21');
- file_put_contents($cache_file, $cache);
- $tick = file_get_contents("inc/cache/cache.csv");
- }
- echo $url;
- //$json = file_get_contents($url);
- $data2 = json_decode($tick, TRUE);
- $name = $data2[$symbol]["symbol"];
- $Name = $data2[$symbol]["id"];
- $usd = $data2[$symbol]["price_usd"];
- $values = explode(",", $data);
- $lasttrade = $values[1];
- $change = $data2[$symbol]["percent_change_1h"];
- $num == 1;
- if($num%2==0)
- {
- $num++;
- $num++;
- }
- $stocknum = 'stockticker_stocks'.$num;
- $return .= "<li><img src='images/coins/".$Name.".png' class='stocks_icon'><span style=\"color:#$stock_color\">$name</span> ";
- $return .= "<span style=\"color:#$price_color\">$$usd</span> ";
- if ($change<0)
- $return .= "<span style=\"color:#$down_color\">$change</span></li> ";
- else
- $return .= "<span style=\"color:#$up_color\">$change</span></li> ";
- $return .= " ";
- }
- $return .= '</div></ul>';
- return $return;
- }
- function invert_color($color='008080')
- {
- $new = '';
- for ($i=0;$i<3;$i++){
- $c = 255 - hexdec(substr($color,(2*$i),2));
- $c = dechex($c);
- $new .= (strlen($c) < 2) ? '0'.$c : $c;
- }
- return $new;
- }
- function stockticker_global_start() {
- global $mybb, $lang, $stocks;
- //$lang->load("stockticker");
- $stocks = array();
- if(isset($mybb->settings['stockticker_stocks1'])) {
- array_push($stocks, $mybb->settings['stockticker_stocks1']);
- };
- if(!empty($mybb->settings['stockticker_stocks3'])) {
- array_push($stocks, $mybb->settings['stockticker_stocks2']);
- };
- if(!empty($mybb->settings['stockticker_stocks5'])) {
- array_push($stocks, $mybb->settings['stockticker_stocks3']);
- };
- if(!empty($mybb->settings['stockticker_stocks7'])) {
- array_push($stocks, $mybb->settings['stockticker_stocks4']);
- };
- if(!empty($mybb->settings['stockticker_stocks9'])) {
- array_push($stocks, $mybb->settings['stockticker_stocks5']);
- };
- if(!empty($mybb->settings['stockticker_stocks11'])) {
- array_push($stocks, $mybb->settings['stockticker_stocks6']);
- };
- if(!empty($mybb->settings['stockticker_stocks13'])) {
- array_push($stocks, $mybb->settings['stockticker_stocks7']);
- };
- if(!empty($mybb->settings['stockticker_stocks15'])) {
- array_push($stocks, $mybb->settings['stockticker_stocks8']);
- };
- if(!empty($mybb->settings['stockticker_stocks17'])) {
- array_push($stocks, $mybb->settings['stockticker_stocks9']);
- };
- if(!empty($mybb->settings['stockticker_stocks19'])) {
- array_push($stocks, $mybb->settings['stockticker_stocks10']);
- };
- $backgroundColor = $mybb->settings['stockticker_stocks10'];
- $stockColor = $mybb->settings['stockticker_stocks11'];
- $priceColor = $mybb->settings['stockticker_stocks12'];
- $upColor = $mybb->settings['stockticker_stocks13'];
- $downColor = $mybb->settings['stockticker_stocks14'];
- echo stock_ticker($stocks,$backgroundColor,$stockColor,$priceColor,$upColor,$downColor);
- }
- ?>
- <html>
- <style>
- .stocks_icon {
- max-height: 25px;
- max-width: 65px;
- margin-bottom: -5px;
- margin-right: 5px;
- top: -3px;
- border-radius: 4px;
- }
- #webTicker {
- background: #f1f1f1;
- border-bottom: 1px solid #c3c3c3;
- padding-bottom: 8px !important;
- padding: 5px !important;
- color: #fff;
- padding: 5px;
- font-size: 18px;
- font-weight: 500;
- }
- #webTicker li {
- padding: 0px 20px !important;
- }
- </style>
- <script src="jscripts/jquery.webticker.min.js"></script> <script> $('#webTicker').webTicker({ height:'35px', duplicate:true, rssfrequency:0, startEmpty:false, hoverpause:false }); </script>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement