refactoring for checkbox and links in Browse mode (horizontal)

This commit is contained in:
Marc Delisle
2010-10-21 09:22:06 -04:00
parent 10bbd76fc1
commit 1394cc65e8
2 changed files with 121 additions and 75 deletions

View File

@@ -1212,8 +1212,10 @@ function PMA_displayTableBody(&$dt_result, &$is_display, $map, $analyzed_sql) {
if ($GLOBALS['cfg']['ModifyDeleteAtLeft']
&& ($_SESSION['tmp_user_values']['disp_direction'] == 'horizontal'
|| $_SESSION['tmp_user_values']['disp_direction'] == 'horizontalflipped')) {
$doWriteModifyAt = 'left';
require './libraries/display_tbl_links.lib.php';
if (! isset($js_conf)) {
$js_conf = '';
}
echo PMA_generateCheckboxAndLinks('left', $del_url, $is_display, $row_no, $where_clause, $where_clause_html, $del_query, 'l', $edit_url, $edit_anchor_class, $edit_str, $del_str, $js_conf);
} // end if (1.3)
} // end if (1)
@@ -1425,8 +1427,10 @@ function PMA_displayTableBody(&$dt_result, &$is_display, $map, $analyzed_sql) {
if ($GLOBALS['cfg']['ModifyDeleteAtRight']
&& ($_SESSION['tmp_user_values']['disp_direction'] == 'horizontal'
|| $_SESSION['tmp_user_values']['disp_direction'] == 'horizontalflipped')) {
$doWriteModifyAt = 'right';
require './libraries/display_tbl_links.lib.php';
if (! isset($js_conf)) {
$js_conf = '';
}
echo PMA_generateCheckboxAndLinks('right', $del_url, $is_display, $row_no, $where_clause, $where_clause_html, $del_query, 'r', $edit_url, $edit_anchor_class, $edit_str, $del_str, $js_conf);
} // end if (3)
if ($_SESSION['tmp_user_values']['disp_direction'] == 'horizontal'
@@ -2442,4 +2446,117 @@ function PMA_prepare_row_data($mouse_events, $class, $condition_field, $analyzed
return $result;
}
/**
* Generates a checkbox for multi-row submits
*
* @uses htmlspecialchars
* @param string $del_url
* @param array $is_display
* @param string $row_no
* @param string $where_clause_html
* @param string $del_query
* @param string $id_suffix
* @return string the generated HTML
*/
function PMA_generateCheckboxForMulti($del_url, $is_display, $row_no, $where_clause_html, $del_query, $id_suffix) {
$ret = '';
if (! empty($del_url) && $is_display['del_lnk'] != 'kp') {
$ret .= '<td align="center">'
. '<input type="checkbox" id="id_rows_to_delete' . $row_no . '_' . $id_suffix . '" name="rows_to_delete[' . $where_clause_html . ']"'
. ' onclick="copyCheckboxesRange(\'rowsDeleteForm\', \'id_rows_to_delete' . $row_no . '\',\'' . $id_suffix . '\');"'
. ' value="' . htmlspecialchars($del_query) . '" ' . (isset($GLOBALS['checkall']) ? 'checked="checked"' : '') . ' />'
. ' </td>';
}
return $ret;
}
/**
* Generates an Edit link
*
* @uses PMA_linkOrButton()
* @param string $edit_url
* @param string $edit_anchor_class
* @param string $edit_str
* @param string $where_clause
* @param string $where_clause_html
* @return string the generated HTML
*/
function PMA_generateEditLink($edit_url, $edit_anchor_class, $edit_str, $where_clause, $where_clause_html) {
$ret = '';
if (! empty($edit_url)) {
$ret .= '<td class="' . $edit_anchor_class . '" align="center">'
. PMA_linkOrButton($edit_url, $edit_str, '', FALSE);
/*
* Where clause for selecting this row uniquely is provided as
* a hidden input. Used by jQuery scripts for handling inline editing
*/
if(! empty($where_clause)) {
$ret .= '<input type="hidden" class="where_clause" value ="' . $where_clause_html . '" />';
}
$ret .= '</td>';
}
return $ret;
}
/**
* Generates a Delete link
*
* @uses PMA_linkOrButton()
* @param string $del_url
* @param string $del_str
* @param string $js_conf
* @return string the generated HTML
*/
function PMA_generateDeleteLink($del_url, $del_str, $js_conf) {
$ret = '';
if (! empty($del_url)) {
$ret .= ' <td align="center">'
. PMA_linkOrButton($del_url, $del_str, $js_conf, FALSE)
. ' </td>';
}
return $ret;
}
/**
* Generates checkbox and links at some position (left or right)
*
* @uses PMA_generateCheckboxForMulti()
* @uses PMA_generateEditLink()
* @uses PMA_generateDeleteLink()
* @param string $position
* @param string $del_url
* @param array $is_display
* @param string $row_no
* @param string $where_clause
* @param string $where_clause_html
* @param string $del_query
* @param string $id_suffix
* @param string $edit_url
* @param string $edit_anchor_class
* @param string $edit_str
* @param string $del_str
* @param string $js_conf
* @return string the generated HTML
*/
function PMA_generateCheckboxAndLinks($position, $del_url, $is_display, $row_no, $where_clause, $where_clause_html, $del_query, $id_suffix, $edit_url, $edit_anchor_class, $edit_str, $del_str, $js_conf) {
$ret = '';
if ($position == 'left') {
$ret .= PMA_generateCheckboxForMulti($del_url, $is_display, $row_no, $where_clause_html, $del_query, $id_suffix='l');
$ret .= PMA_generateEditLink($edit_url, $edit_anchor_class, $edit_str, $where_clause, $where_clause_html);
$ret .= PMA_generateDeleteLink($del_url, $del_str, $js_conf);
} elseif ($position == 'right') {
$ret .= PMA_generateDeleteLink($del_url, $del_str, $js_conf);
$ret .= PMA_generateEditLink($edit_url, $edit_anchor_class, $edit_str, $where_clause, $where_clause_html);
$ret .= PMA_generateCheckboxForMulti($del_url, $is_display, $row_no, $where_clause_html, $del_query, $id_suffix='r');
}
return $ret;
}
?>

View File

@@ -1,71 +0,0 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
*
* - bugfix for select all checkboxes
* - copy right to left (or left to right) if user click on a check box
* - reversed the right modify links: 1. drop, 2. edit, 3. checkbox
* - also changes made in js/functions.js
*
* @package phpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/**
*
*/
if ($doWriteModifyAt == 'left') {
if (!empty($del_url) && $is_display['del_lnk'] != 'kp') {
echo ' <td align="center">' . "\n"
. ' <input type="checkbox" id="id_rows_to_delete' . $row_no . '" name="rows_to_delete[' . $where_clause_html . ']"'
. ' onclick="copyCheckboxesRange(\'rowsDeleteForm\', \'id_rows_to_delete' . $row_no . '\',\'l\');"'
. ' value="' . htmlspecialchars($del_query) . '" ' . (isset($GLOBALS['checkall']) ? 'checked="checked"' : '') . ' />' . "\n"
. ' </td>' . "\n";
}
if (!empty($edit_url)) {
echo '<td class="' . $edit_anchor_class . '" align="center">'
. PMA_linkOrButton($edit_url, $edit_str, '', FALSE);
/*
* Where clause for selecting this row uniquely is provided as
* a hidden input. Used by jQuery scripts for handling inline editing
*/
if(! empty($where_clause)) {
echo '<input type="hidden" class="where_clause" value ="' . $where_clause_html . '" />';
}
echo '</td>';
}
if (!empty($del_url)) {
echo ' <td align="center">' . "\n"
. PMA_linkOrButton($del_url, $del_str, (isset($js_conf) ? $js_conf : ''), FALSE)
. ' </td>' . "\n";
}
} elseif ($doWriteModifyAt == 'right') {
if (!empty($del_url)) {
echo ' <td align="center">' . "\n"
. PMA_linkOrButton($del_url, $del_str, (isset($js_conf) ? $js_conf : ''), FALSE)
. ' </td>' . "\n";
}
if (!empty($edit_url)) {
echo '<td class="' . $edit_anchor_class . '" align="center">'
. PMA_linkOrButton($edit_url, $edit_str, '', FALSE);
/*
* Where clause for selecting this row uniquely is provided as
* a hidden input. Used by jQuery scripts for handling inline editing
*/
if(! empty($where_clause)) {
echo '<input type="hidden" class="where_clause" value ="' . $where_clause_html . '" />';
}
echo ' </td>';
}
if (!empty($del_url) && $is_display['del_lnk'] != 'kp') {
echo ' <td align="center">' . "\n"
. ' <input type="checkbox" id="id_rows_to_delete' . $row_no . 'r" name="rows_to_delete[' . $where_clause_html . ']"'
. ' onclick="copyCheckboxesRange(\'rowsDeleteForm\', \'id_rows_to_delete' . $row_no . '\',\'r\');"'
. ' value="' . htmlspecialchars($del_query) . '" ' . (isset($GLOBALS['checkall']) ? 'checked="checked"' : '') . ' />' . "\n"
. ' </td>' . "\n";
}
}
?>