diff options
Diffstat (limited to 'include/calendar_base.class.php')
-rw-r--r-- | include/calendar_base.class.php | 76 |
1 files changed, 53 insertions, 23 deletions
diff --git a/include/calendar_base.class.php b/include/calendar_base.class.php index b61dc41c8..f79b46800 100644 --- a/include/calendar_base.class.php +++ b/include/calendar_base.class.php @@ -22,20 +22,41 @@ // +-----------------------------------------------------------------------+ /** + * @package functions\calendar + */ + + +/** * Base class for monthly and weekly calendar styles */ -class CalendarBase +abstract class CalendarBase { - // db column on which this calendar works + /** db column on which this calendar works */ var $date_field; - // used for queries (INNER JOIN or normal) + /** used for queries (INNER JOIN or normal) */ var $inner_sql; - // + /** used to store db fields */ var $calendar_levels; /** - * Initialize the calendar - * @param string inner_sql used for queries (INNER JOIN or normal) + * Generate navigation bars for category page. + * + * @return boolean false indicates that thumbnails where not included + */ + abstract function generate_category_content(); + + /** + * Returns a sql WHERE subquery for the date field. + * + * @param int $max_levels (e.g. 2=only year and month) + * @return string + */ + abstract function get_date_where($max_levels); + + /** + * Initialize the calendar. + * + * @param string $inner_sql */ function initialize($inner_sql) { @@ -51,6 +72,11 @@ class CalendarBase $this->inner_sql = $inner_sql; } + /** + * Returns the calendar title (with HTML). + * + * @return string + */ function get_display_name() { global $conf, $page; @@ -82,11 +108,12 @@ class CalendarBase return $res; } -//--------------------------------------------------------- private members --- /** - * Returns a display name for a date component optionally using labels - */ - function get_date_component_label($level, $date_component) + * Returns a display name for a date component optionally using labels. + * + * @return string + */ + protected function get_date_component_label($level, $date_component) { $label = $date_component; if (isset($this->calendar_levels[$level]['labels'][$date_component])) @@ -101,9 +128,12 @@ class CalendarBase } /** - * Gets a nice display name for a date to be shown in previos/next links. + * Gets a nice display name for a date to be shown in previous/next links + * + * @param string $date + * @return string */ - function get_date_nice_name($date) + protected function get_date_nice_name($date) { $date_components = explode('-', $date); $res = ''; @@ -125,14 +155,14 @@ class CalendarBase /** * Creates a calendar navigation bar. * - * @param array date_components - * @param array items - hash of items to put in the bar (e.g. 2005,2006) - * @param bool show_any - adds any link to the end of the bar - * @param bool show_empty - shows all labels even those without items - * @param array labels - optional labels for items (e.g. Jan,Feb,...) - * @return string the navigation bar + * @param array $date_components + * @param array $items - hash of items to put in the bar (e.g. 2005,2006) + * @param bool $show_any - adds any link to the end of the bar + * @param bool $show_empty - shows all labels even those without items + * @param array $labels - optional labels for items (e.g. Jan,Feb,...) + * @return string */ - function get_nav_bar_from_items($date_components, $items, + protected function get_nav_bar_from_items($date_components, $items, $show_any, $show_empty=false, $labels=null) { @@ -203,10 +233,9 @@ class CalendarBase /** * Creates a calendar navigation bar for a given level. * - * @param int level - the level (0-year,1-month/week,2-day) - * @return void + * @param int $level - 0-year, 1-month/week, 2-day */ - function build_nav_bar($level, $labels=null) + protected function build_nav_bar($level, $labels=null) { global $template, $conf, $page; @@ -261,7 +290,7 @@ $this->get_date_where($level).' * Assigns the next/previous link to the template with regards to * the currently choosen date. */ - function build_next_prev() + protected function build_next_prev() { global $template, $page; @@ -343,4 +372,5 @@ GROUP BY period'; } } } + ?>
\ No newline at end of file |