//$result = $gate->findById(3);
//echo $result->id . " - " . $result->ip_address;
//
//echo '<h3>Test filterByBrowser(2)</h3>';
//$gate = new VisitsTableGateway($dbAdapter);
//$result = $gate->filterByBrowser(2);
//foreach ($result as $row) {
//    echo $row->id . " - " . $row->browser_id .' - '. $row->ip_address . "<br/>";
//}
//echo '<h3>Test filterByOS(4)</h3>';
//$gate = new VisitsTableGateway($dbAdapter);
//$result = $gate->filterByReferrer(5);
//foreach ($result as $row) {
//    echo $row->id . " - " . $row->referrer_id . ' - ' . $row->ip_address . "<br/>";
//}
$gate = new VisitsTableGateway($dbAdapter);
echo '<h3>Test countryLike</h3>';
$gate = new CountriesTableGateway($dbAdapter);
$result = $gate->countryLike('ja');
foreach ($result as $row) {
    echo $row->CountryName . ' - ' . $row->ISO . "<br/>";
}
$gate = new CountriesTableGateway($dbAdapter);
echo '<h3>Test countryLike</h3>';
$gate = new BrowserTableGateway($dbAdapter);
$result = $gate->visitsByCountryFromContinent();
foreach ($result as $row) {
    echo $row->Name . $row->Visits . "<br/>";
}
// all done close connection
$dbAdapter->closeConnection();
示例#2
0
        $optionValue = $option->{$arrayId};
        $optionText = $option->{$arrayName};
        $listHtml .= "<option value=\"{$optionValue}\">{$optionText}</option>";
    }
    $listHtml .= "</select>";
    return $listHtml;
}
/*
 * Visits table gateway
 */
$visitsGateway = new VisitsTableGateway($dbAdapter);
/*
 * Retrieves all visit information to be used for browser visits table
 */
$browserVisits = array();
$browsersGateway = new BrowserTableGateway($dbAdapter);
$results = $browsersGateway->findAll();
$totalVisits = 0;
foreach ($results as $result) {
    $browserVisits[$result->name] = $visitsGateway->countByBrowser($result->id);
    $totalVisits += $browserVisits[$result->name];
}
foreach ($browserVisits as $key => $value) {
    $browserVisits[$key] = round($value / $totalVisits * 100, 2) . "%";
}
$browserHeaders = array("Browser", "Visits");
/*
 * Retrieves all visit information for a specific brand
 */
$brandsGateway = new DeviceBrandTableGateway($dbAdapter);
$brandList = $brandsGateway->findAll();
    foreach ($dropdownarray as $option) {
        $optionValue = $option->{$arrayId};
        $optionText = $option->{$arrayName};
        $listHtml .= "<option value=\"{$optionText}\">{$optionText}</option>";
    }
    $listHtml .= "</select>";
    return $listHtml;
}
/*
 * Visits table gateway
 */
$visitsGateway = new VisitsTableGateway($dbAdapter);
/*
 * Retrieves all visit information to be used for browser visits table
 */
/*
 * Retrieves all device type
 */
$typesGateway = new DeviceTypesTableGateway($dbAdapter);
$typesList = $typesGateway->findAll();
/*
 * Retrieves all visit information for a specific brand
 */
$brandsGateway = new DeviceBrandTableGateway($dbAdapter);
$brandList = $brandsGateway->findAll();
$browsersGateway = new BrowserTableGateway($dbAdapter);
$browserList = $browsersGateway->findAll();
$referrerGateway = new ReferrersTableGateway($dbAdapter);
$referrerList = $referrerGateway->findAll();
$operatingSystemGateway = new OperatingSystemsTableGateway($dbAdapter);
$osList = $operatingSystemGateway->findAll();
/*
   Use this page to test each one of your table gateway classes.
*/
require_once 'lib/helpers/visits-setup.inc.php';
?>

<html>
<body>
<h1> Table Gateways Tester </h1>

<?php 
echo '<hr/>';
echo '<h2>Test BrowserTableGateway</h2>';
echo '<h3>Test findAll()</h3>';
$gate = new BrowserTableGateway($dbAdapter);
$result = $gate->findAll();
foreach ($result as $row) {
    echo $row->id . " - " . $row->name . "<br/>";
}
echo '<h3>Test findById(3)</h3>';
$gate = new VisitsTableGateway($dbAdapter);
$result = $gate->findByBrowserPercent();
foreach ($result as $row) {
    echo "['" . $row->name . "', " . $row->num . "],";
}
echo '<hr/>';
echo '<h2>Test DeviceBrandTableGateway</h2>';
echo '<h3>Test findAllSorted()</h3>';
$gate = new DeviceBrandTableGateway($dbAdapter);
$result = $gate->findAllSorted(true);
示例#5
0
<?php

