Userpanel is automated virtual customer service, based on LMS and using its core features. It enables customers (or it's intended to) to do review their payments, change their personal details or computer properties, modify subscriptions, submit problems, track their requests on Helpdesk and print invoices. It means, it makes a closer contact with their ISP.
idea, design, graphics:
modules, design, documentation:
engine:
icons:
Jakub 'Jimmac' Steiner
keyboard photo:
Andreas 'Niceman' Just
bugfixes:
animated boy (helper):
UNKNOWN AUTHOR (we need something more GPL)
userpanel uses elements of other software:
overlib, ezPdf, Smarty, LMS.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at you option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Text of License is here.
Preferably via a LMS's mailing list, which you can subscribe by sending empty e-mail with subject "subscribe lms-en" to address ecartis@lists.rulez.pl. Further emails should be sent to address lms-en@lists.rulez.pl.
In order to effectively report bugs or new ideas, it's recommended to subscribe LMS mailing list, where you can get quickest response for your problems from either LMS users or developers team. There's also Bug Tracking System available, when you can report bugs upon registration. Reports from BTS are also forwarded to mailing list, so the best practice is to subscribe to list, report via BTS and send link to mailing list and finally wait as your report will evolve. BTS address is bts.rulez.pl.
Newest version of Userpanel can be downloaded from CVS repository utilizing WWW interface at here or with CVS tools (anonymous access, empty password):
cvs -d :pserver:cvs@cvs.rulez.pl:/home/cvsroot login cvs -d :pserver:cvs@cvs.rulez.pl:/home/cvsroot co userpanel cvs -d :pserver:cvs@cvs.rulez.pl:/home/cvsroot logout
Informations about changes and version history of Userpanel is included in Changelog.
As of now, to run Userpanel, you will need properly configured and working installation of LMS in any version from stable branches higher than 1.6.3 or newest version of devel branch. PHP version 4.3.0 or higher is also required.
You should define sys_dir directory in lms.ini file pointing to your LMS installation dir, as Userpanel will need LMS libraries located under this directory to run. Additionally you should enter your Userpanel location in userpanel_dir variable.
Userpanel, besides options available to setup in LMS-UI, uses also those enclosed in [userpanel] section (also available in lms.ini file).
Userpanel modules are located in modules subdirectory. You can turn it on or off simply by copying module into, or deleting it from this directory, respectively.
Userpanel configuration is made simple thanks to special configuration panel available in Userpanel -> Configuration menu in LMS-UI. LMS detects Userpanel presence and unhides this menu if userpanel_dir variable has been set in [directories] section of lms.ini file.
Main window contains global configuration options and list of present (enabled) modules. Choosing any of this will direct you to configuration options screen specific to respective module.
Userpanel interface is designed to allow its easy adoption to your own needs and to blend into your existing web pages layout. There is no need to modify templates code to achieve this goal.
All important files, that is css styles definition and images are located in style directory, each style in separate directory, corresponding to its name. If any of the files is missing, the one from the default style will be used instead. Styles directory, besides css, images and Javascript, contains two simple Smarty templates, one containing global page layout with main menu and content of chosen module below (body.html) and one with table layout, used by modules to draw anything inside the box (box.html).
Each of Userpanel modules can be styled too, as it contains corresponding style directory within its directory structure. If any of the file is missing in specific style, the one from main style directory will be used instead.
Userpanel is built with modularity principle, which means that each module, which represents one menu entry is contained in separate subdirectory of modules directory.
This graph represents directory structure of typical module:
module_name |---locale | |---en | |---strings.php |---style | |---default | |---image.gif |---templates | |---template1.html | |---template2.html |---upgradedb | |---mysql.2005081901.php | |---postgres.2005081901.php |---configuration.php |---functions.php
This requires a few words of explanation:
locale directory contains appropriate locale, obviously. However strings.php file contains only translation strings used in containing module,
style is obviously image and css style dir, with subdirectories for each style (graphical theme) installed in Userpanel,
templates contains Smarty templates for given module,
upgradedb contains auto-upgrade files for tables being used by module. Table names, for those used exclusively by one module, should contain up_modulename_ prefix,
configuration.php and functions.php are two files required for each module. They are described in detail later in this document.
This file contains configuration of given module and is always included during Userpanel initialization. Usually it's built as follows:
?php $USERPANEL->AddModule(trans('Help'), // Name in menu 'help', // Module name (must be identical as module dir) trans('Runs problems solving creator'), // Tip (on menu hover) 5, // Priority (lower first) trans('This module shows solving problems creator'), // Description 2005081901, // DB version (similar to LMS, see // lms/lib/upgradedb.php) array( // Array of submenus im LMS-UI Userpanel menu array( // (see lib/LMS.menu.php) 'name' => trans('Submenu'), 'link' => '?m=userpanelmodule=help', 'tip' => trans('Tooltip'), ), ) ); ?
This file contains given module functions. There is special function, named module_main() executed first when module is called. If any function is intended to be accessible from Userpanel UI, it should be prefixed with module_, ie. module_function1(), which will be available from the following URL: http://userpanel/?m=modulef=function1. Function named module_setup() is being called from configuration panel of LMS-UI.