cal_get_cat_l()
replaced by
cal_get_cat_list()
. Did nearly the samecal_get_cat_tit()
.idoc:json_binary
).cal_fail_check_sps_form_fields()
when
form fields depend on the path for login forms (starting a session).cal_valid_newsla_mid()
).$GLOBALS[$gn]
mechanism.cal_no_int_index()
moved to m_div.php
.cal_refresh_delayed()
to allow other important
things to be done (like setting the focus).$env['newslId']
.x_as_wuser
allows to
use user evaluation functions that work on an implied context user.x_act
can allow to return a value and thus
allows to build interpreted functions in the CMS.{subscriber_val:...}
or
with the new string expression subscriber_val
.gDbPAliasL
, that works dynamic for a session.primf_unicode
.dbtab_detail_hnd_lbobjed
) can now handle the object
context correctly.m_dbtab_show.php
led to fatal error in
detail view under PHP 8.1 .cal_read_datetime()
).dyn_db_filter_qaa
).dyn_db_filter
).dyn_db_filter_std
).dyn_db_filter_qaa
).&$This
for those methods not supposed to change the objects state. Changing of all
methods primf_get_str()
.show_obj_ref_src
(now render
list driven).m_fontgen.php
.show_obj_ref_src
).show_obj_ref_src
).show_obj_ref_src
)
to a interactive DB table with setting the filter to match (only, if this
table is the source of references).tab_xfer_link
to
export of tab_xfer
).m_tab_xfer.php
).idoc:utf8_migration
).mysql_fetch_array()
.m_ana.php
provides functions to search
for sub objects of a given class including field usage.cms
(already replaced by backend
)
was removed.date
handled by cal_get_db_tab_col_check_l()
.idoc:db_val
).idoc:devpos_default_values_db
).dbtab_upload
field xfer
).TRUE
, FALSE
and some other PHP expressions/values
according to the code style like true
and false
.cal_obj_link()
has now new options
to append something to the lin or to the object title.idoc:dbtab_perm_row
).cal_show_rel_nav_filter()
).devpos_unified_ut_col_hnd
).debug_str
,
debug_num
,
debug_bool
can now be sent into a channel.dbtab_def
).cal_debug_lim()
can get $errLevel
via new argument.tab_xfer
is now available in the standard version.dec_range_match
allows to
match values according to digit strings (like ZIP codes).to_userid
can now convert
from user names as strings given a set of users.$opartname
(via CMS method get_tit_part()
).sel_list_helper
.cal_typ_comp()
and cal_base_typ()
.css_class.js
provides functions for finding childs according to CSS classes
and adding and removing of CSS classes in DOM objects.more.js
provides handling of "..." operation buttons.cal_handle_attr()
accepts now many
JavaScript events like onmousemove
or onkeydown
.dbtab_show
) accepts
now multiple files. The rows of the CSV tables will be concatenated (except
identical header rows).cal_read_csv()
accepts multiple CSV files, if the
name parameter is given as an array. The rows of hte files will be concatenated.m_map_name.php
makes it easier
to robustly map names to numbers. It uses uniqueness as the criteria.fail_do_upload()
now support
multiple files if $fn
is an array.cl_hosted_files_css_search.php
).new CCalTabXfer(...)
removed.notif_chan
,
idoc:notif
,
idoc:notifu
).qaa_match_str
supports
matching string according to the string matching syntax of
Q&A (German F&A).cal_escape_preg()
has got a new
argument to allow some characters to be saved from escaping.
With such characters, positions can be tunneld throught the
transformation as in cal_qaa_match_part()
.qaa
will provide string matching
based on Q&A syntax (in German F&A).`_obj_kist`
) are prevented.`'_file`>
(file explorer),
required for some recent Maria DB servers
for columns of type *blob/*text.cms.php
). To overcome this, a
new script (update.php
)
was added. It receives control in this situation to finish the
update process.cal_dbtab_rename_row_to_sql()
to prevent ambiguity(idoc:bug221011_1_db_dt_id
).graf_step
):
cal_do_obj_act_l()
)
were not stored due to the way the changes were intended to be
propagate back via PHP references. It was replaced by a simlpe
explicit copy action.userSystemStr()
,
userSystemNum()
,
userSystemOut()
and
userSystemBool()
removed along
with its usages. They can be replaced by the much more
powerful mechanism of user defined objects.dev
):
idoc:file_xfer
) allows
to mix different ways of moving files, eg. SFTP and HTTP upload.idoc:sfilex
) can now
recreate the directories from the data base.cal_fail_check_path()
has more options
to deal with relative addresses and convert them to absolute ones.'tab_l'
of
cal_all_obj_editor()
removed. Tabs are
now always declared in the class.ext
was modified to work under
all supported PHP versions.dev
):
cal_check_php_syntax()
can now check for
multiple versions.show_last_obj_lists
)cal_show_cms_head()
).cal_url_pl()
handles now hash parts in
URLs.cal_obj_link()
produced multiple query parts.upbay
,
shop
, server_api
).cal_print_checkbox_submit_form()
works
like cal_print_select_submit_form()
but for checkboxes.idoc:bug220623_1_url_rewrite_utf8
). Despite of the
document name, this is not a CMS bug, but a workaround for a module it can
use.set_rel_base_path
in
rare situration where the base path is manipulated via URL rewriting
((idoc:prob_q_inh_style
).m_dbtab_show.php
.m_objed.php
.$fullDerived
in m_dbtab.php
was
not defined at one position and not used at other positions.`'_lock`
) was made more robust
against different time zones of different PHP interpreters (Apache module,
CLI, CLI via Cygwin) and MySQL.CAL_DIR_CMS
by CAL_CMS_PATH
in
systems heart (the root execution system for hostman)
and ct (the calladium Command line Tools based on PHP).CAL_CMS_PATH
is now allowed to be set before inclusion of m_std.php
.clman_obj_idc
happened even without the correcponding
flags set on object creation.@(0+$v)
replaced by cal_num($v)
in
fuunction cal_is_number()
.m_workl.php
,
m_post.php
,
m_search.php
,
m_obj_show.php
).hostman
):
webman
: Like hostman
, but for non
root server, reduced to the abilities of simple web hostings.webman
: Segmented process for synchronization of directories.idoc:find_def_file
).
Some file had to be renamed for it. Supports new type of modularization.cal_fail_file_save_version()
makes
it easy to move existing files in new versions on overwrite.cal_fail_preg()
checks
Perl compatible regular exxpressions (PREG).@(0+$x)
were replaced by cal_num($x)
to grant compatibility among all PHP versions.log
",
function cal_debug_sink__log()
).cal_debug_sink__*()
._c_class
and
_c_lan
).cal_save_globals()
can now init the
global values in the same step.$GLOBALS
are replaced
by cal_save_globals()
, since in PHP 8.1
this super global can not be referenced (idoc:php8
).$GLOBALS['gC_...']
are replaced
by $GLOBALS['gC']['...']
.$GLOBALS['gV_...']
replaced by
$GLOBALS['gV']['...']
or local variables.cal_conv_to_clean_link_str__pregcb()
.m_graf.php
amd
m_graf_dataset.php
are now based on the
same JavaScript code.hostman
: Search for file paths.cal_y()
by starting with the two character sequence
char(0x1b)
(ESC) and "%".`'_glob`
)
is now strict: User values have to begin with "_".html_obj_prop_set_std_name
and
module m_std_name.php
was removed.idoc:issue_220301_1_gmsg
was solved by changing
`'_gmsg`.`cont`
from text
to mediumblob
.idoc:issue_220214_1_sql_inj
was solved by check, DB cleaning and hostman
search for effected installations.cal_sel_lan()
replaced.cal_base_xss()
).i_site.php
on usage of DB functionality
(in cal_db_ok()
). Including m_sdti.php
is not always necessary for using this functions.glob_var_str
,
glob_var_num
,
glob_var_set
,
glob_var_objref
,
glob_var_userid
,
glob_var_obj
,
glob_var
and glob_var_alist
now support pathes within global variables.m_tree_val.php
separates functions like
cal_get_tree_val()
. The functions are reimplemented
and generalized. Functions like cal_get_path_data()
are now based on the separated functions but remain in
m_div.php
.$_GET['n']
are now fullfilled when the
backend cl-pages are used in the frontend editor.set_glob_var_obj_id_ok
allows
to set a global variable to the content of a stored object addressed by its ID, IDC
or name and a class.dbtab_def
can be defined free, showing the detail handler at any marked position.pdf_gen
implemented. Based on this user and group checks can be easily defined.cms/h/cache
, are compressed serialized values
and do not have a direct DB copy.cal_set_sys_data()
m_ncache.php
removed.beat
is ready to use (without planned beat, at the moment).std
instead of cross
.cal_handle_bg()
returns now always not
empty content on success:
x._
")
becomes possible.hostman
):
cal_http_get()
will now follow redirection.cal_objl_len()
returns the true
length of a object list without counting markers like @pos
.pcat
) were created
by an internally error (idoc:bug_220106_1_pcat_mult
).cal_stream_file_range()
(misspelled path variable).cal_mix_cont_list()
was rewritten to deal with
content lists with origin markers like @pos
.primf_num
) can be
configured to display nothing instead of "0".primf_class
) have more
display options, sorting the list is possible and the number of objects
of the class can be shown in the list.cl_perm
).primf_time
as
a DB columnt was inconsistent. It was defined as int(11)
but
handled as MariaDB timestamp.db_obj_exp
.act_loop
act_break
act_continue
datetime
or
to int
DB columns (see cal_cf_primf_time__get_primf_db_col_def()
).step_iterator_workl
under construction for
processes on work lists.$runTime
was
not properly assigned).act_for_inc
was before instead of after the action.cal_path_from_base()
checks the relation of the
HTML request path to the base path.cal_rel_base_path()
and
cal_rel_cms_path()
now work from any refering request path.cal_in_backend()
could in some configurations return a false
value when $_SERVER['SCRIPT_FILENAME']
contains symbolic
links.$_GET['ts']
) is now sent
to force reevalution of sended GET forms.tab_xfer
can now
import into a list of objects without altering stored
objects.cal_readfile_chunked()
was replaced
by cal_readfile()
that usually calls the
simple readfile()
, because there seems to be
no problems with readfile()
and big files
like assumed before. There might have been problems
with chunking, but they could not be reproduced. In case we found
criteria for auto chunking in the future, we can easily reactivate
auto chunking at this position (with that criteria).cal_exists_hidden_dir()
added.cal_cf_sel_list_lan__set_sel_list()
in version 5 branch.api_def
,
method get_api_def()
).gifmerge
(from László Zsidi
of 2007, modernized to work with PHP 8.0.0). This extension allows to generate
animated GIFs.pms
):
cl_pdf_combine.pdf
) uses now
any directory und image file prefix.cl_c_animgif.php
) created
a progress GIF for displaying processes like uploads in the upload bay (upbay
).auth_get
allows to
work via SSL sended GET parameters (v_user
and v_pass
).
This ist the third elemental authentification (beneath auth_basic
and auth_sess
) that can also be bundled
with the others via auth_mult
.human_num.js
provides formatting
human readable numbers with SI prefixes eg. for file sizes. This
works exactly like cal_human_readable_pow2()
in PHP on the server side (which was shortened in code size).wuser_tab_user
allows to
propagate the edited user in the own content of the user administration tabs.cal_change_class()
allows to
change the class for all objects of the class.cv_class.php
corrected.cal_fail_start_get_delivered_session()
).
Sessions can be picked by given session name prefix.server_api
: Different and multiple types of authorization
are supported (basic, session and both).cal_req_head_l()
.md5.js
>).seltxs.js
).show_obj_ref_src
)
can be displayed as an icon.master
):
cal_y()
.d.php
(the general entry point). This allows use all services via clean URLs.cal_print_refresh_link()
makes
it easier to test and develop frontend elements.cal_readfile_part_chunked()
.cal_stream_file_range()
supports
delivering large content in ranges, eg. for file streaming.cols
allows to
flexible manage the display of multiple columns of content.show_obj_new_rel
allows
to create new objects of a class that are related to existing objects.
Both objects will be linked automatically if attributes fit to the
other class.cal_str_obj_f_unknown_def()
helps to display object fields without definition.cal_is_ml_str()
helps to decide if an array is a multi language value or not.cal_remove_dir_if_empty()
.show_obj_ref_src
can be narrowed to attached files of a
certain object field. The result is a list of linked files.show_obj_ref_src
3 display modes are offered. The table display mode can show
files and object references in different columns.system_num
with a new
selection value.m_obj_ref_src.php
concentrates functions
around object reference lists like the general display content object
show_obj_ref_src
.obj_ref_src_dbtab_ref
provides IDs of accelerated objects that reference to a given object.cal_handle_u()
.cal_obj_link()
and
cal_print_obj_editor_link()
now share more
code and work both in frontend and backend. More changes in their
module.hostman
):
m_dig.php
provides the UNIX command dig
(under Windows via Cygwin) to retrieve DNS records. This is useful eg. during
wildcard SSL certificate generation via Let's Encrypt. For other systems
a cross dig service can be used.hostman
):
cal_set_debug_log()
).tab_xfer
) has now line filter conditions
for import and export. So you can import or export only certain lines.hostman
).cal_get_cms_mod_l()
was removed.dynip
, only
source switch dynip
).primf_ip
.hostman
):
llink
)
can be generated into the copy list (=clipboard).edit_page
) is supported
in the frontend (new class property edit_pageL
), for some editor classes.m_search_obj.php
).cal_ensure_assoc()
converts strings and simple
lists to assoc lists.cal_fail_decompose_url()
does now handle direct IPv6 host addresses
in URLs directly.secret_code
):
cal_print_err()
,
cal_print_glob_err()
and
cal_print_err_at_obj()
return the highest error level
of printed message.cal_db_accel_store()
and
cal_db_accel_delete()
make it easier
to write system object to DB acceleration.noCopyList
for function
cal_print_obj_tree()
suppresses the display of selected language an copy list in the
editor.$GLOBALS['gErrInEditor']
indicates the highest error level of printed messages.auth_user_pass
allows to handle
authentification flexible.auth_user_pass_fixed
provides a
simple definition of accepted user and password pairs.x_client_api
).server_api
).eml
, apk
, mscz
.cal_abs_to_base()
.dbtab_cell_val
can be used within
the content of DB tables cell views to calculate and show
cell values.show_link
can show links of dynamic sources.tab_xfer
) gives better
error messages when non matching object types are concerned.cal_split_name()
to split Western full names
into given name and family name (eg. to easy sorting by family name).get_sql_def()
.primf_*
) are
moved in many cases to own PHP files (often m_pf_*.php
).m_c_*.php
were missing sind 2020.11, but
version 5 was only used by hostman.step_iterator_list
)
allows to easily split long jobs in parts for segmented processes (sproc).cal_get_file_int_const()
makes
it easy to build mappigs between integer constants and their
string representation.act_stdformat
).show_workl
) allows to
specify the order and visiblity of state tabs.buyd
).unser_alist
).cal_mail()
.cal_pf_act_notify__notify_base()
(old
devpos 42145644).alist_get
did not work properly
for a while (uncomplete code change in the past).primf_num
according to object settings or global settings (eg. derived by
the language).act_call
can now be obtained with act_call_p
.freeze_form
always failed because of
missing success return value.gen.created
,
a SQL timestamp reduced to 14 digits) is now available
via wuser_str
.time_to_unix_ts
converts
a date with an optional time to a UNIX time stamp.$env
was initialized as an
empty array despite the fact it was handed over.x_ts
fixed.cal_to_simple_term()
.EATYP_term
(read only).notify_area
)
is now flexible.js_vis_ctrl
.font_cal
(print, home, camera, videocam,
font version 8).notify_area
.idoc:dbtab
) now support
column type primf_time
(but not for filtering).cal_dbtab_red_sel_exist()
.cal_get_sess_n_pre()
).primf_set
) can now deal with
negative values (not allowed, simply ignored).cal_get_sel_list_from()
now
caches values.cal_log()
works now for values of all PHP types.clman_obj_idc
,
clman_cache_objc
and
clman_cache_objcs
.before_store()
runs under
locked table `'_obj`
.cal_get_obj_prop()
returns subsequent
cached columns of the object table `'_obj`
.act_store_str_file
). The allowed file segments of
file_cont_str
is extended to hidden files and segment n
.freeze_form
, frozen_form_str
,
load_file_str
).email_adr_str
).cal_get_local_self_link()
)
$sep
was not properly defined.workl_def
) had a
missplaced SQL condition (just introduced 3 days before).idoc:join_match
). Additional
optimization of WHERE clause (with or without work list criteria).join_view
).cal_mysql_get_row()
is now
based on mysql_fetch_assoc()
instead of mysql_fetch_array()
.article_layout_std
)
is extended by own CSS classes and the option
to integrate the title to the text block.m_db_filter.php
) uses
now only field positions in the user interface. This hides internal
field names and allows any internal field name, eg. like composite names
for JOINed tables.dbtab_col_flex
).cal_get_self_link()
allows easy
parameter modification for non local links. Some other new
functions support general URL transformations.m_mod.php
, analog to
autoload mechanisms for PHP classes).$GLOBALS['gCfgMail']
)
were not always applied.idoc:money
).cal_obj_new()
and
cal_insert_obj()
have the same
functionality: Before cal_insert_obj()
did not call the on_new
methods.l_print_cat_linkro()
.filler
(Lorem ipsum ...)
with future extensible generators (def_filler
).
Simple filling works, but the full concept is still under construction
and the result will vary until it is finished.m_money.php
.cal_a_img
.cal_cf_clman_lookup_db__after_store()
handles $obj===NULL
.cal_o_link()
.`'_sess`, `'_sdata`, `'_proc`, `'_proc_data`, `'_lock`.
c_clust_find.php
as a simple help to find
clusters groups in CSV tables.m_file_sel.php
supports easy
file selection.currency_def
and support of
selection lists for currencies (ISO 4217).cal_to_string_str__pregcb
was not suitable for writing PHP expressions into files.cal_get_local_self_link()
.cal_fail_mysql_mode_ok()
was inserted before adding a new user to the DB (because `login` would be set to
'0000-00-00 00:00:00').m_uuid
supports
handling of UUIDs.cal_make_abs()
is
new reimplemented. It has more options, produces error
messages, simplyfies and normalizes paths and can
can detect unwanted outbreaks of subpaths.cal_illg_chars()
can
tell the illegal characters for strings pairs of the
original string and a string cleaned from illegal
characters.r_mail.php
).sqr
,
sqrt
, pow
).rise_area
).$_SESSION['sNavCms']
).m_time_read.php
broke session handling in including modules.m_sfilex.php
needs
to require m_std*.php
without
a constant.file_cont
can apply
transformations of the file content before substituations.html_body
extracts
the body content of a HTML page (given as a string).css_src_web_design
provides
live testing of web designs.cache_process()
has got an additional
argument &$env
.doc_chan
enabled.cal_get_str_int()
allows
to dynamically assign strings own integer IDs to speed
up eg. DB storage.cl_backup.php
was destroyed
(probably by a failed conversion).mail()
can be anabled even when using
a mail sink.system_str
.cal_print_limit_paging()
can
be deactivated to get a smaller navigation.cal_str_date()
accepts now direct
time formatting as a string.cal_embed_php()
recognizes and
removes now also includes with CAL_CMS_PATH
.m_embed_lib.php
provides functions
especially for independend scripts (like CMS's install.php
)
using embedding:
cal_fail_search_set_db()
: Search for i_site.php
,
read out the DB settings and set the global variables. Returns NULL on success, otherwise
an error message.cal_mysql_compat()
: Set CAL_MYSQLI
if not already done and define cal_mysql_*()
if needed.go_navppl
changes more
globals or super globals, to prevent caching old positions.
The need for this behavior was discovered when working with forms
(function cal_post_action()
).inputgen_src_user_obj
encodes
the user object (field o
) changed backward compatible
to allow correct handling of other user areas or multiple
objects.tab_xfer
)
works for export.dbtab_col_def_n
was removed.cal_encode_html_ansi_array()
and cal_encode_html_ansi_array2()
were eleminated.cal_print_matrix()
extended to show table header (Excel naming scheme for columns).cal_read_csv()
can return error messages instead of error numbers with a new option.cal_get_charset_unique()
tries to reduce the result of cal_get_charset()
to one charset if possible.cal_iconv()
allows to extend the character sets supported by iconv()
.cal_to_unicode()
can now fail (return value FALSE
), eg. when a character is not defined in the character set.cal_encode_html_utf8()
is made faster
by optimizing regular expression usage.CAL_CMS_PATH
instead of
dirname(__FILE__)
.tree_downact_field_cast
now allows also to cast whole objects.cal_not_in_act_cond()
saves a little bit code and shows a repeating pattern.clman_act_on
works now on all events (now also new
, before_store
,
before_draw
).#h
in the URL) is now
realized via the new function cal_print_hash_h()
.tab_xfer
.clman_cache_objcn
.
.m_selfile.php
provides
again former cal_print_line_graf()
which was deleted long time before. It allows to let the user
interact from the OS the CMS is running on with the CMS
to communicate the selection of one or more files.prod_cat
).m_parser.php
).m_css_parser.php
).cal_print_line_graf()
can be forced to cover additional not visible range forcing
pseudo samples.ts_str
formats time stamps.$format
parameter of cal_format_time()
is now opptional. When left out the standard time format ist
used (like 2020-12-31 23:59:59
)cal_normalize_ts()
can now handle UNIX time stamps
that where cast to a string (line some primitive time stamps of object attributes).ts_format
will now work on empty format (with
standard format).navhc_drop_menu_x
.idoc:bug_201020_1_dbtab_col_case
: Handling of case sensitive objectvfield
names in DB table definitions and derivation
(dbtab_col_def_c
,
dbtab_col_def_o
,
dbtab_col_def_d
).cal_print_glob_switch()
).sf
(single session file). Unlike the previous mode preview
it secures a single file with a random session key.cal_print_glob_switch()
used a wrong parameter name and did not work properly.dev
: For embedding libraries command //@embeds_for
corrected to
the directory of the script (before it used the directory of the library installation).navhc_boots_drop
) displays
now HTML code to show 'on path' state (textOB
, textOE
),
ie. when a child element is the active navigation position.send_formdata_email
).show_workl
can upload handlers of the used DB table templates.inputgen
can set its
field as required independend from their origin
(has to be supported by the derived inputgen_src
class).cal_get_local_self_link_info()
(in cal_get_state_param()
).cal_read_csv()
has a new option flag: Bit 0 (usually
unset) can be set to prevent cell and row trimming.csv_row_op()
removed from CSV reading function.idoc:interpreted_cms_methods
).
Usage of class fields (and the evaluation) was added.x_act
allows to place actions in
expressions where x values are expected.class_prop_ipret_method
,
idoc:interpreted_cms_methods
). Supports types str
,
num
, bool
and userid
.cal_eval_str()
or cal_eval_num()
).system_str
allow to get GET and/or POST
parameters already HTML encoded.pdf_page_src_redir
allows to conditional
redirect to another location.as_class_field_str
allows to treat
a string like the content of an input field in a object editor for a field of
a given class. All restrictions are applied to that string.idoc:issue_200828_1_xss
).cal_fail_mysql_mode_ok()
,
cal_mysql_get_mode()
and more.cal_url_param_to_hidden_input()
and
cal_separate_get_para()
now allow to
exclude parameters with an optional parameter.idoc:mysql_disp_size
,
idoc:issue_200829_1_mysql_timestamp_default_value
).css_ref_std
and js_ref_std
can select paths from extensions and modules.pdf_gen
) as graphical positioning editor
is introduced. It uses the new technic of PDF overlay (pdf_ovl
).mod
is structured in vendor subdirectories. Each is structured in
module directories containing all needed files without file
naming conventions.cal_php_tree_to_json()
)
can now map even arrays with mixed
string an integer indices or sparse integer arrays.cal_fail_func_exists_inc_class()
and cal_is_cf_def()
now also in the base dir of extensions
and modules.pdf_cont_poly
.css_ref_std
was wrong.debug
).protect_cont
now needs to enable a dialog, default
is just protection.cookie_admin
can help during work
with cookies.idoc:pdf_libs
)test_js
tests where on the HTML page JavaScript was still running. This
can help to find the source of a problematic script.js_testfield
for testing
or learning JavaScript.mark_pages
and
#10:del_marked_pages
) can lead to
archives that are not backward compatible. Furthermore the
command IDs were defined before for not used file
backup (old #8:ext_file
and
old #10:gen_php
). The actions of the new
commands are still not implemented (!devpos mark_pages
). But since the feature
was not used before, the is no missing functionality.get_magic_quotes_runtime()
deprecated since PHP 7.4.0.pdf_page_src_stream
.cal_make_obj_file_filter_patt()
was corrected, usage of recently redefined cal_file_filter_accept()
corrected in
one case.cal_remove_dir()
is extended by an option to
remove only all content of a directory but not the cirectory itself.cal_htmlentities()
replaces
the inbuild htmlentities()
in many cases, since the
later needs certain parameters to produce visible output for
any input and since this parameters can change in the future and need more
code.navhc_boots_drop
provides
drop down menus of Bootstrap.clman_cache_objcs
were
managed with a type in the SQL statement under version 4.CAL_ARCH_ENTRY_ext_file
,
CAL_ARCH_ENTRY_gen_php
).cal_to_string()
can
show the data of objects (used by cal_debug()
).CCal*
(idoc:autoload
).cal_cur_url()
and
cal_mod_reqest_uri()
provide
similiar functionality like existing functions but
were introduced to offer a new, clean and simple way.clman_cache_objcs
when
based on IDCs (before only for IDs).m_bload.php
,
m_bsave.php
).navhc
renamed to
print_navhc
.navhc
.act_set_http_val
allows to set GET- or POST-parameter from a string expression.cal_handle_attr()
,
eg. used by cal_cms_cmd()
.cal_all_obj_editor()
now
supports $env['path']
for its tabs.show_cmd_l
provides display of command or download lists.Modules / Email / Send
). It was before
just for email tests, but can now be used for other situations.mail_sink_local
(send directly with mail()
) and mail_sink_cond
(send conditional
with one selected mail sink of a list).cal_add_glob_err()
can now handle lists of messages.cal_print_str_as_prosa()
can react more flexible on errors. cal_str_as_prosa()
propagates $flags
.cal_cf_primf_file_h_gen__pf_file_set_opt()
handles now strings as well as lists.m_email_parse.php
allows to inspect mbox file format (Thunderbird email client),
to parse the emails and extract files and messages.cal_cf_newsl_txte__print_cont
,
case 'unsubscribe'
).alink
) can be used without sessions but with self defined commands.protect_def
, protect_cont
)
is build with a new concept. As one protection concept protection type
protect_d_pass_cookie
is redesigned and completed. An additional
function protect_bool
can be used for querying the current state,
eg. for switching protected navigation points.cal_get_once_param()
returns a
assoc of GET-parameters regarded a used once, like commands and
time stamps. This parameters are now removed by default in
function cal_get_local_self_link_info()
and its using functions.r_mailt
):
mail_sink_mailjet
supports
Mailjet (extension mailjet
)._sys_srcop.txt
) can now be renamed and can contain
options for that directory and below. Some variables were renamed to
make its function clearer.n_fs_tree.php
is changed to
a new PHP class CCalFsEdit
that makes it
easy to provide file system browser for other purposes.n_flash.php
).protect_def
reconstructed.dsvol
describes data storage volumes and is used
together with archivar.m_sort.php
supports sorting of multi valued arrays.cal_is_cf_def()
logs now an internal error if no object was given
as first argument.cal_fail_copy_dir()
copies entire directory trees with files without
overwrite.cal_dup_obj()
and cal_copy_obj_dup_l()
provide duplication mechanism. No tags are copied.
Compare with cal_h_handle_block_editor_dup()
.email_l
).
In opposit to newsletter subscriber the email lists are not
stored by the newsletter system, can be dynamic and change
every moment. Only sent actions and unsubscriptions are stored
in the newsletter system.cal_succ_use_db_from()
allows to easily switch to the DB of another CMS installation.cal_email_cont_rel_to_abs()
corrected.
It destroyed URLs of other protocols. Now it is restricted
to URLs not starting with a protocol name.ctrl_obj
with additional classes act_ctrl_obj
and
step_iterator_ctrl_obj
.ctrl_obj_backup
helps to implement restore as a segmented process.dbtab_tools_csv
.$GLOBALS['gDbPAliasL']
) is now
possible even for encrypted archives with full tables.ext_cont
allows
to embed content from outer sources.frmt_text_url
checks
form URLs.cal_fail_send_get()
has
new optional parameters.
ua
: If true sets the former default user agent "Mozilla 4.0".close
: If true append a "Connection: close".idoc:cont_lan
)cal_map_url_no_collision()
is equvalent to
true.cal_mysql_no_strict_mode()
, handling creation
of tables with timestamps with default value '0...').cal_check_all_obj_tag_bits()
corrected.continue
are changed to continue 2
, since
continue
and break
are handled
equal and this is detected in recent PHP syntax checks.wuser_num
allows to
query numeric user values (like wuser_val
for strings).php_ico
.cal_cms_cmd()
can now be used
for any links and also optional opening into a new
window.cal_list_files_in()
has now filtering, sorting, paging and can show image previews.
The function is now used for any file selection and
replaces the former listing for images or downloads.cal_print_js_fold_start()
).cal_cf_*__drawe()
,
cal_cf_*__obj_set()
and
cal_cf_*__obj_cmd()
were removed.dbcoltyp_i
)
can get MySQL auto_increment functionality.m_cur
provides the
convesion of ISO 4217 currency units into 16 bit integer
and vica verse for compact and fast storage (eg. in a DB).cal_redir()
is
now also reflected in cal_handle_a_page()
,
eg. after a call of link_obj_act()
.m_mirror.php
the variable $path
was used even if not defined. Now the time stamp is calculated also independend
from it.payed
allows to
build forms with payment functionality.m_autoload.php
).cal_edit_action()
the path is now set for the current action in $env
.frmt_text_preg
.cal_load_cached_obj_check()
checks a cached object to exist.mollie
).
It is mounted in the composer extension tree.protect_cont
.cal_cfg()
in version 4
replaced by cal_gv()
like in
version 5.cal_
.edit.css
was removed and its former usage replaced by inclusion of
tab.css
.cal_devpos()
are now handled
silend and debugged to channel 7.cal_is_html_email()
recognizes
HTML email templates using only the older h
-option with
a HTML mime hint.fontgen
provides the creation of own
fonts from SVG based fonts or from SVGs.show_workl
) are extended
by an optional template of class dbtab_show
.
If it is set, the display is based on it.cal_fail_write_file()
can
replace many places of direct formulated code for storing a string
into a file.cal_fail_read_file()
can
replace many places of direct formulated code for reading a string
from a file.cal_normalize_fpath()
combines character check and removiing of a trailing slash.cal_get_parent_path()
is
dropped. Can be replaced by inbuild dirname()
in combination with normalization functions.cal_encode_ansi_utf8()
was
reintroduced for reasons of compatibility to former scripts
that depend on it. It was before for some versions defined as
cal_encode_ansi_utf8_r()
and
is based on iconv()
.cal_debug_mysql_err()
takes
care not to run into out of memory on certain kind of DB
related error situations or reporting.login.js
checks better for missing imput and sets the focus on the first
empty field.m.php?n=abc
). Before
some characters needed for dynamic targets were filtered.act_del_cur_gen_page
tries to
delete the generated version of the current page to force a refresh.m_postpone.php
allows actions to postpone themself to other phases of processing.withPage
: Continue with the actions, when $GLOBALS['gNavp']
,
$GLOBALS['gCat']
and $GLOBALS['gNavL']
are set.primf_money
, yielding DECIMAL
(fixed point) MySQL
tables. (Also FLOAT
is now handled a little bit more ...).cl_stdformat.php
) allows
to skip omit subdirectories.m_charset.php
and reorganized.$GLOBALS['gConvertUtf8Ansi']
is replaced
by a iconv()
call. The CMS depends now on this
extension.cal_cf_show_block__print_cont()
now with a new, independed path starting with the block object. So the conent position
(idoc:contpos
) can be used.cal_fail_contpos_check()
can now return the entire object as a content copy
(not only the part of the position).cal_o_link()
can append a timestamp to force to get the linked content
new from the server with argument $useSess=-1
.cal_create_clipboard_table()
sets the page encodung according to the
given or found character set.resp_scale.js
(used by object
resp_cont
) was extended to come over racing
situations (now version 1.2): The translations were recalculated after a half second again to allow
changes after the first calculations to be reconsidered.cal_encode_any_to()
supports additional
options how to deal with HTML characters, keep or convert (|16
or '/s'
).dbtab_upload_hnd_ut
for direct
user DB table upload. Supports also class derived tables.cal_get_clman_l()
returns
a flat list of all class managers of a class. It can be
filtered for a certain class of class managers.dbtab_upload_hnd_ut
for direct
user DB table upload.l_dyn_repr()
needed to be
generalized in cal_dyn_repr()
in
module m_loclink.php
.{L:The_Page,...}
), conversion from traditional local links
({L:abc,...}
) to clean links for single pages or entire
page categories.c/_favicon.ico
from the backend.cal_devpos()
marks develop positions
clear.cal_load_cached_the_obj()
handles singletons
cached as objects chaced in one ID based list.accordion
can now be displayed with all
pages closed in the beginning.num_obj_attr
converts
an attribute of a literal object into a number. Thus many
primitive values like bitsets can be easily converted.nr_sub
: If you leave out the
page structure, the current page structure will be used.pcat
. For the
moment we store it dual with the classic approach.cal_get_obj_list()
can
now also return lists of IDC or name based objects.clman_cache_objcs
and clman_cache_objcs
use now object fields determining the IDC. Before this field was ignored on new.xlink
had sometimes problems to deal
with encoded input (&
). This was solved. And existing
values are checked for necessary decoding or illegal characters.get_act_desc()
has changed.system_bool
with selection
glob_newsl_arch
) allows to decide, if content is shown during
creation of an newsletter archive file or in other context.cal_print_limit_paging()
returns
now 2 additional values: after
and notOnPage
. This allows to give easy feedback
about what is not displayed when using paging.cal_get_gi_i4_ts()
corrected (conversion to UNIX timestamp).cal_set_gi_s()
made independend from MySQL version (NOW()
instead of NULL
).@(int)...
.db_counter
provides persistent
counter.cal_fail_start_proc*()
to make it easier to
start segmented processes.key_link
) were
sometimes to big for the used encoding method. The range was narrowed
to match it (max. 0x3fffffff) in function
cal_key_link_create_key()
.act_source_scan
).start_proc
) can
take multiple steps in a call. The max. number of steps per call
can be limited for every segmented process.cal_i_rnd()
instead of distributed usage of mt_srand()
and mt_rand()
.addslashes(serialize(...))
replaced by cal_serza(...)
, ie. compression
is used now everywhere.llsearch.js
.m_res.php
generalized
into new module m_iter_cont.php
.helper_bool
,
and act_helper
.idoc:url_lookup_dyn
).cal_gen_show_dbtab()
makes it easier to show DB tables in coded PHP extensions.cal_workl_check_rel()
.session_status()
in the new module m_sess_stat.php
.m_dbtab_show.php
removed.dbtab_col_filter_c_cmp_str
.dbtab_col_filter_c_bool
can now be conditional. This means, the filter condition can depend
on other (non SQL) factors.dbtab_view_hnd_std
:
When showing all DB table columns by flag, other explicitly
shown columns were not recognized and shown twice.cal_set_cont_fields_from_obj_unset()
did not handle unset values. Now it does.dbtab_view_hnd_std
)
can be displayed with own display frame
(dbtab_disp
). Instead of
classic table display (dbtab_disp_table
),
other layouts are possbile.dbtab_row_cont
).css_ref_std
contained
a double ''.m_ipa_sess.php
provides IP based session for simple state
transfer.idoc:shared_obj
is
introduced by shared_obj
.shared_obj_table
.m_tree.php
.idoc:helper_class
is
extended by helper_class
, to
allow its usage not only from written PHP (like
cv_class.php
) but also by
the CMS editor.cal_cast_php()
can
allow passing through arguments not handled by it.cal_fail_dbtab_derive_from_name()
allows to derive a acceleration table from its objects
by its name.cal_all_obj_editor()
.nav_depth
returns
length of navigation path with or without naxt sub positions.$accessBy
on a sub call to cal_fail_set_obj()
).dbtab_view_hnd_blk
allows
to show entries as blocks. This is useful for instant for smartphones.form_data
).ia_form_data_conf_link
corrected.cal_cf_dbtab_join_sel_workl__dbtab_join_detail()
, return
value 1, internal error #3442234, message on failing criteria).get_last_formdata_id
allows
to reference new form data entries.ia_form_data_conf_link
allows
to build email confirmation processes without email tags for objects
but based of form data entries.article_layout_std
has
now an option to display single images responsive.{x:...}
,
{xt:...}
and {v:...}
are cleaned from internal stored &
and trimmed.url()
pattern
with starting or ending apostrophe (') or quotation mark (").show_order
) element can
display a product switch.cal_isset_glob()
and cal_unset_glob()
extend the
set of functions for named persistent stored DB values.sfilex
)
had warnings because of a undefined limit variable.article_layout_std
:
simpcaptcha
can
be switched back to a strict mode only accepting words
instead of also numbers.contect_style
) can
set the author property of the generated PDF bill.cal_email_cont_rel_to_abs()
),
but should be restructureed in the future
(idoc:email_struc
).article_layout_std
is
now more relaxed about the right usage of the flag 6, that
enables to use an articles h2 as the file name of
a single download. It accepts now even short usual text
if no h2 is given.cal_in_time()
.form_obj_def
does not need
:on_delete()
.calend_disp_combi
can switch between monthly grid and list view
via JavaScript.sps
) can be suppressed. Login is then
postponed until the start action is executed.idoc:cb_cont
)
allows to reuse the CMS expression interpretation for instant in
the implementation of object methods (first use in show_calend
,
more precisely calend_disp_combi
).`_cat`
. It's demanded
in some PHP or MariaDB versions.article_layout_file
.time_list_dframe_sect
.ilink_contact_user
can
link users and contacts bidirectional (interlink) when still
unlinked.cal_fail_send_email()
).show_bill_l_cust
lists user bills if
there are any.allowEmpty
).contact
is now available outside the shop derivation.idoc:login_dup_email
).()
can now be called
with options set to 1
to automatically use
JavaScript list selection. Other associated functions
inherit this behavior, if possible. For
cal_print_select_submit_form()
a
integer option argument has another meaning, but other
little longer parameters can be used.$_GET
selection for cal_all_obj_editor()
can now use not only the ID ($_GET['i']
) but also
IDC ($_GET['idc']
) or
object name ($_GET['n']
).idoc:context_val
). They unify environment values, global values and
session values in new storage places. They can be used with the new text attribute
ctx
.{sess_attr}
allows to embed session variables
into text with a direct macro.TEXCOMP_dpath
checks for dotted paths of variable names like
"abc.def"..typ
,
pri
, for
).__construct()
and
usage of old each
replaced.affiliate
tracking.show_order
.order
(#175)
was removed and as well as all related adminstration pages.show_order
to a shop
(cfgo_shop
).m_nestact.php
with
classes nestact_*
allows to
call actions or to change the environment in a nested way
during function evaluation.set_user_cont
.set_as_wuser
.wuser_val
can now operate on a given user ID expression instead
of the current user.wuser_val
can reference a contact
and vice versa.order_query_opt
can
be conditioned and the acceptance of the selection can also
be guarded by an other condition.cl_c_int_err_use.php
).show_order
works
with forms that do not define a order_next_step
action.$GLOBALS['gFormSuppressAct']
).cal_mark_before_form()
,
cal_is_form_send_succ_since()
and
cal_reset_before_form()
.session_attr_str
automatic converts non strings to strings if possible.buy_ok
).pubv_bool
,
pubv_num
and
pubv_str
provide a simple and easy
value interface between PHP extensions and CMS expressions. It
can be used for globals values just set up in PHP or
session values. It is intended to allow a value to be just
available once per page (using $GLOBALS['gPubV_...']
),
or permanently (using $_SESSION['sPubV_...']
).order_step_v
allows
access to the values stored in a step during the ordering
process.$GLOBALS['gFormSendSucc']
.show_order
can
be flexible defined, stores forms automatically in the session,
allows to reenter forms, to define brachned order processes and
much more.wuser_auth
returns
the user ID of a suer name and a password on success.pipe_num
passes a value while
allowing to run actions before with it.simpcaptcha
has more simple operations and allows
also numeric input.buy_ok
).show_order
.$GLOBALS['gFormSuppressAct']
).idoc:cont_reduce
):
cal_extract_text_from_html()
). Includes used in the content
can so be falsely marked as done even if the include is eleminated later.sel_blocks()
.n_*.php
that have been changed in the last 2 minutes.n_*.php
.cal_decrypt()
is tried with $enc=1
and no
support for it is given. THis can be done, since a fallback
to $enc=0
is the normal way.cal_targ
) to correct a vertical
offset (idoc:hash_targ_offset
).cal_collect_style_info()
was used with a reference as the first argument (rised notification).
The function was simplified and does now accept simple values as first
arguments following the paradigma, that references should only
be used for intended return values.cal_cf_send_formdata_email__form_act()
the B-URL replacement
has to be done before coding the email with cal_email_code_cont()
.
This applies to all other types of emails and will be rebuild as a standard order
in future versions when old usages can be controlled eliminated.b_url_def
can
force usage of old Blowfish encryption.send_formdata_email
.email_tmpl
renamed to email_tmpl_def
to make it distinguishable from email_templ
. Caching and IDCs introduced.email_layout
is replaced by email_tmpl_def
.input_captcha
removed from
m_form.php
.email_chan
.
A automatic channel selection helps to bridge from usages, where no channel is mentioned.mcrypt_encrypt()
and
mcrypt_decrypt()
crashes under
old PHP 5.2 with types MCRYPT_BLOWFISH
and
MCRYPT_MODE_CFB
for keys longer that 56 bytes.
So now keys are truncated to 56 byte to work always.cal_std_url_decrypt()
determines the encryption type. Default parameter dropped.form_val_list
option flag 2
(show internal field names instead of titles) was tried to use
from send_formdata_email
but not
declared or transferred in an other way. Now it is an own
attribute and is generated according to the outer definition.b_url_hnd_simple
and
b_url_hnd
removed.idoc:email_layout_b_url
).
The class attributes moved from cfg_email
to email_chan
.b_url_def
.cal_mail()
.
Information for this is packed to changed argument $optL
.cal_fail_send_email()
and all associated
functions moved to m_mail.php
.*__render_email()
from FALSE
to NULL
.mail_sink_debug
.fold
has a new
attribute for optional CSS classes.send_egreeting
removed.cal_mail()
accepts now more flexible
options instead of only additional headers.cal_copy_set_fields()
allows to copy
multiple fields if set from one array to another.cal_mail()
operates now on
settings that can be controlled without config files.remove_js_compact
allows to
easily reduce the cases of JavaScript shortening via fold
to cases, where a space saving is effective. It also prevents folding for
pages with few cases.email_chan
(redefinition)
and remote email script definitions r_mail_def
.r_mail
provides the useage of remote mail scripts.
The script can be generated from the CMS.m_seclink.php
is now part of every
distribution.cal_obj_all_after_store()
can now operate
on a single class.act_refresh_delayed
allows to force
refreshing the page wherever this is supported by the frame. Works eg.
in the CMS backend. Part of new module m_gui_helper.php
.cal_gui()
provides a switch
between multiple GUI modes, eg. during development of a new backend interface.cal_std_url_decrypt()
allows now to choose the encryption type.r_mail.php
works now with encryption type 1 (AES) and 0 (Blowfish).mail_sink_cross
is new defined,
based on m_encrypt.php
and
m_rm_script.php
. It works together with
the remore script r_mail.php
.cfg_*
are now handled
in cl-files named cl_cfg_*.php
. The cached value
can be recalculated in 5.919.11 automatically.m_rm_script.php
allows to
use external scripts, eg. for external email script r_mail.php
.r_mail.php
.m_lib_embed.php
contains functions
that can be used in embedded scripts (like rm.php
or
r_mail.php
).cal_add_attr_css_class()
to cal_add_attr_css_class2()
in m_lazyloadxt.php
.js_activate_cont
).cal_cms_sys_*
moved into new module
m_sys.php
.host_info
) splitted from host
definition (host_def
), which is extended
by domain and key./home/www
to /srv/www
.blockl_disp_bootstrap_col
).web_design_tool
.gen_img
).img_op_recalc_transp
).fold
can be choosen.(int)@
by the more robust @(int)
.cal_get_obj_desc_lan()
provides object titles for a language with
or without class title prefix.cal_o_*
instead of block_*
, and it is now oben
to every object class. Before it was only used for articles and other block classes.foreach($l as list(...))
where postponed (m_calend.php
).gen_font_def_manual
allows to handle
manually installed fonts like imported ones.cal_get_php_function_calls()
will find now functions that
were not found before because of overlapping preg patterns.cal_encrypt()
.__construct()
mktime()
omitted in all situations.each()
and reset()
replaced by foreach()
.mysql_*
are defined on demand).count()
applied to non arrays is such a case and we expect some warnings in future
versions to rise. Many usages of count(@...)
were rewritten as @count(...)
.cal_rel_base_path()
treats now any path in expection of
DOS style paths. Either PHP 7.2 or more propable the usage of FastCGI changed under Windows the way
how $_SERVER['SCRIPT_FILENAME']
is build. Anyway, it's now more robust.mysql_fetch_row()
were replaced by mysql_fetch_array()
to ease adaption to PHP 7.mysql_tablename()
was replaced by mysql_fetch_array()
. This step was done as part of
adapting to PHP 7.all_pages
)
is now also useable with articles and page tags (obj_sel_cur_page_tag
).idoc:nav_move
.cal_h_show_block_editor_otm()
) can make use of
2 new hooks (:before_edit_article_layout()
,
:before_store_article_layout()
) to
make it easier to control all article properties.primf_time
were not correct mapped to integer DB columns (representing UNIX timestamps).bootstrapx
added
(replaced wrapbootstrap
).cross_login
allows to connect internal
areas of different CMS installations by embedding (show_cross_login
)
and automatic login.cross_login
is going to replace
cross_login_def
.runcheck
.cross_login
.fileacc
):
dir_struc_filter_ts
dir_struc_filter_preg
fileacc
):
cal_print_radio_l()
and therefor also
primf_sel_list
now shows unset
values as set, if there is a values of "0".fileacc
):
_class_hook_map
renamed to _c_class_hook_map
to
allow automatic recalculation.frmt_text_path
:
cross_login
allows to connect internal
areas of different CMS installations by embedding (show_cross_login
)
and automatic login.block
support
(not only article
).cms_templ_typ
allows to assing template types to installations. The
primary reason is overview, but other usagees might follow.respond.js
introduced as extension.html5shiv.js
moved to a versionized directory. Old
place will be also supported.cal_fixup_db_field()
)
is now not only applied on CREATE but also on ALTER/ADD (altering existing tables).fileacc
):
fileacc
):
dir_diff
is now
DB based and interactive faster.fileacc
):
dir_diff
allows to
store directory comparisons, based on directory structures described
by dir_struc_src
.act_webprj_copy
allows to
store the remote file structure for further analysis with or without
copying files.cal_normalize_dir_path()
and
cal_is_valid_abs_path()
.cal_workl_check_rel()
was extended to
show via the new global variable $GLOBALS['gCurObjNew']
if the current object is new. This allows in some situations to
improve efficient caching.idoc:class_hook
) completed by
methods h_after_store()
and h_on_new()
.workl_def
) completed.
New objects of the target class are checked to belong to a work lists on
change and on delete automatically.show_workl
can be choosen.="..."
).cal_str_bits_named()
lists
named bitsets.user
starts to allow to apply many
functionality on users. The user ID will become the IDC of the user
objects.cal_upload_err()
.show_workl
) allows to
select a view that is used for further display.a_*.php
) can be protected from deletion on system integrity check.
m_loclink.php
allows to reuse more code.cal_fail_post_urlencoded_red()
handles HTTP redirection
on HTTP status code 3xx.m_sfilex.php
).cal_rnd_str_preg_range()
.clipboard.js
.primf_num
was not regarded on show.m_sfilex.php
).m_sfilex.php
).web_design_act
are now
used for making the destination flexible (symbol css_dest
).show_workl
:
tagoid
to
make use of some features of tags like existence control without
supporting all properties.del_single_tag()
unified to
del_tag()
.show_workl
and
dbtab_show
.workl_def
is now not allowed to be 0, since at some
positions an unset value is interpreted as missing IDC.show_wotkl
.show_dbtab
.cal_save_remove_preg()
and cal_restore_insert_preg()
.frmt_text_int_ranges
removed.workl_ctrl
removed.dbtab_view_hnd_std
(dtL),
currently restricted to 1 table.cur_obj
allows
to easy hand over a currently regarded object reference.workl_status_cr
removed (easier to implement
with usually boolean functions and the new cur_obj
).dbtab_view_hnd_std
(dtL).cal_get_id_of_idc()
in
module m_obj.php
shows objects in a
read only way and can replace cal_inplace_editor()
in some situations.cal_obj_show()
in
new module m_obj_show.php
.cal_str_bin()
in
new module m_strdiv.php
.cal_get_idc_of_id()
.cal_strlen_utf8()
.cont_tab
is now
supported for object tabs.cal_fail_ofs_replace_css_col()
can be omitted, when it is directly read from a same named object attribute.web_design_act
.web_design_act
.idoc:cms_vhost
).priv_opt
supports cookie based
privaty options (eg. for GDPR, DSGVO in German).str_op
supports now uppercase and lowercase
transformation.m_as_user.php
under
construction (but for future derivations).key_link
).frmt_text_b64
(for a certain subset of base64 encoded texts).cal_make_int_time_null()
handles
the case of zero timestamps ('0000-00...').cal_rnd()
returns
random values in the open or closed unit range (0..1).cal_probability_rnd()
returns
a random descision with a given probalility.key_link
), that cover short URLs, temporary links, action
links, confirmations links, redirections and exclusive
content.llsearch.js
can be configured not to scroll on tabs and other local links.email_chan
allows easier
definition of email layout and send settings.?A=...
in module m_d.php
. Important for
definition of short URLs without stored redirections.cal_num_to_b64()
,
cal_num_from_b64()
are useful for
short URL parameters.clman_cache_objcs
now also provides assigning
free and small IDs via flags (like before clman_cache_objc
and clman_cache_idc
).cfg
and cfgv
allow to store configuration data easier and more homogeneous.smode
, in_smode
, toggle_smode
(new module m_smode.php
).m_php_embeds.php
now allows a script
to tell which library (=CMS directory) to use and so to be placed outside a
CMS installation. In the future, this could maybe expressed also a version dependency
or as an URL.signed_doc_def
.signed_doc
).$GLOBALS['gAllObjEditId']
is now also
available in the general object editor.m_sess_sel.php
reorders
selection lists to put an item already selected in another
context to the top.m_sess_sel.php
reorders
selection lists to put an item already selected in another
context to the top.m_checkall.php
also used
for m_page_tag.js
.m_checkall.php
makes it easier
to make use of the generalized checkall.js
.
JavaScript operations on checkboxes is now more flexible since
the pattern of the names of the checkboxes can be set by a
optional parameter.cal_ipax_load_tab_data_r()
).cal_o_link()
can create
relative links.cal_gen_by_pdf_def()
(class pdf_cont_img
).cal_gen_by_pdf_def()
corrected.cal_gen_by_pdf_def()
corrected.cal_cf_gen_file__cmd()
added.pdf_page_src
,
pdf_cont
, module m_pdf_over
).simpcaptcha
.cal_add_css_class()
solved: In m_lazyloadxt.php
it is renamed
to cal_add_attr_css_class()
.cal_cf_wuser_tab_man_event_log__wuser_tab_show()
removed from m_obj_log.php
.cal_absolutize_http_url()
.simpcaptcha
.m_db_dt.php
, classes
dbtab_join_sel
and specially
dbtab_join_sel_workl
) ready to use.m_db_dt.php
, classes
dbtab_join_sel
and specially
dbtab_join_sel_workl
) ready to use.m_db_dt.php
allows rewritung an SQL statement
to inject a new table that makes the former dependend on it (dependency table using JOIN).workl_state
, workl_def
, worklist3
).cal_obj_del_id_l()
.cal_get_sel_list_from()
for
primf_userid
.article_layout_head_css
allows
to control content by image size.all_pages
creates now navigation anchors with non breaking space
inside, since otherwise Chrome will ignore the anchor and scroll to the next 'real' content.cal_fail_ofs_replace_css_px()
.
Former cal_fail_ofs_replace_css()
had to
be renamed to allow multiple types.dbtab_view_hnd_std
can define the default value for entries per page.dbtab_upload
now allows a example file to show the user the file format
and a test file, that will be used under test conditions when no
upload file is given.dbtab_obj_no_deliv_trans()
(used in
cal_copy_obj_ut()
for
calculation of derived columns of accelerated user tables) the
environment field $env['id']
contains the ID
of the accelerated object.idoc:backend_in_frontend
(module m_headroom_o.php
).act_obj_field_script
for
fast realization of idoc:design_templ
.cal_print_sess_tab_nav()
made flexible to work with mixed int/string navigation
positions.primf_list_sel_list
numeric and
string values can now be mixed (strict behavior on
checks with in_array()
were needed).obj_log
, obj_log_event
).seltxs.js
will invoke onchange
of
a selection list when klicking clear.primf_userid
can be restricted to user areas and selection groups.primf_userid
.primf_time
on acceleration into user DB tables (without defined
target column type).obj_vfield_hnd_flatlist
.
This handler can map simple object lists to a listed of grouped primitive fields.cal_obj_is_equal
and cal_objl_is_equal
provide
comparison of CMS objects on equality.obj_vfield_hnd_flatlist
for flattening list structure in object editors.dbtab_show
.obj_vfield_hnd
, the handler of virtual object fields.
Virtual object fields help to build interfaces of object editors.obj_field_use
for
detail view of object based user DB tables.dbtab_detail_hnd
.cal_post_action()
has a new option -1 to
force relative links.
).popup_cont
) makes it easy
to provide popup elements.{hr}
.m_hidjsform.php
,
hidform.js
) provides JavaScript based commands of
complex data. It's first used for the interface of DB table filters.m_colsort.php
) is now mixable
among multiple instances.cal_diff1()
returns the position of the
first difference of 2 strings.cal_get_line_pos()
returns the line number and
position of a position in a string.m_db_filter.php
will provide filtering
on DB table columns.cal_ico
provides an easier way to express icons that
can be displayed the old way (with background images) and the new way (with font).
Font have the advantage to color the icon with the text but the disadvantage
to be monochrome. Wishlist: It would be good if mixing both approaches would be
possible. With SVG background images the first approach would be scaleable.dbtab_show
.dbtab_show
views can be
configured to contain all columns except some.dbtab_show
can
be defined on 3 levels (original object field, if used, DB table column
description and view column description).dbtab_show
.primf_class
provides now
in the editor a link to the editor of own classes.dbtab_view_hnd_std
.$GLOBALS['gEditObj']
.
This allows to implement more types of inner references (idoc:inner_ref
).dbtab_col_view
for
choosing columns for display.dbtab_view_hnd
introduce to
modulize the display of user tabs.primf_userid
),
numric lists (primf_sel_list
)
and bitsets (primf_set
).dbtab_col_def_c
) can be attributed to
change the default encoding.htmlentities()
.dbtab_upload
.cal_get_local_self_link()
and cal_get_self_link_info()
will be the same
when cal_get_local_self_link()
is called first.dbtab_view
and
dbtab_upload
extend the description
of dbtab_def
.`'_user_log`
the column `obj`
was
renamed to `id`
.dbtab_col_def_d
allows to enrich the table by calculated or otherwise derived data not
only contianed in the objects the table is derived from.$_SESSION['sReq']
and checking
$_REQUEST['r']
to be set (instead of being not 0).cal_get_self_link_info()
can now drop GET parameters
"a" and "c" if not "d.php" is used.idoc:session_clean_url
)sps
to sess
since the original concept of sps is outdated.cal_no_sps_usage()
removed.m_b_act.php
removed, functionality
embedded.cal_check_sps()
).idoc:headroom_r_skip_error
.vec_dst_dbtab
introduced (under construction).dbtab_upload_hnd
allows to provide
upload handler for user DB tables.web_design_tool
.web_design
under construction.web_design_*
were reorganized.m_obj_path.php
provides functions
cal_sec_obj_path()
and
cal_fail_get_sec_obj_path()
for secure hand over of
object references between pages.dbtab_show
.calladium.js
provides now with write()
a replacement for document.write()
that allows DOM trees as a
parameter.overl.js
provides now open links that can
contain complex DOM data as parameter for the opened overlay.dbtab_show
provided.cvs_im
(logged DB table import) renamed
to dbtab_logim
together with class and file renames.dbtab_show
started.html_obj_prop_old
(sets $GLOBALS['gOldImpl_*']
).cal_set_if_*_strlen*
removed.age
allows the calculcation of the
age of a timestamp in seconds, days, weeks, months (of 30 days) and
years.m_user_log_workl.php
the new function
cal_user_log_show_user_detail()
separates a part of the
code to make structure easier to understand.<button>
tag.cal_fail_start_get_delivered_session()
uses now sessN
.ajax.js
).sessN
.`'__email`
.cal_ok
... cal_warn
generalized.cal_reject
.cal_warnpos
is replaced by cal_warn
.tabred.js
can be based on an object
directly rather than its DOM ID. Internally, the object reference is stored,
not the ID.tabred.js
) is
full working.tabred.js
) is working in
experimental state.joe_std.js
(old cl_std.js
),
joe_l_de.js
(old cl_l_de.js
.cl_tags.js
,
cl_oa.js
.overl.js
(old overbox.js
),
tabred.js
(old tab_red.js
),
seltxs.js
(old sel_textsearch.js
)
. Also CSS names were changed.idoc:tab_red
, future: also general folding of tablulators via JavaScript).#cal_overl
) use now the defaults of .cal_cms
.show_js_tab_page
will include
its CSS file automatically.m_joe.php
.cl_t_article.xform.php
.rm.php
is not deleted.act_call
) when the named action has the
new privileg of being allowed to be called by b_act (bit 6).named_act_p
).act_set_cookie
allows to set the cookie when still no header was sent.alink
extended to work in some cases without a running user session:
It will work together with a named actions, when it got the privileges to be called via b_act.xcom
accepts now a list of actions.link_act
removed again.val_set
removed.confirm
removed.primf_assocl
removed.link_act
introduced.m_frame.php
a typo in the included
file.iframe
) can now have an DOM id.cal_fail_gen_navpp_file()
:
@chmod($fn, cal_file_perm());
).cal_set_save_genmode()
and
cal_restore_genmode()
allow easy local usage of
other generation modes.i_*.php
files in m_stdi.php
is done only if file exists (without error suppression).CAL_CMS_PATH
.m_coll.php
will provide display and editor
for collections of objects (show_obj_coll
).EFLAGO_primfWrap
.EFLAGO_primfWrap
.overbox.js
).cal_print_sess_post_form_start()
).idoc:cms_update_170817
).idoc:genclass
).cl_pinfo.php
) has now filter for page structures.arg
for
modeling argumentation lines.cal_str_print_r()
in
file m_div.php
.cal_to_file()
in
file m_log.php
.disp
) for packEdith()
.propl
was renamed to std
.joe.js
(before: joe.js
).cal_rel_base_path_calc()
works
also under STRATO configuration.cal_inc_css()
accpets now paths like /c/m.css
, that
work relative to the base of the CMS (not of the domain!).user_im_log
changed.json.js
and related files.json.js
builds class lists based on inheritance.json.js
supports modularization.json.js
prepared for modularization.cal_de_bug()
to distinguish between debug use and
using the debug channel as an intentional message channel.cal_debug()
minimized to find real current debugging
positions easier. It is replaced in many situations by cal_debug()
cal_int_err()
or (as an comment) by cal_de-bug
.json.js
) can be started with a list of input
ID numbers and can so handle any sequence of IDs instead of a continouus sequence starting from 0.primf_duration
.json.js
.m_json.php
.cal_eval_str()
the reference of the first argument was removed to allow the
error suppress operator @ on a call like cal_eval_str(&$This['s'], $env)
.fclose()
instead of $d->close()
).clman_lookup_db
)
map now UNIX timestamps to MySQL timestamps automatically.cal_get_x_type()
returns the
type of a x value.act_lproc
is beeing generalized from former
act_webprj_proc
. Other related classes renamed and restructurized as well.clman_lookup_db
) the
object ID is now delivered in the environment for calculation of
lookup values ($env['dbLookup']['i']
).wuser_disp_col_dbtabu
in the
context of user_log_workl
.wuser_disp_col_dbtabu
will make
accelerated user tables useable in user_log_workl
.act_webprj_proc
partly implemented.
Not functioning at the moment.act_webprj_proc
is redesigned to support more flexible
general processes on web projects. Introduces process segments (act_webprj_proc_seg
)
and their handling type (act_webprj_proc_seg_typ
).rm.php
) on
remote actions.cal_o_link()
can now return
bare links.debug.js
made more robust. New default value for
debug mode (show everything).primf_file
) was
opened the wrong way since 2017.05.04 .$_GET['u']
) work now in the front end,
especially cal_cms_go_target()
.cal_get_cmd_link_stub()
and cal_get_self_link_info()
are now synchronized on growing $_SESSION['sReq']
.$_GET['a']
) are now based on parameter u
($_GET['u']
).
This allows to transfer more backend functionality to the front end,
especially cal_cms_go_target()
.cal_o_link()
provides links to objects.{$GLOBALS['gInc']}?a=
.fileacc
):
).cal_row
replaces the old
row
(nomenclature and small chnages).js_sel_mod_texts
)
are with no text except hover. Text changed.js_sel_mod_texts
) has now
an additional clear button by default (can be dismissed).js_sel_mod_texts
) can be compact
without text by a object option.cal_js
corrected to be more gentle with defaults in class
cal_button
.user_im_log
) have now an optional title.user_im_log
corrected.noSisOnSub
allows together with aboveAsPath
to realize very dense tree navigations of wide and deep navigation structures ideal for
mobile devices.cal_print_neighbor_paging()
provides neigborhood navigation.clman_cache_objcnl
in a script to
prevent long script times. Future should be a lazy evaluation.`{$GLOBALS['gDbP']}_*`
rewritten with cal_mysql_*()
.$gCfgSpecialDbWddxL
.$GLOBALS['gWuserSpecL']
and $GLOBALS['gWuserL']
removed.cal_collect_wuser_db_def()
removed (support of upper settings).primf_duration
can specify a precision for human display mode.act_webprj_proc
has now hook actions.cal_get_obj_id_l_wuser_class()
can now
be called with class ID (new) or class name.cal_print_limit_paging()
styles the
user interface with CSS class cal_paging
.act_webprj_proc
.cal_rel_base_path()
work even
if the provider configures the server the way that
$_SERVER['SCRIPT_FILENAME']
starts with a prefix
compared to __FILE__
(eg. 1&1).m_link.php
.cal_t
(align top) and
cal_nb
(no break).cal_hover_expand_start()
corrected (now more natural).host_def
.notif.php
)
the last session time stamp was not updated.ui_cmd_act
corrected.ui_cmd_act
for direct actions in user commands.primf_file
ready.vec_dst_debug
ready to use.cal_debug_lim()
changed to be more
intuitive.primf_file
)
is corrected.wuser_imex_def
) removed.csv_im
).csv_im
) as well as for
user import the comments of lines are now written with '#' instead of '//' and
are allowed anywhere.csv_im
). Storage is for documentation,
configuration and simulation.vec_dst
).process.php
,
m_process_frame.php
, code in cms.php
).$gInc
or $gBasePath
anymore (idoc:ginc_co
).ext_cms
) a
remote access can be established (ext_rm
,
rm.php
) via remote command.ext_rm
) works
the same when located in the base directory or in the CMS directory (~/cms
).
It recognizes the latter position and translates the file paths donw the the base.act_webprj_copy
deletes now local files
without an mirror on the far site. This allows now a full synchronization.act_webprj_copy
on default suppresses copying
i_site.php
. This way external systems can be
copied to local systems without ovewrriding local DB settings.act_webprj_copy
is now capable to copy files, directories and
DB tables with structure.robots.txt
will be created automatically.cal_user_log_get_last()
are
now evaluated for user_log_bool
(in cal_pf_user_log_bool__eval()
).cal_print_sess_post_form_start()
provides
more flexible parameters for namimg the form tag or giving it an ID.m_objcom.php
removed. It was only
used by the file explorer.cal_adjust_cygwin_perm()
again.m_accel_tab.php
reinserted again. Was needed by a module.cal_typeset()
(problem in v5).dbtab_col_def_n_i
).m_cms.php
moves some
definition out of cms.php
to make it
reuseable by other files.cl_ext_cms.php
can now check for the installed PHP version of the external
CMS installation.m_accel_tab.php
removed.accel_tab_base
removed.cal_check_old_index_def()
removed.dbtab_deriv_src
.clman_own_class
usually need
the value 3 for the event flags.accel_tab
in favor of extension of dbtab_def
.clman_sync_lookup
is replaced by dbtab_def
.clman_after_store
is clman_on_delete
are replaced by clman_act_on
.tab_def
and tab_def_obj_deriv
were deleted.clman_own_class
:
sym_tag
,
rem_tag
,
article
,
prj
,
user_log_e
,
doc_chan
,
dbtab_def
,
ext_def
,
form_obj_def
,
market_item
.accel_tab
under construction.cal_parse_csv_row()
was incomplete.cal_excel_col_val()
and
cal_excel_col_name()
.`'_proc`
.act_webprj_copy
transfers remote
connection data.act_webprj_copy
transfers DB structure.m_db_i_site.php
provides access to
DB of other installations.//@embed_*
) has 2 extensions:
act_webprj_copy
lists names of remote tables.cal_dup_check_wuser_init()
can
be switched off.act_hact
provides starting an heart action
in the background.m_webprj_copy
.$cont
.cl_t_article_xform.php
allows to transform articles with the former included calendar and
position info into the new, tagged format.user_log_workl
now take
into account that following events will draw the reminder obsolete.user_log_workl
can be listed
fast and sorted according the the reminder time stamp.user_log_workl
a SQL optimation was made to speed up queries.cal_norm_tel()
allows directly call.user_log_workl
delivers its definition to defined own
(or replaced existing) tabs.user_log_workl
allows to define own
or replace existing tabs.valid_tel
can proof a string as a valid telefon number.ext/hostman/a/*.php.dat
) and
resynchronization of the according files on the development system (from
ext/hostman/a/*.php.dat
).m_lproc.php
makes it easier to
build long running processes.cal_user_log_add()
has changed.m_ts.php
.x_ts
.comp_ts
.
provides a unified way to show switches.norm_tel
: Handling of
anonymous numbers and compact storage form.norm_tel
works as a string function
and normalizes a telefon number into a standard way to make it compareable.cal_get_wuser_area_path_l()
.cal_get_wuser_area_path_l()
.user_log_event_h
)
for user log events (still not used).user_im_log
: User can be imported from a CSV table and
at the same time marked with an user event that stores the connection to the import operation.else if
replaced by elseif
.cal_read_datetime()
).primf_time
).invoke_act
removed.user_log_workl
an extra tab for
reminders is provided.user_log_workl
user details the listed events can
be choosen or set to all events.bool_str
makes it shorter to describe conditioned strings.$env['asWuser']
).cal_fail_scale_uploaded_img_within()
.cal_col_sort()
.user_log_workl
.user_log_workl
the tabs are now
optional.cal_is_permitted()
is restricted to a user area.m_selgrp.php
distributes generalized code
from m_gmsg.php
.user_log_workl
: Listing can be accelerated
by the user by renouncing accurate calculation of all hits .user_log_workl
: Own defined columns for users.cl_form_data.php
available via
cl
for frontend usage.wuser_disp_col
are moved in a
new module m_user_disp.php
to allow reusage. The
signature was simplified and some optimizations were done with loop
structures.user_log_workl
will provide a building block for
online workspaces, where work processes on user accounts have to be implemented.bootstrap_container
) and
columns (bootstrap_col
).llink
corrected (rare situation: one-pagers or similiar).CCalPdf
methods SetDrawColor()
,
SetFillColor()
,
SetTextColor()
were adapted to the base class FPDI
.logalize_vis
,
logalize_def_vis
,
logalize_def_filter
,
logalize_part
(and subclasses)cal_cf_user_log_e__after_store()
implemented.cal_exproc_stopped()
)m_webprj_copy
).rm.php
) is synchronized
from the PMS back to the CMS source tree (extension hostman).objed_tab
replaced by cont_tab
.print_objed_tab
and
print_objed_tab_deleg
removed.
All involved calls to the method print_objed_tab
converted
to print_cont
. All additional information is transported
via $env
.cal_get_obj_sel_list()
allows now to
determine the text for the list selection in state of no selected value.user_log_bool
.toggle_user_log
.table_dyn
are started to be extended by
filters.imgp_lazy_srcset
generates now low resolution
images instead of spacer GIFs.cal_data_img_spc()
removed, since GIF is
not rendered correctly everywhere (not within spec).imgp_lazy_srcset
can now generate optional
spacer GIFs.cal_data_img_spc()
returns an data URL of
a spacer GIF of given size.cal_get_imgp_url()
corrected.imgp_lazy_srcset
can now choose the source
file of responsive images based on intended display fractions of the screen width.article_img_cont
can now provide a template
to define the derived image.imgp_lazy_srcset
).cal_str_flex_data()
allows to
display different used data, eg. the data part of user events.m_zoom.php
.primf_set
) improved (minimal
width of values, HTML5 table definition).NULL
instead of NOW()
(`'_wsuer`
).NULL
instead of NOW()
.
Installation hang for certain MySQL versions since the users change column was
set to NULL (`'_wsuer`
).download.calladium.com
,
new calladium.de/download
). Reason: Server IP for subdomain
is not under own control and can change without notice. As long as
it is not mirrored and not completely self hosted, we use the
old place.cal_user_log_add()
.user_log
are now self defined.str_part
selects parts of a string according to a pattern.cal_ser()
is 1, auto compression.user_log
centralized in m_wuser_log.php
.`'_user_log'
.cal_rescale_img()
.cal_fit_img_check()
fits an image into a max rectagle
by scaling.req_frmt
).m_prj_detail.php
.allow_file_access()
, idoc:hidden_file_access
).vec_src_prj
.cal_col_sort_change_order()
handles the new option onlyLast
,
that reduces the ordering commands to the last one.cal_add_headroom_media_perm()
).table_struc
, table_dyn
)
can provide content for selected table entries.m_modal.php
provides boxes that
can be switched fullscreen and auto scroll areas.font_cal
), a subset of free typesets.m_js_vis_ctrl.php
makes
it easy to provide JavaScript popups and generalizes the
functionality of hiding conent.m_vec_src.php
.vec_src
).prj
.prj_def
,
prj_def_cont
and prj_typ
was unified with conent objects.market
).market
).market
).show_market
).`'_page_tag
corrected.article_layout_std
: Image floating
corrected, default is left.tab_*
conecpt.tab_*
conecpt and the quiet new
table_src
concept.tab_*
to table_*
.tab_*
conecpt and the quiet new
table_src
concept.tab_*
to table_*
.tab_view_col
.tab_struc
,
tab_view
and
tab_view_res
are a first step toward
flexible table displays.wrapbootstrap
files
bootstrap-modal-carousel.min.js
and
jquery.nav.min.js
.wow.js
.cal_append_url()
)..odt
, .ods
,
.odp
, .odg
, .odc
, .odf
,
.odi
, .odm
).<font>
eliminated.$GLOBALS['gU_hrAct']
renamed to $GLOBALS['gHrAct']
, since
it is not part of the user space.shariff
the backward
compatible notation of CSS pseudo elements (:
instead of ::
)
is used.llink
can be build
with dynamic navigation position from a string expression.nr_sub
returns
the number of subnavigation points of a navigation position.cur_navp_str
corrected for all situations (was set too late for
some evaluation situations).html5shiv
provides
backward compatibility of HTML5 tags for IE<8.
It is used automatically (if not prevented) in HTML document channels of HTML5.shariff
.select_obj
.$g
(idoc:genmode_g_option
).article_img_cont
provides now optional
links on images from an articles conent.push_modal
and
flush_modal
.fgal_show.js
.cal_str_cont_l()
.newsl_gdef
).fgal_disp_jssor
).wrapbootstrap
.wrapbootstrap
contains now also
wow.js
.cal_h_clean_email()
and
cal_h_clean_email__pregcb()
).adm_newsl
).m_jquery
: jQuery version number and file name
had an extra dot at the end.
can
provide a special treatment for local links to the pages. This allows eg.
the realization of modal subpages within the page content.
can
be reduced to a navigation position and its subtree./c
can be edited directly
from the backend.
will
implement the users choice, eg. for using cookies or
beeing tracked in general.
has a new value 'cookie' and returns the value
of the cookie with the name set in the parameter. If the cookie is not set, the empty string is
returned. If no parameters are set, the entire cookie expression is returned.ckeditor
):
x_revolution
, a responsive sliderx_font_awesome
, a fontx_glyphicons
, a fontx_ionicons
, a fonthtml_obj_prop_jquery
allows to control
the version of jQuery, the kind of import (same server or CDN).
It can also mark the jQuery usage as handled.cal_ensure_javas_script()
renamed to
cal_ensure_js()
. It accepts now
special inclusion handling (like jQuery) and allows
external includes (also relative URI schemes).cal_ensure_incl()
is replaced by
cal_ensure_js()
.cal_check_dyn_file_exists()
is removed.m_optim.php
,
m_fade.php
), but it is still formulated as an user interface extension (cl_c_*.php
).cal_once()
is TRUE once
per PHP page call (stored in $GLOBALS
).cal_mix_col_on()
.m_chgtab.php
provides changing
of the tab size of text files, untabbifying and changing the
line end convention.`'_index`
.cal_msg_man()
in a case.all_pages
allows flexible gathering of subdirectories,
eg. by navigation attributes.m_nav_linkro_ll.php
).all_pages
allows to build
local links at the beginning of each 'page' (more correctly navigation position).all_pages
can
be restricted to the sub tree of a navigation position (skipped or demanded).m_graf_out.php
makes
it easy to output line graphics.m_xmlparser2.php
supports
now also simple generation of XML files.m_xmlparser2.php
.getid3
.m_zip.php
contains cal_fail_read_zip_s()
to read the first file of a ZIP file.m_optim.php
.m_fade.php
provides fading between
multiple colors.m_optim.php
will provide the solving
of simple optimization problems, eg. for color remapping.idoc:color
):
cal_color_x6()
to cal_colx()
cal_split_col()
to cal_to_colb()
cal_image_col()
to cal_to_coli()
m_lineq.php
.rm.php
.act_ext_rm
provides long running remote script
operations intended to be used by processes.proc_stopped
checks for a process
if should stop and allows to tell about its state and progress.act_x
.act_l
provides ad hoc execution of
arbitrary commands in long running processes.oblock_layout_std
transports
a class name for blockl_disp_std
to set the
outer class of of blocks.article
has got an new attribute prop_l
.m_cli_only.php
prevents CLI scripts to be called from outside of hostman.m_prog.php
rewritten.idoc:proc_php_copy
).`'_proc`
has no default value for column `stat`
,
so we added the assignment of a value for every INSERT
operation.show_divcont_article
allows to
show an entire aricle within the definition of an article display
class. This way it is easy to redefine many article layouts.mirror_src
.cal_cmd()
renamed to cal_cv()
.m_sessf_pers.php
makes it easy to make session fields persistent._tmp_*
allow to explicit prevent any recalculation action._tmp_runcheck_data
.backup_dball.sh
(version 2.1 from 2015-04-17)
has had a serious bug in tar parameters usage.sprintf
extended
by optional replacement of characters at the end.cal_fail_check_form_fields()
changed to allow automatically changes of input values via
form.set_l
in the future.m_this.php
).article_layout_std
.trans_cont_def
trans_cont_link
trans_cont_show
trans_cont_cl_bootstrap_modal
.article_img_cont
, that shows an image
from the articel contents: Default content, if no image is attached to
the article.idoc:local_delay
). The backend can now be configured to buffer all local
requests to prevent this phenomenon.cal_debug()
is extended: An second
string parameter starting with "@" allows to mark
the debug call in the source code. When the marker is displayed
during debugging, you can find the position the marker belongs to
by fulltext search of the marker.resp_cont
allows responsible conent for
anything that scales with images (HTML), but needs JavaScript for this.article_img_cont
, eg. for own article display classes.clman_cache_objcs
.clman_cache_objcn
did not remove deleted items immediately.article_mode
to block_mode
.article_cat_cfgo
to article_cfgo
.unsel
of cal_get_obj_sel_list_name()
from out of cal_fail_set_sel_list()
to an attribute of obj_ref
. This allow to use reference lists in
sets, where null values would not be allowed.article_cat_cfgo
.news_tag_typ
(concept is replaced by the
todo system).categ_hier
.block_sel_disp
(block_sel_disp_gen
and article_sel_disp
).article_typ
)
renamed again to article
category (article_cat
) due to conflict with existing concepts.`'_block`.`id`
widened for object IDs..nfs*
files are ignored. This are technical
witness files with no need to care about.article_layout
)
renamed for generalization to article
typ (article_typ
).link_cont
provides extended links
on text as an object.cal_get_class_field_def_l_red()
allows
to get the definition of onjly parts of class attributes.cal_gv()
always overfwrites
cached values by NULL because of an wrong variable renaming.allowEmpty
to provide the setting of a NULL value even if there is a value of 0. The meaning is like for
other primitive types 'unset'.todo_disp
and its subclasses renamed
to show_todo_disp
and according subclasses.m_todo.php
, some
code moved to other moduels for general use.m_user.php
.cal_gmsg_send_store()
corrected.gmsg_def
have to be changed to ID again (instead of
message channels).act_notify
.cal_notify()
can override the message
channel definitions for not storing or not mailing a message.cal_notify()
will be derived automatically if
not mentioned in the call.cal_notify()
(just introduced) corrected. The
message was before transformed for an other data structure.cal_save_globals()
/ cal_restore_globals()
improved and moved to the new module m_save_glob.php
.ref_def
. Yet,
there are some open issues to be solved in the future concerning null values.[]
-style array_push()
.user_v
, a user selected from the list of all users.user_list_user
, a lists of single users
(can be determined dynamically and contain null values or doubles).primf_userid
.clman_cache_objc
(and maybe clman_obj_idc
, not tested!):
Null values can be set if 0 is allowed.cal_cms_hl()
to cms.php
.less
are now handled in many ways
like css
files in the editor, except normalization.css
files and less
files now also rgb
and rgba
codes are listed in the overview.sel_list_l
),
object references (ref_def
),
list functions (sel_list_f
) or
global variables (sel_list_g
)
can be dynamically filtered.cal_safe_glob_var()
,
cal_restore_glob_var()
).cal_set_sel_list()
renamed to
cal_fail_set_sel_list()
. Returns NULL on success, usage
simplified (implicit casting to bool).navpp
) ist used instead of 1_navpp
.sel_textsearch.js
)
is extended to support grouped selection lists.cal_get_wuser_area_l()
:
The selection list deales with unset values the way that
the first value of the list is shown. For lists of user areas
the list starts with area -1 (since it was sorted by the area)
and hence showed the implicit area 0 (no values set) as
area -1.gen_password
to generate random passwords.cal_print_select_submit_form()
made more robust, prevents
accumulation of parameters and interprets exotic URLs
like PHP would interpret.m_errhnd.php
provides own error
handling capable to catch fatal errors.cal_get_obj_list()
can order by ID.cal_primf_file_make_value()
corrected for storage type ext
and img
.cal_get_obj_list()
can order by ID.cal_primf_file_make_value()
corrected for storage type ext
and img
.m_strm.php
provides operations to
handle string as memory blocks.crc32()
replaced by the more robust cal_crc32cor()
(file m_encrypt.php
).forward_for
(eg. used by KONTENT GmbH).str_user_val_chg()
in a readable form for humans.num_user_val_chg()
returns the
number of effective changes of a user account.user_self_val_chg()
tells if
changes of an user account occure during the session of this user.
This makes it possible to filter changes made by the user.cal_on_wuser_changed()
was renamed to
cal_notify_session_wuser_cont_changed()
.cal_set_wuser_cont()
is used
in many situations where direct commands were used before.
An additional argument controls if the content is reagarded as changed or
as unchanged. If no change is intended (eg. for automatic checks), the
time stamp is not altered.cal_serza()
serializes, compresses
and addslashes an expression.addslashes()
and
cal_ser()
by cal_serza()
.cal_str_cmd_button()
can handle command numbers together with
URL parameters to generate a submit button and hidden input fields. This
allows to reuse a command number for multiple commands of the same module, which
increases the performance. Used for tuning group messages.cal_fail_obj_access_prep()
and
cal_get_obj_id_from_id_keyidc()
made
more robust against wrong parameters that could occure ony
changed object adressing (keyIdc
).0
, ''
) was reimplemented
since the old implementation did not always treat 0
as a true NULL values
depending on the order of the list.act_grp_change
provides a protected action
to change the group memberchip of a user.to_userid
provides conversion
of x-values to user IDs.created_user
returns the user ID of
the last created user account (within a page processing). The values could
also be yield with system_num
in the past together
with the new conversion to_userid
now,
but this way is easier to find.created_user
allows only
user names if thy do not conflict with existing users emails.is_group
can be used
with dynamic group numbers.clman_sync_lookup
.show_wuser
have now flexible content.show_wuser
user profiles can be realized by
forms of user data (inputgen_src_user_obj
, read only, until now).show_wuser
.show_wuser
show the user profile and
can be combined with content for user selection like show_wuser_list
.user_list_name_sort
).user_list_add
).nr_wuser
) reimplemented by using
user lists expressions (user_list
).context_grp
returns explicit the
ID of the current group of show_grp_list
.user_list
allows more flexible processing of
user lists.cal_get_grp_wuser_list()
allows now exclusion
of membership relations.cal_get_selgrouped_wuser_list()
the argument was made
flexible to allow multiple optional filter settings.wuser_my_data
.cal_
-prefix and generalized (usage for multiple CSS classes).show_grp_list
allow more
filtering.nr_wuser
).primf_duration
the option
allowEmpty
didn't lead to a stable representation.cache_cont
) can reduce
server load.show_grp_list
).primf_varname
).cal_get_obj_list()
and cal_get_obj_id_l()
.block_sel_disp
into show_block
.fgal_disp_jssor
can be used to
set its width responsive to the width of its parent.cal_add_head()
and cal_ensure_java_script()
.sel_list_filter_mix
under construction.cal_show_collected_stat()
provides
the display of the result collected by cal_collect_stat()
.cal_get_grp_wuser_list()
and
cal_get_wuser_grp_list()
were made more robust against empty
parameters.m_php_embeds.php
tells now about dependency chains. This helps
to break unwanted chains.cal_obj_link_g()
) helps to
allow functionality in one context while not make it necessary in another one.cal_pack_pax()
in Module m_pack_pax.php
did not store optional info and did note wrong size information under
certain conditions.m_php_embeds.php
finds now
also dependencies of preg callbacks.$GLOBALS['gHtmlentitiesX_add']
is embedded into its using function, primary to ease embedding.m_php_embeds.php
can now
pack into an external file providing more overview during
development.m_php_embeds.php
provides packing all needed
CMS library functions into one script that requires this function to
work stand alone.cal_cf_cfgo_ext__cache_process()
._enddoc()
is not longer called. We
assume the usage of the destructor.$GLOBALS['gBackupRange']
in
i_site.php
, this can be changed. With bit 0 set
non CMS tables will be included in the restore, with bit 1 set
also sister CMS systems (which are recognized by the three core tables
`'_wuser`
, `'_obj`
, `'_sess`
).$GLOBALS['gBackupRange']
in
i_site.php
, this can be changed. With bit 0 set
non CMS tables will be included in the backup, with bit 1 set
also sister CMS systems (which are recognized by the three core tables
`'_wuser`
, `'_obj`
, `'_sess`
)._enddoc()
of FPDF
instead of _closeParsers()
called.cal_set_unset_field_frmt_text()
makes it
easy to make use of text format defining objects.m_js_exec.php
).bootstrap_sect
allows to chosse individual containers arround Bootstrap rows and to
use background images for or around containers without changing the CSS file.
So a background file can be seen as a part of the individual page instead of
the page style. Nevertheless CSS classes can still be used for this purpose.data_contl_cond
now
implemented.file_cont
shows the
content directly with optional parallel substitution.bootstrap_row
and
bootstrap_col
.cont_replace
provides string replacement
in nested content.system_str
returns
the current navigation position in any expanded form (via cal_expand_url()
).frmt_text_css_classes
now
allows "-".frmt_text_css_id
.data_obj_gen
and
data_cont_gen
supporrts now the replacement of
object references by numbers.m_obj_path_used.php
provides
function cal_get_key_obj_path_used_in_sess()
to make use of internal object paths as URL parameters without opening secrets to
the outside world.primf_class
supports now class sets.group_def
) and user selections (wuser_selgrp_def
) can be used interchangeable in many
classes (show_wuser_list
).m_newsl_read.php
provides functions
to undo quoted_printable. The module is planned to be extended by
similiar functions needed to read emails.cl_archivar.php
allows upload of
archivar index files in format 3.1 and show a statistic.cal_get_send_values()
were not displayed correctly.cal_get_send_values()
.cms_f_...
)
removed. For a time they were provided in addition to the
new CSS classes (cal_f_...
).cal_renew_cache_files()
. This situation can
happen due to version conflicts and therefore was called a bugfix.cal_renew_cache_files()
corrected.dispval
supports now the display
of more value types directly.cont
and cont_l
to strings implemented.cal_cf_data_cont_gen__get_data_obj()
based on cal_cf_data_cont_gen__get_data_cont()
.
(Maybe this would not be necessary if other methods would be
substituted automatically.)cal_get_nsymstr_str_cond()
.cal_get_nsymstr_str_cond()
provides conditional strings by simple rule lines.cal_get_user_rel_obj_l()
returns
a list of all users related to objects of a given class.cal_get_cached_user_rel_obj_l()
provides caching of the same list.cal_user_rel_class()
provides a cached test that tells to which object of a class a user
is related to if ever. On multiple objects the one with the lowest
ID is returned.m_ctrl.php
.m_fsm.php
.m_fsm.php
does now include the button name prefix mentioned in inputgen
.nsymstr
.system_bool
allows to check a form for real input field, ie. not only buttons or read-only fields.nsymstr
.m_fsm.php
operates
on nsymstr
an supports realization of
Finite State Machines.m_textdef.php
supports text
representation of structures and in the future editing.fsm
removed (has to be
reintroduced if needed).m_ctrl.php
) ready to use.inputgen_src
ready to use.inputgen_src
.inputgen_submit
renamed to
inputgen_src
.cal_travs_l_r()
made
robust against NULL argument.data_obj_gen
can now be done
also on paths to subobjects (but no arrays yet).fsm
(Finite State Machine),
under construction.inputgen_src_obj
.jsprot
protects content againts search engines via JavaScript.show_js_tab_page
can reuse the style of tabs
.inputgen_src_obj
can show arbitrary content for special situations like non existing objects
at a path.cal_debug()
allows
optional parameter to debug in channel.sel_list_nsymstr
that
operates on a nsymstr
.nsymstr_str
provides mapping auf natural numbers and symbols
to multi language strings.bool_cond
provides a function similiar to the
switch statement for bool expressions.cal_in_time()
the
changed DB column names were not adapted (eg. `t`.`start`
instead of `start`
).cal_cmd
on support of
rarely used argument types corrected.inputgen_src_obj
is ready to use.tabs
checks for existing sub objects.
It is the first of a set of functions of the new module
m_ors_path.php
for manipulation of object trees.tabs
can have names and thus be coupled by sharing the
same name. They can be controlled from PHP scripts via
cal_set_named_sess_tab()
.cal_norm_pantone()
normalizes
Pantone colors.video
.video
supports embedding of own videos (independend from
video portals). Support of Flash for the first step, only, based on flowplayer.gen_subst
in data_obj_gen
was too narrowed. Since the generalization of its concept gen_subst_any
should normaly be used.polypath
can be used as definition for link maps.polypath
provides
an easier way to defined polygon pathes.obj_tit_str
returns the
title of an object.obj_users_cont
shows the
name or accounts of users of an object.clman_event_act_objref
returns the
refrence to the current object when inside an action of clman_event_act
.after_store_diff
allows to detect object
changes after storage action. The result can be shown with after_store_diff_cont
.on_change
removed since
it was not used, not worth keeping and nevertheless the function
did not fit to its name._objcs_*
) was
for a long time one step too late resulting in delayed existence.after_store
will be on default ignored on class manager
event actions if invoked for issues of refresh on all objects.act_send_mail
under
construction.act_debug
provides choosing a enumerated DB channel
for this action, only.clman_event_str
and
clman_event_num
tells class manager actions
what event was invocing the action.aclman
provides actions that
can be hooked on the events of every class like notification
after an object of that class was stored.primf_class
can store class IDs instead of names.clman_event_act
provides a class manager
that reacts on multiple selected events with the execution of
a list of actions.inputgen_src_path_obj
.str_op
provides
transformation of URL parameters to hidden form input fields, eg. for
forms send with method GET.$GLOBALS['gSelModDefault']
at the moment.cal_fail_prepare_obj_edit()
a call
of the former signature of method get_obj_ref_l()
(3. argument not $env
but permissions).sym_tag
extended by internal name, title
is now multi language.sym_tag
extended by internal name, title
is now multi language.$env
was not delivered to sub objects.
The change was made by redefining the 3. parameter of
method get_obj_ref_l()
. It is now $env
.
The user relation can be required in obj_ref_src_user
and is flexible.cal_fail_send_get()
and
cal_fail_send_get2()
unified to the first one.cal_pack
definded and creation supported. This
kind of archive was designed for server sided extraction in potential
runtime limited steps. Uses gzcompress() and can use mcrypt_encrypt().cal_get_lan_code()
corrected to usual language code.num
, str
and bool
.
Before only primitive attributes were accepted.cal_is_number()
accepts now also arrays and PHP objects.m_tree_op.php
provides
function cal_replace_rec()
for recursive replacements in expressions.cal_mysql_set()
sets some columns in a row just queried.cal_fail_make_class_desc()
).cal_make_class_desc()
was
renamed to cal_fail_make_class_desc()
.cal_analyse_class()
was
renamed to cal_fail_analyse_class()
.cal_edit_page_default()
from version 5
copied (introduced few versions ago).cal_print_glob_err()
.reqFValSet
of system values system_bool
to check if form field was sent. Used to decide which submit button was pressed.cal_get_obj_tit()
provides now titles
without class prefix with the second parameter set to 1.act_form_action
provides the execution of form
actions as a usual action like sending an email with same
possibilities like the similiar form action.str_user_val_changed
provides infos of
the changed user account.act_form_action
.on_change
).act_form_action
.str_user_val_changed
.is_cms_user
can now be applied in context of 'asWuser'
except of dynamic properties.cal_cf_html_cal_subst__get_subst_preg()
.condvl
as smarter way to
handle multiple cases of content where one value is compared
with different strings.cal_flex_editor()
.m_flexed.php
providing
a flexible object editor for the user space via the function
cal_flex_editor()
.link_target
provides
a filter to link that changes the target of the link. It can
also remove existing targets.inputgen_src_obj
. This way custom
object editors can be build (another way for object editors).cal_fail_register_cmd()
,
cal_unregister_cmd()
,
cal_cmd()
,
cal_get_cmd()
).fixed_file
provides file download and upload
for files with a fixed file name.n_c_menu.php
.clman_obj_name_hash
for non unique access by hashed names. Uses IDC for the hash (so not
guaranteed to be unique, too).preg_replace()
converted to
preg_replace_callback()
for adaption to PHP 5.5.0
in m_templ.php
.cal_escape_char__pregcb()
.cal_format_time()
.cal_set_sel_list()
supports now also object reference lists
(rising before an internal error #53252355 since not handled before).login.js
,
is now automatically focused.tag_sym
).abspos_cont
provides
CSS class and DOM ID.abspos_cont
provides absolute
positioning via CSS. Relies on an outer CSS container suitable for positioning.member_man
allows
leaders of a user group to manage the membership for this group.is_group
can now check
the relationship like member, leader, applicant and rejected applicant.m_time_read.php
provides
function cal_read_time()
that
tries to recognize many time and date formats.userid
extended (eg. casting).downl_filter
allows
to store the current user as additional informstion with the link.downl_filter
provides
actions that should be done when the user clicks a download, eg. counting
and logging downloads.pl
, idoc:proxy_link
.httpresp
allows to return HTTP redirections via an action (data delivery
planned for future versions).cal_short_url_encrypt()
returns now constant URLs.show_as_page
allows in some
situations to switch to a usual page. Can be used as a reaction
for links (that usually do not denote a page).use_stored_form
loads
the values of a stored form to access the fields.link_cont_str
provides reading the content
of links into a string.m_ia.php
).m_val_l.php
provides a way to evaluate and
store any named x-expr in a list of values. This allows to hand over data
from one situation to another.cal_short_url_encrypt()
cal_short_url_decrypt()
have new
parameters to make encryption safer
(initialization vector).cal_server_encrypt_num()
cal_server_decrypt_num()
provide a secure
encrypted exchange of integers (server sided key).`'_actat`
was reduced by column `changed`
.tag_timer
and info_auth
,
check for all objects.`'_obj`
).cal_cf_clman_list__before_store()
corrected.tag_email
) that refer to instances of
the common class def_ia
, even if not every
instance will be compatible. But this could be smoothened in the future
by filters that inspect the type of def_ia
(def_ia_typ
).m_ia.php
)
of channels (eg. email), actions, bon systems. Provides tag_ia, that triggers the state of
an object coupled to an ia-item (like a authentification process or a bon).add_tag
provides adding of tags to objects.tag_timer
provides planned actions in the context
of an object.val_set
provides simple sets of named values that can be
used for any purpose.del_tag_obj
allows a tag to delete its object.ts_add
will now
count from now (instead from never).`'_obj`.`tags`
allows optimized tag management in
the future.system_num
.preg_replace()
are checked for neccessary conversions to
preg_replace_callback()
for adaption to PHP 5.5.0.preg_replace()
.preg_replace()
using callback by preg_replace_callback()
to satisfy requirements in recent PHP versions. Only some calls replaced.cal_bit_val_list_of_int()
(renamed from cal_bit_list_of_int()
)
now supports full 32 bit range (and limits to it).cal_bit_nr_list_of_int()
.wizard
) reloaded.selector
) introduced.clman_recache
class manager.cal_y()
can escape with %
in
the first character to text with attributes..htaccess
of the base directory can be shown.js_link_select_submit
,
without any dependency of the script calladium.js
.$GLOBALS['gSysD_classId']
is
given back until its also recalculated there.iframe
.iframe
has new property to float left,
avoiding a gap line at the bottom in HTML 5.cv_class.php
like version 5. Instead of clman_write_cfg
now in version 4 also clman_recache
is used but with the old implementation, ie. writing the
whole config. But not all classes are made available in version 4 since
some implementations are still missing and
cv_classset.php
differs.cal_show_file_diff()
checks now
file existence.cv_class.php
.cal_
prefix.m_graf.php
part of standard distribution.graf
to show_graf
.graf
and graf_def
under construction.context_tag
under construction.m_binchar.php
.hostman_guest
):
cssposng.convert_list()
moved to its own module.clman_cache_objc
.warn
to cal_warn
etc.).primf_userid
.primf_userid
.primf_time
.x_userid
,
glob_var_userid
,
userid_num
).system_num
).gen_subst_form_vals
).objref_num
).objref_set
,
glob_var_objref
,
act_x
act_x
).act_x
).system_num
(selection 'ID of the current user').clman_time_tag
and clman_page_tag
did not handle
object deletion.gifmerger
allows to compose animated GIFs from
single GIFs.CAL_
.js_dyn_sel_text
works now
with general content. Therefore the marker is taken as ASCII with the
capability to express HTML tags as separators.m_db_gi.php
).cal_ro
) and
is mixed with (cal_mono
)._cal_q_*.*
).m_binchar.php
provides safe conversions for
binary strings.page_prosa_posn
)
provides Prosa and positioned content. But the positioned content
is stored as a pure list without positioning container.m_class_conv.php
,
new methods convert_obj()
and convert_list()
.rollv
) have now a
default implementation based on CSS without JavaScript allowing
the reflection of an activated state (eg. for JavaScript controlled
state change with CSS class cal_a
).cal_wuser_link()
can use existing
DB query results of the table "`'_wuser`" to reduce the numner of DB queries.prj_def
.prj_typ_one_page
.cal_get_used_obj_class_sel_list()
(version 5) and
cal_get_obj_class_l()
(version 4) are renamed to
cal_get_used_obj_class_sel_l()
.cal_set_charset_needed()
converts
strings with mixed encodings.wiki:print_objed_tab
).clman_cache_objc
can also provide a mapping of names
to IDs or IDCs (used eg. for groups that can now be expressed by names or by IDs).dbcoltyp_date
for dates in user defined tables.cal_fail_file_write_test()
).newsl_subs_link
).cms/newsletter.php
is
redirected to d.php?a=newsletter
, supporting CSS styling and
independend from CMS path.system_str
: CMS version and CMS build.{system_str:value|parameter}
allows direct embedding
of system strings via text attributes.js_fold_select_toc
extended to IE 11.show_article_hnd
).allow0
for IDC based class references.create
renamed to
on_create
.on_new
is invoked now in
cal_obj_new
.EFLAG_expert
is handled
right on edit actions. Before it was not displayed
but not ignored on update.clman_obj_idc
and
clman_cache_objc
now support
0 as a value (if allowed), automatic IDC assignment
and IDC range checks.img
has now direct CSS style properties.simple_form_fields
allows JavaScript
to check errors (and can be used for styling).login.js
provides functions for
hideable login forms.$gCfgVersionFormErr
is not used any longer).ll
provides page internal
local links (like #abc
). The can also be achieved with
general link, but this is easier to use since it has only one
parameter (and so does not has change default target frame).cal_G
instead of tab_go
,
cal_H
instead of tab_here
).class_form_fields_form_obj
corrected when
included fields are mentioned.cal_debug_to_chn()
.cal_int_err_hnd()
.all_pages
provides support for
one page homepages.system_num
value yields the current
page when in all_pages
.blockc_s_e
provides individual
beginning and ending blocks.article
introduces article based content management into
the CMS.block
provides similiar features for other classes, eg.
for own classes.cal_calend
for better CSS styling.system_num
can return
the current Unix timestamp.gmsg
:
cal_H
(head of a message)cal_S
(instead of gmsg_subject
)cal_T
(instead of gmsg_text
)cal_H
(attachment of a message)cal_gmsg
.gmsg
.after_tore
actions are automatically invoked.gmsg
is ready to use.gmsg
can be used for single users,
except email support.cal_opt_glob_css_class()
,
cal_class_attr()
and
cal_set_cmd_str_opt()
were removed. There
is no longer a need since constant CSS classes are used now.gmsg
,
show_js_tab_page
,
shared_text_def
,
wiki_show
and
wiki_show_class_glos
was switched to
constant CSS classes.gmsg
) removed.
Since CSS selectors are so powerful, we will remove all kind of flexible CSS
classes where it makes sense.d_old.php
was removed since
the new filelist approach is better and works also for multiple packages.cal_extract_php_commtent()
was removed since
just used for the list of old modules.cal_r
,
cal_ro
, cal_mono
) and used in conjunction.{formVal:...}
yields form field values.send_formdata_email
.send_formdata_email
.form_val_list
.$n
provides
numer of item in the list.$_GET['nosess']=='1'
).
This allows to combine eg. ErrorDocument with clean URLs and sessions. Anyway,
with clean URLs the 404 pattern should be used.cal_assoc_set_expl()
works now for empty strings.cal_append_url()
for dealing with
adding, overriding and deleting get fields.wuser_prop
provides tests
for properties like the permission to send the user a login link via
email.<?cal ... ?>
. The interpretation is done
when a new flag in the HTML object is set.cal_expand_template_s()
removed.html_cal_subst
introduced to handle cal-commands
in HTML.cal_fail_subst_templ()
simplified.m_templ.php
was rewritten in many functions.cal_get_cur_navtit()
provides easy mapping between a navigation position and its
title.cal_get_class_def_ref()
removed since
considered now as microoptimization.m_obj_all_after_store.php
provides
functionality to set up objects after loading from an pax archive.cal_gv()
and cal_gv_set()
were added in an adapted way to
easy migration to version 5.calend_disp_cms
to
a_h_calend_disp_cms
).print_obj_tab_bill
to
bill:print_obj_tab
).cal_mysql_get_row_no_err()
suppresses error messages.m_graf2.php
provides line charts based on HTML5 canvas with JavaScript.htmlentities()
by cal_htmlentities_u()
.link_str
.!devpos css tab include
).<body class="cal_cms">
.cal_set_wuser_cont()
and
cal_get_wuser_of_obj_l()
.cl_c_class_pak.php
).on_delete()
is now always invoked since
moved into cal_obj_del_id()
.cal_get_obj_id_l_wuser_class()
returns
a list of object IDs in relation to an user for a certain class.cal_get_wuser_selgrp_list()
works now
also for area -1 (CMS users).errdoc
provides handling for error pages of Apache.m_interr.php
.cal_debug_to_chn()
allows to log
messages into a given channel without changing the current channel settings._cal_*
to use one unique
prefix (older: _cms_*
and _gen_*
).primf_text
with option no line wrapping.cal_sleep()
supports
sleeping of us even on PHP 4 on Windows.cal_create_dir_if_necessary*()
to
cal_fail_create_dir_if_necessary*()
cal_empty_dir()
to
cal_fail_empty_dir()
cal_fail_check_upload_data()
provides
extended checks and preparations for uploaded files.$e/pre/post/whenEmpty/field;
.cal_adj_file_uperm()
corrects file permissions, user and group. This is
important for usage others than the webserver.
This feature is used eg. for logging into a file.cal_sql_to_unix_ts()
keeps
UNIX time stamps, recognizes 0-value and works with
truncated or partial timestamps like '201305'.cal_normalize_ts()
normalizes truncated or partial timestamps.`'_hcmd`
.d.php?a=tit&...
can happen.
This would be displayed correctly, but since some mechanisms depend on a
REQUEST_URI containing the channel, navpos etc. we redirtect to the target.
Redirection to the clean URL would be nice bit leads to infinit loops under
some circumstsances.cal_db_ok(1)
, we abort as default behavior with cal_db_ok()
. If it is
important to stop if no DB is available, the check cal_db_ok(1)
has to be done
before._sys_srcop.txt
.cal_str_as_hex()
converts a string into
a list of hex bytes.cal_show_cmd_l()
can also be used to display
download links.cal_print_sess_tab_nav()
supports now tabs with no
selection.cal_htmlentities_u()
replaces in most cases
cal_htmlentities_x()
with UTF-8 instead of ISO-8859-1.cal_setup_sess_cfg()
provides central checks
to derive the session configuration from capabilities and settings (yet only
used once).cal_fail_start_get_delivered_session()
adapted for
path limited cookies. Session is now always handed over by URL in this cases.
Alternative ways can be same directory hand over in the future.cal_nr_bit_set()
in module m_set.php
.time_switch_s
maps
a timestamp (like the current time) to a string (like
symbols for campaigns or a status varying over the time).time_range
allows
to match event times against time ranges.primf_daytime
and
primf_yearday
to describe periodically events.cal_absolutize_http_url()
is now capable of parameter replacement.m_cookie.php
provides setting and checking a cookie.cal_get_local_self_link_info()
and
cal_get_local_self_link()
moved into
m_cmd.php
.m_cookie_lim_act.php
regarded as obsolete but
still supported (will be supersede by more general m_cookie.php
).primf_text
for option 'nowrap'.<top navigation>
or <Extras>
.nav
to cal_Nav
.email_templ_t_html
provides final text transformations.m_timer.php
provides functions for easy performance tuning.cal_end_session()
moved out of m_std.php
.cal_obj_editor_or()
used not always set array fields without check.cal_implode_ex()
changed to call-by-value (less performant but more robust).cl_wuser_stat.php
).notif.js
.alist
and assoc
into
alist
: All concepts of assoc were integrated.assoc
.m_bar.php
separated.x
and other base types, introducing
method to_*
(eg. to_num
, to_bool
).def_from_x
to get the defining expression evaluating to
a x value. Used in casting from x to obj.ts
.send_mail
(member of num
).plan_act_at
(member of num
).inputgen_src_user_gen
the display name was not changed in the session and not in the `dname` DB column as
correctly done in other object handling altering the users profile.cal_make_abs()
has options to allow
relative paths, works faster and allows directory names
ending on '.'.cal_fingerprint2()
was redefined
by selecting the start and the end of the content (instead of
3 parts).cal_fingerprint2()
uses the file size
as an optional parameter. This is important for big files, since
PHPs filesize()
does not always work for files > 4G. cal_fingerprint2()
provides a fingerprint
covering a limited part of a files contents. Thus the function will have a
limited run time no matter what size the file has.cal_fingerprint_int32()
is now never 0 to reserve
this value as unset.cal_normalize_ts()
(like
cal_str_date()
) accept
UNIX timestamps for this parameter. It is converted by the function into a MySQL timestamp.cal_no_int_index()
eases debugging of table rows.m_obj_named.php
provides hashed
mappings from object names to IDs in function cal_get_map_obj_name_id_l()
.cv_class.php
.cv_class.php
.m_attr.php
.m_num_format.php
.class_prop_print_cont
).posl
) was
fixed. The positions can now be handed over as a separated string of navigation
positions (space, comma, semicolon will do).cal_get_class_display_name()
.cal_get_class_display_name()
replaced by
cal_get_class_tit()
(but old name allowed as alias for
compatibility within version 4).cal_create_temp_fn()
.file_ui_upload
provides very easy file handling.cal_file
instead of file
.file_ui
for own primitive file attributes.logged_in_area
of system values system_bool
to check if a session of an certain user area is running. Works for CMS sessions, too.xform_str
.str_repl
.preg_str_repl
can now
replace by string expressions.cal_apply_str_xform_l()
changed.obj_edit
now provides settings to create objects on demand.class_form_fields_class
can be restricted more flexible.cal_show_cmd_l()
provides
a new style of listing commands in the CMS.clman_own_class
can make any class
its own class manager.cal_grid
and cal_grid2
.grid
and grid2
were renamed to
cal_grid
and cal_grid2
.primf_num
.clman_after_store
and clman_on_delete
now call usual actions.cal_set_path_data()
changed, field parameter now optioonal.cal_set_path_data()
(used eg. for some user properties)
removes empty containers. Null values (''
, 0
, NULL
) are not
stored.file_cont_str
).rm_act
to invoke remote actions.trim()
.c_update.php
)
to allow to update hostman together with heart scripts and ct
tools in one heart command.primf_num
can be displayed as percentual values.
A value is for example stored as 0.25 but displayed as "25.0".m_pdf.php
provides extentions
to FPDF for rotation, color tables, CMYK support.doc_chan_link
provides
links to document channels with optional parameters
and session delivery.doc_spec_pdf_obj
is extended
by optional flags (controlling classic programmed PDF
generation or new layout and content driven approach,
download hints), filename and custom extentible
PDF properties.{y:...}
provides access the inbuild or user extended
text bricks (or boilderplate, text snippets, translations), at
the moment without additional parameters.dhtml.js
. Functions were replaced by direct DOM functions.dhtml.js
and dhtml2.js
removed.cms.js
removed together with
calling positions in PHP.i_site.php
of hosted CMSs.i_site.php
are now tolerated.cl_srv_email.php
the new module
m_srv_email.php
was extracted to make it
useable in other situations.frmt_text_chrestr
can now force upper case, UTF-8 transformation and transliteration.timestamp(14)
was everywhere
changed to timestamp
necessary for new MySQL installations.TYPE=MyISAM
was everywhere
changed to ENGINE=MyISAM
necessary for new MySQL installations.clman_obj_name
now
also for version 4.i_site.php
will be adapted
on moving projects between servers more automatically. But the
adaption is until now specific for calladium server structure.debug.js
,
fold.js
,
llsearch.js
,
show_dom.js
,
tabs.js
) now do not depend on
dhtml.js
(but do now not
work with IE4 or NS4 anymore).m_prosa.php
.^g[A-Z]*
were
renamed to make them match.{x:...}
.{shorten:...}
was introduced.llink
did interpet an
unset page as the current page instead of page 1. The current page
is a good value if no navigation position is used, but
for a choosen navigation position an unset page means page 1.linked_text
-argument of text attribute
{x:link,linked_text}
and similiar others prevented.primf_file
).$env['obj_draw']['class']
for primf_edit
and primf_act
and needed by
class primf_file
to communicate its definition
to the overlay mechanism (keyword 'class propagation').cond_pri_js_css_obj
).dv.js
follows now also the function naming
convention.imgp
can now be
applied on images on other (public) paths than c
.alist
(assoc lists) is a new basic type
with properties like PHP lists.http_req
provides HTTP request
with returned status code.alist
(assoc lists) will be a new basic type
with properties like PHP lists.cal_show_fgal_list()
and cal_show_fgal_base_dir()
.$p/x/_my_uppercase(f="some option")/
.all_obj_edit
can be displayed with descendend ordering in object listing._my_class(f="abc", x=203, y=-102)
.
Module m_lin_obj.php
.ts_format
takes MySQL time stamps and formats it according to
the date()
notation with
CMS extension.$p...
, eg.
setting the length for clipping to 20 characters (instead the default
of 10) with $p/cliplen/20/
.vardef
).selenvo
).x
to bool
,
num
and str
implemented.typed_val*
removed (substituted by x
).vardef
).selenvo
).act_http_req
.hact
as direct command or as cron job.cal_get_object_sel_list*()
renamed to cal_get_obj_sel_list*()
.hact
(heart action).m_file_man.php
to m_file_sc.php
.primf_file
is ready to be used.primf_file
can be opened to web users
for certain segments like objects.cal_protect_sess_cmd_param()
,
cal_protect_sess_cmd_param()
and
cal_protect_sess_cmd_param()
.cal_fail_send_get()
can now use callback objects to
process incoming data on the fly. This allows fast, memory saving approaches
where the earlier way would lead into out of memory situations. The reading was
corrected to read whole blocks (instead of lines), what will result in higher
performance. By the way the only header option and writing to file were corrected.cal_fingerprint_int32()
is
generalized.cal_is_big_endian()
.preg_match_str
checks on
matching Perl compatible regular expressions.accordion
provides JavaScript based
content paging.primf_text
can let interpret its
value as Prosa (before only text attributes, line breaks and easy formatting).cal_get_class_field_def_l()
and cal_get_class_field_def()
.ovl_hnd
and thus extentible.primf_file
.primf_file
.primf_file
.primf_file
supports
images.primf_file
allow
extendable ways of listing files.primf_file
are prepared
to handle context related directories and will replace older ways
of handling file attributes.cal_setup_incl_excl_list()
was renamded
and removed, since its usage is narrowed to its specific purpose.inputgen_src_sess_obj
can be used
partially.cal_setup_incl_excl_list()
to handle
inclusion and exclusion of single elements, element ranges or half open ranges.simple_form_fields
the display of error messages can be suppressed
(independend from display of automatic buttons).cal_fail_contpos_check()
for page positions:
The form position was not correctly found for forms in pages > 1.cal_cf_doc_spec_html_obj__print_cont()
is
now changed: The checking the category ('get_categ_cont') has to be done
before cal_handle_b_act()
to allow usage of local links in an early
evaluated form.cal_c_url()
.cal_get_autoadd_key_sel_list_dbtab()
preserves now the smallest ID.dbtab_def
can define an independend MySQL
column type. This allows optimization and all kind of primitive attributes
can behandled.xml_set_act_dbtab_map_int_ext
allows to translate string values into integer.cal_get_autoadd_key_sel_list_dbtab()
translates a string into an int stored in a user defined table. Not
stored strings are added with a new enumeration value.dbtab_def
are
now not restricted by permissions if nothing is said. Read and write
permissions can be set separately.dbtab_def
can define a full text search index
on a text column.permrw
for describing read and write
permissions.xml_set_act
can be used to
extend the actions during parsing XML. One simple action is debugging the value.permrw
for describing read and write
permissions.cal_objpathid_encode()
,
cal_objpathid_decode()
) removed.email_templ_t_html
calculated wrong image paths (relative from cms directory instead
from base directory). This led to missing ressource detection and
thus missing ressources for emails using this class.cal_to_string()
with optional indentation.act_set_gi_s_user
)
and function for reading (gi_s_user_str
) integer indexed user
strings from the DB.primf_list
fields
removed.print_debug_js
provides the display of a JavaScript debug output area.nav_draw_val
provides string values
like currently drawn navigation position, effective position (if local)
and depth (relative to the navigation concept) during drawing the navigation for each position.$env['path']
in conent processing is now build
more accurate.cal_get_class_def_ref()
now also available in version 4.bool_rnd
repaired.js_dyn_sel_text
can also use
this feature. Together, fading or moving text transitions are
easy to maintain.simple_form_fields
can be used
mixed with manual placed input fields, submit buttons and error messages.act_set_debug_chn
the debug
channel can be set to the normal page listing mode.system_num
was prepared to work
in the future like system_str
on
a list of functions set up in the class description rather
than defined by a global variable.d.php
was
encapsulated moved to m_d.php
.m_t_contpos.php
delivers via class
system_out
/ mode contPos
the path
of the object itself for the purpose of testing the path mechanism.obj_field_str
, data_obj_copy
and glob_var_obj
.$GLOBALS['gF_...']
as
source for system_str
.{var:name}
for showing the values of a CMS variable.cl_xcom.php
).d.php
can be concentrated to one
parameter d.php?yq=...
not containing any "_" anymore. This
was introduced like the xcom mechanism to meet the restrictions of
third party systems like PayPal, where return URLs sometimes get transformed
and reduced. We call this new mechanism simply yq for the freely choosen
parameter name and it resides in m_yq.php
.cal_current_url()
accepts now parameters
to build the current URL not from the request but from the maybe
internally altered and optional reduced $_GET
array.
This helps to deal with the yq-mechanism.text
can control some more
options: Use fixed width font in editor, break long lines automatically,
prevent interpretation of text attributes.text
is now multi language and
has support for markup buttons (JavaScript based).text
is now based on primitive fields.primf_text
attribute y
(height) can force now
a set text height or give priority to content extension. The ordering in the
adapt
attribute tells what to do last overriding prior changes.primf_text
attribute f
(flags) can now
unset bits with operator andnot
.cal_set_sel_list()
is now everywhere checked
on 0 instead of NULL._cms_*
files can be
deleted completly._cms_*
files can be
toggled to be listed in file management situations.img
. At the moment just
scaling of JPG is available as a filter.fgal_disp_list
.cal_server_key()
).fgal_disp_list
will provide an image gallery
(with preview thumbnails under construction)
and the Lightbox display.d.php
mechanism (internal return code 16).cal_absolutize_http_url()
extended to root based URLs like /index.html
.cal_current_url()
.m_xcom
is going to provide external
time limited commands that can serve as callback for external
services like PayPal.system_str
has new mode host
returning the
cleaned value of $_SERVER['HTTP_HOST']
(cleaning as a protection against
manipulation).<nobr>
further reduced.<img>
attribute alt
is now always
created. It would be a better convention to handle it optional, but now it satisfies
the W3C HTML validator.<nobr>
reduced.<td>
attribute valign
was found still to use value
center
instead of middle
.index.html.de
are linked now, too.index.html.de
etc. are regarded as allowed
file names now, too.clman_obj_name
manages unique class internal names.m_class_check
and m_class_dist
.pack
).system_str
extended for query string.cur_navp_str
corrected.system_str
extended for navigaton position with page number.*__field_check_frmt()
changed:
trim()
and htmlentities()
are now applied to the value always before.*__field_check_frmt()
simplified
($data
removed).m_field_zip.php
.i_cfg.php
by forcing recalculation of all values.
(In version 5 this is not necessary since no file based caching is used
there anymore.)*__fail_class_convert_act()
is now NULL in case of success (instead of FALSE).cal_fail_extract_cms_site()
has now new
options to save an altered configuration file, to normalize it and
to adapt it to the local host.cal_fail_http_get_file()
allows direct download to files without reading in as a string.
It is primary for CLI scripts (where
script runtime is no problem) but works also in web server usage
as long as the filesize is moderate.cal_get_titel*()
renamed to cal_get_navtit*()
.pdf_cont
for generation of PDF files.d.php
provides now the correct path of $GLOBALS['gBasePath']
needed
since <cms path>/d.php
is included directly.d.php
and m_d.php
divided to
make m_d.php
a pure module (without side effects on inclusion).system_str
has the new feature to build up
session IDs for delivering sessions to other pages.system_str
has old user function feature
was removed. Own string classes are the better approach by far.str_link
has now an optional target.doc_spec_pdf_obj
is introduced but under construction.$GLOBALS['gShowFuncL']
and their associated
value $GLOBALS['gCont']
are extended, to wrap both into one
values of $GLOBALS['gContWrapped']
. This allows the set the
conent even in situations where no direct return value can be delivered (like in
method 'print_cont' of classes derived from 'doc_spec').primf_list_sel_list
can now ignore null values (like 0 or "").cl
,
in most circumstances under restrictions. Only max. one object of
this class is displayed at a time.cl
can be
loosed by administration cl-permissions (class cl_perm
).locLinkPage()
replaced
by cal_loc_link_page()
.web_design_scheme
for preparation for
derived design schemes.cl_web_design_usage.php
.m_scan.php
is ready to use.m_show_diff.php
shows differences in strings.cal_escape_preg()
replaces all punctuation marks
using now their hex representation (instead of former backslash escaping).m_scan.php
and m_show_code.php
provide the functionality of scanning and code display in separate modules.
The functionality is to be extended for future language demands.m_parser.php
renamed to m_parse.php
.m_parser.php
.cal_delim_preg()
moved to m_preg.php
.cal_single_spc()
sped up with preg_replace()
.cal_print_sess_post_form_start()
)
introduced (for now CSS class).primf_time
.web_design_data
).clman_lookup_db
implemented.clman_list
corrected.web_design_data
).web_design_scheme
can
generate fields of the controlled class (inheriting from
web_design_data
).primf_file
.navparam_obj_subst
together with the
new class cur_navp_str
.cal_print_nav_*
use now
call-by-reference for $env
and $p
.
This allows to provide changing values of $p
for
usage in nested functions only receiving $env
. By the
way it should increase the performance.#123/*=my_color*/
or 123px/*=my_width*/
.cal_get_mysql_api_version()
can determine the
MySQL client API version even without DB connection. Important for installation tests.cal_split_col()
now
handles correctly short web color notation (3 digits).m_prop.php
deals with test and
manipulation of class properties.cal_has_class_prop()
moved to module
m_obj.php
(like already in version 5).clman_after_store
and clman_on_delete
(already part of version 5).class_prop_apply_web_design
. It has a reference to
an instance of web_design_scheme
containing all
definitions.cms_variant
to web_design
cms_variant_data
to web_design_scheme
class_prop_apply_cms_variant_act
to class_prop_apply_web_design
cl_cms_variant.php
to cl_web_design.php
cl_web_design_scheme.php
class_rename
).m_opt_pars.php
parses text to set options.
Can be used for general configuration settings.cal_*
.cl_*.php
are regarded to be local and
start with l_*.php
. They are not required
to be unique among different files, only within one file.n_*.php
start with u_*
.x_abc_*()
in
a extension ext/abc/*.php
.cal_cf_*()
.myFuncName()
becomes
cal_my_func_name()
.printContE()
is now an alias to
printCont()
(previous definition of printContE()
).matchAfter()
renamed to
cal_match_after()
.cal_set_cont_lan()
renamed to
cal_set_lan()
, since this is what it is
doing and it prevents future renaming conflicts.matchFront()
renamed to
cal_match_front()
.matchBack()
renamed to
cal_match_back()
.cutFront()
renamed to
cal_cut_front()
.cutBack()
renamed to
cal_cut_back()
.cal_obj_from_str()
introduces a readable
objects notation, but it is meant just for configuration issues.nav_page
).ext
uses now the CSS class cal_download
instead
of cms_download
.$GLOBALS['gCfg']
is reduced.
Last usage is $GLOBALS['gCfg']['macro']
(will be replaced by
a multi area based mechanism),
and $GLOBALS['gCfg']['submitClassDef']
(will be maybe
replaced by a cfgo mechanism).setSysData()
removed.clman_cache_objc
fixed (cache names like _objc_mirror_*
).{wuser_dname_alt:...}
now supports an alternative content
if no real user name can be determined.{wuser_dname}
.cal_download_header_flex_length()
.$_GLOBALS
replaced.primf_list_sel_list
can now have
unique elements.m_templ.php
is now
denoted by NULL
insted of 0
(in favor to
distinct from own defined languages).encodeUtf8Html()
did not always return the correct
HTML entitiy for some UTF-8 characters with a value >255.obj_ref_src_user
is now capable to create new objects from a general object stream data_obj
,
eg. a variated prototype.act_test_form_fields
.act_test_cond_form_err
.act_set_debug_chn
.act_stop
.act_create_user
can set $_POST['v_pass']
for immediately login.sps_start_cfg
to allow e.g. creation of user profiles followed by login.select_obj
.userid
handles IDs of users.select_user
.act_add_user_obj_rel
.objref
handles references to objects.create_obj
.m_dres.php
.cy()
was renamed to
cal_y()
like in version 5._globj__objName__className
).cal_gv('b')
).bgcol
.ax
, ay
,
class
, width
, height
.cal_mysql_*()
was changed from
"`&_" to "`'_" since the former pattern could be
part of a string value while the new one can't. addslashes()
prevents the new code to be part of SQL string values.defaultVal()
to cal_default_val()
.default_list_val()
to cal_default_fval()
.dbtab_col_def_o
.set_cat()
).set_cat()
renamed to cal_setup_cat()
.dbtab_col_def_o
).m_duration.php
is now part of every derivation.m_xmlparser.php
allows to read and process XML files.cal_print_err_s()
for single error messages also
available like in v5.getCatCont()
.check_class_req()
fixed (missing negation).msvc.php
.*__print_objed_tab()
provides now the selected tab name.
This allows to simplify the tab object, but restricts its usage to the particular
tab name.clman_after_store
(introduced some versions ago)
and clman_on_delete
.m_sess_export_file.php
: Management of temporary files for export from the CMS (eg. download of generated files).cond_num
.min
and max
repaired.form_val_num
and glob_var_num
.primf_money
is now implemented.cal_obj_editor($name, $class, $optL)
.'jsRefreshOnStore'
to allow automatic refresh on store.m_ser_file.php
. The idea
was used long ago, but we use it this way now for read only data provided by the CMS
distribution.cal_gv()
this allows to access system settings in an easy and fast
way with additional modules includes.b.lanL
: former $GLOBALS['gLanL']
b.lanDefault
: former $GLOBALS['gLanDefault']
b.stdNameL
: former $GLOBALS['gStdNameL']
lan.fullList
: former $GLOBALS['g_lanCodeL']
cms.tit
: former $GLOBALS['gCmsName']
obj
has now a class ID: 2. Together with the
possibility to inherit the class ID this allows to store any object regardless
of its class.writeConfig()
was renamed to
cal_write_cfg()
.i_config.php
and i_opt.php
are now
not automatically included. It has to be added in i_site.php
.i_cfg.php
is not used anymore, instead the new cache mechanism is used.m_backw.php
will get many backward
compatibility issues to separate support of old versions.int_range()
was renamed to
cal_int_range()
.email_templ_t_html
.dbcoltyp_ts
).dbtab_col_def_n
).cutBefore()
is replaced by
cal_cut_before()
.cutAfter()
is replaced by
cal_cut_aftere()
but is still contained for backward compatibility.fail_cms_unserialize()
was renamed to
cal_fail_unser()
.cal_ser()
,
cal_unser()
and
cal_fail_unser()
support compression.setGlob()
is replaced by
cal_set_glob_str()
but is still contained for backward compatibility.getGlob()
is replaced by
cal_fail_get_glob_str()
but is still contained for backward compatibility.setGlobX()
is replaced by
cal_set_glob()
.getGlobX()
is replaced by
cal_get_glob()
.obj_link()
was renamed to
cal_obj_link()
.m_ip.php
cal_ip_is_non_local()
:
Check whether an IP belongs to a private network or not.cal_has_non_local_http_xff()
:
Find out client IP if REMOTE_ADDR is superseded by other
(spoofable) HTTP tags like HTTP_X_FORWARDED_FOR.cal_crop_int32()
:
Reduce to int32 to get relieable values on 64 bit systems.cal_is_big_endian()
:
Check if a system is an big endian machine or little endian.cal_get_agent_fingerprint_int32()
:
Provide an int32 values that serves as an fingerprint of a
web browser agent.matchFront()
was renamed to
cal_match_front()
.matchBack()
was renamed to
cal_match_back()
.cutFront()
was renamed to
cal_cut_front()
.cutBack()
was renamed to
cal_cut_back()
.make_absoulte_url()
was renamed to
cal_make_abs_url()
.readUrl()
was renamed to
cal_read_url()
.failSendGet()
was renamed to
cal_fail_send_get()
.cal_read_url()
does now return FALSE
on error 404.getInherSrcScan()
was renamed to
cal_get_inher_src_scan()
.$GLOBALS['gPResult']
replaced by add_glob_err()
(more homogeneous structure).cal_cf_primf_text__primf_get_str()
,
doing nearly nothing in the default case.{width:...}
reinvented, but now creating a span tag.m_mysql_version.php
provides
functions to query and compare the MySQL version.humanReadablePow2()
are replaced by
cal_human_readable_pow2()
.humanReadablePow2()
(still available for compatibility) was replaced by
cal_human_readable_pow2()
.editor.js
.isVarname()
was renamed to
cal_is_varname()
.isVarnameErr()
was renamed to
cal_is_varname_err()
.varbinary
supported for more or all MySQL versions.register_globals=on
.d.php?a=tit&tit=...
). Part of clean URLs.cal_apply_url_lookup()
for clean URLs does redirection,
inclusion or delivery of generated file depending on entries in `&_url_lookup`
.CAL_FILE_PERM_MASK
is
set to 0660 or 0666.dbtab_map_str
),
or to numbers (dbtab_map_num
)
with a user DB table.act_set_glob_var_str
,
new string expression glob_var_str
and
new boolean expression glob_var_set
introduce global string variables.cal_get_glob_var_str()
and cal_set_glob_var_str()
.str_num
supports
now different number notations auto detecting thousands group separators
and decimal mark (like in 1.000,234
), also as part of scientific
notation like in 1,234 e -6
.cal_num_float_scan()
.str_num
.act_create_user
now sets the email (if given).event_hnd
.link_hnd
under construction.act_transition
).disabled
.cont_act
).dbtab_def
.`&_ut_*`
with manual data editor, CSV import and export.`&_ut_*`
, defined within the CMS interface.str_empty
.show_user_list
.getWuserDname()
was renamed to
cal_get_user_dname()
.{l:lan:de,German}
(missing "-" since only one attribute)
were not handled correctly.echo print*()
.eq('2',2)
now returns TRUE
(new, clear implementation).isLocLink()
now evaluates the page number.storeCachedObj()
was renamed to
cal_store_cached_obj()
.marquee
has support for mouseover stop and start (via JavaScript).primf_duration
holds.primf_duration
and event_rep
.clman_lookup_db
.clman_lookup_db
.send_login_data
(will be
replaced completely by start_sps
).restore_globals()
corrected.debugLogit()
was renamed to
cal_debug_logit()
.printContL()
led to junk in the output using content "boilerplates".obj_id
.cmspage
is removed in favor of general pages and actions.bitset_num
.getFieldStr()
.loadCached()
renamed to cal_load_cached()
.loadCachedObj()
renamed to cal_load_cached_obj()
.cms.css
.js_fold_select_toc
(using fold_select_toc.js
).js_fold_select_toc
(using fold_select_toc.js
).fold_select_toc.js
).preg_str_repl
: Replace regular expression by string.iformat_username
: On check of user name the existence/nonexistence in an user area can now be demanded.iformat_preg
: Check according to regular expression.cfPrimfProc_*()
to cal_cf_*__primf_proc()
cfProcFunc_*()
to cal_proc_func_*()
cfMacro_*()
to cal_macro_*()
cfSpsTestStart_*()
to cal_cf_*__sess_test()
cfSpsInit_*()
to cal_cf_*__sess_init()
cal_cf_*__sps_test_start()
to cal_cf_*__sess_test()
cal_cf_*__sps_init()
to cal_cf_*__sess_init()
cfFieldCheckInput_*()
to cal_cf_*__field_check_input()
cfPrintProsaBlock_*()
to cal_cf_*__print_prosa_block()
cfExpandTempl_*()
to cal_cf_*__expand_templ
cfPrimfGetChanType_*()
to cal_cf_*__primf_get_chan_type()
cfObjSet_*()
to cal_cf_*__obj_set()
cfObjCmd_*()
to cal_cf_*__obj_cmd()
cfPrimfStdVal_*()
to cal_cf_*__primf_std_val()
cfSetSelList_*()
to cal_cf_*__set_sel_list()
cfPrimfGetStr_*()
to cal_cf_*__primf_get_str()
cfNew_*()
to cal_cf_*__create()
cf_wuser_imex_op__*()
to cal_cf_*__wuser_imex_op()
cfProc_*()
to cal_cf_*__proc_cont()
cfDrawE_*()
to cal_cf_*__drawe()
cfDrawNotOnPath_*()
to cal_cf_*__draw_not_on_path()
cfPrimfEdit_*()
to cal_cf_*__primf_edit()
cfField_*()
to cal_cf_*__sps_field()
cfObj_*()
to cal_cf_*__sps_obj()
cfFieldCheckFormat_*()
to cal_cf_*__field_check_frmt()
(order and names of parameter changed)cfObj_*()
to cal_cf_*__sps_obj()
cfPregCb_*()
to cal_preg_cb_*()
cfArchLoad_*()
to cal_pax_load_*()
cfGet_*()
, getCbData()
cfSet_*()
, setCbData()
storeFields()
addObj_cb()
fail_prefix_method_inc_class()
fail_prefix_obj_handler_exists()
cfPrintCont_*()
to cal_cf_*__print_cont()
cfPrintBlock_*()
to cal_cf_*__print_block()
cfLinkObjAct_*()
to cal_cf_*__link_obj_act()
cfFormActionAddParam_*()
to cal_cf_*__form_act_add_param()
cfFormAction_*()
to cal_cf_*__form_act()
cfFieldIsMandatory_*()
to cal_cf_*__field_is_req()
cfPrintNav_*()
to cal_cf_*__print_nav()
cfPrimfAct_*()
to cal_cf_*__primf_act()
mlink
and module m_mod.php
removed.cfCmd_*()
to cal_cf_*__cmd()
(using preg pattern /ion cfCmd_([a-zA-Z0-9_]*)__([a-zA-Z0-9_]*)\(/
to ion cal_cf_\1_xx_\2__cmd(
)cfCmdTool_*()
to cal_cf_*__cmd_tool()
fExtra_*()
to cal_cf_*__print_letter_extra()
cfFailPaxConvertCmd_*()
to cal_cf_*__fail_pax_conv()
cfCollectCss_*()
to cal_cf_*__collect_css()
fail_function_exists_inc_class()
to work for new and old function names.
This support will be removed sometimes in version 5.cal_ogim_*()
to cal_cf_*()
(and pending cfObjFunc_*()
to cal_cf_*()
).
cal_is_cf_def()
is successor of isMethodDefined()
.evalStrExpr()
to cal_eval_str()
cfEvalStr_*()
to cal_ogim_*__eval_str()
evalBoolExpr()
to cal_eval_bool()
cfEvalBool_*()
to cal_ogim_*__eval_bool()
evalNumExpr()
to cal_eval_num()
cfEvalNum_*()
to cal_ogim_*__eval_num()
evalColorExpr*()
to cal_eval_color*()
cfEvalColor_*()
to cal_ogim_*__eval_color()
|cfEvalNum_([a-z0-9_]+)|
end replacement cal_ogim_\1__eval_num
.debug.js
, show_dom.js
and others).debug.js
, show_dom.js
and others).js_link_select_submit
provides selection lists
of links that are send via GET automatically on change when JavaScript is
enabled.link_list_src
provides
extensibility for flexible usage of the previous class.html_obj_prop
) can stop rendering
the page by returning 2
on call of the method do_html_obj_prop
.
This is used to minimize the refresh time on reload of html_obj_prop_remove_get_by_refresh
.evalLinkExpr()
to cal_eval_link()
cfEvalLink_*()
to cal_ogim_*__eval_link()
{prot_js}
.time_tag
for time tagged objects.clman_obj_idc
manages IDC's of a class (without caching and processing).add_err_at_field()
instead of handling the global error field list directly._cms_
.obj_edit
.file_explorer
to cms_file_explorer
shared_text
to cms_shared_text
tab
to cms_tab
obj_ref_src_all
returns a list of references to all
objects of a class. With this the selected object editor (class obj_edit
)
can be used like the all object editor (class all_obj_edit
).
In the future both should be based on the same functions.obj_edit
).allObjectEditor()
is now based on icons and thus styled by skin.print_err()
.cms_variant_act_*
to act_*
. The actions are not anymore used only in the
context of CMS variants.navparam_obj_navp
returns current
navigation position or the parent position and can handle a default position. This can be
used to implement a so called stack navigation (path + tree in one view).frmt_text_css_classes
).m_navparam.htm
released (stuck in the pioneer project).act_cond
(behavior changed)condl_blockc
img_src_cond
(now implemented)condl_link
loclink_proj_condl
cond_str
switch
): No conditions means
now true and thus allows to descibe the "default" part simple.{l:...}
(local link) can now be left out resulting in a link to the current position.
By changing other properties like language or generation mode, a link
to the same page with other properties is easy to link to.now_in_time_range
allows to simply define cases that are time dependend.bool_rnd
delivers boolean values with a given probability.system_bool
with new mode genmode_eq
allows faster check of
a given generation mode.primf_time
).shared_text
.objanact_flat_contl
helps
to simplify nested, unnecessary lists of objects.'y'=>NULL
) since
it is only used on used members.eq()
now works on lists with values like ''
,
'abc'
, 0
and 1
(mixed string and int with null values).isMethodDefined()
to cal_is_ogim_def()
cfObjFunc_*()
to cal_ogim_*()
cal_*()
is used for most CMS functions in the future.{js:...}
allows easy embedding
of JavaScript into text.objanact_cond
a suitable boolean
function objana_bool
is ready to be used and about to
be extended.objanact_cond
).evalBoolExpr()
renamded to cal_eval_bool()
.<b>
) and disabled (<del>
) state.''
: No autofill used.'now'
: A entered value of "*" sets to the current time and date
(depends on the other settings).'now_empty'
: A entered value of "-" unsets the field, an empty field sets to the current time and date.cfDesc_*()
) removed.
This improves performance and allows to defined this part pure data driven.paginc
) and direct display of links (selink
)
now accept page numbers. Anyway, paginc
needs some more work as
well as paginc_r
.cfDrawE_*
and cfObjSet_*
)
and object description functions (cfDesc_*
) are replaced by a similiar class
description. Its the goal to get rid of any of these function in one of the next versions.box
changed to cms_box
.box
changed to cms_box
.tab
changed to cms_tab
. If tabs are used in the
user design the CSS file has to be adjusted.quiz
system follows now
this new nomenclature (tabs will follow).fm
of an primitive text field can be run time deleted by
the adapt property depending for instance on flags of the object the primitive field
belongs to. This way the CSS normalization ist controlled by a flag.CCal*
.templ_var
.cm_*.php
to m_*.php
(cm_tree.php
,
cm_objed.php
,
cm_contproc.php
,
cm_uie.php
,
cm_cat.php
to m_cat_set.php
,
cm_class.php
to m_class_set.php
,
cm_nav.php
to m_nav_cms.php
,
cm_setupext.php
,
cm_cpp.php
,
cm_archivar.php
).cm_*.php
were deleted.dyn
allows to mark parts as dynamic for the purpose of
using it in a static conetxt.printSelectCtrl()
and getSelectCtrl()
can now handle
grouped selection lists. Grouping is achieved by the marker ^@
in the title.h/_c
, as used from conditioned download objects).cmsCmd()
the title can be said to be copied from the message by setting title to the integer value 9.field_disp
can modify the
display of fields in the object dspending from the display
situation.debug_frame
(in the new module m_debug_frame.php
)
embeds running information of a debug channel as an iframe, thus easing development
of modules with no direct debug output.cms_c_tab_box
cms_
, but
the usage is adapted step by step. For now following classes are converted:
cms_tab
instead of tab
cms_box
instead of box
foto_rot.swf
and alternative Flash movies.
Any HTML tags are eliminated from the text, yet.{l:abc?p=q#top}
.
The first delimiter '?', '&' or '#' is used. '?' and '&' have the
same effect and will become '?' or '&' depending from the existence of a '?' in
the front part.fail_function_exists_inc_class()
into
fail_prefix_method_inc_class()
.fail_prefix_method_inc_class()
has to be used.autoclear
deletes previous entries
of the MSVC file position list if the last change is older than
10s.fgal_disp_list
.preg_replace()
used a inside used delimiter.m_gal.php
removed.fotogal
,
galfoto
,
fotogalc
and galfotoc
.m_fgal_list.php
under construction.mysql_list_tables()
is regarded as deprecated
in recent PHP versions we replace it by a
mysql_query()
.$_ENV['OS']
.preg_replace()
used a inside used delimiter.ereg_replace()
is regarded as deprecated
in recent PHP versions we start to replace all occurences of
ereg_replace()
by preg_replace()
.htmlentitiesX()
has now default parameter
$keepNumEnt
=1
to work again with
all Unicode characters (bug since 4.80.0 2009.12.09).extend_lock()
is used
to extend the lock time infinitely.cal_mysql_q_no_err()
is useful in
situations where certain errors are normally expected, like fail on inserting
a possibly existing primary key.kal
instead of calendar
: It's shorter, closer to the Latin
origin 1.show_calendar
started.cm_*.php
to m_*.php
(cm_newsl.php
,
cm_classedit.php
,
cm_objed.php
).EATYP_term
.loop
. Allows
to draw content objects multiple times. This does not mean that the
same thing is seen multiple times. Some content objects produce
different output each time they are drawn.counter
. Multiple counters can
count within a page. Do not mix up with visit counters. These counters
count ververy time an counter is asked to. This allows eg. to enumerate
lines or rows on a page.templ_var
allows
to mark dynamic conent in template definitions.templ_frame
is meant for future
use to restrict or open the listing of allwed classes in the
context of a template for a special purpose.clman
) an inject addional tabs
in the allObjectEditor()
by providing the
method add_edit_tab_l()
. For example
standard instances can be managed so in an elegant way.clman_cache_objcn
).set_std_obj
is meant for
CMS use itself. Given a stand alone class it provides a
selection list to choose one object of the class to be the
standard object.primf_text
) can be
controlled by other fields by the adapt property for example
field height or field flags.html
can embed HTML entities so they can be
easy entered and read. This feature can be used for own
primf_text
field in general.m_nav2.php
removed (never used, now
out of date and effects can be achieved with other technics).env_cont
allows to extend the environment
during content rendering for content within an object of this class.
Can be used to concentrate settings distributed on several content objects.
Can be extended by objects of classes derived from envext
.cfSetSelList_*()
extended to pass
also the environment $env
.cond_str
allowe switching string expressions
depending on boolean expressions.navparam_obj
.navparam_obj_subst
allows to substitute a part
of a navigation parameter by a string expression. Works also on depth dependend
navigation parameters.printLevelElem()
has new and other arguments. It gets the
$env
,
the whole list of navigation parameters $p
,
the type number of the current navigation parameter and the depth. So it
has much more control on what to do with a navigation parameter allowing
the implementaton of dynamic navigation parameters.user_counter
) shows
number of users logged in now or since a given time.`&_gi_*`
serve for storing integer indexed data (integer or string) for
a type of CMS usage. This is useable for counters, eg. voting.cms.css
is separated into
edit.css
to ease the usage in the the objekt editor.c_new
only in combination with button
.cm_check.php
renamed to m_check.php
.cm_*.php
renamed to m_*.php
(some kept as alias for temporary backward compatibility):
cm_backup.php
to m_backup.php
cm_file.php
to m_filefield.php
cm_gen.php
(alias) to m_gen_page.php
cm_install.php
(alias) to m_install.php
cm_proc.php
to m_proc.php
cm_shop.php
integrated into m_shop.php
cm_sync.php
to m_site_sync.php
cm_user.php
to m_user_link.php
$_SESSION['sNextCmd']
is more flexible than the previouse
frame test.vhost
).printErrL()
renamed to print_err()
strErrL()
renamed to str_err()
addGlobErr()
renamed to add_glob_err()
hasGlobErr()
renamed to has_glob_err()
getGlobErr()
renamed to get_glob_err()
strGlobErr()
renamed to str_glob_err()
printGlobErr()
renamed to print_glob_err()
strGlobErrPos()
renamed to str_glob_err_pos()
printGlobErrPos()
renamed to print_glob_err_pos()
strMsgLevel()
renamed to str_msg_level()
printMsgLevel()
renamed to print_msg_level()
setErrAtObj()
renamed to set_err_at_obj()
getErrAtObj()
renamed to get_err_at_obj()
getNrErrAtObj()
renamed to get_nr_err_at_obj()
printErrAtObj()
renamed to print_err_at_obj()
getFieldMarked()
renamed to get_field_marked()
setErrAtObjField()
renamed to set_err_at_obj_field()
setObjGlob()
renamed to set_glob_obj()
getObjGlob()
renamed to get_glob_obj()
has_ip
full support.has_ip
$S
yields the current
top level PHP script in use. Compare with $B
that
yields $GLOBALS['gInc']
.getSelectCtrl()
used each()
without reset()
and hence
doesn't list in every situation all items.make_absoulte_url()
converts
a relative URL to an absolute one.fail_link_as_post_urlencoded()
allows
to use a even relative link as a absolute post (with enctype application/x-www-form-urlencoded
).o
of d.php
(implemented in function handle_link_obj_act()
).failQuerySer()
renamed
to fail_query_ser()
(and likewise failQuerySerCmd()
).with_text
can be applied to usual buttos as well.delete
⇒ del
createBefore
⇒ new_before
createAfter
⇒ new_after
deleteAllBefore
⇒ dela_before
deleteAllAfter
⇒ dela_after
new_above
new_below
deleteAll
(Nicht in Verwendung)button
) like
<a href="..." class="button c_delete" ...>
.is_in_selgrp()
returned FALSE
for
unset condition, but this case shoulb result in TRUE
.table.oprim
.button_t
.button_t
.bitset_not
, bitset_and
,
bitset_or
and bitset_xor
.preg_replace()
rather than str_replace()
.jsRefresh()
is now 0.<center>
tag.cg()
is ended. The CMS is meanwhile seen
as one of its web applications. The distinction between application language and
language of handled content is now made in an other way: The CMS language is on the same
level like any user space language, since the CMS will become a user space
application. On the other hand, the selected content language is on a
meta level also useable for some other user space applications.htmlentitiesX()
does now not keep numeric entities &#...;
but treats them like any other. (What was the reason to provide an exception?)set_htmlentities_x()
once.&#...;
really neutral. All
characters outside the printable ANSI range (except \t, \n and \r) are
forbidden.img_op_rgb_recol
: Linear RGB recoloring with optional black replacement. Every
red, green or blue channel can be mapped to a color linear
to the replacement color of black.cl_*.pl
can be
used with this module in the general web user context (still experimental).allObjekctEditor()
can
be base on IDC, name etc. .str_op
: 'ltrim', 'rtrim'
and 'urlencode'.system_str
returns the absolute address of the project base (with or without SSL).xml_text
and
new class xml_str
provide new ways for XML output.img
and ext
.flash
.dys()
to get the absolute file path of the CMS directory,
dyb()
for the base directory
and dyh()
for the hidden directory.m_hide_crypt.php
provides the
encoding/decoding functions hide_crypt_enc()
and fail_hide_crypt_dec()
:
Fast and easy encryption of $_GET or $_POST parameter based on contant
hidden data (like an object definition). Used first for encryption of
quiz state as realized first sessionless.<!--[...-->
).inc_js()
can be
commented out for most browsers and
evaluated only by certain browsers.isNumber()
now classifies 'Infi' not as INF(inite), only
finit values are accepted.act_for_inc
for-loop with incrementation/decrementationact_sleep
pausing for some secondsact_debug
can now use any calculated string as message.act_for_inc
allObjectEditor()
fixed (destroyed in the
previous version).m_limit_paging.php
provides the
function print_limit_paging()
to realize
a paging mechanism for long tables with a variable number of
entries per page. This mechanism is internatiolalized and replaces
the same functionality at 6 places.get_self_link_info()
did not recognize parameter a
and the last of $gSelfParam
when the last one was in use.wuser_edit
can be coupled by an internal name.toString()
did not reset()
arrays.$sub_path
of
printContE()
and its derived functions
is now FALSE
and means no
change of the $env
['path']
.[0-9]+_*
.printSessTabNav()
generates now always links
with no session hold command. This starts the conversion to use
session hold commands only in cases when it is needed.$env['path']
.
It works to make objects distinct in most cases, but it is yet not possible to
calculate reliable the real storage location of the object.|<
<
>
>|
<<
<
>
>>
getClassList()
reacts now gratefully on argument NULL
again.wuser_cont_obj_edit
allows the user to edit
easy the own wuser content.getClassList()
is now robust against recursive defined classes.typeset()
anymore.obj_edit
was changed to CSS.printExpandedMarkedCy()
.c
were
replaced by absolute paths. This allows to use the same functions also
from the web users areas like internal user areas.i_site.php
.i_site.php
direct visible for a CMS installation.colSortOrderBy()
can now contain
table prefixes like mytable.myfield
, necessary to control sorting
on queries of multiple tables.getClassList()
are now
cached.i_config.php
but is derived from the URL patterns
written in the local link URL definition.cont_str
was wrong.$t
in the
URL expression the title will be projected.$navL
by call-by-reference
and caching navigation trees in global variables. Basis for future
extensions.all_obj_edit
is partly internationalized
and can be shown simplified without visible container.obj_del_id()
takes now
a second optional argument to restrict the deletion to a given class.quotedPrintable()
realized like in version 3.41.0 .easyFormat()
.index.php
can be set this way.fail_allowed_filename()
replaces
makeAllowedFilename()
. It generates error messages
to let the user know what was wrong with an entered file name.getCatCont()
is now robust against wrong parameters.allow_fopen_url=Off
when socket extension is available.colSortChangeOrder()
now accepts also
commands for cmsLoc()
.$GLOBALS['gCfgMaxImageOpArea']
.
If nothing is configured a max. area of 1200 × 900 is assumed.
This will also be used to prevent image preview of too
large images in the file explorer.objanact_class_mismatch
).in_wuser_segment
allows
to define constant distinct quasi arbitrary groups of web users, for
instant for statistical tests.condl_link
was missing and so this class could not
always be used..genex
renamed to templ_cmd
.categ_newsl
to express the content of
emails (often newsletters) on behalf of the channel mechanism.getObjectSelList*()
have changed. They are now part of the
fields of ref_def
, so instances of this class can serve
as parameters directly.divcont_bool
and divcont_num
allow to define own classes (like layouts) easier.css_padding
and css_margin
is
extended for negative values.y.img
) does now
work correctly. Before only the first content part was regarded since
the part name was unintended changed by the function.d.php
at the basis is on integration check automatically set up
to the used CMS directory (eg. if the directory cms
could
not be used because of collision with another CMS).//@take_f
) to
get a line number neutral annotation.page_prosa_col3_layout
with Prosa, 3 columns and layout.getCatL()
is moved to m_cat.php
and inclusion
order was reorganized.printSessTabNav()
has new default values
and needs in most cases less Parameter.system_str
option page_tit
can be treaten special with a given parameter string. If the parameter
ist given it is treaten as a marker. If this marker occures in the page
title all after the marker is returned.cal_mysql_q()
allows further simplification
of a vast part of MySQL code.printSessTabNav()
creates automatically individual
action links with option 'go'=>1
.barometer
prepared for generalization.primf_list
.makeNavPosNr()
were
moved into only one in cm_uie.php
.cc_*.php
files were renamed to m_*.php
(not always
with the same stub due name collision).iformat_plzcity
corrected.font_sizer.js
.vsep
does now work under Internet Explorer also
with CSS realization and for pure vertical distance.vsep
is now also drawn by spc()
.spc()
.html_obj_prop_table_spc
.<div>
and <i>
with standard class name cms_img_tit
(applied for both).cy()
doesn't work always correctly with optinal parameters
and without language settings.cal_mysql_get_row()
.offer
revised.{page_tit}
showing the page title.divcont
show primitive text fields now only
as Prosa if the sub format is frmt_text_prosa
.m_templ.php
.post_action()
.get_context_wuser()
,
set_as_wuser()
,
set_as_wuser_row()
.$GLOBALS
)
of loading objects via get_cached_obj()
,
using a new style of handling PHP references by return value.cms_mail()
returns now also partial success if the email could
be sent to some of multiple email addresses.m_field.php
is dissolved in other modules. Some
no more needed functions were deleted.js_refresh
.div_area
can have additional CSS style attribute.css_def
can now depend on JavaScript.{wuser_login_link:...}
.m_login.php
..wuser_my_data
allows the user of internal areas to
change the real name or email.$_SESSION['wuserDname']
is now also used
in internal areas.apply_frmt_text()
the
method primf_frmt
is now preferred to be
used instead older format functions since it is more flexible.primf_frmt
were simplified.printGlobErr()
can now be used with
flexible parameter lists.getObjGlob()
and setObjGlob()
generalizedwuserExists()
now checks the first 30 chars to be unique.$GLOBALS['gNavNotFoundNavL']
, where the
value 7
means 'home' and 8
'not found'. Only if
nothing works, 'not found' is entered.$GLOBALS['gPostSess']
.strInfo()
.make_xml_node()
.xml_data_obj
.getCopyTop()
.num_file_attr
yields file size, modification time or justs existence of a
string specified file in the standard resource cdirectory.print_xml_cont
. This allows to
create general XML documents.now
yielding the current time
in a format determined from the argument like the format of date()
.prosa
.get_cmd_link_stub()
now respects now parameter
in a proper way.{page_time:...}
.gmsg
adapted to local forms.file_explorer
adapted to local forms.strSessTabLink()
,
strCmdOk()
,
strCmdImg()
removedinput_button
reduced to submit and reset buttons.strCmdLink()
expressed by
cmsCmd()
printSelect()
is now based on
printSelectSubmitForm()
.onclick
attribute. Without JavaScript there ist no confirmation
query but the command works.@
is not needed with casting. So many usagaes
were eliminated.nat_range()
was renamed to int_range()
.all_obj_edit
in preparation.NAVSTYLE_endAfterSub
).explodeWhiteSpcNull()
made in
version 2.47.0 was not effective due to a
forgotten optional parameter. Now the function is rewritten.text
accepts now the entire text to be multilingual content
(not only parts attributed parts). This is not offered to the text editor (at least
until now) but used by temporary objects.m_gmsg.php
) where
not treaten as HTML. This was fixed for newsletters in version 2.18.5 2008.07.31
and now also for group messages.allObjectEditor()
supported again.backup.php
.aggr_prop_id_list
started to
implement. Its an early beginning.cv_class.php
or gc_*.php
that contain no interesting function calls,
function definitions or includes.explodeWhiteSpcNull()
has now an optional argument to treat
additional other characters as white space simplifying many calls.dhtml.js
supports Safari 3.2.1/Windows.
Now JavaScript tabs (based on tabs.js
) are supported under
this browser.{ll:something}
or in HTML
<a href="#something" ... >
) to targets in JavaScript tabulators
are now interpreted also from mouse maps (link areas).m_html_ana.php
prepared for using in future HTML validator
and XHTML converter.// <![CDATA[
and // ]]>
.printEasyFormat()
removed.cy()
solves missing inclusions.nr_nav_node_in_level
delivers now also the number of
nodes before and after the active path in the level. This feature can
be used to define combined horizontal and vertical navigations.­
since correct rendered by the most modern browsers.{targ:...}
deleted.index.html#local_link
.{targ:...}
accepts additional
parameters. The parameter nohashfocus
defines a target that
will not be focused on adression when burried in a JavaScript
tab, only the tab will open. This applies only for activated
JavaScript and has no effect on Opera. Example for textattribut:{targ:somewhere[nohashfocus],switch to some tab}
cy()
can now perform substitutions and is prepared by
the parameter $optL
to further future extension.defaultVal($
is replaced to defaultVal(@$
in many placed.is_array(var[
is replaced to is_array(@var[
for var={$GLOBALS
,
$_SESSION
,
$_GET
,
$_POST
,
$This
,
$optL
}.explodeSepWhiteSpcNull()
fixed (was not used).objGet()
became fail_get_obj()
objGetId()
became fail_get_obj_id()
objGetIdc()
became fail_get_obj_idc()
edit_page
).objana
.
Display now in HTML lists as used in the future for object trees.eval_do_act()
generalizes the invocation of actions.function cfCmd_*
(&$param)
function cfCmd_*
(&$param, $v)
function cfCmd_*
(&$This)
function cfCmd_*
(&$This, $cmdNr)
function cfCmd_*
(&$This, &$env)
$env['cmdNr']==$cmdNr
get_obj_list()
.cl_obj_user.php
data_contl_contl
fully implemented. It provides
mixing of literal content lists with dynamic content lists.tab_init()
).cm_file.php
.cm_file.php
made more flexible.x_dta
).text_frmt_chrestr
allow character restriction based on regular expressions.css_ref
.swfobject2.js
to allow usage of the old version, too.
Only one of the both methods can be used at a time.$GLOBALS['gCatL']
definition (like getUrl()
). The new functions
set_cat()
and set_all_cat()
checks this and builds $GLOBALS['gCatL']
on demand
partial or complete.js_ref
: JavaScript can now be easy included from own files.js_ref_std
: Standard JavaScript files can be included once by a selection list.$c
the suppression of new line characters can be activated.objGetId()
now handles NULL IDs.clman_cache_objc
clman_cache_objcs
clman_cache_objcn
clman_cache_objcnl
cache_process
provided by the cached object
instead of the object itself. Therefore the new introduced class
managers attribute flags
has to have the
bit 0 set.data_contl_divcont
:
The current content list as a data item can be mixed with standard content.len_data_contl
:
New numerical function to measure the length of a content list.swfobject.js
is not deleted in the cms base directory anymore.get_dv()
and creating a JavaScript part defining the configured values.selLan()
changed: If $_GET['lan']
=''
the result of getContLan()
is returned, in many cases the default language.get_form_action()
generalizes the task to
get the action attribute of a form, where $gInc
isn't
enought (for example d.php?a=p&c=1
). Also used now
from printPostSessionFormStart()
.addCmd()
for invisible navigation
buttons. In expandUrl()
in command case 'P' (Post-Session)
addCmd()
is called to create a navigation action. But
addCmd()
is sometimes called without the intention to allow
the navigation like in some usages of evalNavPos()
, Therefore
now evalNavPos()
returns now not any more a $linkObj
but only $linkPos
, a new structure that can be further evaluated
by eval_link_pos()
yielding $linkObj
. Only this
last step could invoke a call to addCmd()
.addCmd()
for not
offered navigation positions that we have to get rid of in the future.primf_set
can now store data in
space separated stings and simple lists. Before the storage types were assoc
lists and bitsets.clman_cache_objcnl
stores a
name indexed list of its objects.strinfo
.m_encrypt.php
is now a standard module.
So the CMS relies on mcrypt.gmsg_att_link
provides a macro for
building group message attachment links.is_selgrp
allows to cascade selection groups.delete_user()
collects all task that have
to be done when a user is deleted. There are still things not done on a call
at the moment going to be added in this function.system_out
is now more based on cv_class.php
.m_std.php
instead m_ginc.php
. m_ginc.php
is
obsolete, will be deleted in the future and should not be used any more.i_config.php
into DB.udata
is extended by columns changed
and type
.
This is a preparation of using the table for permanent storage like user settings.newsla
is extended by column user
that can hold an
optional link to an associated user account.udata
this will be this
way. Later when based on sdata
this mechanism remains for temporary udata
objects.is_wuser
and is_group
were generalized to work even without a running wuser session but
with a prepared $env['asWuser']
. So this classes can be used
to apply selection group definitions without a running session.$b
for showing boolean properties work like
the macro $n
of optional number values but shows the field title
instead of the trivial field value.cc_*.php
to m_*.php
:
cc_gmsg.php
,
cc_filexplo.php
,
cc_share.php
,
cc_flash.php
,
cc_bool.php
cc_*.php
into m_*.php
:
cc_group.php
,
cc_graf.php
.cc_config.php
deleted and partially integrated into
m_nav2.php
.makeIntTime()
in module m_time.php
needed
normalization of timestamp to be compatible with MySQL 5.0 .nr_nav_node_in_level
allows to
count the number of navigation positions in a level of the
current navigation path. With this information you can eg. show
subnavigations on demand.cmsGoTarget()
can now be called with the second argument
being -2 to use the targets navigation title as link text.wuserLink()
doesn't now produce a link for the ID 0
(displayed as 'Unknown user').{wiki:wiki title}
marks wiki links.encodeUtf8Html()
changed. By default the
flag 2 was set to prevent UTF-8 interpretation of special character
sequences sometimes used in ANSI encoded text. Now flag 2 has to
be set to do this special handling.encodeUtf8Html()
changed. By default the
result will be pure HTML code with even HTML special chars
encoded as HTML entities.encodeUtf8Html()
a PREG pattern
was wrong because auf PHPs interpretation of '{' in strings.cx()
replaced by cg()
(with 'cms/' added in the parameter)
to clearify the usage of translations.filectime()
instead of filemtime()
was used.m_ccmd.php
).system_str
returns the current page title:
first_nonempty_str
returns the first non-empty string of a list of string expressions.cc_str.php
renamed into m_str.php
.relBasePath()
.printSesTabNav()
now unsets invalid session tab states.{lanum:
allows
number formatting depending from the selected language. Only few languages
are supported until now. }selLan()
returns the selected language code or
NULL, if no code can be determined. Now used in lanSel()
and
makes its behavior clearer.m_perm.php
cuts rarely used user stuff from
out of the other modules to make them load faster.cal_mysql_get_row()
.strGlobErr()
.wuser_dobj
was droppded.printSelectSubmitForm()
is now capable to carry any number of additional
parameters.$GLOBALS['gNrField']
is replaced by $GLOBALS['gNrCmd']
. So
$_SESSION['sPost']['cmdL']
and $_SESSION['sPost']['fieldL']
use
the same counter but for a command number never both lists have
an entry. In fact no list might have an entry for a given command
number if it is used indepenend from commands or automatic
fields.shared_text
and file_explorer
now use name v* for posting instead of k*, based on the SPS command number,
eg. $_POST['v123_text']
.strResetButton()
and new parameter options of strCmdButton() that
produce also reset buttons.feedback.php
removed. It can not be integrated into pages and thus not be
styled. It is better to use more flexible fomulars.m_post.php
. It was rarely used and
is substituted by object based forms.m_cfg.php
and m_lan.php
).</nobr><nobr>
, so we had to insert spaces and in one
case the non standard <wbr> to achieve the former behavior."...\{$cmd..."in PHP 5.2.0 (as "\{...") compared with PHP 4.3.1 (as "{..") has been solved by rewriting as
"...{"."$cmd..."
For all following callbacks $optL has following settings: $optL['class']: Name of the class $optL['id'] : Object ID For 'on_change' and 'before_draw' is additional: $optL['idc'] : Object IDC cfObjFunc__*__on_new(&$clman, &$obj, &$optL) | allObjectEditor() cfObjFunc__*__on_delete(&$clman, &$obj, &$optL) | allObjectEditor() cfObjFunc__*__before_store(&$clman, &$obj, &$optL) | objSet() cfObjFunc__*__after_store(&$clman, &$obj, &$optL) | objSet() cfObjFunc__*__on_change(&$clman, &$obj, &$optL) | objEditor() cfObjFunc__*__before_draw(&$clman, &$obj, &$optL) | objEditor()
unset($l[(float)$i])
does not wotk at least in some versions of PHP.
So using integer is crucial.