/** * Returns a set of links to navigate the different calendar views * * @param string current_view Name of the current view * @return string */ public function viewLinks($current_view) { if (!$this->calendar->schedule->id) { return null; } $no_follow = PHPWS_Settings::get('calendar', 'no_follow'); $vars = PHPWS_Text::getGetValues(); unset($vars['module']); // if ($current_view == 'grid') { // $vars['date'] = $this->calendar->today; // } if (isset($_REQUEST['m']) && isset($_REQUEST['y']) && isset($_REQUEST['d'])) { $vars['date'] = mktime(0, 0, 0, $_REQUEST['m'], $_REQUEST['d'], $_REQUEST['y']); unset($vars['m']); unset($vars['d']); unset($vars['y']); } $links['today'] = $this->todayLink($current_view); if ($current_view == 'event') { $vars['date'] = $this->event->start_time; } if (isset($this->calendar->schedule)) { $vars['sch_id'] = $this->calendar->schedule->id; } // Get the values for the left and right arrows in a month view if ($current_view == 'list' || $current_view == 'grid') { $oMonth = $this->calendar->getMonth(); $left_arrow_time = $oMonth->prevMonth('timestamp'); $right_arrow_time = $oMonth->nextMonth('timestamp'); $left_link_title = dgettext('calendar', 'Previous month'); $right_link_title = dgettext('calendar', 'Next month'); } if ($current_view == 'grid') { //$links['GRID'] = dgettext('calendar', 'Grid'); } else { $vars['view'] = 'grid'; $glink = new PHPWS_Link(dgettext('calendar', 'Month Grid'), 'calendar', $vars); $glink->setNoFollow($no_follow); $glink->addClass('btn btn-default'); $links['GRID'] = $glink->get(); } if ($current_view == 'list') { //$links['LIST'] = dgettext('calendar', 'Month'); } else { $vars['view'] = 'list'; $glink = new PHPWS_Link(dgettext('calendar', 'Month list'), 'calendar', $vars); $glink->addClass('btn btn-default'); $glink->setNoFollow($no_follow); $links['LIST'] = $glink->get(); } if ($current_view == 'week') { require_once 'Calendar/Week.php'; $oWeek = $this->calendar->getWeek(); $left_arrow_time = $oWeek->prevWeek('timestamp'); $right_arrow_time = $oWeek->nextWeek('timestamp'); $left_link_title = dgettext('calendar', 'Previous week'); $right_link_title = dgettext('calendar', 'Next week'); } else { $vars['view'] = 'week'; $wlink = new PHPWS_Link(dgettext('calendar', 'Week'), 'calendar', $vars); $wlink->setNoFollow($no_follow); $wlink->addClass('btn btn-default'); $links['WEEK'] = $wlink->get(); } if ($current_view == 'day') { require_once 'Calendar/Day.php'; $oDay = new Calendar_Day($this->calendar->int_year, $this->calendar->int_month, $this->calendar->int_day); $left_arrow_time = $oDay->prevDay('timestamp'); $right_arrow_time = $oDay->nextDay('timestamp'); $left_link_title = dgettext('calendar', 'Previous day'); $right_link_title = dgettext('calendar', 'Next day'); $links['DAY_LINK'] = dgettext('calendar', 'Day'); } else { $vars['view'] = 'day'; $dlink = new PHPWS_Link(dgettext('calendar', 'Day'), 'calendar', $vars); $dlink->addClass('btn btn-default'); $dlink->setNoFollow($no_follow); $links['DAY_LINK'] = $dlink->get(); } $vars['view'] = $current_view; if (!empty($left_arrow_time)) { $vars['date'] = $left_arrow_time; $larrow = new PHPWS_Link('<i class="fa fa-chevron-left"></i> ', 'calendar', $vars); $larrow->addClass('btn btn-default'); $larrow->setTitle($left_link_title); $larrow->setNoFollow($no_follow); $links['LEFT_ARROW'] = $larrow->get(); } if (!empty($right_arrow_time)) { $vars['date'] = $right_arrow_time; $rarrow = new PHPWS_Link(' <i class="fa fa-chevron-right"></i>', 'calendar', $vars); $rarrow->addClass('btn btn-default'); $rarrow->setTitle($right_link_title); $rarrow->setNoFollow($no_follow); $links['RIGHT_ARROW'] = $rarrow->get(); } return $links; }