Changeset 1057 for trunk/include/calendar_base.class.php
- Timestamp:
- Feb 24, 2006, 6:58:48 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/calendar_base.class.php
r1056 r1057 36 36 // base url used when generating html links 37 37 var $url_base; 38 // array of date components e.g. (2005,10,12) ... 39 var $date_components; 38 40 39 function get_date_where()40 {41 die("get_date_where not extended");42 }43 41 44 42 /** … … 46 44 * @param string date_field db column on which this calendar works 47 45 * @param string inner_sql used for queries (INNER JOIN or normal) 46 * @param array date_components 48 47 */ 49 function initialize($date_field, $inner_sql )48 function initialize($date_field, $inner_sql, $date_components) 50 49 { 51 50 $this->date_field = $date_field; 52 51 $this->inner_sql = $inner_sql; 52 $this->date_components = $date_components; 53 53 } 54 54 55 55 //--------------------------------------------------------- private members --- 56 56 /** 57 * Returns a display name for a date component optionally using labels 58 */ 59 function get_date_component_label($date_component, $labels=null) 60 { 61 $label = $date_component; 62 if (isset($labels[$date_component])) 63 { 64 $label = $labels[$date_component]; 65 } 66 elseif ($date_component == 'any' ) 67 { 68 $label = l10n('calendar_any'); 69 } 70 return $label; 71 } 72 57 73 /** 58 74 * Creates a calendar navigation bar. … … 97 113 $nav_bar.= '</span>'; 98 114 } 99 100 if ($ allow_any and count($items) > 1)115 global $conf; 116 if ($conf['calendar_show_any'] and $allow_any and count($items) > 1) 101 117 { 102 118 $label = l10n('calendar_any'); … … 122 138 * Creates a calendar navigation bar for a given level. 123 139 * 124 * @param string view_type - list or calendar (e.g. 'l' or 'c')125 * @param array requested - array of current selected elements (e.g. 2005,10)126 140 * @param string sql_func - YEAR/MONTH/DAY/WEEK/DAYOFWEEK ... 127 141 * @param string sql_offset - (e.g. +1 for WEEK - first in year is 1) … … 129 143 * @return void 130 144 */ 131 function build_nav_bar($ view_type, $requested, $level, $sql_func,145 function build_nav_bar($level, $sql_func, 132 146 $sql_offset='', $labels=null) 133 147 { … … 138 152 .') as period'; 139 153 $query.= $this->inner_sql; 140 $query.= $this->get_date_where($ requested, $level);154 $query.= $this->get_date_where($level); 141 155 $query.= ' 142 156 GROUP BY period … … 151 165 152 166 $url_base = $this->url_base; 153 $url_base .= $view_type.'-';154 167 for ($i=0; $i<$level; $i++) 155 168 { 156 if (isset($ requested[$i]))169 if (isset($this->date_components[$i])) 157 170 { 158 $url_base .= $ requested[$i].'-';171 $url_base .= $this->date_components[$i].'-'; 159 172 } 160 173 } 161 174 $selected = null; 175 if ( isset($this->date_components[$level]) ) 176 { 177 $selected = $this->date_components[$level]; 178 } 162 179 $nav_bar = $this->get_nav_bar_from_items( 163 180 $url_base, 164 181 $level_items, 165 isset($requested[$level]) ? $requested[$level] : null,182 $selected, 166 183 'cal', 167 184 true,
Note: See TracChangeset
for help on using the changeset viewer.