/**
  * Test for PMA_getLinkForRelationalDisplayField
  *
  * @return void
  */
 public function testGetLinkForRelationalDisplayField()
 {
     $GLOBALS['cfg']['ServerDefault'] = 1;
     $_SESSION['tmpval']['relational_display'] = 'K';
     $map = array();
     $map['f']['foreign_db'] = 'information_schema';
     $map['f']['foreign_table'] = 'TABLES';
     $map['f']['foreign_field'] = 'f';
     $result = PMA_getLinkForRelationalDisplayField($map, 'f', "=1", "a>", "b<");
     $this->assertEquals('<a href="sql.php?db=information_schema&amp;table=TABLES&amp;pos=0&amp;' . 'sql_query=SELECT+%2A+FROM+%60information_schema%60.%60TABLES%60+WHERE' . '+%60f%60%3D1&amp;lang=en&amp;token=token" title="a&gt;">b&lt;</a>', $result);
     $_SESSION['tmpval']['relational_display'] = 'D';
     $result = PMA_getLinkForRelationalDisplayField($map, 'f', "=1", "a>", "b<");
     $this->assertEquals('<a href="sql.php?db=information_schema&amp;table=TABLES&amp;pos=0&amp;' . 'sql_query=SELECT+%2A+FROM+%60information_schema%60.%60TABLES%60+WHERE' . '+%60f%60%3D1&amp;lang=en&amp;token=token" title="b&lt;">a&gt;</a>', $result);
 }
예제 #2
0
  * 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) {
             $file = PMA_securePath($transformation[$type]);
예제 #3
0
        $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",