Example #1
0
  * If we are in grid editing, we need to process the relational and
  * transformed fields, if they were edited. After that, output the correct
  * link/transformed value and exit
  *
  * Logic taken from libraries/DisplayResults.class.php
  */
 if (isset($_REQUEST['rel_fields_list']) && $_REQUEST['rel_fields_list'] != '') {
     $map = PMA_getForeigners($db, $table, '', 'both');
     $relation_fields = array();
     parse_str($_REQUEST['rel_fields_list'], $relation_fields);
     // loop for each relation cell
     /** @var array $relation_fields */
     foreach ($relation_fields as $cell_index => $curr_rel_field) {
         foreach ($curr_rel_field as $relation_field => $relation_field_value) {
             $where_comparison = "='" . $relation_field_value . "'";
             $dispval = PMA_getDisplayValueForForeignTableColumn($where_comparison, $map, $relation_field);
             $extra_data['relations'][$cell_index] = PMA_getLinkForRelationalDisplayField($map, $relation_field, $where_comparison, $dispval, $relation_field_value);
         }
     }
     // end of loop for each relation cell
 }
 if (isset($_REQUEST['do_transformations']) && $_REQUEST['do_transformations'] == true) {
     $edited_values = array();
     parse_str($_REQUEST['transform_fields_list'], $edited_values);
     if (!isset($extra_data)) {
         $extra_data = array();
     }
     $transformation_types = array("input_transformation", "transformation");
     foreach ($mime_map as $transformation) {
         $column_name = $transformation['column_name'];
         foreach ($transformation_types as $type) {
 /**
  * Test for PMA_getDisplayValueForForeignTableColumn
  *
  * @return void
  */
 public function testGetDisplayValueForForeignTableColumn()
 {
     $map = array();
     $map['f']['foreign_db'] = 'information_schema';
     $map['f']['foreign_table'] = 'TABLES';
     $map['f']['foreign_field'] = 'f';
     $dbi = $this->getMockBuilder('PMA_DatabaseInterface')->disableOriginalConstructor()->getMock();
     $dbi->expects($this->once())->method('tryQuery')->with('SELECT `TABLE_COMMENT` FROM `information_schema`.`TABLES` WHERE ' . '`f`=1', null, PMA_DatabaseInterface::QUERY_STORE)->will($this->returnValue('r1'));
     $dbi->expects($this->once())->method('numRows')->with('r1')->will($this->returnValue('2'));
     $dbi->expects($this->once())->method('fetchRow')->with('r1', 0)->will($this->returnValue(array('2')));
     $GLOBALS['dbi'] = $dbi;
     $result = PMA_getDisplayValueForForeignTableColumn("=1", null, $map, 'f');
     $this->assertEquals(2, $result);
 }