diff options
Diffstat (limited to 'user_guide_src/source/libraries/calendar.rst')
-rw-r--r-- | user_guide_src/source/libraries/calendar.rst | 148 |
1 files changed, 131 insertions, 17 deletions
diff --git a/user_guide_src/source/libraries/calendar.rst b/user_guide_src/source/libraries/calendar.rst index 3964db25e..2263aa404 100644 --- a/user_guide_src/source/libraries/calendar.rst +++ b/user_guide_src/source/libraries/calendar.rst @@ -7,6 +7,17 @@ calendars can be formatted through the use of a calendar template, allowing 100% control over every aspect of its design. In addition, you can pass data to your calendar cells. +.. contents:: + :local: + +.. raw:: html + + <div class="custom-index container"></div> + +*************************** +Using the Calendaring Class +*************************** + Initializing the Class ====================== @@ -86,21 +97,23 @@ The above code would start the calendar on saturday, use the "long" month heading, and the "short" day names. More information regarding preferences below. -====================== =========== =============================================== =================================================================== -Preference Default Options Description -====================== =========== =============================================== =================================================================== -**template** None None A string containing your calendar template. - See the template section below. -**local_time** time() None A Unix timestamp corresponding to the current time. -**start_day** sunday Any week day (sunday, monday, tuesday, etc.) Sets the day of the week the calendar should start on. -**month_type** long long, short Determines what version of the month name to use in the header. - long = January, short = Jan. -**day_type** abr long, short, abr Determines what version of the weekday names to use in - the column headers. long = Sunday, short = Sun, abr = Su. -**show_next_prev** FALSE TRUE/FALSE (boolean) Determines whether to display links allowing you to toggle - to next/previous months. See information on this feature below. -**next_prev_url** None A URL Sets the basepath used in the next/previous calendar links. -====================== =========== =============================================== =================================================================== +====================== ================= ============================================ =================================================================== +Preference Default Options Description +====================== ================= ============================================ =================================================================== +**template** None None A string containing your calendar template. + See the template section below. +**local_time** time() None A Unix timestamp corresponding to the current time. +**start_day** sunday Any week day (sunday, monday, tuesday, etc.) Sets the day of the week the calendar should start on. +**month_type** long long, short Determines what version of the month name to use in the header. + long = January, short = Jan. +**day_type** abr long, short, abr Determines what version of the weekday names to use in + the column headers. long = Sunday, short = Sun, abr = Su. +**show_next_prev** FALSE TRUE/FALSE (boolean) Determines whether to display links allowing you to toggle + to next/previous months. See information on this feature below. +**next_prev_url** controller/method A URL Sets the basepath used in the next/previous calendar links. +**show_other_days** FALSE TRUE/FALSE (boolean) Determines whether to display days of other months that share the + first or last week of the calendar month. +====================== ================= ============================================ =================================================================== Showing Next/Previous Month Links @@ -123,7 +136,8 @@ You'll notice a few things about the above example: - You must set the "show_next_prev" to TRUE. - You must supply the URL to the controller containing your calendar in - the "next_prev_url" preference. + the "next_prev_url" preference. If you don't, it will be set to the current + *controller/method*. - You must supply the "year" and "month" to the calendar generating function via the URI segments where they appear (Note: The calendar class automatically adds the year/month to the base URL you @@ -154,6 +168,8 @@ pair of pseudo-variables as shown here:: {cal_row_start}<tr>{/cal_row_start} {cal_cell_start}<td>{/cal_cell_start} + {cal_cell_start_today}<td>{/cal_cell_start_today} + {cal_cell_start_other}<td class="other-month">{/cal_cell_start_other} {cal_cell_content}<a href="{content}">{day}</a>{/cal_cell_content} {cal_cell_content_today}<div class="highlight"><a href="{content}">{day}</a></div>{/cal_cell_content_today} @@ -163,7 +179,11 @@ pair of pseudo-variables as shown here:: {cal_cell_blank} {/cal_cell_blank} + {cal_cell_other}{day}{cal_cel_other} + {cal_cell_end}</td>{/cal_cell_end} + {cal_cell_end_today}</td>{/cal_cell_end_today} + {cal_cell_end_other}</td>{/cal_cell_end_other} {cal_row_end}</tr>{/cal_row_end} {table_close}</table>{/table_close} @@ -171,4 +191,98 @@ pair of pseudo-variables as shown here:: $this->load->library('calendar', $prefs); - echo $this->calendar->generate();
\ No newline at end of file + echo $this->calendar->generate(); + +*************** +Class Reference +*************** + +.. class:: CI_Calendar + + .. method:: initialize([$config = array()]) + + :param array $config: Configuration parameters + :returns: CI_Calendar instance (method chaining) + :rtype: CI_Calendar + + Initializes the Calendaring preferences. Accepts an associative array as input, containing display preferences. + + .. method:: generate([$year = ''[, $month = ''[, $data = array()]]]) + + :param int $year: Year + :param int $month: Month + :param array $data: Data to be shown in the calendar cells + :returns: HTML-formatted calendar + :rtype: string + + Generate the calendar. + + + .. method:: get_month_name($month) + + :param int $month: Month + :returns: Month name + :rtype: string + + Generates a textual month name based on the numeric month provided. + + .. method:: get_day_names($day_type = '') + + :param string $day_type: 'long', 'short', or 'abr' + :returns: Array of day names + :rtype: array + + Returns an array of day names (Sunday, Monday, etc.) based on the type + provided. Options: long, short, abr. If no ``$day_type`` is provided (or + if an invalid type is provided) this method will return the "abbreviated" + style. + + .. method:: adjust_date($month, $year) + + :param int $month: Month + :param int $year: Year + :returns: An associative array containing month and year + :rtype: array + + This method makes sure that you have a valid month/year. For example, if + you submit 13 as the month, the year will increment and the month will + become January:: + + print_r($this->calendar->adjust_date(13, 2014)); + + outputs:: + + Array + ( + [month] => '01' + [year] => '2015' + ) + + .. method:: get_total_days($month, $year) + + :param int $month: Month + :param int $year: Year + :returns: Count of days in the specified month + :rtype: int + + Total days in a given month:: + + echo $this->calendar->get_total_days(2, 2012); + // 29 + + .. method:: default_template() + + :returns: An array of template values + :rtype: array + + Sets the default template. This method is used when you have not created + your own template. + + + .. method:: parse_template() + + :returns: CI_Calendar instance (method chaining) + :rtype: CI_Calendar + + Harvests the data within the template ``{pseudo-variables}`` used to + display the calendar.
\ No newline at end of file |