<?php
require_once dirname(__FILE__).'/../../../accesscheck.php';
ob_end_flush();
$upgrade_required = 0;
$canUpgrade = checkAccess('upgrade');
if (Sql_Table_exists($tables['config'], 1)) {
$dbversion = getConfig('version');
if ($dbversion != VERSION && $canUpgrade) {
Error($GLOBALS['I18N']->get('Your database is out of date, please make sure to upgrade').'<br/>'.
$GLOBALS['I18N']->get('Your version').' : '.$dbversion.'<br/>'.
$GLOBALS['I18N']->get('phplist version').' : '.VERSION.
'<br/>'.PageLink2('upgrade', $GLOBALS['I18N']->get('Upgrade'))
);
$upgrade_required = 1;
}
} else {
$GLOBALS['firsttime'] = 1;
$_SESSION['firstinstall'] = 1;
Info($GLOBALS['I18N']->get('Database has not been initialised').'. '.
$GLOBALS['I18N']->get('go to').' '.
PageLink2('initialise&firstinstall=1', $GLOBALS['I18N']->get('Initialise Database')).' '.
$GLOBALS['I18N']->get('to continue'), 1);
return;
}
//# trigger this somewhere else?
refreshTlds();
$lastCampaignID = null;
if ($_SESSION['logindetails']['superuser']) {
$result = Sql_Query(sprintf(
'select id from %s where sent is not null order by entered desc limit 1',
$GLOBALS['tables']['message']
));
if ($result) {
$row = Sql_Fetch_Assoc($result);
if (!empty($row['id'])) {
$lastCampaignID = $row['id'];
$lastcampaign = Sql_Fetch_Assoc_Query(sprintf(
'select msg.id as messageid,count(um.viewed) as views, count(um.status) as total,
subject,date_format(sent,"%%e %%M %%Y") as sent,bouncecount as bounced
from %s um
join %s msg on msg.id = um.messageid
where msg.id = %d and um.status = "sent"',
$GLOBALS['tables']['usermessage'], $GLOBALS['tables']['message'], $lastCampaignID
));
}
}
} else {
$result = Sql_Query(sprintf(
'select msg.id from %s msg
join %s lm on lm.messageid = msg.id
join %s list on list.id = lm.listid
where sent is not null
and list.owner = %d
order by msg.entered desc limit 1',
$GLOBALS['tables']['message'],$GLOBALS['tables']['listmessage'],$GLOBALS['tables']['list'],$_SESSION['logindetails']['id']
));
if ($result) {
$row = Sql_Fetch_Assoc($result);
$lastCampaignID = $row['id'];
$lastcampaign = Sql_Fetch_Assoc_Query(sprintf(
'select msg.id as messageid,count(um.viewed) as views, count(um.status) as total,
subject,date_format(sent,"%%e %%b %%Y") as sent,bouncecount as bounced
from %s um
join %s msg on um.messageid = msg.id
join %s lm on lm.messageid = msg.id
join %s list on list.id = lm.listid
where msg.id = %d and um.status = "sent"
and list.owner = %d',
$GLOBALS['tables']['usermessage'],
$GLOBALS['tables']['message'],
$GLOBALS['tables']['listmessage'],
$GLOBALS['tables']['list'],
$lastCampaignID,
$_SESSION['logindetails']['id']
));
}
}
?>
<div class="row">
<div id="gettingstarted" class="col-sm-6 col-lg-4">
<h3><span class="glyphicon glyphicon-star"></span>Getting Started</h3>
<div class="well" style="height:100%">
<?php
if (!in_array('list', $GLOBALS['disallowpages'])) {
echo '
<a class="btn btn-primary" href="./?page=import">' . s('Import Subscribers') . '</a>
<br />';
}
if (!in_array('send', $GLOBALS['disallowpages'])) {
echo '<a class="btn btn-primary" href="./?page=send">' . s('Start or continue a campaign') . '</a>
<br />';
}
if (!in_array('statsoverview', $GLOBALS['disallowpages'])) { // are we allowed to view stats
if (!empty($lastCampaignID)) { // are there any
echo '<a class="btn btn-primary " href="./?page=statsoverview" title="View Campaign result statistics">' . s('View Statistics') . '</a>
<br />';
} else {
echo '<span style="display:inline-block" title="Send your first campaign to obtain useful statistics" data-toggle="tooltip">
<a class="btn btn-primary btn-sm disabled" href="./?page=statsoverview">' . s('View Statistics') . '</a>
</span>
<br />';
}
}
?>
</div>
</div><!-- /col -->
<div id="lastcampaign" class="col-sm-6 col-lg-4">
<h3><span class="glyphicon glyphicon-signal"></span>Last Campaign Results</h3>
<div id="lastcampaigncontent" class="well">
<?php if (empty($lastCampaignID)) {
print '<p>' . s('There are currently no statistics available') . '</p>';
} else {
?>
<p>
<span class="total">
Subject:
<a href="./?page=statsoverview&id=<?php echo $lastcampaign['messageid'] ?>" title="View campaign statistics">
<?php echo $lastcampaign['subject'] ?>
</a>
</span>
</p>
<p><span class="total"><?php echo number_format($lastcampaign['total']) ?></span> Messages sent on <span class="total"><?php echo $lastcampaign['sent'] ?></span>.</p>
<p><span class="total"><?php echo number_format($lastcampaign['views']) ?> </span> Viewed (<span class="total"><?php echo sprintf('%0.2f', ($lastcampaign['views'] / max(1, $lastcampaign['total'] - $lastcampaign['bounced']) * 100)) ?>%</span>), and <span class="total"><?php echo $lastcampaign['bounced'] ?></span> bounced (<span class="total"><?php echo sprintf('%0.2f', ($lastcampaign['bounced'] / max(1, $lastcampaign['total']) * 100)) ?>%</span>).</p>
<?php
} ?>
</div>
</div><!-- /col -->
<div class="clearfix visible-md visible-sm"></div>
<div class="col-sm-6 col-lg-4">
<h3><span class="glyphicon glyphicon-question-sign"></span><?php echo s('Help') ?></h3>
<div class="well">
<ul>
<li>
<a href="https://www.phplist.org/manual/books/phplist-manual/page/composing-your-first-campaign" target="_blank">How to create a campaign</a>
</li>
<li>
<a href="https://www.phplist.org/manual/books/phplist-manual/page/basic-campaign-statistics" target="_blank">How to use statistics</a>
</li>
</ul>
<div class="row">
<div class="col-lg-12">
<p><a class="btn btn-primary" href="https://phplist.org/manual" target="_blank">View Manual</a></p>
</div>
</div>
</div><!-- /well -->
</div><!-- /col-lg-6-->
</div><!--/row-->
<div class="clearfix visible-lg"></div>