<?php
/*
+---------------------------------------------------------------------------+
| OpenX v${RELEASE_MAJOR_MINOR} |
| =======${RELEASE_MAJOR_MINOR_DOUBLE_UNDERLINE} |
| |
| Copyright (c) 2003-2009 OpenX Limited |
| For contact details, see: http://www.openx.org/ |
| |
| This program is free software; you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation; either version 2 of the License, or |
| (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with this program; if not, write to the Free Software |
| Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
+---------------------------------------------------------------------------+
$Id: Os.class.php 33995 2009-03-18 23:04:15Z chris.nutting $
*/
require_once LIB_PATH . '/Extension/deliveryLimitations/DeliveryLimitationsCommaSeparatedData.php';
require_once MAX_PATH . '/lib/max/Plugin/Translation.php';
/**
* A Client delivery limitation plugin, for filtering delivery of ads on the
* basis of the viewer's operating system.
*
* Works with:
* A comma separated string of operating system codes. See the Os.res.inc.php
* resource file for details of the valid operating system codes.
*
* Valid comparison operators:
* =~, !~
*
* @package OpenXPlugin
* @subpackage DeliveryLimitations
* @author Andrew Hill <andrew.hill@openx.org>
* @author Chris Nutting <chris.nutting@openx.org>
* @author Andrzej Swedrzynski <andrzej.swedrzynski@openx.org>
*/
class Plugins_DeliveryLimitations_Client_Os extends Plugins_DeliveryLimitations_CommaSeparatedData
{
function init($data)
{
parent::init($data);
$this->setAValues(array_keys($this->res));
}
/**
* Return name of plugin
*
* @return string
*/
function getName()
{
return $this->translate('Operating system');
}
/**
* Return if this plugin is available in the current context
*
* @return boolean
*/
function isAllowed()
{
return !empty($GLOBALS['_MAX']['CONF']['Client']['sniff']);
}
/**
* Outputs the HTML to display the data for this limitation
*
* @return void
*/
function displayArrayData()
{
$tabindex =& $GLOBALS['tabindex'];
echo "<table cellpadding='3' cellspacing='3'>";
foreach ($this->res as $key => $value) {
if ($i % 4 == 0) echo "<tr>";
echo "<td><input type='checkbox' name='acl[{$this->executionorder}][data][]' value='$key'".(in_array($key, $this->data) ? ' checked="checked"' : '')." tabindex='".($tabindex++)."'>".ucfirst($value)."</td>";
if (($i + 1) % 4 == 0) echo "</tr>";
$i++;
}
if (($i + 1) % 4 != 0) echo "</tr>";
echo "</table>";
}
}
?>