145 Zeilen
		
	
	
	
		
			3,6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			145 Zeilen
		
	
	
	
		
			3,6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * This file is part of MySQLDumper released under the GNU/GPL 2 license
 | |
|  * http://www.mysqldumper.net
 | |
|  *
 | |
|  * @package         MySQLDumper
 | |
|  * @subpackage      Controllers
 | |
|  * @version         SVN: $Rev$
 | |
|  * @author          $Author$
 | |
|  */
 | |
| /**
 | |
|  * Sqlserver Controller
 | |
|  *
 | |
|  * Controller to handle actions an SQLBrowser screen
 | |
|  *
 | |
|  * @package         MySQLDumper
 | |
|  * @subpackage      Controllers
 | |
|  */
 | |
| class SqlServerController extends Zend_Controller_Action
 | |
| {
 | |
|     /**
 | |
|      * Init
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function init()
 | |
|     {
 | |
|         $this->db = Msd_Db::getAdapter();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Index action
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function indexAction()
 | |
|     {
 | |
|         $this->_forward('show.variables');
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Show list of MySQL Variables
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function showVariablesAction()
 | |
|     {
 | |
|         $selectedGroup = $this->getRequest()->getParam('group', '');
 | |
|         $variables = $this->db->getVariables();
 | |
|         $groups = Msd_Html::getPrefixArray($variables);
 | |
|         $this->view->groupOptions =
 | |
|                 Msd_Html::getHtmlOptions($groups, $selectedGroup);
 | |
|         if ($selectedGroup > '') {
 | |
|             foreach ($variables as $key => $val) {
 | |
|                 if (substr($key, 0, strlen($selectedGroup)) != $selectedGroup) {
 | |
|                     unset($variables[$key]);
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         $this->view->variables = $variables;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Show status values of MySQL-Server
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function showStatusAction()
 | |
|     {
 | |
|         $selectedGroup = $this->getRequest()->getParam('group', '');
 | |
|         $variables = $this->db->getGlobalStatus();
 | |
|         $groups = Msd_Html::getPrefixArray($variables);
 | |
|         $this->view->groupOptions =
 | |
|                 Msd_Html::getHtmlOptions($groups, $selectedGroup);
 | |
|         if ($selectedGroup > '') {
 | |
|             foreach ($variables as $key => $val) {
 | |
|                 if (substr($key, 0, strlen($selectedGroup)) != $selectedGroup) {
 | |
|                     unset($variables[$key]);
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         $this->view->variables = $variables;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Show process list
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function showProcesslistAction()
 | |
|     {
 | |
|         $this->getProcesslistAction(false);
 | |
|         $interval = $this->view->config
 | |
|                 ->get('config.interface.refreshProcesslist');
 | |
|         if ($interval < 2) {
 | |
|             $interval = 2;
 | |
|         }
 | |
|         $this->view->interval = $interval;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Render process list
 | |
|      *
 | |
|      * @param boolean $disableLayout Whether to disable the layout
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function getProcesslistAction($disableLayout = true)
 | |
|     {
 | |
|         if ($disableLayout) {
 | |
|             $this->_helper->layout()->disableLayout();
 | |
|         }
 | |
|         $processes = $this->db->query('SHOW PROCESSLIST', Msd_Db::ARRAY_ASSOC);
 | |
|         $this->view->processes = $processes;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Render process list
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function killProcessAction()
 | |
|     {
 | |
|         $processId = $this->getRequest()->getParam('processId', 0);
 | |
|         try {
 | |
|             $this->db->query('KILL ' . $processId, Msd_Db::ARRAY_ASSOC);
 | |
|         } catch (Msd_Exception $e) {
 | |
|             //echo $e->getMessage().' '.$e->getCode();
 | |
|             //TODO return message to client
 | |
|         }
 | |
|         $this->_forward('show.processlist');
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Show all known character sets
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function showCharsetsAction()
 | |
|     {
 | |
|         $this->view->collations = $this->db->getCollations();
 | |
|         $this->view->charsets = $this->db->getCharsets();
 | |
|     }
 | |
| }
 | |
| 
 |