/** * Test for getMessageForDeletedRows() method * * @param int $rows Number of rows * @param string $output Expected string * * @return void * * @dataProvider providerDeletedRows */ public function testDeletedRows($rows, $output) { $this->object = new PMA_Message(); $msg = $this->object->getMessageForDeletedRows($rows); echo $this->object->addMessage($msg); $this->expectOutputString($output); $this->object->display(); }
/** * Function to get the message for the no rows returned case * * @param string $message_to_show message to show * @param array $analyzed_sql_results analyzed sql results * @param int $num_rows number of rows * * @return string $message */ function PMA_getMessageForNoRowsReturned($message_to_show, $analyzed_sql_results, $num_rows) { if ($analyzed_sql_results['is_delete']) { $message = PMA_Message::getMessageForDeletedRows($num_rows); } elseif ($analyzed_sql_results['is_insert']) { if ($analyzed_sql_results['is_replace']) { // For replace we get DELETED + INSERTED row count, // so we have to call it affected $message = PMA_Message::getMessageForAffectedRows($num_rows); } else { $message = PMA_Message::getMessageForInsertedRows($num_rows); } $insert_id = $GLOBALS['dbi']->insertId(); if ($insert_id != 0) { // insert_id is id of FIRST record inserted in one insert, // so if we inserted multiple rows, we had to increment this $message->addMessage('[br]'); // need to use a temporary because the Message class // currently supports adding parameters only to the first // message $_inserted = PMA_Message::notice(__('Inserted row id: %1$d')); $_inserted->addParam($insert_id + $num_rows - 1); $message->addMessage($_inserted); } } elseif ($analyzed_sql_results['is_affected']) { $message = PMA_Message::getMessageForAffectedRows($num_rows); // Ok, here is an explanation for the !$is_select. // The form generated by sql_query_form.lib.php // and db_sql.php has many submit buttons // on the same form, and some confusion arises from the // fact that $message_to_show is sent for every case. // The $message_to_show containing a success message and sent with // the form should not have priority over errors } elseif (!empty($message_to_show) && !$analyzed_sql_results['is_select']) { $message = PMA_Message::rawSuccess(htmlspecialchars($message_to_show)); } elseif (!empty($GLOBALS['show_as_php'])) { $message = PMA_Message::success(__('Showing as PHP code')); } elseif (isset($GLOBALS['show_as_php'])) { /* User disable showing as PHP, query is only displayed */ $message = PMA_Message::notice(__('Showing SQL query')); } else { $message = PMA_Message::success(__('MySQL returned an empty result set (i.e. zero rows).')); } if (isset($GLOBALS['querytime'])) { $_querytime = PMA_Message::notice('(' . __('Query took %01.4f seconds.') . ')'); $_querytime->addParam($GLOBALS['querytime']); $message->addMessage($_querytime); } // In case of ROLLBACK, notify the user. if (isset($_REQUEST['rollback_query'])) { $message->addMessage(__('[ROLLBACK occurred.]')); } return $message; }
include_once 'libraries/transformations.lib.php'; if ($analyzed_sql[0]['querytype'] == 'ALTER') { if (stripos($analyzed_sql[0]['unsorted_query'], 'DROP') !== false) { $drop_column = PMA_getColumnNameInColumnDropSql($analyzed_sql[0]['unsorted_query']); if ($drop_column != '') { PMA_clearTransformations($db, $table, $drop_column); } } } else { if ($analyzed_sql[0]['querytype'] == 'DROP' && $table != '') { PMA_clearTransformations($db, $table); } } } if ($is_delete) { $message = PMA_Message::getMessageForDeletedRows($num_rows); } elseif ($is_insert) { if ($is_replace) { // For replace we get DELETED + INSERTED row count, // so we have to call it affected $message = PMA_Message::getMessageForAffectedRows($num_rows); } else { $message = PMA_Message::getMessageForInsertedRows($num_rows); } $insert_id = PMA_DBI_insert_id(); if ($insert_id != 0) { // insert_id is id of FIRST record inserted in one insert, // so if we inserted multiple rows, we had to increment this $message->addMessage('[br]'); // need to use a temporary because the Message class // currently supports adding parameters only to the first