1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
<?php
/**
* @file GoogleAnalyticsSettingsForm.inc.php
*
* Copyright (c) 2003-2009 John Willinsky
* Distributed under the GNU GPL v2. For full terms see the file docs/COPYING.
*
* @class GoogleAnalyticsSettingsForm
* @ingroup plugins_generic_googleAnalytics
*
* @brief Form for journal managers to modify Google Analytics plugin settings
*/
// $Id$
import('form.Form');
class GoogleAnalyticsSettingsForm extends Form {
/** @var $journalId int */
var $journalId;
/** @var $plugin object */
var $plugin;
/**
* Constructor
* @param $plugin object
* @param $journalId int
*/
function GoogleAnalyticsSettingsForm(&$plugin, $journalId) {
$this->journalId = $journalId;
$this->plugin = &$plugin;
parent::Form($plugin->getTemplatePath() . 'settingsForm.tpl');
$this->addCheck(new FormValidator($this, 'googleAnalyticsSiteId', 'required', 'plugins.generic.googleAnalytics.manager.settings.googleAnalyticsSiteIdRequired'));
$this->addCheck(new FormValidator($this, 'trackingCode', 'required', 'plugins.generic.googleAnalytics.manager.settings.trackingCodeRequired'));
}
/**
* Initialize form data.
*/
function initData() {
$journalId = $this->journalId;
$plugin = &$this->plugin;
$this->_data = array(
'googleAnalyticsSiteId' => $plugin->getSetting($journalId, 'googleAnalyticsSiteId'),
'trackingCode' => $plugin->getSetting($journalId, 'trackingCode')
);
}
/**
* Assign form data to user-submitted data.
*/
function readInputData() {
$this->readUserVars(array('googleAnalyticsSiteId', 'trackingCode'));
}
/**
* Save settings.
*/
function execute() {
$plugin = &$this->plugin;
$journalId = $this->journalId;
$plugin->updateSetting($journalId, 'googleAnalyticsSiteId', trim($this->getData('googleAnalyticsSiteId'), "\"\';"), 'string');
$trackingCode = $this->getData('trackingCode');
if (($trackingCode != "urchin") && ($trackingCode != "ga")) {
$trackingCode = "urchin";
}
$plugin->updateSetting($journalId, 'trackingCode', $trackingCode, 'string');
}
}
?>
|