X

Тюнингуем PhpMyAdmin

Надоело постоянно вводить одни и те же запросы, при работе над проектом, а закладки использовать было не удобно, добавил, функциональность к вкладке SQL.

Вариант, не идеальный, т.к. не учитывает, разных пользователей, но мне этого и не надо, во всяком случае пока. А если Вам будет необходимо, то Вы всегда сможете добавить, нужную функциональность.

Итак, открываем файл /usr/share/phpmyadmin/libraries/sql_query_form.lib.php

Ищем

        // start output  
        if ($is_querywindow) {  
        ...  
     echo '</form>' . "\n";  
        if ($is_querywindow) {  
            ?>  
            <script type="text/javascript">  
            //<![CDATA[  
                if (window.opener) {  
                    window.opener.parent.insertQuery();  
                }  
            //]]>  
            </script>  
            <?php  
        }  
      
        ВОТ_ЭТО_МЕСТО  
    }  
      
    /**  
     * prints querybox fieldset  
     *  
     * @usedby  PMA_sqlQueryForm()

Вставляем вместо "ВОТ_ЭТО_МЕСТО" такой код

        echo '<strong>Последние запросы</strong> ( <a href="?'.$_SERVER['QUERY_STRING'].'&qmclear=1">Очистить</a> ) :<br/>';  
        $qmpath='/var/tmp/phpmyadmin_qmem.ser';  
        if (!emptyempty($_REQUEST['qmclear'])) unlink($qmpath);  
        if (file_exists($qmpath) && ($qmdata=unserialize(file_get_contents($qmpath)))) {  
         foreach ($qmdata as $key=>$qmquery) echo '<table style="width:100%;"><tr><td><textarea id="qmta'.intval($key).'" style="height:45px; width:100%;">'.htmlspecialchars($qmquery).'</textarea></td><td valign="top" style="width:200px;"><input type="button" value="Скопировать в форму" >

Теперь, открываем файл /usr/share/phpmyadmin/import.php

Ищем

    // Are we just executing plain query or sql file? (eg. non import, but query box/window run)  
    if (!emptyempty($sql_query)) {

после этого добавляем

        $qmpath = '/var/tmp/phpmyadmin_qmem.ser';  
        $qmcount = 50;  
        $rdata = Array($sql_query);  
        if (file_exists($qmpath) && ($data = unserialize(file_get_contents($qmpath))))  
        for ($i=0; $i<count($data); $i++) if (count($rdata)<intval($qmcount) && (!in_array($data[$i], $rdata))) $rdata[] = $data[$i];  
        file_put_contents($qmpath, serialize($rdata));  
        unset($qmpath); unset($qmcount);  
        unset($data);   unset($rdata);

Вот и всё, теперь все Ваши последние запросы всегда перед глазами в удобном виде

Категории: MySQL Базы данных
Тэги: phpMyAdmin