#!/usr/bin/perl
# ----------------------------------------------------------------------------
#
# (c) Copyright 2006 TradeExtender
#
# This software is proprietary to and embodies the confidential technology
# of TradeExtender. Possession, use, duplication or dissemination of the
# software and media is authorized only pursuant to a valid written license
# from TradeExtender.
#
use strict;
use lib "/var/www/vhosts/kantelpunten.com/httpdocs/pl/lib";
use lib "lib";
BEGIN {
delete $INC{"Kantelpunten/Helper.pm"};
# delete $INC{"Kantelpunten/Process.pm"};
delete $INC{"Kantelpunten/News.pm"};
delete $INC{"Kantelpunten/MyRobots.pm"};
delete $INC{"Kantelpunten/MyBudy.pm"};
delete $INC{"Kantelpunten/MyAdds.pm"};
}
use Kantelpunten::Helper;
use Kantelpunten::News;
use Kantelpunten::Process;
use Kantelpunten::MyRobots;
use Kantelpunten::MyBudy;
use Kantelpunten::MyAdds;
use POSIX qw(strftime);
use Data::Dumper;
local our $param;
local our $page;
make_news_html();
exit(0);
sub make_news_html()
{
my $q = CGI->new;
$param->{mine} = defined($q->param('mine')) ? 1 : undef;
$param->{last} = defined($q->param('last')) ? 1 : undef;
$param->{desc} = defined($q->param('samenvatting')) ? 1 : undef;
$param->{sup} = $q->param('sup');
$param->{stock} = $q->param('stock');
$param->{records} = $q->param('records');
$param->{day} = $q->param('day');
$param->{item} = $q->param('item');
$param->{rb} = $q->param('rb');
$param->{day} = abs($param->{day}) if (defined($param->{day}));
my $remote_ip = init_helper();
$param->{rb} = get_robot() if (!defined($param->{rb}) || $param->{rb});
set_robot($param->{rb});
init_process();
init_news();
get_user_rec();
$param->{budy} = init_budy($q->param('uitleg'));
my $news_item;
$param->{records} = undef if (!is_admin_user());
$param->{records} = 40 unless defined($param->{records});
if (defined($param->{item}) && ($param->{item} =~ /^-?[\d]+(\.\d*)?$/) &&
($param->{item} < 200000) )
{
$page = 100000 + ($param->{item} % 100000); # wrap page, not item.
if (!defined($param->{desc}))
{
my $news = get_news($param->{sup}, $param->{item});
if (defined($news))
{
write_access_data($remote_ip, $page);
show_ref($news->{title}, $news->{link});
return;
}
$news_item = "niet gevonden";
}
else
{
my $news = get_news($param->{sup}, $param->{item});
if (defined($news))
{
$page += 100000;
write_access_data($remote_ip, $page);
show_news($news, $page);
return;
}
$news_item = "niet gevonden";
}
}
# shit news is disabled just show the default nieuws
if (is_news_disabled())
{
print_redirect("/pl/ShowMain.pl?page=10070");
exit(0);
}
# if we come here we need to show some news see what we need to load
my $news;
my $stock;
if (defined($param->{stock}) && defined($stock = get_stock($param->{stock}, "old")))
{
$param->{day} = undef;
$page = sprintf("44%03d", $stock->{id});
$news = read_stock_news($news, $stock->{stock}, $param->{records});
$param->{budy} = undef;
}
elsif (defined($param->{mine}))
{
$param->{day} = undef;
$page = 9979;
my $stocks = get_stocks_mine();
foreach my $i (keys %$stocks)
{
$news = read_stock_news($news, $stocks->{$i}->{stock}, $param->{records});
}
}
else
{
$page = 9980;
$param->{day} = 0 unless defined($param->{day});
# alwaysshow latest headings
# $news = read_news(undef, undef, undef, make_day_offset($param->{day}));
if (!defined($news))
{
# no news today, show last news
$news = read_news(undef, undef, $param->{records});
$param->{last} = 1;
}
else
{
$param->{records} = 100;
}
}
my $script = make_home_script($page);
add_last_page_cookie($page);
write_access_data($remote_ip, $page);
my $title;
my $desc;
my $pop_menu;
my $top_menu;
if (defined($stock))
{
$title = "Kantelpunten : Nieuws berichten van $stock->{index_name} - het laatste beleggingsnieuws";
$desc = "Het laatste nieuws van $stock->{index_name} overzichtelijk en onder hand bereik, " .
" Kijk of de stijging/daling ondersteund wordt door nieuwsfeiten." .
" Kantelpunten de beleggersite waar u alles onder handbereik heeft.";
$pop_menu = make_pop_menu(1, $page, "news", $stock);
$top_menu = make_top_menu(1, $page, "news", $stock);
}
else
{
$title = "Kantelpunten : Nieuws berichten - het laatste beleggingsnieuws";
$desc = "Het laatste nieuws overzichtelijk en onder hand bereik, zodat men een eerste" .
" indruk heeft van het nieus van de afgelopen dag. Nieuws is onontbeerlijk voor de" .
" actieve belegger. Maak ook gebruik van andere nieuws bronnen om all het nieuws te achterhalen.";
$pop_menu = make_pop_menu(defined($param->{mine}) ? 2 : 4, $page);
$top_menu = make_top_menu(defined($param->{mine}) ? 2 : 4, $page);
}
print_header("+1m");
print_pre_doc();
print_head($title, undef, undef, undef, $script, "kantelpunt", defined($param->{mine}) ? "eigen" : undef, undef, $desc, undef, "top_script");
print_body(defined($param->{mine}) ? "eigen" : "kantel", undef, undef, undef, undef, undef, undef, "kader", undef, $pop_menu, $top_menu);
make_news($news, $stock);
print_body("end_kader");
print_post_doc();
}
sub show_ref(@)
{
my ($title, $ref) = @_;
my $pop_menu = make_pop_menu(-1);
my $top_menu = make_top_menu(-1);
my $desc = "Kantelpunten de beursscanner. Een beurssysteem, gebaseerd op de beroepshandel. Advies voor het zèlf beleggen in aandelen op de beurs. Ik moet deze week winst hebben. Niet volgende week. Duidelijke en eenvoudig te volgen adviezen.";
print_header("+1s");
print_pre_doc();
print_head($title, undef, undef, undef, undef, undef, undef, undef, $desc, undef, "top_script");
print_body("kantel", undef, undef, undef, undef, undef, undef, "kader", undef, $pop_menu, $top_menu);
print "\n";
print_body("end_kader");
print_post_doc();
}
sub make_news(@)
{
my ($news, $stock) = @_;
my $what = 0;
my $sep_width = 5;
my $adds;
my $link;
if ($page eq 9980 || $page eq 9979)
{
my $ref = "ShowNews.pl?uitleg=" . ($param->{budy} ? '0' : '1');
$ref .= "mine=1" if (defined($param->{mine}));
print_budy($param->{budy}, $page, $ref);
}
$adds = "adds" if (show_adds("nieuws_overal"));
$link = print_link_unit("nieuws", "info_black", undef, undef, "get") if (show_adds("nieuws_link"));
print_div("center");
print "
\n";
my $id;
my $data;
if (defined($stock))
{
$id = $stock->{id};
$data = get_quote_data($id);
my $img;
if (defined($data))
{
$img = make_kantel_img($id, undef, $data);
}
my $heading = sprintf "%s ( %s )", $stock->{html_name}, uc $stock->{market};
print_heading($heading, "Laatste nieuws headlines.", $img);
print "
Dit aandeel is van de markt gehaald!\n" if (is_old_stock($stock));
print_banner_ads("main_banner", defined($param->{mine}) ? "eigen" : "info", 2, 1) if (show_adds("hoofd"));
# print_banner_ads("main_banner", defined($param->{mine}) ? "eigen" : "info") if (show_adds("hoofd"));
print "
\n";
$what = 2;
$sep_width = 10;
}
elsif (defined($param->{mine}))
{
print_h1("Nieuws over uw favorieten.");
print_banner_ads("main_banner", defined($param->{mine}) ? "eigen" : "info_nieuws2", undef, 1) if (show_adds("hoofd"));
# print_banner_ads("main_banner", defined($param->{mine}) ? "eigen" : "info_nieuws2", undef, 2) if (show_adds("hoofd"));
$what = 3;
}
elsif (defined($param->{last}))
{
# print_h1("Laatste $param->{records} headlines.");
print_h1("Laatste nieuws.");
print_banner_ads("main_banner", defined($param->{mine}) ? "eigen" : "info_nieuws3", undef, 1) if (show_adds("hoofd"));
# print_banner_ads("main_banner", defined($param->{mine}) ? "eigen" : "info_nieuws3", undef, 2) if (show_adds("hoofd"));
}
else
{
if ($param->{added})
{
print_h1(date_to_string(make_day_offset($param->{day}) . "+ vorig", "capital"));
}
else
{
print_h1("Nieuws. " . date_to_string(make_day_offset($param->{day}), "capital"));
}
print_banner_ads("main_banner", "info_nieuws3", undef, 1) if (show_adds("hoofd"));
# print_banner_ads("main_banner", "info_nieuws3", undef, 2) if (show_adds("hoofd"));
}
my $table_width = 100 - 2*$sep_width;
if (!defined($news) && !defined($stock))
{
print_dual_heading("GEEN", "Nieuwsberichten");
print "
\n";
}
else
{
print_table(0, undef, 0, 0, 0, undef, "100%");
print "
and
$descrip =~ s///g; $descrip =~ s/<\/p>//g; my $chop = index $descrip, "<"; if ($chop >= 0) { $descrip = substr($descrip, 0, $chop); } my $desc = "Het laatste beursnieuws overzichtelijk bij je favoriete aandelen. "; $desc = "Het laatste beursnieuws van $stock->{index_name}: " if (defined($stock)); $desc .= "$descrip Kantelpunten.nl alles onder handbereik voor de actieve belegger"; my $pop_menu; my $top_menu; $pop_menu = make_pop_menu(1, $page, "news", $stock) if (defined($stock)); $top_menu = make_top_menu(1, $page, "news", $stock) if (defined($stock)); print_header("+1d"); print_pre_doc(); print_head("Kantelpunten : Nieuws - $news->{title}", "hoofd", undef, undef, $script, "kantelpunt", undef, undef, $desc, "$news->{title} ", "top_script"); print_body(defined($param->{mine}) ? "eigen" : "kantel", undef, undef, undef, undef, undef, undef, "kader", undef, $pop_menu, $top_menu); print_div("right"); print "" . strftime("%A %d %B %H:%M", localtime($news->{time})) . ""; print_div("end"); print_div("center"); print "\n"; print_h2($news->{title}); print_banner_ads("main_banner", defined($param->{mine}) ? "eigen" : "info", undef, 1) if (show_adds("hoofd")); print_banner_ads("main_banner", defined($param->{mine}) ? "eigen" : "info_nieuws3", undef, 2) if (show_adds("nieuws_tabel")); print_table(0, undef, 0, 0, 0, undef, "100%"); print "