⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 docsql.php

📁 一个用PHP编写的
💻 PHP
字号:
<?php/* vim: set expandtab sw=4 ts=4 sts=4: *//** * DocSQL import plugin for phpMyAdmin * * @version $Id: docsql.php 11336 2008-06-21 15:01:27Z lem9 $ */if (! defined('PHPMYADMIN')) {    exit;}require_once './libraries/relation.lib.php';$cfgRelation = PMA_getRelationsParam();/** * We need relations enabled and we work only on database */if ($plugin_param !== 'database' || $GLOBALS['num_tables'] < 1 || ! $cfgRelation['relwork'] || ! $cfgRelation['commwork']) {    return;}if (isset($plugin_list)) {    $plugin_list['docsql'] = array(           // set name of your plugin        'text' => 'strDocSQL',                // text to be displayed as choice        'extension' => '',                  // extension this plugin can handle        'options' => array(                 // array of options for your plugin (optional)            array('type' => 'text', 'name' => 'table', 'text' => 'strTableName'),        ),        'options_text' => 'strOptions', // text to describe plugin options (must be set if options are used)        );    /* We do not define function when plugin is just queried for information above */    return;}$tab = $_POST['docsql_table'];$buffer = '';/* Read whole buffer, we except it is small enough */while (!$finished && !$error && !$timeout_passed) {    $data = PMA_importGetNextChunk();    if ($data === FALSE) {        // subtract data we didn't handle yet and stop processing        break;    } elseif ($data === TRUE) {        // nothing to read        break;    } else {        // Append new data to buffer        $buffer .= $data;    }} // End of import loop/* Process the data */if ($data === TRUE && !$error && !$timeout_passed) {    $buffer = str_replace("\r\n", "\n", $buffer);    $buffer = str_replace("\r", "\n", $buffer);    $lines = explode("\n", $buffer);    foreach ($lines AS $lkey => $line) {        //echo '<p>' . $line . '</p>';        $inf     = explode('|', $line);        if (!empty($inf[1]) && strlen(trim($inf[1])) > 0) {            $qry = '                 INSERT INTO                        ' . PMA_backquote($cfgRelation['db']) . '.' . PMA_backquote($cfgRelation['column_info']) . '                      (db_name, table_name, column_name, ' . PMA_backquote('comment') . ')                 VALUES (                        \'' . PMA_sqlAddslashes($GLOBALS['db']) . '\',                        \'' . PMA_sqlAddslashes(trim($tab)) . '\',                        \'' . PMA_sqlAddslashes(trim($inf[0])) . '\',                        \'' . PMA_sqlAddslashes(trim($inf[1])) . '\')';            PMA_importRunQuery($qry, $qry . '-- ' . htmlspecialchars($tab) . '.' . htmlspecialchars($inf[0]), true);        } // end inf[1] exists        if (!empty($inf[2]) && strlen(trim($inf[2])) > 0) {            $for = explode('->', $inf[2]);            $qry = '                 INSERT INTO                        ' . PMA_backquote($cfgRelation['db']) . '.' . PMA_backquote($cfgRelation['relation']) . '                      (master_db, master_table, master_field, foreign_db, foreign_table, foreign_field)                 VALUES (                        \'' . PMA_sqlAddslashes($GLOBALS['db']) . '\',                        \'' . PMA_sqlAddslashes(trim($tab)) . '\',                        \'' . PMA_sqlAddslashes(trim($inf[0])) . '\',                        \'' . PMA_sqlAddslashes($GLOBALS['db']) . '\',                        \'' . PMA_sqlAddslashes(trim($for[0])) . '\',                        \'' . PMA_sqlAddslashes(trim($for[1])) . '\')';            PMA_importRunQuery($qry, $qry . '-- ' . htmlspecialchars($tab) . '.' . htmlspecialchars($inf[0]) . '(' . htmlspecialchars($inf[2]) . ')', true);        } // end inf[2] exists    } // End lines loop} // End import// Commit any possible data in buffersPMA_importRunQuery();?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -