language class needs to have l var set as public
db\io convert encoding function needs to work with false method
parameters as the return can be false and needs a clean pass through in
this case
The base class has now set/get class variable check handlers.
Default they are off and setting undefined variables in a class works as
before.
The flag can be set to throw an error on an unset var but let var still
be set or also surpress setting and unset var.
This can be controlled via setting for the last parameter in class init
or the global var $CLASS_VARIABLE_ERROR_MODE or in the config file the
constant CLASS_VARIABLE_ERROR_MODE (constant > global). Note that if a
global or constant is set the class constructor setting will be
overridden.
Backend/IO/Basic/Login classes are set to be type safe as much as possible if
called from a strict defined php script.
Added random key generator function to the basic class and removed the
random key definitons from the Backend class.
- randomKeyGen
- initRandomKeyLength
Updated the basic bytes to string and string to bytes functions.
Added hrRunningTime method to use the hrtime for precise running time
calculations. Default returns running time in ms. Can be set via
parameter to ns (lowest), ys, ms, s.
The old runningTime method is still there, but it is recommended to use the
hrRunningTime method instead
Removed Error Handling method in Basic, as there is no need for it
there. The is a master one in lib Folder Error.Handling.inc if needed.
Currently Generate/ArrayIO are not 100% type safe [because they are only
used in the edit_base anyway]
- Class Basic convert string to bytes fix
- admin edit_* pages do not need JS except pop call, moved that into the
template and do not load any other JS anymore
- changed the EDIT_STYLESHEET/JAVACSRIPT names to ADMIN_ to give them
the proper name that they are admin based functions
- paths are in an extra config file
- plan on moving edit_* css rules into a special CSS file just for this
the old "www/layout/<admin/frontend>/<template name>/..." layout is
deprecated.
new layout:
www/layout/<admin|frontend>/<cache/css/images/javascript>/
The layout/<admin/frontend> is symlinked to www/<admin|frontend>/layout
templates and lang are moved to includes
www/includes/template/<admin/frontend>
www/includes/lang/<admin/frontend>
and no longer symlinked to any public facing folders
The language po files have already been moved to
4dev/lang/<admin|frontend>/
- all if/while/for/etc blocks have brackets on same line
- functions have brackets on new line
- no blocks without brackets
- all code starts on col 0 and there are no tab intends anymore
off: came case for classes and class methods
ignore: _ prefix functions (we can't change that anymore)
Class.Basic
add general 8 char hash wrapper function (for adler32, fnv, jooa)
Edit Users
add first/last name to the basic user info
Config template
Update config template from current working template
Any include or require call is removed and now we use only _spl_autoload
in any class external file include call.
There are three new _DIR vars: LIBDIR, SMARTYDIR, TABLEARRAYDIR that are
based on the __DIR__ and not current working directory.
Add autoload function to main config file.
Add better DIR declarations in config file based on __DIR__ for libs &
smarty classes.
Load all class files with the new autoload function in header & direct
file calls.
- config.inc: add define for show/not show all errors when parsning
through Error.Handling.inc with SHOW_ALL_ERRORS
- Error.Handling.inc: check php error level and do not show ones that
are not flagged unless SHOW_ALL_ERRORS is set to true
- db_pgsql.inc for fetch array, call the internal wrapper method, not
the pg method directly
- db_pgsql_pdo.inc: test insert for alternative with pdo lib instead of
php internal postgresql interface
- Class.DB.IO.inc: on prepared check if cursor exist before returing
inserted id in INSERT queries. fail if no insert id could be aquired
if there was no cursor (or other error)
- Class.Basic.inc: rewrite Time to string method for speed up and
removal of old php microtime format
The login class and edit interface has added lock/strict login and a
basic layout add for forced change password in X days (not yet
implemented)
Also start adding pdo interface wrapper class for pgsql