Location: PHPKode > scripts > Lightweight Club Calendar > lc-calendar-0.9.4/documentation/configuring_lcc.txt
| LCC Configuration |

This Document describes how to fine tune LCCs behavior.

I.      General
II.     Aviable core configuration
III.    Default ACL

I. General
The LCC core provides a simple configuration system.
Each main class (LCC_Core and all derived drivers) provide a method
"setConfig()" that can be used to overwrite parts or all of the
default configuration.
To configure the LCC_Core (for example), just call
"$lcc_core->setConfig($new_config)" and pass the options you want to overwrite.
See the "lcc_standalone.php" file for an example.

The LCC_Core class is usually responsible for loading the drivers and setting
the drivers configuration via its "load*Driver()" methods.
This methods accept the name of the driver and the configuration array of that driver.
The core tries to instantiate the driver class to have access to the drivers
class variables. If the class file of the driver is not
already included, the core tries to include the neccesary file automatically.

What you must/can configure depends on the driver that should be loaded. Refer to
the drivers documentation (some external docs but at least a comment in the drivers file).

For further information on how drivers work internally and
how drivers are loaded refer to
"drivers/whats_this.txt", "documentation/howto_write_a_driver.txt"
and the API documentation of the driver loading methods.

II. Aviable core configuration
These are the possible configuration options of the core:

Config key       Default value          Description
data_dir         'INSTALLDIR/data/'     What is the directory to store data in?
driver_dir       'INSTALLDIR/drivers/'  Wehre the drivers reside (with trailing slash)
design_dir       'INSTALLDIR/designs/'  Wehre the designs reside
design           'default'              What design to load
start_of_week    1                      What day is the first day of the week?
guest_ok         false                  If true, create a guest login if not already logged in,
                                        Otherwise print a error message
guest_username   'Anonymous'            What username to assign to guest if $guest_ok=true
action_start     'show_calendar'        LCC-Action to perform if no other action is triggered

LCC is able to create a anonymous login if the user isn't logged in so far. This
is configurable. The anonymous user will be created using a custom (default: Simple)
UserDriver; with no groups assigned and level = 0.

III. Default ACL
By default, no groups are required for actions, because we don't have knowledge of your groups.
As a consequence, ACLs are only level based if you don't change this.
The following convention is used:
Level ==   0: Unauthorized users (anonymous)
Level  >   0: Authorized users
Level >=  50: Moderators or something like that
Level == 100: Administrators

Action                      Min Level  Description
'calendar_view'                    0   Viewing the calendar
'event_view'                       0   Viewing detail view of events
'event_add'                      100,  Adding new events
'event_mod'                      100,  Modify all existing events
'event_mod_own'                    0,  Modify own events
'event_del'                      100,  Delete existing events
'event_del_own'                    0,  Delete own events
'event_subscribe_yes'             10,  Subscribe to an event
'event_subscribe_no'              10,  Subscribe to an event
'event_subscribe_unknown'         10,  Subscribe to an event
'event_subscribe_group_yes'       10,  Subscribe group to an event
'event_subscribe_group_no'        10,  Subscribe group to an event
'event_subscribe_group_unknown'   10,  Subscribe group to an event
'note_view'                       10,  View notes of events
'note_add'                        10,  Add a note to any event
'note_add_own'                    10,  Add a note to own events
'note_mod'                       100,  Modify any note
'note_mod_own'                    10,  Modify own note
'note_del'                       100,  Delete any note
'note_del_own'                    10,  Delete own notes
Return current item: Lightweight Club Calendar