本文整理汇总了PHP中PMA_Table::getUiProp方法的典型用法代码示例。如果您正苦于以下问题:PHP PMA_Table::getUiProp方法的具体用法?PHP PMA_Table::getUiProp怎么用?PHP PMA_Table::getUiProp使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PMA_Table
的用法示例。
在下文中一共展示了PMA_Table::getUiProp方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: PMA_handleSortOrder
/**
* Handle remembered sorting order, only for single table query
*
* @param string $db database name
* @param string $table table name
* @param array &$analyzed_sql_results the analyzed query results
* @param string &$full_sql_query SQL query
*
* @return void
*/
function PMA_handleSortOrder($db, $table, &$analyzed_sql_results, &$full_sql_query)
{
$pmatable = new PMA_Table($table, $db);
if (empty($analyzed_sql_results['order'])) {
// Retrieving the name of the column we should sort after.
$sortCol = $pmatable->getUiProp(PMA_Table::PROP_SORTED_COLUMN);
if (empty($sortCol)) {
return;
}
// Remove the name of the table from the retrieved field name.
$sortCol = str_replace(PMA_Util::backquote($table) . '.', '', $sortCol);
// Create the new query.
$full_sql_query = SqlParser\Utils\Query::replaceClause($analyzed_sql_results['statement'], $analyzed_sql_results['parser']->list, 'ORDER BY ' . $sortCol);
// TODO: Avoid reparsing the query.
$analyzed_sql_results = SqlParser\Utils\Query::getAll($full_sql_query);
} else {
// Store the remembered table into session.
$pmatable->setUiProp(PMA_Table::PROP_SORTED_COLUMN, SqlParser\Utils\Query::getClause($analyzed_sql_results['statement'], $analyzed_sql_results['parser']->list, 'ORDER BY'));
}
}
示例2: PMA_handleSortOrder
/**
* Handle remembered sorting order, only for single table query
*
* @param string $db database name
* @param string $table table name
* @param array &$analyzed_sql_results the analyzed query results
* @param string &$full_sql_query SQL query
*
* @return void
*/
function PMA_handleSortOrder($db, $table, &$analyzed_sql_results, &$full_sql_query)
{
$pmatable = new PMA_Table($table, $db);
if (empty($analyzed_sql_results['analyzed_sql'][0]['order_by_clause'])) {
$sorted_col = $pmatable->getUiProp(PMA_Table::PROP_SORTED_COLUMN);
if ($sorted_col) {
//remove the tablename from retrieved preference
//to get just the column name and the sort order
$sorted_col = str_replace(PMA_Util::backquote($table) . '.', '', $sorted_col);
// retrieve the remembered sorting order for current table
$sql_order_to_append = ' ORDER BY ' . $sorted_col . ' ';
$full_sql_query = $analyzed_sql_results['analyzed_sql'][0]['section_before_limit'] . $sql_order_to_append . $analyzed_sql_results['analyzed_sql'][0]['limit_clause'] . ' ' . $analyzed_sql_results['analyzed_sql'][0]['section_after_limit'];
// update the $analyzed_sql
$analyzed_sql_results['analyzed_sql'][0]['section_before_limit'] .= $sql_order_to_append;
$analyzed_sql_results['analyzed_sql'][0]['order_by_clause'] = $sorted_col;
}
} else {
// store the remembered table into session
$pmatable->setUiProp(PMA_Table::PROP_SORTED_COLUMN, $analyzed_sql_results['analyzed_sql'][0]['order_by_clause']);
}
}
示例3: _getColumnParams
/**
* Get column order and column visibility
*
* @param array $analyzed_sql the analyzed query
*
* @return array 2 element array - $col_order, $col_visib
*
* @access private
*
* @see _getTableBody()
*/
private function _getColumnParams($analyzed_sql)
{
if ($this->_isSelect($analyzed_sql)) {
$pmatable = new PMA_Table($this->__get('table'), $this->__get('db'));
$col_order = $pmatable->getUiProp(PMA_Table::PROP_COLUMN_ORDER);
$col_visib = $pmatable->getUiProp(PMA_Table::PROP_COLUMN_VISIB);
} else {
$col_order = false;
$col_visib = false;
}
return array($col_order, $col_visib);
}
示例4: testSetUiProp
/**
* Test for setUiProp
*
* @return void
*/
public function testSetUiProp()
{
$table_name = 'PMA_BookMark';
$db = 'PMA';
$table = new PMA_Table($table_name, $db);
$property = PMA_Table::PROP_COLUMN_ORDER;
$value = "UiProp_value";
$table_create_time = null;
$table->setUiProp($property, $value, $table_create_time);
//set UI prop successfully
$this->assertEquals($value, $table->uiprefs[$property]);
//removeUiProp
$table->removeUiProp($property);
$is_define_property = isset($table->uiprefs[$property]) ? true : false;
$this->assertEquals(false, $is_define_property);
//getUiProp after removeUiProp
$is_define_property = $table->getUiProp($property);
$this->assertEquals(false, $is_define_property);
}
示例5: PMA_updateColumns
/**
* Update the table's structure based on $_REQUEST
*
* @param string $db database name
* @param string $table table name
*
* @return boolean $regenerate true if error occurred
*
*/
function PMA_updateColumns($db, $table)
{
$err_url = 'tbl_structure.php' . PMA_URL_getCommon(array('db' => $db, 'table' => $table));
$regenerate = false;
$field_cnt = count($_REQUEST['field_name']);
$changes = array();
$pmatable = new PMA_Table($table, $db);
for ($i = 0; $i < $field_cnt; $i++) {
if (PMA_columnNeedsAlterTable($i)) {
$changes[] = 'CHANGE ' . PMA_Table::generateAlter(isset($_REQUEST['field_orig'][$i]) ? $_REQUEST['field_orig'][$i] : '', $_REQUEST['field_name'][$i], $_REQUEST['field_type'][$i], $_REQUEST['field_length'][$i], $_REQUEST['field_attribute'][$i], isset($_REQUEST['field_collation'][$i]) ? $_REQUEST['field_collation'][$i] : '', isset($_REQUEST['field_null'][$i]) ? $_REQUEST['field_null'][$i] : 'NOT NULL', $_REQUEST['field_default_type'][$i], $_REQUEST['field_default_value'][$i], isset($_REQUEST['field_extra'][$i]) ? $_REQUEST['field_extra'][$i] : false, isset($_REQUEST['field_comments'][$i]) ? $_REQUEST['field_comments'][$i] : '', isset($_REQUEST['field_move_to'][$i]) ? $_REQUEST['field_move_to'][$i] : '');
// find the remembered sort expression
$sorted_col = $pmatable->getUiProp(PMA_Table::PROP_SORTED_COLUMN);
// if the old column name is part of the remembered sort expression
if (mb_strpos($sorted_col, PMA_Util::backquote($_REQUEST['field_orig'][$i])) !== false) {
// delete the whole remembered sort expression
$pmatable->removeUiProp(PMA_Table::PROP_SORTED_COLUMN);
}
}
}
// end for
$response = PMA_Response::getInstance();
if (count($changes) > 0 || isset($_REQUEST['preview_sql'])) {
// Builds the primary keys statements and updates the table
$key_query = '';
/**
* this is a little bit more complex
*
* @todo if someone selects A_I when altering a column we need to check:
* - no other column with A_I
* - the column has an index, if not create one
*
*/
// To allow replication, we first select the db to use
// and then run queries on this db.
if (!$GLOBALS['dbi']->selectDb($db)) {
PMA_Util::mysqlDie($GLOBALS['dbi']->getError(), 'USE ' . PMA_Util::backquote($db) . ';', false, $err_url);
}
$sql_query = 'ALTER TABLE ' . PMA_Util::backquote($table) . ' ';
$sql_query .= implode(', ', $changes) . $key_query;
$sql_query .= ';';
// If there is a request for SQL previewing.
if (isset($_REQUEST['preview_sql'])) {
PMA_previewSQL(count($changes) > 0 ? $sql_query : '');
}
$result = $GLOBALS['dbi']->tryQuery($sql_query);
if ($result !== false) {
$message = PMA_Message::success(__('Table %1$s has been altered successfully.'));
$message->addParam($table);
$response->addHTML(PMA_Util::getMessage($message, $sql_query, 'success'));
} else {
// An error happened while inserting/updating a table definition
$response->isSuccess(false);
$response->addJSON('message', PMA_Message::rawError(__('Query error') . ':<br />' . $GLOBALS['dbi']->getError()));
$regenerate = true;
}
}
include_once 'libraries/transformations.lib.php';
// update field names in relation
if (isset($_REQUEST['field_orig']) && is_array($_REQUEST['field_orig'])) {
foreach ($_REQUEST['field_orig'] as $fieldindex => $fieldcontent) {
if ($_REQUEST['field_name'][$fieldindex] != $fieldcontent) {
PMA_REL_renameField($db, $table, $fieldcontent, $_REQUEST['field_name'][$fieldindex]);
}
}
}
// update mime types
if (isset($_REQUEST['field_mimetype']) && is_array($_REQUEST['field_mimetype']) && $GLOBALS['cfg']['BrowseMIME']) {
foreach ($_REQUEST['field_mimetype'] as $fieldindex => $mimetype) {
if (isset($_REQUEST['field_name'][$fieldindex]) && mb_strlen($_REQUEST['field_name'][$fieldindex])) {
PMA_setMIME($db, $table, $_REQUEST['field_name'][$fieldindex], $mimetype, $_REQUEST['field_transformation'][$fieldindex], $_REQUEST['field_transformation_options'][$fieldindex], $_REQUEST['field_input_transformation'][$fieldindex], $_REQUEST['field_input_transformation_options'][$fieldindex]);
}
}
}
return $regenerate;
}
示例6: PMA_handleSortOrder
/**
* Handle remembered sorting order, only for single table query
*
* @param string $db database name
* @param string $table table name
* @param array &$analyzed_sql the analyzed query
* @param string &$full_sql_query SQL query
*
* @return void
*/
function PMA_handleSortOrder($db, $table, &$analyzed_sql, &$full_sql_query)
{
$pmatable = new PMA_Table($table, $db);
if (empty($analyzed_sql[0]['order_by_clause'])) {
$sorted_col = $pmatable->getUiProp(PMA_Table::PROP_SORTED_COLUMN);
if ($sorted_col) {
// retrieve the remembered sorting order for current table
$sql_order_to_append = ' ORDER BY ' . $sorted_col . ' ';
$full_sql_query = $analyzed_sql[0]['section_before_limit'] . $sql_order_to_append . $analyzed_sql[0]['limit_clause'] . ' ' . $analyzed_sql[0]['section_after_limit'];
// update the $analyzed_sql
$analyzed_sql[0]['section_before_limit'] .= $sql_order_to_append;
$analyzed_sql[0]['order_by_clause'] = $sorted_col;
}
} else {
// store the remembered table into session
$pmatable->setUiProp(PMA_Table::PROP_SORTED_COLUMN, $analyzed_sql[0]['order_by_clause']);
}
}
示例7: PMA_displayVerticalTable
/**
* Do display the result table with the vertical direction mode.
*
* @return boolean always true
*
* @global array $vertical_display the information to display
*
* @access private
*
* @see PMA_displayTable()
*/
function PMA_displayVerticalTable()
{
global $vertical_display;
// Displays "multi row delete" link at top if required
if ($GLOBALS['cfg']['RowActionLinks'] != 'right' && is_array($vertical_display['row_delete']) && (count($vertical_display['row_delete']) > 0 || !empty($vertical_display['textbtn']))) {
echo '<tr>' . "\n";
if ($GLOBALS['cfg']['RowActionLinks'] == 'none') {
// if we are not showing the RowActionLinks, then we need to show the Multi-Row-Action checkboxes
echo '<th></th>' . "\n";
}
echo $vertical_display['textbtn'];
$cell_displayed = 0;
foreach ($vertical_display['row_delete'] as $val) {
if ($cell_displayed != 0 && $_SESSION['tmp_user_values']['repeat_cells'] != 0 && !($cell_displayed % $_SESSION['tmp_user_values']['repeat_cells'])) {
echo '<th' . ($is_display['edit_lnk'] != 'nn' && $is_display['del_lnk'] != 'nn' ? ' rowspan="4"' : '') . '></th>' . "\n";
}
echo str_replace('[%_PMA_CHECKBOX_DIR_%]', '_left', $val);
$cell_displayed++;
}
// end while
echo '</tr>' . "\n";
}
// end if
// Displays "edit" link at top if required
if (($GLOBALS['cfg']['RowActionLinks'] == 'left' || $GLOBALS['cfg']['RowActionLinks'] == 'both') && is_array($vertical_display['edit']) && (count($vertical_display['edit']) > 0 || !empty($vertical_display['textbtn']))) {
echo '<tr>' . "\n";
if (!is_array($vertical_display['row_delete'])) {
echo $vertical_display['textbtn'];
}
foreach ($vertical_display['edit'] as $val) {
echo $val;
}
// end while
echo '</tr>' . "\n";
}
// end if
// Displays "copy" link at top if required
if (($GLOBALS['cfg']['RowActionLinks'] == 'left' || $GLOBALS['cfg']['RowActionLinks'] == 'both') && is_array($vertical_display['copy']) && (count($vertical_display['copy']) > 0 || !empty($vertical_display['textbtn']))) {
echo '<tr>' . "\n";
if (!is_array($vertical_display['row_delete'])) {
echo $vertical_display['textbtn'];
}
foreach ($vertical_display['copy'] as $val) {
echo $val;
}
// end while
echo '</tr>' . "\n";
}
// end if
// Displays "delete" link at top if required
if (($GLOBALS['cfg']['RowActionLinks'] == 'left' || $GLOBALS['cfg']['RowActionLinks'] == 'both') && is_array($vertical_display['delete']) && (count($vertical_display['delete']) > 0 || !empty($vertical_display['textbtn']))) {
echo '<tr>' . "\n";
if (!is_array($vertical_display['edit']) && !is_array($vertical_display['row_delete'])) {
echo $vertical_display['textbtn'];
}
foreach ($vertical_display['delete'] as $val) {
echo $val;
}
// end while
echo '</tr>' . "\n";
}
// end if
if (PMA_isSelect()) {
// prepare to get the column order, if available
$pmatable = new PMA_Table($GLOBALS['table'], $GLOBALS['db']);
$col_order = $pmatable->getUiProp(PMA_Table::PROP_COLUMN_ORDER);
$col_visib = $pmatable->getUiProp(PMA_Table::PROP_COLUMN_VISIB);
} else {
$col_order = false;
$col_visib = false;
}
// Displays data
foreach ($vertical_display['desc'] as $j => $val) {
// assign appropriate key with current column order
$key = $col_order ? $col_order[$j] : $j;
echo '<tr' . ($col_visib && !$col_visib[$j] ? ' class="hide"' : '') . '>' . "\n";
echo $val;
$cell_displayed = 0;
foreach ($vertical_display['rowdata'][$key] as $subval) {
if ($cell_displayed != 0 && $_SESSION['tmp_user_values']['repeat_cells'] != 0 and !($cell_displayed % $_SESSION['tmp_user_values']['repeat_cells'])) {
echo $val;
}
echo $subval;
$cell_displayed++;
}
// end while
echo '</tr>' . "\n";
}
// end while
//.........这里部分代码省略.........