.
***********************************************************************/
function get_post($name, $dflt='')
{
return ((!isset($_POST[$name]) || $_POST[$name] === '') ? $dflt : $_POST[$name]);
}
//
// Sets local POST value and adds Value to ajax posting if needed
//
/*function set_post($name, $value, $ajax_trigger=true) {
global $Ajax;
$_POST[$name] = $value;
if ($ajax_trigger) $Ajax->activate($name);
}
*/
//------------------------------------------------------------------------------
// Seek for _POST variable with $prefix.
// If var is found returns variable name with prefix stripped,
// and null or -1 otherwise.
//
function find_submit($prefix, $numeric=true)
{
foreach($_POST as $postkey=>$postval )
{
if (strpos($postkey, $prefix) === 0)
{
$id = substr($postkey, strlen($prefix));
return $numeric ? (int)$id : $id;
}
}
return $numeric ? -1 : null;
}
//------------------------------------------------------------------------------
//
// Helper function for simple db table editor pages
//
function simple_page_mode($numeric_id = true)
{
global $Ajax, $Mode, $selected_id;
$default = $numeric_id ? -1 : '';
$selected_id = get_post('selected_id', $default);
foreach (array('ADD_ITEM', 'UPDATE_ITEM', 'RESET') as $m) {
if (isset($_POST[$m])) {
$Ajax->activate('_page_body');
if ($m == 'RESET')
$selected_id = $default;
$Mode = $m; return;
}
}
foreach (array('Edit', 'Delete') as $m) {
foreach ($_POST as $p => $pvar) {
if (strpos($p, $m) === 0) {
// $selected_id = strtr(substr($p, strlen($m)), array('%2E'=>'.'));
unset($_POST['_focus']); // focus on first form entry
$selected_id = quoted_printable_decode(substr($p, strlen($m)));
$Ajax->activate('_page_body');
$Mode = $m;
return;
}
}
}
$Mode = '';
}
//------------------------------------------------------------------------------
//
// Read numeric value from user formatted input
//
function input_num($postname=null, $dflt=null)
{
if (!isset($_POST[$postname]) || $_POST[$postname] == "")
return $dflt;
return user_numeric($_POST[$postname]);
}
//---------------------------------------------------------------------------------
function hidden($name, $value=null, $echo=true)
{
global $Ajax;
if ($value === null)
$value = get_post($name);
$ret = "";
$Ajax->addUpdate($name, $name, $value);
if ($echo)
echo $ret."\n";
else
return $ret;
}
/*
Various types of submit button selected by $type:
null - button visible only in fallback mode
false - normal submit button
true - ajax driven submit
'process' - ajax button with long timeout
*/
function submit($name, $value, $echo=true, $title=false, $type=false, $icon=false)
{
global $path_to_root;
default_focus($name);
$submit_str = "\n";
if ($echo)
echo $submit_str;
else
return $submit_str;
}
function submit_center($name, $value, $echo=true, $title=false, $async=false, $icon=false)
{
echo "
";
submit($name, $value, $echo, $title, $async, $icon);
echo "";
}
function submit_center_first($name, $value, $title=false, $async=false, $icon=false)
{
echo "";
submit($name, $value, true, $title, $async, $icon);
echo " ";
}
function submit_center_last($name, $value, $title=false, $async=false, $icon=false)
{
echo " ";
submit($name, $value, true, $title, $async, $icon);
echo "";
}
function submit_add_or_update($add=true, $title=false, $async=false)
{
if ($add)
submit('ADD_ITEM', _("Add new"), true, $title, $async);
else {
submit('UPDATE_ITEM', _("Update"), true, $title, $async);
submit('RESET', _("Cancel"), true, $title, $async);
}
}
function submit_add_or_update_center($add=true, $title=false, $async=false)
{
echo "";
submit_add_or_update($add, $title, $async);
echo "";
}
/*
function submit_add_or_update_row($add=true)
{
echo "";
submit_add_or_update($add);
echo " |
\n";
}
*/
function submit_add_or_update_row($add=true, $right=true, $extra="", $title=false, $async=false)
{
echo "";
if ($right)
echo " | \n";
echo "";
submit_add_or_update($add, $title, $async);
echo " |
\n";
}
function submit_cells($name, $value, $extra="", $title=false, $async=false)
{
echo "";
submit($name, $value, true, $title, $async);
echo " | \n";
}
function submit_row($name, $value, $right=true, $extra="", $title=false, $async=false)
{
echo "";
if ($right)
echo " | \n";
submit_cells($name, $value, $extra, $title, $async);
echo "
\n";
}
function submit_return($name, $value, $title=false, $async=false)
{
if (count($_SESSION['Context'])) {
submit($name, $value, true, $title, $async);
}
}
function submit_js_confirm($name, $msg) {
add_js_source(
"_validate.$name=function(){ return confirm('$msg');};");
};
//-----------------------------------------------------------------------------------
function set_icon($icon, $title=false)
{
global $path_to_root;
return "\n";
}
function button($name, $value, $title=false, $icon=false)
{
// php silently changes dots,spaces,'[' and characters 128-159
// to underscore in POST names, to maintain compatibility with register_globals
if (user_graphic_links() && $icon)
{
if ($value == _("Delete")) // Helper during implementation
$icon = ICON_DELETE;
return "