<?php
/*
* phpMyVisites : website statistics and audience measurements
* Copyright (C) 2002 - 2006
* http://www.phpmyvisites.net/
* phpMyVisites is free software (license GNU/GPL)
* Authors : phpMyVisites team
*/
// $Id: AdminModule.class.php 133 2006-10-29 14:12:07Z cmil $
require_once INCLUDE_PATH."/core/include/DataModel.class.php";
require_once INCLUDE_PATH."/core/include/Site.class.php";
require_once INCLUDE_PATH."/core/include/Archive.class.php";
require_once INCLUDE_PATH."/core/include/PdfConfigDb.class.php";
class AdminModule extends Module
{
var $partName;
//the datamodel
var $data;
/**
* ViewModule constructor
* @param $name string the partName
* @param $o_data object , datas to render
*
* @return void
*/
function AdminModule($name = "", $o_data = null)
{
define ('THEME', THEME_ADMIN);
$this->partName = $name;
$this->data =& $o_data;
parent::Module();
}
/**
* initialize module with request datas
*
* @param object request
* @return void
*/
function init(&$request)
{
parent::init($request);
$this->tpl->caching = 0;
$this->tpl->mainTemplate = 'admin/structureAdmin.tpl';
if(isset($this->site))
{
$this->site->generateFiles();
}
// set mod to view because of specific elements in this case (period_selection.tpl)
$this->tpl->assign('mod', 'admin');
}
/**
* Main job method overided in each view plugin
* this method should take care of obtaining and processing datas
*
* @return void
*/
function process()
{
echo('please override me...');
}
/**
* default display method for all views
*
* @return void
*/
function showAll()
{
$this->process();
$this->display();
}
function needASiteAdminSelected()
{
$idSite = $this->request->getAdminSite();
if( !$idSite )
{
//print("Select a site");
$this->tpl->template = "admin/site_selection.tpl";
return false;
}
else
{
//print("Site selected");
return $idSite;
}
}
function needConfirmation( $type, $idDependOnType)
{
$confirmed = $this->request->getConfirmedState();
if($confirmed == 1)
{
return true;
}
else
{
switch($type)
{
case 'site':
$o_site = new Site($idDependOnType);
$subStr = sprintf(
$GLOBALS['lang']['generique_siteno'],
'<b>"'.$o_site->getName().'"</b>'
);
break;
case 'newsletter':
$subStr = sprintf(
$GLOBALS['lang']['generique_newsletterno'],
'<b>"'.$this->site->getNewsletterName($idDependOnType ).'"</b>'
);
break;
case 'partner':
$subStr = sprintf(
$GLOBALS['lang']['generique_partnerno'],
'<b>"'.$this->site->getPartnerNameFromId( $idDependOnType ).'"</b>'
);
break;
case 'user':
$subStr = sprintf(
$GLOBALS['lang']['generique_user'],
'<b>"'. $idDependOnType.'"</b>'
);
break;
case 'pdf':
$pdfDb = new PdfConfigDb($this->site->id);
$o_pdf = $pdfDb->getPdf($idDependOnType);
$subStr = sprintf(
$GLOBALS['lang']['generique_pdfno'],
'<b>"'.$o_pdf->pdfName.'"</b>'
);
break;
}
$this->tpl->assign( 'message',
sprintf(
$GLOBALS['lang']['admin_deleteconfirm'],
$subStr
)
);
$this->tpl->assign("confirmation", $type); // flag smarty
$this->tpl->template = "admin/ask_confirmation.tpl";
return false;
}
}
function setMessage( )
{
$this->tpl->template = "admin/message.tpl";
$this->tpl->assign("message", $GLOBALS['lang']['generique_done']);
}
}
?>