[Phpsurveyor-developers] RE : Looking for info about internalarchitecture
The leading Open Source survey tool
Brought to you by:
c_schmitz
From: Thibault Le M. <Thi...@su...> - 2007-04-27 12:36:16
|
> Hi all,=20 >=20 > I'm going to develop a number of modifications to latest=20 > (1.48) version and upcoming release. This work is to be done=20 > within a client project. Which ones ? > Thus, I'm interested to get as much info regarding internal=20 > architecture of PHPSurveyor as possible. >=20 > Of course, it's [always] possible to explore the code myself, but... >=20 > IMO, the core developers are supposed to have a very good=20 > understanding of internal architecture (i.e., how php files=20 > are tied one to another and to tasks). Unfortunately, within=20 > these files I can't find any kind of description or other=20 > info about what the specific file is intended to do. >=20 > Is there any way I can get this information? I'm afraid not... I had thought I could write some articles on the devel wiki but had no time for this yet. > Can anyone enlighten me? Of course, just post more precise questions in this list. Let's have an overview: Tree: Phpsurveyor | | - configuration files: config.php, config-ldap.php | - common.php: common functions used in 'survey at runtime' code and = in 'admin gui code' | - ldap-functions.php: common functions for ldap connector (currently only used in import tokens) | - qanda.php: functions handling questions (display, ...) | - question.php: code handling '1 question per page' kind of survey | - group.php: code handling '1 group per page' kind of survey | - survey.php: code handling 'All in one page' kind of survey | - register.php: code handling public registration to survey | - verfification.php: code handling captcha registration check(image verification to avoid non human regostration) | - save.php/load.php: code handling partial survey completion saving | | /admin: admin GUI | - admin.php: main admin script | * checks for user rights for the accessed action | * reads the 'action' get parameter to call the = desired -submodule- | - login_check.php: security code that checks that the session is authenticated | - access_denied.php: action forbidden screen | - then comes submodules see which one is called by reading "if ($action =3D=3D" statements in admin.php (lines 54-213) | * a submodule reads the 'subaction' get parameter to process the corresponding part of the code=20 | * a submodule write its output to a variable (for instance $tokenoutput for the tokens.php file) | and this variable is then appended by admin.php to the = adminoutput (see admin.php lines 216-274) | | /classes: interresting classes for phpSurveyor | * note the language.php class which have support for the translated strings | * translated string can be added in any part of the admin = GUI code by using the global variable $clang | For instance for htmlized translation of Yes use $clang->gT("Yes") | For instance for javascript-escaped translation of Yes = use $clang->gT("Yes","js") | For instance for unescaped translation of Yes use $clang->gT("Yes","unescaped") | this one is used when you want to compare a = "translated Get param" that was sent as htmlized string | but received as unescaped string Well, then I let you ask more specific questions if any ;-) Regards and welcome to the project, Thibault |