예제 #1
0
            $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]);
                $extra_data = PMA_transformEditedValues($db, $table, $transformation, $edited_values, $file, $column_name, $extra_data, $type);
            }
        }
        // end of loop for each $mime_map
    }
    // Need to check the inline edited value can be truncated by MySQL
    // without informing while saving
    $column_name = $_REQUEST['fields_name']['multi_edit'][0][0];
    PMA_verifyWhetherValueCanBeTruncatedAndAppendExtraData($db, $table, $column_name, $extra_data);
    /**Get the total row count of the table*/
    $_table = new PMA_Table($_REQUEST['table'], $_REQUEST['db']);
    $extra_data['row_count'] = $_table->countRecords();
    $extra_data['sql_query'] = PMA_Util::getMessage($message, $GLOBALS['display_query']);
    $response = PMA_Response::getInstance();
    $response->isSuccess($message->isSuccess());
    $response->addJSON('message', $message);
    $response->addJSON($extra_data);
    exit;
}
if (!empty($return_to_sql_query)) {
    $disp_query = $GLOBALS['sql_query'];
    $disp_message = $message;
    unset($message);
    $GLOBALS['sql_query'] = $return_to_sql_query;
 /**
  * Test for PMA_verifyWhetherValueCanBeTruncatedAndAppendExtraData
  *
  * @return void
  */
 public function testVerifyWhetherValueCanBeTruncatedAndAppendExtraData()
 {
     $extra_data = array('isNeedToRecheck' => true);
     $meta = new stdClass();
     $_REQUEST['where_clause'][0] = 1;
     $dbi = $this->getMockBuilder('PMA_DatabaseInterface')->disableOriginalConstructor()->getMock();
     $dbi->expects($this->at(0))->method('tryQuery')->with('SELECT `table`.`a` FROM `db`.`table` WHERE 1');
     $meta->type = 'int';
     $dbi->expects($this->at(1))->method('getFieldsMeta')->will($this->returnValue(array($meta)));
     $dbi->expects($this->at(2))->method('fetchValue')->will($this->returnValue(false));
     $dbi->expects($this->at(3))->method('tryQuery')->with('SELECT `table`.`a` FROM `db`.`table` WHERE 1');
     $meta->type = 'int';
     $dbi->expects($this->at(4))->method('getFieldsMeta')->will($this->returnValue(array($meta)));
     $dbi->expects($this->at(5))->method('fetchValue')->will($this->returnValue('123'));
     $dbi->expects($this->at(6))->method('tryQuery')->with('SELECT `table`.`a` FROM `db`.`table` WHERE 1');
     $meta->type = 'timestamp';
     $dbi->expects($this->at(7))->method('getFieldsMeta')->will($this->returnValue(array($meta)));
     $dbi->expects($this->at(8))->method('fetchValue')->will($this->returnValue('2013-08-28 06:34:14'));
     $GLOBALS['dbi'] = $dbi;
     PMA_verifyWhetherValueCanBeTruncatedAndAppendExtraData('db', 'table', 'a', $extra_data);
     $this->assertFalse($extra_data['isNeedToRecheck']);
     PMA_verifyWhetherValueCanBeTruncatedAndAppendExtraData('db', 'table', 'a', $extra_data);
     $this->assertEquals('123', $extra_data['truncatableFieldValue']);
     $this->assertTrue($extra_data['isNeedToRecheck']);
     PMA_verifyWhetherValueCanBeTruncatedAndAppendExtraData('db', 'table', 'a', $extra_data);
     $this->assertEquals('2013-08-28 06:34:14.000000', $extra_data['truncatableFieldValue']);
     $this->assertTrue($extra_data['isNeedToRecheck']);
 }