Location: PHPKode > scripts > Mobile_Detect > Mobile-Detect-2.6.0/examples/session_example.php
<?php
/**
 * MIT License
 * ===========
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:
 *
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 *
 * -----------------------------------------------------------------------
 * Run this in your browser to see the example.
 * IMPORTANT: Clear your sessions/cookies before running UA tests.
 *
 * This is a procedural approach example of how to switch your website layout
 * based on a variable $layoutType.
 *
 * The example also includes the switch links that you can put in the footer
 * of your page. Is a good practice to let the user switch between layouts,
 * even if he is visiting the page from a phone or tablet.
 * ------------------------------------------------------------------------
 *
 * @author      Serban Ghita <hide@address.com>
 * @license     MIT License https://github.com/serbanghita/Mobile-Detect/blob/master/LICENSE.txt
 *
 */


// This is mandatory if you're using sessions.
session_start();

// It's mandatory to include the library.
require_once '../Mobile_Detect.php';





/**
 *  Begin helper functions.
 */

// Your default site layouts.
// Update this array if you have fewer layout types.
function layoutTypes(){

	return array('classic', 'mobile', 'tablet');

}

function initLayoutType(){

	// Safety check.
	if(!class_exists('Mobile_Detect')){ return 'classic'; }

	$detect = new Mobile_Detect;
	$isMobile = $detect->isMobile();
	$isTablet = $detect->isTablet();


	$layoutTypes = layoutTypes();

	// Set the layout type.
	if ( isset($_GET['layoutType']) ){

		$layoutType = $_GET['layoutType'];

	} else {

		if(empty($_SESSION['layoutType'])){

			$layoutType = ($isMobile ? ($isTablet ? 'tablet' : 'mobile') : 'classic');

		} else {

			$layoutType =  $_SESSION['layoutType'];

		}

	}

	// Fallback. If everything fails choose classic layout.
	if( !in_array($layoutType, $layoutTypes) ){ $layoutType = 'classic'; }

	// Store the layout type for future use.
	$_SESSION['layoutType'] = $layoutType;

	return $layoutType;

}

/**
 *  End helper functions.
 */





// Let's roll. Call this function!
$layoutType = initLayoutType();

/**
 *
 * Example of layout switch links.
 * Eg. ['Classic' | Mobile | 'Tablet']
 *
 */
?>

<?php if(!isset($_GET['page'])): ?>

	<!-- example page #1 -->
	<h1>Demo page number one.</h1>
	<p>You can go to page <a href="<?php echo $_SERVER['PHP_SELF']; ?>?page=two">two</a>.</p>
	<p>Showing you the <b><?php echo $layoutType; ?></b> version.</p>
	<p><b>Note:</b> When running this test using the same browser with multiple User-Agents, clear your cookies/session before each test.</p>

<?php endif; ?>

<?php if(isset($_GET['page']) && $_GET['page']=='two'): ?>

	<!-- example page #2 -->
	<h1>Demo page number two.</h1>
	<p>You can go back to page <a href="<?php echo $_SERVER['PHP_SELF']; ?>">one</a>.</p>
	<p>Showing you the <b><?php echo $layoutType; ?></b> version.</p>

<?php endif; ?>

<!-- Footer links example. Change this as you like. -->
<?php foreach(layoutTypes() as $_layoutType): ?>
	<?php if($_layoutType == $layoutType): ?>
		<?php echo strtoupper($_layoutType); ?>
	<?php else: ?>
		<a href="<?php echo $_SERVER['PHP_SELF']; ?>?layoutType=<?php echo $_layoutType; ?>"><?php echo strtoupper($_layoutType); ?></a>
	<?php endif; ?>
<?php endforeach; ?>
Return current item: Mobile_Detect