Personal Weezo space access   search
  • Franšais
  • English
Themes

themeCreating a Weezo theme

Weezo look'n feel can be completely modified by adding new themes.

All it takes is some CSS knowledge. HTML and PHP skills are required for in-depth modifications.




Architecture

A redistribuable theme is a zip file (whose extension is changed to .weezoTheme for Windows association with Weezo), that contains all required files.
On installation, this file is unziped into /www/themes/zip_filename_without_extension directory.

A theme is composed of:
  • theme.css: this is the main CSS file
  • menu.php: this PHP file sets some parameters
  • loginForm.php (optional): this script defines login form. If not present, "classic" form is used
  • background.php (optional): this script defines desktop background, menu and icons. If not present, "classic" desktop is used
  • all required graphical elements

It is recommended to modify an existing theme, rather than starting from zero.

theme.css

This stylesheet is the core of your theme.
It defines the apparence of windows, resources, tooltips, help frames, context menus...
This file is included in every pages, just after /www/themes/common.css stylesheet. common.css defines default appearance, and can be overridden by theme.css.


menu.php

This script is actually quite useless, but is kept for compatibility reasons.
It mainly defines position, width and height of the menu area of desktop ($theme['menuFrame']), and default content displayed when a new window is opened and content is not yet loaded ($theme['winEmptyHTML']).
Other data shouldn't be modified.


background.php

This script displays desktop, menu and icons (if any).
It is included by mainFrame.php script, which has already output <head></head>, <body> and some script and elements required for background display.

To generate your background you will need cfResourcesGetUser() function.
cfResourcesGetUser() returns an array containing data on resources user may access.
Each resource has those properties:
  •  * name : "label" of resource
  • * type : type of resource (explorer, administration, misc, webtv, webcam, website)
  •  * subType : subtype of resource
  •  * baseFile : main script file name (without path)
  •  * resourceScriptPath : path (from document root) to resource script(s)
  •  * resourceDataDir : path to resource data directory
  •  * definition : array containing resource definition (icon, small icon...)
  •  * resourceJsLink : javascript link to main resource script
  •  * resourceTypeLabel : label of resource as specified in resource's desciber file or, if not found, resource's type label

     * resourcePreviewImage (optional) : path (from document root) to resource's preview image
  •  * resourceDescription (optional) : path (from document root) to resource's description (read from describer.ini file)
  •  * resourceStartsSession : true if resource doesn't need a session_start from security.php script
  •  * resourceConfigFile : (optional) resource configuration script name

You may also get information on logged user with cfUGetVar(dataName) function.
Call cfUGetVar() to get an array with all properties.

loginForm.php 

This script display login page. It's architecture is quite messy ;(. It's therefore really recommended to use/modify an existing script (and associated CSS in theme.css).

No more information is provided here as this should be improved in a later version...