//$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();
$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);
<?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>"; ?>
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/>"; }