/**
  * 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();
 }
Beispiel #2
0
/**
 * 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