| Current Path : /home/jlgagfroyt/www/AAOLD/components/com_jevents/views/default/helpers/ |
| Current File : /home/jlgagfroyt/www/AAOLD/components/com_jevents/views/default/helpers/defaultgetstartenddates.php |
<?php
defined('_JEXEC') or die('Restricted access');
function Defaultgetstartenddates($view){
$params = JComponentHelper::getParams( JEV_COM_COMPONENT );
// fix to allow start/end date to be preserved during pagination IF filter module before/after dates are used
$Itemid = JRequest::getInt("Itemid",0);
// This causes the filter module to reset
$filters = jevFilterProcessing::getInstance(array());
$activeFilterMenu = JFactory::getApplication()->getUserState( 'active_filter_menu ',$Itemid);
if (intval(JRequest::getVar('filter_reset',0)) || ($activeFilterMenu>0 && $activeFilterMenu!=$Itemid)){
// if actively filtering then do not reset
if (!JRequest::getString("startdate",0) || intval(JRequest::getVar('filter_reset',0))) {
JRequest::setVar( 'startdate', '');
JFactory::getApplication()->setUserState( 'range_startdate'.$Itemid, '');
}
if (!JRequest::getString("enddate",0) || intval(JRequest::getVar('filter_reset',0))) {
JRequest::setVar( 'enddate', '');
JFactory::getApplication()->setUserState( 'range_enddate'.$Itemid, '');
}
JFactory::getApplication()->setUserState( 'active_filter_menu ', 0);
}
$startdate = JFactory::getApplication()->getUserStateFromRequest( 'range_startdate'.$Itemid, 'startdate', JRequest::getString("startdate"));
$enddate = JFactory::getApplication()->getUserStateFromRequest( 'range_enddate'.$Itemid, 'enddate', JRequest::getString("enddate"));
if ($startdate!=""){
// WE have specified a start date in the URL so we should use it!
list($startyear,$startmonth,$startday)=explode("-",$startdate);
$view->assign("month",$startmonth);
$view->assign("day",$startday);
$view->assign("year",$startyear);
}
if ($startdate==""){
if ($params->get("relative","rel")=="abs"){
$startdate = $params->get("absstart","");
list($startyear,$startmonth,$startday)=explode("-",$startdate);
}
else if ($params->get("relative","rel")=="strtotime"){
$value = $params->get("strstart","");
$value = new JevDate(JevDate::strtotime($value));
$startdate = $value->toFormat("%Y-%m-%d");
}
else {
$value = $params->get("relstart","");
// order is important since "day" has a y in it which would then be matched!
$value = str_replace(","," ",$value);
$value = str_replace("y","year",$value);
$value = str_replace("d","day",$value);
$value = str_replace("w","week",$value);
$value = str_replace("m","month",$value);
$value = new JevDate($value);
$startdate = $value->toFormat("%Y-%m-%d");
}
}
if ($enddate==""){
if ($params->get("relative","rel")=="abs"){
$enddate = $params->get("absend","");
}
else if ($params->get("relative","rel")=="strtotime"){
$value = $params->get("strend","");
$value = new JevDate(JevDate::strtotime($value));
$enddate = $value->toFormat("%Y-%m-%d");
}
else {
$value = $params->get("relend","");
// order is important since "day" has a y in it which would then be matched!
$value = str_replace(","," ",$value);
$value = str_replace("y","year",$value);
$value = str_replace("d","day",$value);
$value = str_replace("w","week",$value);
$value = str_replace("m","month",$value);
$value = new JevDate($value);
$enddate = $value->toFormat("%Y-%m-%d");
}
}
if ($enddate < $startdate) {
// default to 1 year when input dates are not valid!
$value = new JevDate($startdate);
$value->add(new DateInterval('P1Y'));
$enddate = $value->toFormat("%Y-%m-%d");
}
return array($startdate, $enddate);
}