include 'partials/header.php';
require_once 'code/lib/helpers/visits-setup.inc.php';
$browserGate = new BrowserTableGateway($dbAdapter);
$visitGate = new VisitTableGateway($dbAdapter);
$continentGate = new ContinentTableGateway($dbAdapter);
$countryGate = new CountryTableGateway($dbAdapter);
$brandGate = new DeviceBrandTableGateway($dbAdapter);
$brandResult = $brandGate->findAllSorted(true);
$browserResult = $browserGate->findAllSorted(true);
$visitsByBrowser = $visitGate->getCountPercentageBy('browser_id');
$visitsByBrand = $visitGate->getCountPercentageBy('device_brand_id');
$continentResult = $continentGate->findAllSorted(true);
$dbAdapter->closeConnection();
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<div class="mui-row">
    <div class="mui-col-md-6">
        <div class="mui-panel left top">
		
		<!-- Dashboard Panel 1: Percentage of Visits by Browser -->

		<?php 
echo "<table class='mui-table' id='testtable'><thead><tr><th>Browser</th><th>Percentage of Visits</th></tr></thead><tbody>";
foreach ($visitsByBrowser as $row) {
    $browser = $browserGate->findById($row['browser_id']);
    echo "<tr><td>" . $browser->name . "</td><td>" . $row['percentage'] . "%</td></tr>";
}
echo "</tbody></table>";
?>
示例#6
0
function actionData($userData, $actionType, $param, $param2)
{
    require_once 'lib/helpers/visits-setup.inc.php';
    $BrowsersToPull = new BrowserTableGateway($dbAdapter);
    $CountriesToPull = new CountriesTableGateway($dbAdapter);
    $VisitsToPull = new VisitsTableGateway($dbAdapter);
    $dataSets = array("Browsers", "Continents", "Countries", "DeviceBrand", "DeviceType", "OperatingSystems", "Referrers", "Visits");
    if (in_array($userData, $dataSets)) {
        switch ($userData) {
            case "Visits":
                if ($actionType == "countmonth") {
                    $dataOutput = $VisitsToPull->countByMonth($param);
                } elseif ($actionType == "countmonthbyday") {
                    $dataOutput = $VisitsToPull->visitsByDayForMonth($param);
                } elseif ($actionType == "countbycountrycode") {
                    $dataOutput = $VisitsToPull->countByCountryCode($param);
                } elseif ($actionType == "countbydevicetype") {
                    $dataOutput = $VisitsToPull->countByDeviceType($param);
                } elseif ($actionType == "countbydevicebrand") {
                    $dataOutput = $VisitsToPull->countByDeviceBrand($param);
                } elseif ($actionType == "countbybrowser") {
                    $dataOutput = $VisitsToPull->countByBrowser($param);
                } elseif ($actionType == "countbyreferrer") {
                    $dataOutput = $VisitsToPull->countByReferrer($param);
                } elseif ($actionType == "countbyos") {
                    $dataOutput = $VisitsToPull->countByOS($param);
                } elseif ($actionType == "filtervisitsdata") {
                    $dataOutput = $VisitsToPull->filterVisitsData($param, $param2);
                } elseif ($actionType == "visitsforbarchart") {
                    $dataOutput = $VisitsToPull->visitsForBarChart($param);
                } else {
                    $dataOutput = null;
                }
                echo json_encode($dataOutput);
                break;
            case "Countries":
                if ($actionType == "filterbycontinentcode") {
                    $dataOutput = $CountriesToPull->filterByContinentCode($param);
                } elseif ($actionType == "countrieslike") {
                    $dataOutput = $CountriesToPull->countryLike($param);
                } elseif ($actionType == "visitsbycountry") {
                    $dataOutput = $CountriesToPull->visitsByCountry($param);
                } elseif ($actionType == "fetchcountrynames") {
                    $dataOutput = $CountriesToPull->fetchCountryNames();
                } elseif ($actionType == "fetchcountrynamestop10visits") {
                    $dataOutput = $CountriesToPull->fetchCountryNamesTop10Visits();
                } elseif ($actionType == "visitsbycountryfromcontinent") {
                    $dataOutput = $CountriesToPull->visitsByCountryFromContinent($param);
                } else {
                    $dataOutput = "Invalid Input";
                }
                echo json_encode($dataOutput);
                break;
            case "Browsers":
                if ($actionType == "visitsbybrowser") {
                    $dataOutput = $BrowsersToPull->visitsByBrowser();
                } else {
                    $dataOutput = "Invalid Input";
                }
                echo json_encode($dataOutput);
                break;
        }
    }
}
/*
   Use this page to test each one of your table gateway classes.
*/
require_once 'lib/helpers/visits-setup.inc.php';
?>

<html>
<body>
<h1> Table Gateways Tester </h1>

<?php 
echo '<hr/>';
echo '<h2>Test BrowserTableGateway</h2>';
echo '<h3>Test findAll()</h3>';
$gate = new BrowserTableGateway($dbAdapter);
$result = $gate->findAll();
foreach ($result as $row) {
    echo $row->id . " - " . $row->name . "<br/>";
}
echo '<h3>Test findById(3)</h3>';
$result = $gate->findById(3);
echo $result->id . " - " . $result->name;
echo '<hr/>';
echo '<h2>Test DeviceBrandTableGateway</h2>';
echo '<h3>Test findAllSorted()</h3>';
$gate = new DeviceBrandTableGateway($dbAdapter);
$result = $gate->findAllSorted(true);
foreach ($result as $row) {
    echo $row->id . " - " . $row->name . "<br/>";
}