| version 1.150, 2004/11/10 17:01:33 |
version 1.151, 2004/11/20 02:24:31 |
|
|
| * http://platon.sk/projects/phpMyEdit/ |
* http://platon.sk/projects/phpMyEdit/ |
| */ |
*/ |
| |
|
| /* $Platon: phpMyEdit/phpMyEdit.class.php,v 1.149 2004/11/02 20:08:11 nepto Exp $ */ |
/* $Platon: phpMyEdit/phpMyEdit.class.php,v 1.150 2004/11/10 17:01:33 nepto Exp $ */ |
| |
|
| /* This is a generic table editing program. The table and fields to be |
/* This is a generic table editing program. The table and fields to be |
| edited are defined in the calling program. |
edited are defined in the calling program. |
|
|
| // Additional features |
// Additional features |
| var $labels; // multilingual labels |
var $labels; // multilingual labels |
| var $cgi; // CGI variable features array |
var $cgi; // CGI variable features array |
| |
var $js; // JS configuration array |
| |
var $dhtml; // DHTML configuration array |
| var $url; // URL array |
var $url; // URL array |
| var $message; // informational message to print |
var $message; // informational message to print |
| var $notify; // change notification e-mail adresses |
var $notify; // change notification e-mail adresses |
|
|
| $l = 'qf'.$k; |
$l = 'qf'.$k; |
| $lc = 'qf'.$k.'_comp'; |
$lc = 'qf'.$k.'_comp'; |
| $li = 'qf'.$k.'_id'; |
$li = 'qf'.$k.'_id'; |
| $m = $this->get_cgi_var($l); |
$m = $this->get_sys_cgi_var($l); |
| $mc = $this->get_cgi_var($lc); |
$mc = $this->get_sys_cgi_var($lc); |
| $mi = $this->get_cgi_var($li); |
$mi = $this->get_sys_cgi_var($li); |
| if (! isset($m) && ! isset($mi)) { |
if (! isset($m) && ! isset($mi)) { |
| continue; |
continue; |
| } |
} |
|
|
| // initial TAB styles |
// initial TAB styles |
| echo '<style type="text/css" media="screen">',"\n"; |
echo '<style type="text/css" media="screen">',"\n"; |
| for ($i = 0; $i < count($this->tabs); $i++) { |
for ($i = 0; $i < count($this->tabs); $i++) { |
| echo ' #phpMyEdit_tab',$i,' { display: '; |
echo ' #'.$this->dhtml['prefix'].'tab',$i,' { display: '; |
| echo ($i <= $def_selected ? 'block' : 'none') ,'; }',"\n"; |
echo ($i <= $def_selected ? 'block' : 'none') ,'; }',"\n"; |
| } |
} |
| echo '</style>',"\n"; |
echo '</style>',"\n"; |
|
|
| echo '<script type="text/javascript"><!--',"\n\n"; |
echo '<script type="text/javascript"><!--',"\n\n"; |
| $css_class_name1 = $this->getCSSclass('tab', $position); |
$css_class_name1 = $this->getCSSclass('tab', $position); |
| $css_class_name2 = $this->getCSSclass('tab-selected', $position); |
$css_class_name2 = $this->getCSSclass('tab-selected', $position); |
| echo 'var phpMyEdit_current_tab = "phpMyEdit_tab',$def_selected,'"; |
echo 'var '.$this->js['prefix'].'current_tab = "'.$this->dhtml['prefix'].'tab',$def_selected,'"; |
| |
|
| function phpMyEdit_show_tab(tab_name) |
function '.$this->js['prefix'].'show_tab(tab_name) |
| {'; |
{'; |
| if ($this->nav_up()) { |
if ($this->nav_up()) { |
| echo ' |
echo ' |
| document.getElementById(phpMyEdit_current_tab+"_up_label").className = "',$css_class_name1,'"; |
document.getElementById('.$this->js['prefix'].'current_tab+"_up_label").className = "',$css_class_name1,'"; |
| document.getElementById(phpMyEdit_current_tab+"_up_link").className = "',$css_class_name1,'"; |
document.getElementById('.$this->js['prefix'].'current_tab+"_up_link").className = "',$css_class_name1,'"; |
| document.getElementById(tab_name+"_up_label").className = "',$css_class_name2,'"; |
document.getElementById(tab_name+"_up_label").className = "',$css_class_name2,'"; |
| document.getElementById(tab_name+"_up_link").className = "',$css_class_name2,'";'; |
document.getElementById(tab_name+"_up_link").className = "',$css_class_name2,'";'; |
| } |
} |
| if ($this->nav_down()) { |
if ($this->nav_down()) { |
| echo ' |
echo ' |
| document.getElementById(phpMyEdit_current_tab+"_down_label").className = "',$css_class_name1,'"; |
document.getElementById('.$this->js['prefix'].'current_tab+"_down_label").className = "',$css_class_name1,'"; |
| document.getElementById(phpMyEdit_current_tab+"_down_link").className = "',$css_class_name1,'"; |
document.getElementById('.$this->js['prefix'].'current_tab+"_down_link").className = "',$css_class_name1,'"; |
| document.getElementById(tab_name+"_down_label").className = "',$css_class_name2,'"; |
document.getElementById(tab_name+"_down_label").className = "',$css_class_name2,'"; |
| document.getElementById(tab_name+"_down_link").className = "',$css_class_name2,'";'; |
document.getElementById(tab_name+"_down_link").className = "',$css_class_name2,'";'; |
| } |
} |
| echo ' |
echo ' |
| document.getElementById(phpMyEdit_current_tab).style.display = "none"; |
document.getElementById('.$this->js['prefix'].'current_tab).style.display = "none"; |
| document.getElementById(tab_name).style.display = "block"; |
document.getElementById(tab_name).style.display = "block"; |
| phpMyEdit_current_tab = tab_name; |
'.$this->js['prefix'].'current_tab = tab_name; |
| }',"\n\n"; |
}',"\n\n"; |
| echo '// --></script>', "\n"; |
echo '// --></script>', "\n"; |
| } |
} |
| Line 764 function phpMyEdit_show_tab(tab_name) |
|
| Line 766 function phpMyEdit_show_tab(tab_name) |
|
| $first_required = false; |
$first_required = false; |
| echo '<script type="text/javascript"><!--',"\n"; |
echo '<script type="text/javascript"><!--',"\n"; |
| echo ' |
echo ' |
| function phpMyEdit_trim(str) |
function '.$this->js['prefix'].'trim(str) |
| { |
{ |
| while (str.substring(0, 1) == " " |
while (str.substring(0, 1) == " " |
| || str.substring(0, 1) == "\\n" |
|| str.substring(0, 1) == "\\n" |
| Line 781 function phpMyEdit_trim(str) |
|
| Line 783 function phpMyEdit_trim(str) |
|
| return str; |
return str; |
| } |
} |
| |
|
| function phpMyEdit_form_control(theForm) |
function '.$this->js['prefix'].'form_control(theForm) |
| {',"\n"; |
{',"\n"; |
| } |
} |
| if ($this->col_has_values($k)) { |
if ($this->col_has_values($k)) { |
| $condition = 'theForm.'.$this->fds[$k].'.selectedIndex == -1'; |
$condition = 'theForm.'.$this->cgi['prefix']['data'].$this->fds[$k].'.selectedIndex == -1'; |
| $multiple = $this->col_has_multiple_select($k); |
$multiple = $this->col_has_multiple_select($k); |
| } else { |
} else { |
| $condition = ''; |
$condition = ''; |
| $multiple = false; |
$multiple = false; |
| if ($this->fdd[$k]['js']['required']) { |
if ($this->fdd[$k]['js']['required']) { |
| $condition = 'phpMyEdit_trim(theForm.'.$this->fds[$k].'.value) == ""'; |
$condition = $this->js['prefix'].'trim(theForm.'.$this->cgi['prefix']['data'].$this->fds[$k].'.value) == ""'; |
| } |
} |
| if (isset($this->fdd[$k]['js']['regexp'])) { |
if (isset($this->fdd[$k]['js']['regexp'])) { |
| $condition .= (strlen($condition) > 0 ? ' || ' : ''); |
$condition .= (strlen($condition) > 0 ? ' || ' : ''); |
| $condition .= sprintf('!(%s.test(phpMyEdit_trim(theForm.%s.value)))', |
$condition .= sprintf('!(%s.test('.$this->js['prefix'].'trim(theForm.%s.value)))', |
| $this->fdd[$k]['js']['regexp'], $this->fds[$k]); |
$this->fdd[$k]['js']['regexp'], $this->cgi['prefix']['data'].$this->fds[$k]); |
| } |
} |
| } |
} |
| |
|
| Line 810 function phpMyEdit_form_control(theForm) |
|
| Line 812 function phpMyEdit_form_control(theForm) |
|
| echo ' |
echo ' |
| multiple_select = null; |
multiple_select = null; |
| for (i = 0; i < theForm.length; i++) { |
for (i = 0; i < theForm.length; i++) { |
| if (theForm.elements[i].name == "',$this->fds[$k],'[]") { |
if (theForm.elements[i].name == "',$this->cgi['prefix']['data'].$this->fds[$k],'[]") { |
| multiple_select = theForm.elements[i]; |
multiple_select = theForm.elements[i]; |
| break; |
break; |
| } |
} |
| Line 830 function phpMyEdit_form_control(theForm) |
|
| Line 832 function phpMyEdit_form_control(theForm) |
|
| echo '");'; |
echo '");'; |
| if ($this->tabs_enabled() && $field_to_tab[$k] >= $def_selected) { |
if ($this->tabs_enabled() && $field_to_tab[$k] >= $def_selected) { |
| echo ' |
echo ' |
| phpMyEdit_show_tab("phpMyEdit_tab',$field_to_tab[$k],'");'; |
'.$this->js['prefix'].'show_tab("'.$this->dhtml['prefix'].'tab',$field_to_tab[$k],'");'; |
| } |
} |
| echo ' |
echo ' |
| theForm.',$this->fds[$k],'.focus(); |
theForm.',$this->cgi['prefix']['data'].$this->fds[$k],'.focus(); |
| return false; |
return false; |
| }',"\n"; |
}',"\n"; |
| } |
} |
| Line 849 function phpMyEdit_form_control(theForm) |
|
| Line 851 function phpMyEdit_form_control(theForm) |
|
| if ($this->filter_operation()) { |
if ($this->filter_operation()) { |
| echo '<script type="text/javascript"><!--',"\n"; |
echo '<script type="text/javascript"><!--',"\n"; |
| echo ' |
echo ' |
| function phpMyEdit_filter_handler(theForm, theEvent) |
function '.$this->js['prefix'].'filter_handler(theForm, theEvent) |
| { |
{ |
| var pressed_key = null; |
var pressed_key = null; |
| if (theEvent.which) { |
if (theEvent.which) { |
| Line 868 function phpMyEdit_filter_handler(theFor |
|
| Line 870 function phpMyEdit_filter_handler(theFor |
|
| |
|
| if ($this->display['form']) { |
if ($this->display['form']) { |
| echo '<form class="',$this->getCSSclass('form'),'" method="POST"'; |
echo '<form class="',$this->getCSSclass('form'),'" method="POST"'; |
| echo ' action="',$page_name,'" name="phpMyEdit_form">',"\n"; |
echo ' action="',$page_name,'" name="'.$this->cgi['prefix']['sys'].'form">',"\n"; |
| } |
} |
| return true; |
return true; |
| } /* }}} */ |
} /* }}} */ |
| Line 890 function phpMyEdit_filter_handler(theFor |
|
| Line 892 function phpMyEdit_filter_handler(theFor |
|
| $def_selected = ($this->tabs[0] == 'PMEtab0') ? 1 : 0; |
$def_selected = ($this->tabs[0] == 'PMEtab0') ? 1 : 0; |
| for ($i = $def_selected; $i < count($this->tabs); $i++) { |
for ($i = $def_selected; $i < count($this->tabs); $i++) { |
| $css_class_name = $this->getCSSclass($i != $def_selected ? 'tab' : 'tab-selected', $position); |
$css_class_name = $this->getCSSclass($i != $def_selected ? 'tab' : 'tab-selected', $position); |
| echo '<td class="',$css_class_name,'" id="phpMyEdit_tab',$i,'_',$position,'_label">'; |
echo '<td class="',$css_class_name,'" id="'.$this->dhtml['prefix'].'tab',$i,'_',$position,'_label">'; |
| echo '<a class="',$css_class_name,'" id="phpMyEdit_tab',$i,'_',$position,'_link'; |
echo '<a class="',$css_class_name,'" id="'.$this->dhtml['prefix'].'tab',$i,'_',$position,'_link'; |
| echo '" href="javascript:phpMyEdit_show_tab(\'phpMyEdit_tab',$i,'\')">'; |
echo '" href="javascript:'.$this->js['prefix'].'show_tab(\''.$this->dhtml['prefix'].'tab',$i,'\')">'; |
| echo $this->tabs[$i],'</a></td>',"\n"; |
echo $this->tabs[$i],'</a></td>',"\n"; |
| } |
} |
| echo '<td class="',$this->getCSSclass('tab-end', $position),'"> </td>',"\n"; |
echo '<td class="',$this->getCSSclass('tab-end', $position),'"> </td>',"\n"; |
| Line 911 function phpMyEdit_filter_handler(theFor |
|
| Line 913 function phpMyEdit_filter_handler(theFor |
|
| $tab++; |
$tab++; |
| echo '</table>',"\n"; |
echo '</table>',"\n"; |
| echo '</div>',"\n"; |
echo '</div>',"\n"; |
| echo '<div id="phpMyEdit_tab',$tab,'">',"\n"; |
echo '<div id="'.$this->dhtml['prefix'].'tab',$tab,'">',"\n"; |
| echo '<table class="',$this->getCSSclass('main'),'" summary="',$this->tb,'">',"\n"; |
echo '<table class="',$this->getCSSclass('main'),'" summary="',$this->tb,'">',"\n"; |
| } |
} |
| if (! $this->displayed[$k]) { |
if (! $this->displayed[$k]) { |
| continue; |
continue; |
| } |
} |
| if ($this->hidden($k)) { |
if ($this->hidden($k)) { |
| echo $this->htmlHidden($this->fds[$k], $row["qf$k"]); |
echo $this->htmlHiddenData($this->fds[$k], $row["qf$k"]); |
| continue; |
continue; |
| } |
} |
| $css_postfix = @$this->fdd[$k]['css']['postfix']; |
$css_postfix = @$this->fdd[$k]['css']['postfix']; |
| $css_class_name = $this->getCSSclass('input', null, 'next', $css_postfix); |
$css_class_name = $this->getCSSclass('input', null, 'next', $css_postfix); |
| echo '<tr class="',$this->getCSSclass('row', null, true, $css_postfix),'">',"\n"; |
echo '<tr class="',$this->getCSSclass('row', null, true, $css_postfix),'">',"\n"; |
| echo '<td class="',$this->getCSSclass('key', null, true, $css_postfix),'">',$this->fdd[$k]['name'],'</td>',"\n"; |
echo '<td class="',$this->getCSSclass('key', null, true, $css_postfix),'">'; |
| |
echo $this->fdd[$k]['name'],'</td>',"\n"; |
| echo '<td class="',$this->getCSSclass('value', null, true, $css_postfix),'"'; |
echo '<td class="',$this->getCSSclass('value', null, true, $css_postfix),'"'; |
| echo $this->getColAttributes($k),">\n"; |
echo $this->getColAttributes($k),">\n"; |
| if ($this->col_has_values($k)) { |
if ($this->col_has_values($k)) { |
| Line 934 function phpMyEdit_filter_handler(theFor |
|
| Line 937 function phpMyEdit_filter_handler(theFor |
|
| $readonly = $this->readonly($k); |
$readonly = $this->readonly($k); |
| $strip_tags = true; |
$strip_tags = true; |
| $escape = true; |
$escape = true; |
| echo $this->htmlSelect($this->fds[$k], $css_class_name, $vals, $selected, |
echo $this->htmlSelect($this->cgi['prefix']['data'].$this->fds[$k], $css_class_name, |
| $multiple, $readonly, $strip_tags, $escape); |
$vals, $selected, $multiple, $readonly, $strip_tags, $escape); |
| } elseif (isset ($this->fdd[$k]['textarea'])) { |
} elseif (isset ($this->fdd[$k]['textarea'])) { |
| echo '<textarea class="',$css_class_name,'" name="',$this->fds[$k],'"'; |
echo '<textarea class="',$css_class_name,'" name="',$this->cgi['prefix']['data'].$this->fds[$k],'"'; |
| echo ($this->readonly($k) ? ' disabled' : ''); |
echo ($this->readonly($k) ? ' disabled' : ''); |
| if (intval($this->fdd[$k]['textarea']['rows']) > 0) { |
if (intval($this->fdd[$k]['textarea']['rows']) > 0) { |
| echo ' rows="',$this->fdd[$k]['textarea']['rows'],'"'; |
echo ' rows="',$this->fdd[$k]['textarea']['rows'],'"'; |
| Line 959 function phpMyEdit_filter_handler(theFor |
|
| Line 962 function phpMyEdit_filter_handler(theFor |
|
| $size && $size_ml_props .= ' size="'.$size.'"'; |
$size && $size_ml_props .= ' size="'.$size.'"'; |
| $maxlen && $size_ml_props .= ' maxlength="'.$maxlen.'"'; |
$maxlen && $size_ml_props .= ' maxlength="'.$maxlen.'"'; |
| echo '<input class="',$css_class_name,'" type="text" '; |
echo '<input class="',$css_class_name,'" type="text" '; |
| echo ($this->readonly($k) ? 'disabled ' : ''),' name="',$this->fds[$k],'"'; |
echo ($this->readonly($k) ? 'disabled ' : ''); |
| |
echo ' name="',$this->cgi['prefix']['data'].$this->fds[$k],'"'; |
| echo $size_ml_props,' value="'; |
echo $size_ml_props,' value="'; |
| echo htmlspecialchars($this->fdd[$k]['default']),'">'; |
echo htmlspecialchars($this->fdd[$k]['default']),'">'; |
| } |
} |
| Line 994 function phpMyEdit_filter_handler(theFor |
|
| Line 998 function phpMyEdit_filter_handler(theFor |
|
| $tab++; |
$tab++; |
| echo '</table>',"\n"; |
echo '</table>',"\n"; |
| echo '</div>',"\n"; |
echo '</div>',"\n"; |
| echo '<div id="phpMyEdit_tab',$tab,'">',"\n"; |
echo '<div id="'.$this->dhtml['prefix'].'tab',$tab,'">',"\n"; |
| echo '<table class="',$this->getCSSclass('main'),'" summary="',$this->tb,'">',"\n"; |
echo '<table class="',$this->getCSSclass('main'),'" summary="',$this->tb,'">',"\n"; |
| } |
} |
| if (! $this->displayed[$k]) { |
if (! $this->displayed[$k]) { |
| Line 1003 function phpMyEdit_filter_handler(theFor |
|
| Line 1007 function phpMyEdit_filter_handler(theFor |
|
| if ($this->copy_operation() || $this->change_operation()) { |
if ($this->copy_operation() || $this->change_operation()) { |
| if ($this->hidden($k)) { |
if ($this->hidden($k)) { |
| if ($k != $this->key_num) { |
if ($k != $this->key_num) { |
| echo $this->htmlHidden($this->fds[$k], $row["qf$k"]); |
echo $this->htmlHiddenData($this->fds[$k], $row["qf$k"]); |
| } |
} |
| continue; |
continue; |
| } |
} |
| $css_postfix = @$this->fdd[$k]['css']['postfix']; |
$css_postfix = @$this->fdd[$k]['css']['postfix']; |
| echo '<tr class="',$this->getCSSclass('row', null, 'next', $css_postfix),'">',"\n"; |
echo '<tr class="',$this->getCSSclass('row', null, 'next', $css_postfix),'">',"\n"; |
| echo '<td class="',$this->getCSSclass('key', null, true, $css_postfix),'">',$this->fdd[$k]['name'],'</td>',"\n"; |
echo '<td class="',$this->getCSSclass('key', null, true, $css_postfix),'">'; |
| |
echo $this->fdd[$k]['name'],'</td>',"\n"; |
| /* There are two possibilities of readonly fields handling: |
/* There are two possibilities of readonly fields handling: |
| 1. Display plain text for readonly timestamps, dates and URLs. |
1. Display plain text for readonly timestamps, dates and URLs. |
| 2. Display disabled input field |
2. Display disabled input field |
| Line 1030 function phpMyEdit_filter_handler(theFor |
|
| Line 1035 function phpMyEdit_filter_handler(theFor |
|
| } elseif ($this->delete_operation() || $this->view_operation()) { |
} elseif ($this->delete_operation() || $this->view_operation()) { |
| $css_postfix = @$this->fdd[$k]['css']['postfix']; |
$css_postfix = @$this->fdd[$k]['css']['postfix']; |
| echo '<tr class="',$this->getCSSclass('row', null, 'next', $css_postfix),'">',"\n"; |
echo '<tr class="',$this->getCSSclass('row', null, 'next', $css_postfix),'">',"\n"; |
| echo '<td class="',$this->getCSSclass('key', null, true, $css_postfix),'">',$this->fdd[$k]['name'],'</td>',"\n"; |
echo '<td class="',$this->getCSSclass('key', null, true, $css_postfix),'">'; |
| |
echo $this->fdd[$k]['name'],'</td>',"\n"; |
| if ($this->password($k)) { |
if ($this->password($k)) { |
| echo '<td class="',$this->getCSSclass('value', null, true, $css_postfix),'"'; |
echo '<td class="',$this->getCSSclass('value', null, true, $css_postfix),'"'; |
| echo $this->getColAttributes($k),'>',$this->labels['hidden'],'</td>',"\n"; |
echo $this->getColAttributes($k),'>',$this->labels['hidden'],'</td>',"\n"; |
| Line 1059 function phpMyEdit_filter_handler(theFor |
|
| Line 1065 function phpMyEdit_filter_handler(theFor |
|
| $readonly = $this->readonly($k); |
$readonly = $this->readonly($k); |
| $strip_tags = true; |
$strip_tags = true; |
| $escape = true; |
$escape = true; |
| echo $this->htmlSelect($this->fds[$k], $css_class_name, $vals, $row["qf$k"], |
echo $this->htmlSelect($this->cgi['prefix']['data'].$this->fds[$k], $css_class_name, |
| $multiple, $readonly, $strip_tags, $escape); |
$vals, $row["qf$k"], $multiple, $readonly, $strip_tags, $escape); |
| } elseif (isset($this->fdd[$k]['textarea'])) { |
} elseif (isset($this->fdd[$k]['textarea'])) { |
| echo '<textarea class="',$css_class_name,'" name="',$this->fds[$k],'"'; |
echo '<textarea class="',$css_class_name,'" name="',$this->cgi['prefix']['data'].$this->fds[$k],'"'; |
| echo ($this->readonly($k) ? ' disabled' : ''); |
echo ($this->readonly($k) ? ' disabled' : ''); |
| if (intval($this->fdd[$k]['textarea']['rows']) > 0) { |
if (intval($this->fdd[$k]['textarea']['rows']) > 0) { |
| echo ' rows="',$this->fdd[$k]['textarea']['rows'],'"'; |
echo ' rows="',$this->fdd[$k]['textarea']['rows'],'"'; |
| Line 1083 function phpMyEdit_filter_handler(theFor |
|
| Line 1089 function phpMyEdit_filter_handler(theFor |
|
| $size && $size_ml_props .= ' size="'.$size.'"'; |
$size && $size_ml_props .= ' size="'.$size.'"'; |
| $maxlen && $size_ml_props .= ' maxlength="'.$maxlen.'"'; |
$maxlen && $size_ml_props .= ' maxlength="'.$maxlen.'"'; |
| echo '<input class="',$css_class_name,'" type="text" '; |
echo '<input class="',$css_class_name,'" type="text" '; |
| echo ($this->readonly($k) ? 'disabled ' : ''),'name="',$this->fds[$k],'" value="'; |
echo ($this->readonly($k) ? 'disabled ' : ''); |
| |
echo 'name="',$this->cgi['prefix']['data'].$this->fds[$k],'" value="'; |
| echo htmlspecialchars($row["qf$k"]),'" ',$size_ml_props,'>',"\n"; |
echo htmlspecialchars($row["qf$k"]),'" ',$size_ml_props,'>',"\n"; |
| } |
} |
| echo '</td>',"\n"; |
echo '</td>',"\n"; |
| Line 1100 function phpMyEdit_filter_handler(theFor |
|
| Line 1107 function phpMyEdit_filter_handler(theFor |
|
| $size && $size_ml_props .= ' size="'.$size.'"'; |
$size && $size_ml_props .= ' size="'.$size.'"'; |
| $maxlen && $size_ml_props .= ' maxlength="'.$maxlen.'"'; |
$maxlen && $size_ml_props .= ' maxlength="'.$maxlen.'"'; |
| echo '<input class="',$this->getCSSclass('value', null, true, $css_postfix),'" type="password" '; |
echo '<input class="',$this->getCSSclass('value', null, true, $css_postfix),'" type="password" '; |
| echo ($this->readonly($k) ? 'disabled ' : ''),'name="',$this->fds[$k],'" value="'; |
echo ($this->readonly($k) ? 'disabled ' : ''); |
| |
echo 'name="',$this->cgi['prefix']['data'].$this->fds[$k],'" value="'; |
| echo htmlspecialchars($row["qf$k"]),'" ',$size_ml_props,'>',"\n"; |
echo htmlspecialchars($row["qf$k"]),'" ',$size_ml_props,'>',"\n"; |
| echo '</td>',"\n"; |
echo '</td>',"\n"; |
| } /* }}} */ |
} /* }}} */ |
| Line 1183 function phpMyEdit_filter_handler(theFor |
|
| Line 1191 function phpMyEdit_filter_handler(theFor |
|
| $ret = ''; |
$ret = ''; |
| $name = $this->fds[$k]; |
$name = $this->fds[$k]; |
| $page = $this->page_name; |
$page = $this->page_name; |
| $url = 'rec='.$key.'&fm='.$this->fm.'&fl='.$this->fl; |
$url = $this->cgi['prefix']['sys'].'rec'.'='.$key.'&'.$this->cgi['prefix']['sys'].'fm' |
| $url .= '&qfn='.rawurlencode($this->qfn).$this->qfn; |
.'='.$this->fm.'&'.$this->cgi['prefix']['sys'].'fl'.'='.$this->fl; |
| |
$url .= '&'.$this->cgi['prefix']['sys'].'qfn'.'='.rawurlencode($this->qfn).$this->qfn; |
| $url .= '&'.$this->get_sfn_cgi_vars().$this->cgi['persist']; |
$url .= '&'.$this->get_sfn_cgi_vars().$this->cgi['persist']; |
| $ar = array( |
$ar = array( |
| 'key' => $key, |
'key' => $key, |
| Line 1316 function phpMyEdit_filter_handler(theFor |
|
| Line 1325 function phpMyEdit_filter_handler(theFor |
|
| // Note that <input disabled> isn't valid HTML, but most browsers support it |
// Note that <input disabled> isn't valid HTML, but most browsers support it |
| $markdisabled = $disabled ? ' disabled' : ''; |
$markdisabled = $disabled ? ' disabled' : ''; |
| $ret = '<input'.$markdisabled.' type="submit" class="'.$css_class_name |
$ret = '<input'.$markdisabled.' type="submit" class="'.$css_class_name |
| .'" name="'.ltrim($markdisabled).$name |
.'" name="'.$this->cgi['prefix']['sys'].ltrim($markdisabled).$name |
| .'" value="'.(isset($this->labels[$label]) ? $this->labels[$label] : $label); |
.'" value="'.(isset($this->labels[$label]) ? $this->labels[$label] : $label); |
| if ($js_validation) { |
if ($js_validation) { |
| $ret .= '" onClick="return phpMyEdit_form_control(this.form);'; |
$ret .= '" onClick="return '.$this->js['prefix'].'form_control(this.form);'; |
| } |
} |
| $ret .= '">'; |
$ret .= '" />'; |
| return $ret; |
return $ret; |
| } /* }}} */ |
} /* }}} */ |
| |
|
| Line 1331 function phpMyEdit_filter_handler(theFor |
|
| Line 1340 function phpMyEdit_filter_handler(theFor |
|
| * @param name element name |
* @param name element name |
| * @param value value |
* @param value value |
| */ |
*/ |
| |
|
| |
function htmlHiddenSys($name, $value) /* {{{ */ |
| |
{ |
| |
return $this->htmlHidden($this->cgi['prefix']['sys'].$name, $value); |
| |
} /* }}} */ |
| |
|
| |
function htmlHiddenData($name, $value) /* {{{ */ |
| |
{ |
| |
return $this->htmlHidden($this->cgi['prefix']['data'].$name, $value); |
| |
} /* }}} */ |
| |
|
| function htmlHidden($name, $value) /* {{{ */ |
function htmlHidden($name, $value) /* {{{ */ |
| { |
{ |
| return '<input type="hidden" name="'.htmlspecialchars($name) |
return '<input type="hidden" name="'.htmlspecialchars($name) |
| .'" value="'.htmlspecialchars($value).'">'."\n"; |
.'" value="'.htmlspecialchars($value).'"/>'."\n"; |
| } /* }}} */ |
} /* }}} */ |
| |
|
| /** |
/** |
| Line 1414 function phpMyEdit_filter_handler(theFor |
|
| Line 1434 function phpMyEdit_filter_handler(theFor |
|
| } |
} |
| $key = rawurldecode($key); |
$key = rawurldecode($key); |
| $val = rawurldecode($val); |
$val = rawurldecode($val); |
| $ret .= '<input type="hidden" name="'; |
$ret .= $this->htmlHidden($key, $val); |
| $ret .= htmlspecialchars($key).'"'; |
|
| $ret .= ' value="'.htmlspecialchars($val).'"'; |
|
| $ret .= " />\n"; |
|
| } |
} |
| } else if (! strncmp('GET', $method, 3)) { |
} else if (! strncmp('GET', $method, 3)) { |
| if (! is_array($origvars)) { |
if (! is_array($origvars)) { |
| Line 1454 function phpMyEdit_filter_handler(theFor |
|
| Line 1471 function phpMyEdit_filter_handler(theFor |
|
| $i = 0; |
$i = 0; |
| foreach ($alternative_sfn as $val) { |
foreach ($alternative_sfn as $val) { |
| $ret != '' && $ret .= '&'; |
$ret != '' && $ret .= '&'; |
| $ret .= "sfn[$i]=".rawurlencode($val); |
$ret .= rawurlencode($this->cgi['prefix']['sys'].'sfn')."[$i]=".rawurlencode($val); |
| $i++; |
$i++; |
| } |
} |
| return $ret; |
return $ret; |
| } /* }}} */ |
} /* }}} */ |
| |
|
| |
function get_sys_cgi_var($name, $default_value = null) /* {{{ */ |
| |
{ |
| |
return $this->get_cgi_var($this->cgi['prefix']['sys'].$name, $default_value); |
| |
} /* }}} */ |
| |
|
| |
function get_data_cgi_var($name, $default_value = null) /* {{{ */ |
| |
{ |
| |
return $this->get_cgi_var($this->cgi['prefix']['data'].$name, $default_value); |
| |
} /* }}} */ |
| |
|
| function get_cgi_var($name, $default_value = null) /* {{{ */ |
function get_cgi_var($name, $default_value = null) /* {{{ */ |
| { |
{ |
| if (isset($this) && isset($this->cgi['overwrite'][$name])) { |
if (isset($this) && isset($this->cgi['overwrite'][$name])) { |
| Line 1652 function phpMyEdit_filter_handler(theFor |
|
| Line 1679 function phpMyEdit_filter_handler(theFor |
|
| echo $this->htmlSubmit('navop', 'Go to', $this->getCSSclass('goto', $position), false, |
echo $this->htmlSubmit('navop', 'Go to', $this->getCSSclass('goto', $position), false, |
| ($listall || ($disablednext && $disabledprev))); |
($listall || ($disablednext && $disabledprev))); |
| echo '<select',$disabledgoto,' class="',$this->getCSSclass('goto', $position); |
echo '<select',$disabledgoto,' class="',$this->getCSSclass('goto', $position); |
| echo '" name="',ltrim($disabledgoto),'navfm',$position,'" onChange="return this.form.submit();">',"\n"; |
echo '" name="',$this->cgi['prefix']['sys'].ltrim($disabledgoto).'navfm',$position,'" onChange="return this.form.submit();">',"\n"; |
| for ($i = 0; $i < $total_pages; $i++) { |
for ($i = 0; $i < $total_pages; $i++) { |
| echo '<option',($this->fm == $this->inc * $i) ? ' selected' : ''; |
echo '<option',($this->fm == $this->inc * $i) ? ' selected' : ''; |
| echo ' value="',$this->inc * $i,'">',$i + 1,'</option>',"\n"; |
echo ' value="',$this->inc * $i,'">',$i + 1,'</option>',"\n"; |
| Line 1757 function phpMyEdit_filter_handler(theFor |
|
| Line 1784 function phpMyEdit_filter_handler(theFor |
|
| */ |
*/ |
| $this->form_begin(); |
$this->form_begin(); |
| echo $this->get_origvars_html($this->get_sfn_cgi_vars()); |
echo $this->get_origvars_html($this->get_sfn_cgi_vars()); |
| echo '<input type="hidden" name="fl" value="',$this->fl,'">',"\n"; |
echo $this->htmlHiddenSys('fl', $this->fl); |
| // Display buttons at top and/or bottom of page. |
// Display buttons at top and/or bottom of page. |
| // Setup query to get num_rows. (sparky) |
// Setup query to get num_rows. (sparky) |
| $total_recs = 0; |
$total_recs = 0; |
| Line 1782 function phpMyEdit_filter_handler(theFor |
|
| Line 1809 function phpMyEdit_filter_handler(theFor |
|
| if (! $this->filter_operation()) { |
if (! $this->filter_operation()) { |
| echo $this->get_origvars_html($this->qfn); |
echo $this->get_origvars_html($this->qfn); |
| } |
} |
| echo '<input type="hidden" name="qfn" value="',htmlspecialchars($this->qfn),'">',"\n"; |
echo $this->htmlHiddenSys('qfn', $this->qfn); |
| echo '<input type="hidden" name="fm" value="',htmlspecialchars($this->fm),'">',"\n"; |
echo $this->htmlHiddenSys('fm', $this->fm); |
| echo '<table class="',$this->getCSSclass('main'),'" summary="',$this->tb,'">',"\n"; |
echo '<table class="',$this->getCSSclass('main'),'" summary="',$this->tb,'">',"\n"; |
| echo '<tr class="',$this->getCSSclass('header'),'">',"\n"; |
echo '<tr class="',$this->getCSSclass('header'),'">',"\n"; |
| /* |
/* |
| Line 1803 function phpMyEdit_filter_handler(theFor |
|
| Line 1830 function phpMyEdit_filter_handler(theFor |
|
| echo '<th class="',$this->getCSSclass('header'),'" colspan="',$sys_cols,'">'; |
echo '<th class="',$this->getCSSclass('header'),'" colspan="',$sys_cols,'">'; |
| if ($this->filter_enabled()) { |
if ($this->filter_enabled()) { |
| if ($this->filter_operation()) { |
if ($this->filter_operation()) { |
| echo '<input class="',$this->getCSSclass('hide'),'" type="submit" name="sw" value="'; |
echo $this->htmlSubmit('sw', 'Hide', $this->getCSSclass('hide'), false); |
| echo $this->labels['Hide'],'">'; |
echo $this->htmlSubmit('sw', 'Clear', $this->getCSSclass('clear'), false); |
| echo '<input class="',$this->getCSSclass('clear'),'" type="submit" name="sw" value="'; |
|
| echo $this->labels['Clear'],'">'; |
|
| } else { |
} else { |
| echo '<input class="',$this->getCSSclass('search'),'" type="submit" name="sw" value="'; |
echo $this->htmlSubmit('sw', 'Search', $this->getCSSclass('search'), false); |
| echo $this->labels['Search'],'">'; |
|
| } |
} |
| } else { |
} else { |
| echo ' '; |
echo ' '; |
| Line 1832 function phpMyEdit_filter_handler(theFor |
|
| Line 1856 function phpMyEdit_filter_handler(theFor |
|
| array_unshift($new_sfn, in_array("$k", $new_sfn, 1) ? "-$k" : $k); |
array_unshift($new_sfn, in_array("$k", $new_sfn, 1) ? "-$k" : $k); |
| echo '<th class="',$css_class_name,'">'; |
echo '<th class="',$css_class_name,'">'; |
| echo '<a class="',$css_class_name,'" href="'; |
echo '<a class="',$css_class_name,'" href="'; |
| echo htmlspecialchars($this->page_name.'?fm=0&fl='.$this->fl |
echo htmlspecialchars($this->page_name.'?'.$this->cgi['prefix']['sys'].'fm'.'=0' |
| .'&qfn='.rawurlencode($this->qfn).$this->qfn |
.'&'.$this->cgi['prefix']['sys'].'fl'.'='.$this->fl |
| |
.'&'.$this->cgi['prefix']['sys'].'qfn'.'='.rawurlencode($this->qfn).$this->qfn |
| .'&'.$this->get_sfn_cgi_vars($new_sfn).$this->cgi['persist']); |
.'&'.$this->get_sfn_cgi_vars($new_sfn).$this->cgi['persist']); |
| echo '">',$fdn,'</a></th>',"\n"; |
echo '">',$fdn,'</a></th>',"\n"; |
| } |
} |
| Line 1933 function phpMyEdit_filter_handler(theFor |
|
| Line 1958 function phpMyEdit_filter_handler(theFor |
|
| $css_class_name = $this->getCSSclass('filter'); |
$css_class_name = $this->getCSSclass('filter'); |
| echo '<tr class="',$css_class_name,'">',"\n"; |
echo '<tr class="',$css_class_name,'">',"\n"; |
| echo '<td class="',$css_class_name,'" colspan="',$sys_cols,'">'; |
echo '<td class="',$css_class_name,'" colspan="',$sys_cols,'">'; |
| echo '<input class="',$this->getCSSclass('query'),'" type="submit" name="filter" value="'; |
echo $this->htmlSubmit('filter', 'Query', $this->getCSSclass('query'), false); |
| echo $this->labels['Query'],'"></td>',"\n"; |
echo '</td>', "\n"; |
| for ($k = 0; $k < $this->num_fds; $k++) { |
for ($k = 0; $k < $this->num_fds; $k++) { |
| if (! $this->displayed[$k]) { |
if (! $this->displayed[$k]) { |
| continue; |
continue; |
| Line 1952 function phpMyEdit_filter_handler(theFor |
|
| Line 1977 function phpMyEdit_filter_handler(theFor |
|
| $mc = null; |
$mc = null; |
| $mi = null; |
$mi = null; |
| } else { |
} else { |
| $m = $this->get_cgi_var($l); |
$m = $this->get_sys_cgi_var($l); |
| $mc = $this->get_cgi_var($lc); |
$mc = $this->get_sys_cgi_var($lc); |
| $mi = $this->get_cgi_var($li); |
$mi = $this->get_sys_cgi_var($li); |
| } |
} |
| echo '<td class="',$css_class_name,'">'; |
echo '<td class="',$css_class_name,'">'; |
| if ($this->password($k)) { |
if ($this->password($k)) { |
| Line 1970 function phpMyEdit_filter_handler(theFor |
|
| Line 1995 function phpMyEdit_filter_handler(theFor |
|
| $readonly = false; |
$readonly = false; |
| $strip_tags = true; |
$strip_tags = true; |
| $escape = true; |
$escape = true; |
| echo $this->htmlSelect($l.'_id', $css_class_name, $vals, |
echo $this->htmlSelect($this->cgi['prefix']['sys'].$l.'_id', $css_class_name, |
| $selected, $multiple, $readonly, $strip_tags, $escape); |
$vals, $selected, $multiple, $readonly, $strip_tags, $escape); |
| } elseif ($this->fdd[$fd]['select'] == 'N' || $this->fdd[$fd]['select'] == 'T') { |
} elseif ($this->fdd[$fd]['select'] == 'N' || $this->fdd[$fd]['select'] == 'T') { |
| $size_ml_props = ''; |
$size_ml_props = ''; |
| $maxlen = intval($this->fdd[$k]['maxlen']); |
$maxlen = intval($this->fdd[$k]['maxlen']); |
| Line 1982 function phpMyEdit_filter_handler(theFor |
|
| Line 2007 function phpMyEdit_filter_handler(theFor |
|
| $maxlen && $size_ml_props .= ' maxlength="'.$maxlen.'"'; |
$maxlen && $size_ml_props .= ' maxlength="'.$maxlen.'"'; |
| if ($this->fdd[$fd]['select'] == 'N') { |
if ($this->fdd[$fd]['select'] == 'N') { |
| $mc = in_array($mc, $this->comp_ops) ? $mc : '='; |
$mc = in_array($mc, $this->comp_ops) ? $mc : '='; |
| echo $this->htmlSelect($l.'_comp', $css_class_name, $this->comp_ops, $mc); |
echo $this->htmlSelect($this->cgi['prefix']['sys'].$l.'_comp', |
| |
$css_class_name, $this->comp_ops, $mc); |
| } |
} |
| echo '<input class="',$css_class_name,'" value="'; |
echo '<input class="',$css_class_name,'" value="',htmlspecialchars(@$m); |
| echo htmlspecialchars(@$m),'" type="text" name="qf',$k,'"',$size_ml_props; |
echo '" type="text" name="'.$this->cgi['prefix']['sys'].'qf'.$k.'"',$size_ml_props; |
| echo ' onKeyPress="return phpMyEdit_filter_handler(this.form, event);">'; |
echo ' onKeyPress="return '.$this->js['prefix'].'filter_handler(this.form, event);">'; |
| } else { |
} else { |
| echo ' '; |
echo ' '; |
| } |
} |
| Line 2004 function phpMyEdit_filter_handler(theFor |
|
| Line 2030 function phpMyEdit_filter_handler(theFor |
|
| echo '<tr class="',$css_class_name,'">',"\n"; |
echo '<tr class="',$css_class_name,'">',"\n"; |
| echo '<td class="',$css_class_name,'" colspan="',$sys_cols,'">'; |
echo '<td class="',$css_class_name,'" colspan="',$sys_cols,'">'; |
| echo '<a class="',$css_class_name,'" href="'; |
echo '<a class="',$css_class_name,'" href="'; |
| echo htmlspecialchars($this->get_server_var('PHP_SELF').'?fl='.$this->fl.'&fm='.$this->fm |
echo htmlspecialchars($this->get_server_var('PHP_SELF') |
| .'&qfn='.rawurlencode($this->qfn).$this->qfn.$this->cgi['persist']); |
.'?'.$this->cgi['prefix']['sys'].'fl'.'='.$this->fl |
| |
.'&'.$this->cgi['prefix']['sys'].'fm'.'='.$this->fm |
| |
.'&'.$this->cgi['prefix']['sys'].'qfn'.'='.rawurlencode($this->qfn) |
| |
.$this->qfn.$this->cgi['persist']); |
| echo '">',$this->labels['Clear'],'</a></td>',"\n"; |
echo '">',$this->labels['Clear'],'</a></td>',"\n"; |
| echo '<td class="',$css_class_name,'" colspan="',$this->num_fields_displayed,'">'; |
echo '<td class="',$css_class_name,'" colspan="',$this->num_fields_displayed,'">'; |
| echo $this->labels['Sorted By'],': ',join(', ', $sort_fields_w),'</td></tr>',"\n"; |
echo $this->labels['Sorted By'],': ',join(', ', $sort_fields_w),'</td></tr>',"\n"; |
| Line 2020 function phpMyEdit_filter_handler(theFor |
|
| Line 2049 function phpMyEdit_filter_handler(theFor |
|
| echo '<tr class="',$css_class_name,'">',"\n"; |
echo '<tr class="',$css_class_name,'">',"\n"; |
| echo '<td class="',$css_class_name,'" colspan="',$sys_cols,'">'; |
echo '<td class="',$css_class_name,'" colspan="',$sys_cols,'">'; |
| echo '<a class="',$css_class_name,'" href="'; |
echo '<a class="',$css_class_name,'" href="'; |
| echo htmlspecialchars($this->get_server_var('PHP_SELF').'?fl='.$this->fl.'&fm='.$this->fm |
echo htmlspecialchars($this->get_server_var('PHP_SELF') |
| .'&qfn='.rawurlencode($this->qfn).'&'.$this->get_sfn_cgi_vars().$this->cgi['persist']); |
.'?'.$this->cgi['prefix']['sys'].'fl'.'='.$this->fl |
| |
.'&'.$this->cgi['prefix']['sys'].'fm'.'='.$this->fm |
| |
.'&'.$this->cgi['prefix']['sys'].'qfn'.'='.rawurlencode($this->qfn) |
| |
.'&'.$this->get_sfn_cgi_vars().$this->cgi['persist']); |
| echo '">',$this->labels['Clear'],'</a></td>',"\n"; |
echo '">',$this->labels['Clear'],'</a></td>',"\n"; |
| echo '<td class="',$css_class_name,'" colspan="',$this->num_fields_displayed,'">'; |
echo '<td class="',$css_class_name,'" colspan="',$this->num_fields_displayed,'">'; |
| echo $this->labels['Current Query'],': ',htmlspecialchars($text_query),'</td></tr>',"\n"; |
echo $this->labels['Current Query'],': ',htmlspecialchars($text_query),'</td></tr>',"\n"; |
| Line 2029 function phpMyEdit_filter_handler(theFor |
|
| Line 2061 function phpMyEdit_filter_handler(theFor |
|
| |
|
| if ($this->nav_text_links() || $this->nav_graphic_links()) { |
if ($this->nav_text_links() || $this->nav_graphic_links()) { |
| $qstrparts = array(); |
$qstrparts = array(); |
| strlen($this->fl) > 0 && $qstrparts[] = 'fl='.$this->fl; |
strlen($this->fl) > 0 && $qstrparts[] = $this->cgi['prefix']['sys'].'fl'.'='.$this->fl; |
| strlen($this->fm) > 0 && $qstrparts[] = 'fm='.$this->fm; |
strlen($this->fm) > 0 && $qstrparts[] = $this->cgi['prefix']['sys'].'fm'.'='.$this->fm; |
| count($this->sfn) > 0 && $qstrparts[] = $this->get_sfn_cgi_vars(); |
count($this->sfn) > 0 && $qstrparts[] = $this->get_sfn_cgi_vars(); |
| strlen($this->cgi['persist']) > 0 && $qstrparts[] = $this->cgi['persist']; |
strlen($this->cgi['persist']) > 0 && $qstrparts[] = $this->cgi['persist']; |
| $qpview = $qstrparts; |
$qpview = $qstrparts; |
| $qpcopy = $qstrparts; |
$qpcopy = $qstrparts; |
| $qpchange = $qstrparts; |
$qpchange = $qstrparts; |
| $qpdelete = $qstrparts; |
$qpdelete = $qstrparts; |
| $qpview[] = 'operation='.$this->cgi['prefix']['operation'].'View'; |
$qp_prefix = $this->cgi['prefix']['sys'].'operation'.'='.$this->cgi['prefix']['operation']; |
| $qpcopy[] = 'operation='.$this->cgi['prefix']['operation'].'Copy'; |
$qpview[] = $qp_prefix.'View'; |
| $qpchange[] = 'operation='.$this->cgi['prefix']['operation'].'Change'; |
$qpcopy[] = $qp_prefix.'Copy'; |
| $qpdelete[] = 'operation='.$this->cgi['prefix']['operation'].'Delete'; |
$qpchange[] = $qp_prefix.'Change'; |
| |
$qpdelete[] = $qp_prefix.'Delete'; |
| $qpviewStr = htmlspecialchars($this->page_name.'?'.join('&',$qpview).$this->qfn); |
$qpviewStr = htmlspecialchars($this->page_name.'?'.join('&',$qpview).$this->qfn); |
| $qpcopyStr = htmlspecialchars($this->page_name.'?'.join('&',$qpcopy).$this->qfn); |
$qpcopyStr = htmlspecialchars($this->page_name.'?'.join('&',$qpcopy).$this->qfn); |
| $qpchangeStr = htmlspecialchars($this->page_name.'?'.join('&',$qpchange).$this->qfn); |
$qpchangeStr = htmlspecialchars($this->page_name.'?'.join('&',$qpchange).$this->qfn); |
| Line 2056 function phpMyEdit_filter_handler(theFor |
|
| Line 2089 function phpMyEdit_filter_handler(theFor |
|
| echo '<tr class="',$this->getCSSclass('row', null, 'next'),'">',"\n"; |
echo '<tr class="',$this->getCSSclass('row', null, 'next'),'">',"\n"; |
| if ($sys_cols) { /* {{{ */ |
if ($sys_cols) { /* {{{ */ |
| $key_rec = $row['qf'.$this->key_num]; |
$key_rec = $row['qf'.$this->key_num]; |
| $viewQuery = $qpviewStr . htmlspecialchars('&rec='.$key_rec); |
$queryAppend = htmlspecialchars('&'.$this->cgi['prefix']['sys'].'rec'.'='.$key_rec); |
| $copyQuery = $qpcopyStr . htmlspecialchars('&rec='.$key_rec); |
$viewQuery = $qpviewStr . $queryAppend; |
| $changeQuery = $qpchangeStr . htmlspecialchars('&rec='.$key_rec); |
$copyQuery = $qpcopyStr . $queryAppend; |
| $deleteQuery = $qpdeleteStr . htmlspecialchars('&rec='.$key_rec); |
$changeQuery = $qpchangeStr . $queryAppend; |
| |
$deleteQuery = $qpdeleteStr . $queryAppend; |
| $viewTitle = htmlspecialchars($this->labels['View']); |
$viewTitle = htmlspecialchars($this->labels['View']); |
| $changeTitle = htmlspecialchars($this->labels['Change']); |
$changeTitle = htmlspecialchars($this->labels['Change']); |
| $copyTitle = htmlspecialchars($this->labels['Copy']); |
$copyTitle = htmlspecialchars($this->labels['Copy']); |
| Line 2133 function phpMyEdit_filter_handler(theFor |
|
| Line 2167 function phpMyEdit_filter_handler(theFor |
|
| } |
} |
| if ($this->nav_buttons()) { |
if ($this->nav_buttons()) { |
| echo '<td class="',$css_class_name,'"><input class="',$css_class_name; |
echo '<td class="',$css_class_name,'"><input class="',$css_class_name; |
| echo '" type="radio" name="rec" value="',htmlspecialchars($key_rec),'"'; |
echo '" type="radio" name="'.$this->cgi['prefix']['sys'].'rec'; |
| |
echo '" value="',htmlspecialchars($key_rec),'"'; |
| if ($first) { |
if ($first) { |
| echo ' checked'; |
echo ' checked'; |
| $first = false; |
$first = false; |
| Line 2194 function phpMyEdit_filter_handler(theFor |
|
| Line 2229 function phpMyEdit_filter_handler(theFor |
|
| if (stristr($this->fdd[$fd]['options'],'L') or !isset($this->fdd[$fd]['options'])) { |
if (stristr($this->fdd[$fd]['options'],'L') or !isset($this->fdd[$fd]['options'])) { |
| echo '<td>'; |
echo '<td>'; |
| $aggr_var = 'qf'.$k.'_aggr'; |
$aggr_var = 'qf'.$k.'_aggr'; |
| $$aggr_var = $this->get_cgi_var($aggr_var); |
$$aggr_var = $this->get_sys_cgi_var($aggr_var); |
| if ($$aggr_var) { |
if ($$aggr_var) { |
| echo $this->sql_aggrs[$$aggr_var],': ',$tot_row[$aggr_var]; |
echo $this->sql_aggrs[$$aggr_var],': ',$tot_row[$aggr_var]; |
| } else { |
} else { |
| Line 2247 function phpMyEdit_filter_handler(theFor |
|
| Line 2282 function phpMyEdit_filter_handler(theFor |
|
| } |
} |
| echo $this->get_origvars_html($this->get_sfn_cgi_vars()); |
echo $this->get_origvars_html($this->get_sfn_cgi_vars()); |
| echo $this->get_origvars_html($this->qfn); |
echo $this->get_origvars_html($this->qfn); |
| echo '<input type="hidden" name="qfn" value="',htmlspecialchars($this->qfn),'">',"\n"; |
echo $this->htmlHiddenSys('qfn', $this->qfn); |
| echo '<input type="hidden" name="rec" value="',($this->copy_operation()?'':$this->rec),'">',"\n"; |
echo $this->htmlHiddenSys('rec', $this->copy_operation() ? '' : $this->rec); |
| echo '<input type="hidden" name="fm" value="',$this->fm,'">',"\n"; |
echo $this->htmlHiddenSys('fm', $this->fm); |
| echo '<input type="hidden" name="fl" value="',$this->fl,'">',"\n"; |
echo $this->htmlHiddenSys('fl', $this->fl); |
| if ($this->nav_up()) { |
if ($this->nav_up()) { |
| $this->display_record_buttons('up'); |
$this->display_record_buttons('up'); |
| echo '<hr class="',$this->getCSSclass('hr', 'up'),'">',"\n"; |
echo '<hr class="',$this->getCSSclass('hr', 'up'),'">',"\n"; |
| Line 2259 function phpMyEdit_filter_handler(theFor |
|
| Line 2294 function phpMyEdit_filter_handler(theFor |
|
| } |
} |
| } |
} |
| if ($this->tabs_enabled()) { |
if ($this->tabs_enabled()) { |
| echo '<div id="phpMyEdit_tab0">',"\n"; |
echo '<div id="'.$this->dhtml['prefix'].'tab0">',"\n"; |
| } |
} |
| echo '<table class="',$this->getCSSclass('main'),'" summary="',$this->tb,'">',"\n"; |
echo '<table class="',$this->getCSSclass('main'),'" summary="',$this->tb,'">',"\n"; |
| if ($this->add_operation()) { |
if ($this->add_operation()) { |
| Line 2296 function phpMyEdit_filter_handler(theFor |
|
| Line 2331 function phpMyEdit_filter_handler(theFor |
|
| if ($this->readonly($k)) { |
if ($this->readonly($k)) { |
| $fn = (string) @$this->fdd[$k]['default']; |
$fn = (string) @$this->fdd[$k]['default']; |
| } else { |
} else { |
| $fn = $this->get_cgi_var($fd); |
$fn = $this->get_data_cgi_var($fd); |
| } |
} |
| if ($fd == $this->key) { |
if ($fd == $this->key) { |
| $key_col_val = $fn; |
$key_col_val = $fn; |
| Line 2378 function phpMyEdit_filter_handler(theFor |
|
| Line 2413 function phpMyEdit_filter_handler(theFor |
|
| for ($k = 0; $k < $this->num_fds; $k++) { |
for ($k = 0; $k < $this->num_fds; $k++) { |
| if ($this->processed($k) && !$this->readonly($k)) { |
if ($this->processed($k) && !$this->readonly($k)) { |
| $fd = $this->fds[$k]; |
$fd = $this->fds[$k]; |
| $fn = $this->get_cgi_var($fd); |
$fn = $this->get_data_cgi_var($fd); |
| $newvals[$this->fds[$k]] = is_array($fn) ? join(',',$fn) : $fn; |
$newvals[$this->fds[$k]] = is_array($fn) ? join(',',$fn) : $fn; |
| if ($this->col_has_sqlw($k)) { |
if ($this->col_has_sqlw($k)) { |
| $val = $newvals[$this->fds[$k]]; |
$val = $newvals[$this->fds[$k]]; |
| Line 2957 function phpMyEdit_filter_handler(theFor |
|
| Line 2992 function phpMyEdit_filter_handler(theFor |
|
| !isset($this->css['position']) && $this->css['position'] = false; |
!isset($this->css['position']) && $this->css['position'] = false; |
| !isset($this->css['divider']) && $this->css['divider'] = 2; |
!isset($this->css['divider']) && $this->css['divider'] = 2; |
| $this->css['divider'] = intval(@$this->css['divider']); |
$this->css['divider'] = intval(@$this->css['divider']); |
| |
// JS overall configuration |
| |
$this->js = @$opts['js']; |
| |
!isset($this->js['prefix']) && $this->js['prefix'] = 'PME_js_'; |
| |
// DHTML overall configuration |
| |
$this->dhtml = @$opts['dhtml']; |
| |
!isset($this->dhtml['prefix']) && $this->dhtml['prefix'] = 'PME_dhtml_'; |
| // Navigation |
// Navigation |
| $this->navigation = @$opts['navigation']; |
$this->navigation = @$opts['navigation']; |
| if (! $this->nav_buttons() && ! $this->nav_text_links() && ! $this->nav_graphic_links()) { |
if (! $this->nav_buttons() && ! $this->nav_text_links() && ! $this->nav_graphic_links()) { |
| Line 2969 function phpMyEdit_filter_handler(theFor |
|
| Line 3010 function phpMyEdit_filter_handler(theFor |
|
| $this->labels = $this->make_language_labels(isset($opts['language']) |
$this->labels = $this->make_language_labels(isset($opts['language']) |
| ? $opts['language'] : $this->get_server_var('HTTP_ACCEPT_LANGUAGE')); |
? $opts['language'] : $this->get_server_var('HTTP_ACCEPT_LANGUAGE')); |
| // CGI variables |
// CGI variables |
| $this->cgi['append'] = @$opts['cgi']['append']; |
$this->cgi = @$opts['cgi']; |
| $this->cgi['overwrite'] = @$opts['cgi']['overwrite']; |
$this->cgi['persist'] = ''; |
| $this->cgi['persist'] = ''; |
|
| if (@is_array($opts['cgi']['persist'])) { |
if (@is_array($opts['cgi']['persist'])) { |
| foreach ($opts['cgi']['persist'] as $key => $val) { |
foreach ($opts['cgi']['persist'] as $key => $val) { |
| $this->cgi['persist'] .= '&'.urlencode($key).'='.urlencode($val); |
if (is_array($val)) { |
| |
foreach($val as $key2 => $val2) { |
| |
$this->cgi['persist'] .= '&'.rawurlencode($key) |
| |
.'['.rawurlencode($key2).']='.rawurlencode($val2); |
| |
} |
| |
} else { |
| |
$this->cgi['persist'] .= '&'.rawurlencode($key).'='.rawurlencode($val); |
| |
} |
| } |
} |
| } |
} |
| $this->cgi['prefix'] = array('operation' => 'PME::op::'); |
!isset($this->cgi['prefix']['operation']) && $this->cgi['prefix']['operation'] = 'PME_op_'; |
| if (isset($opts['cgi']['prefix']['operation'])) { |
!isset($this->cgi['prefix']['sys']) && $this->cgi['prefix']['sys'] = 'PME_sys_'; |
| $this->cgi['prefix']['operation'] = $opts['cgi']['prefix']['operation']; |
!isset($this->cgi['prefix']['data']) && $this->cgi['prefix']['data'] = 'PME_data_'; |
| } |
|
| // Sorting variables |
// Sorting variables |
| $this->sfn = $this->get_cgi_var('sfn'); |
$this->sfn = $this->get_sys_cgi_var('sfn'); |
| isset($this->sfn) || $this->sfn = array(); |
isset($this->sfn) || $this->sfn = array(); |
| is_array($this->sfn) || $this->sfn = array($this->sfn); |
is_array($this->sfn) || $this->sfn = array($this->sfn); |
| isset($opts['sort_field']) || $opts['sort_field'] = array(); |
isset($opts['sort_field']) || $opts['sort_field'] = array(); |
| is_array($opts['sort_field']) || $opts['sort_field'] = array($opts['sort_field']); |
is_array($opts['sort_field']) || $opts['sort_field'] = array($opts['sort_field']); |
| $this->sfn = array_merge($this->sfn, $opts['sort_field']); |
$this->sfn = array_merge($this->sfn, $opts['sort_field']); |
| // Form variables all around |
// Form variables all around |
| $this->fl = intval($this->get_cgi_var('fl')); |
$this->fl = intval($this->get_sys_cgi_var('fl')); |
| $this->fm = intval($this->get_cgi_var('fm')); |
$this->fm = intval($this->get_sys_cgi_var('fm')); |
| $this->qfn = $this->get_cgi_var('qfn'); |
$this->qfn = $this->get_sys_cgi_var('qfn'); |
| $this->sw = $this->get_cgi_var('sw'); |
$this->sw = $this->get_sys_cgi_var('sw'); |
| $this->rec = $this->get_cgi_var('rec', ''); |
$this->rec = $this->get_sys_cgi_var('rec', ''); |
| $this->navop = $this->get_cgi_var('navop'); |
$this->navop = $this->get_sys_cgi_var('navop'); |
| if (($this->navfm = $this->get_cgi_var('navfmup', $this->fm)) != $this->fm) { |
if (($this->navfm = $this->get_sys_cgi_var('navfmup', $this->fm)) != $this->fm) { |
| $this->navop = $this->labels['Go to']; |
$this->navop = $this->labels['Go to']; |
| } else if (($this->navfm = $this->get_cgi_var('navfmdown', $this->navfm)) != $this->fm) { |
} else if (($this->navfm = $this->get_sys_cgi_var('navfmdown', $this->navfm)) != $this->fm) { |
| $this->navop = $this->labels['Go to']; |
$this->navop = $this->labels['Go to']; |
| } |
} |
| $this->operation = $this->get_cgi_var('operation'); |
$this->operation = $this->get_sys_cgi_var('operation'); |
| $oper_prefix_len = strlen($this->cgi['prefix']['operation']); |
$oper_prefix_len = strlen($this->cgi['prefix']['operation']); |
| if (! strncmp($this->cgi['prefix']['operation'], $this->operation, $oper_prefix_len)) { |
if (! strncmp($this->cgi['prefix']['operation'], $this->operation, $oper_prefix_len)) { |
| $this->operation = $this->labels[substr($this->operation, $oper_prefix_len)]; |
$this->operation = $this->labels[substr($this->operation, $oper_prefix_len)]; |
| } |
} |
| $this->saveadd = $this->get_cgi_var('saveadd'); |
$this->saveadd = $this->get_sys_cgi_var('saveadd'); |
| $this->moreadd = $this->get_cgi_var('moreadd'); |
$this->moreadd = $this->get_sys_cgi_var('moreadd'); |
| $this->canceladd = $this->get_cgi_var('canceladd'); |
$this->canceladd = $this->get_sys_cgi_var('canceladd'); |
| $this->savechange = $this->get_cgi_var('savechange'); |
$this->savechange = $this->get_sys_cgi_var('savechange'); |
| $this->morechange = $this->get_cgi_var('morechange'); |
$this->morechange = $this->get_sys_cgi_var('morechange'); |
| $this->cancelchange = $this->get_cgi_var('cancelchange'); |
$this->cancelchange = $this->get_sys_cgi_var('cancelchange'); |
| $this->savecopy = $this->get_cgi_var('savecopy'); |
$this->savecopy = $this->get_sys_cgi_var('savecopy'); |
| $this->cancelcopy = $this->get_cgi_var('cancelcopy'); |
$this->cancelcopy = $this->get_sys_cgi_var('cancelcopy'); |
| $this->savedelete = $this->get_cgi_var('savedelete'); |
$this->savedelete = $this->get_sys_cgi_var('savedelete'); |
| $this->canceldelete = $this->get_cgi_var('canceldelete'); |
$this->canceldelete = $this->get_sys_cgi_var('canceldelete'); |
| $this->cancelview = $this->get_cgi_var('cancelview'); |
$this->cancelview = $this->get_sys_cgi_var('cancelview'); |
| // Filter setting |
// Filter setting |
| if (isset($this->sw)) { |
if (isset($this->sw)) { |
| $this->sw == $this->labels['Search'] && $this->fl = 1; |
$this->sw == $this->labels['Search'] && $this->fl = 1; |