2015-12-01 05:06:34 +00:00
< ? php
/*----------------------------------------------------------------------------------| www . giz . de |----/
Deutsche Gesellschaft für International Zusammenarbeit ( GIZ ) Gmb
/-------------------------------------------------------------------------------------------------------/
2016-04-05 08:16:19 +00:00
@ version 3.3 . 11
@ build 5 th April , 2016
2015-12-01 05:06:34 +00:00
@ created 15 th June , 2012
@ package Cost Benefit Projection
@ subpackage health_data_sets . php
@ author Llewellyn van der Merwe < http :// www . vdm . io >
@ owner Deutsche Gesellschaft für International Zusammenarbeit ( GIZ ) Gmb
@ copyright Copyright ( C ) 2015. All Rights Reserved
@ license GNU / GPL Version 2 or later - http :// www . gnu . org / licenses / gpl - 2.0 . html
/-------------------------------------------------------------------------------------------------------/
Cost Benefit Projection Tool .
/------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined ( '_JEXEC' ) or die ( 'Restricted access' );
// import Joomla controlleradmin library
jimport ( 'joomla.application.component.controlleradmin' );
/**
* Health_data_sets Controller
*/
class CostbenefitprojectionControllerHealth_data_sets extends JControllerAdmin
{
protected $text_prefix = 'COM_COSTBENEFITPROJECTION_HEALTH_DATA_SETS' ;
/**
* Proxy for getModel .
* @ since 2.5
*/
public function getModel ( $name = 'Health_data' , $prefix = 'CostbenefitprojectionModel' , $config = array ())
{
$model = parent :: getModel ( $name , $prefix , array ( 'ignore_request' => true ));
return $model ;
}
public function exportData ()
{
2016-01-14 07:44:50 +00:00
// Check for request forgeries
2015-12-01 05:06:34 +00:00
JSession :: checkToken () or die ( JText :: _ ( 'JINVALID_TOKEN' ));
2016-01-14 07:44:50 +00:00
// check if export is allowed for this user.
2015-12-01 05:06:34 +00:00
$user = JFactory :: getUser ();
if ( $user -> authorise ( 'health_data.export' , 'com_costbenefitprojection' ) && $user -> authorise ( 'core.export' , 'com_costbenefitprojection' ))
{
2016-01-14 07:44:50 +00:00
// Get the input
2015-12-01 05:06:34 +00:00
$input = JFactory :: getApplication () -> input ;
$pks = $input -> post -> get ( 'cid' , array (), 'array' );
2016-01-14 07:44:50 +00:00
// Sanitize the input
2015-12-01 05:06:34 +00:00
JArrayHelper :: toInteger ( $pks );
2016-01-14 07:44:50 +00:00
// Get the model
2015-12-01 05:06:34 +00:00
$model = $this -> getModel ( 'Health_data_sets' );
2016-01-14 07:44:50 +00:00
// get the data to export
2015-12-01 05:06:34 +00:00
$data = $model -> getExportData ( $pks );
if ( CostbenefitprojectionHelper :: checkArray ( $data ))
{
2016-01-14 07:44:50 +00:00
// now set the data to the spreadsheet
2015-12-01 05:06:34 +00:00
$date = JFactory :: getDate ();
CostbenefitprojectionHelper :: xls ( $data , 'Health_data_sets_' . $date -> format ( 'jS_F_Y' ), 'Health data sets exported (' . $date -> format ( 'jS F, Y' ) . ')' , 'health data sets' );
}
}
2016-01-14 07:44:50 +00:00
// Redirect to the list screen with error.
2015-12-01 05:06:34 +00:00
$message = JText :: _ ( 'COM_COSTBENEFITPROJECTION_EXPORT_FAILED' );
$this -> setRedirect ( JRoute :: _ ( 'index.php?option=com_costbenefitprojection&view=health_data_sets' , false ), $message , 'error' );
return ;
}
public function importData ()
{
2016-01-14 07:44:50 +00:00
// Check for request forgeries
2015-12-01 05:06:34 +00:00
JSession :: checkToken () or die ( JText :: _ ( 'JINVALID_TOKEN' ));
2016-01-14 07:44:50 +00:00
// check if import is allowed for this user.
2015-12-01 05:06:34 +00:00
$user = JFactory :: getUser ();
if ( $user -> authorise ( 'health_data.import' , 'com_costbenefitprojection' ) && $user -> authorise ( 'core.import' , 'com_costbenefitprojection' ))
{
2016-01-14 07:44:50 +00:00
// Get the import model
2015-12-01 05:06:34 +00:00
$model = $this -> getModel ( 'Health_data_sets' );
2016-01-14 07:44:50 +00:00
// get the headers to import
2015-12-01 05:06:34 +00:00
$headers = $model -> getExImPortHeaders ();
if ( CostbenefitprojectionHelper :: checkObject ( $headers ))
{
2016-01-14 07:44:50 +00:00
// Load headers to session.
2015-12-01 05:06:34 +00:00
$session = JFactory :: getSession ();
$headers = json_encode ( $headers );
$session -> set ( 'health_data_VDM_IMPORTHEADERS' , $headers );
$session -> set ( 'backto_VDM_IMPORT' , 'health_data_sets' );
$session -> set ( 'dataType_VDM_IMPORTINTO' , 'health_data' );
2016-01-14 07:44:50 +00:00
// Redirect to import view.
2015-12-01 05:06:34 +00:00
$message = JText :: _ ( 'COM_COSTBENEFITPROJECTION_IMPORT_SELECT_FILE_FOR_HEALTH_DATA_SETS' );
$this -> setRedirect ( JRoute :: _ ( 'index.php?option=com_costbenefitprojection&view=import' , false ), $message );
return ;
}
}
2016-01-14 07:44:50 +00:00
// Redirect to the list screen with error.
2015-12-01 05:06:34 +00:00
$message = JText :: _ ( 'COM_COSTBENEFITPROJECTION_IMPORT_FAILED' );
$this -> setRedirect ( JRoute :: _ ( 'index.php?option=com_costbenefitprojection&view=health_data_sets' , false ), $message , 'error' );
return ;
}
}