Fixed icon path after saving configuration.
Dieser Commit ist enthalten in:
		
							Ursprung
							
								
									4f36119278
								
							
						
					
					
						Commit
						88791f1a9c
					
				
					 9 geänderte Dateien mit 235 neuen und 124 gelöschten Zeilen
				
			
		| 
						 | 
				
			
			@ -24,7 +24,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 | 
			
		|||
    /**
 | 
			
		||||
     * Start session
 | 
			
		||||
     *
 | 
			
		||||
     * Anyhing else is set in configs/application.ini
 | 
			
		||||
     * Anything else is set in configs/application.ini
 | 
			
		||||
     *
 | 
			
		||||
     * @return void
 | 
			
		||||
     */
 | 
			
		||||
| 
						 | 
				
			
			@ -35,7 +35,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 | 
			
		|||
 | 
			
		||||
        // check if server has magic quotes enabled and normalize params
 | 
			
		||||
        if ((function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc() == 1)) {
 | 
			
		||||
            $_POST = Bootstrap::stripslashes_deep($_POST);
 | 
			
		||||
            $_POST = Bootstrap::stripSlashesDeep($_POST);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -49,6 +49,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 | 
			
		|||
    {
 | 
			
		||||
        $dynamicConfig = new Msd_Config_Dynamic();
 | 
			
		||||
        $configFile = $dynamicConfig->getParam('configFile', 'mysqldumper.ini');
 | 
			
		||||
        Msd_Registry::setConfigFilename($configFile);
 | 
			
		||||
        $config     = new Msd_Config(
 | 
			
		||||
            'Default',
 | 
			
		||||
            array('directories' => realpath(APPLICATION_PATH . '/../work/config'))
 | 
			
		||||
| 
						 | 
				
			
			@ -65,9 +66,9 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 | 
			
		|||
     *
 | 
			
		||||
     * @return string|array
 | 
			
		||||
     */
 | 
			
		||||
    public static function stripslashes_deep($value)
 | 
			
		||||
    public static function stripSlashesDeep($value)
 | 
			
		||||
    {
 | 
			
		||||
        $value = is_array($value) ? array_map('Bootstrap::stripslashes_deep', $value) : stripslashes($value);
 | 
			
		||||
        $value = is_array($value) ? array_map(array('Bootstrap', 'stripSlashesDeep'), $value) : stripslashes($value);
 | 
			
		||||
        return $value;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,9 +9,9 @@
 | 
			
		|||
 * @author     $Author$
 | 
			
		||||
 */
 | 
			
		||||
/**
 | 
			
		||||
 * Config Controller
 | 
			
		||||
 * Config Controller.
 | 
			
		||||
 *
 | 
			
		||||
 * Controller to handle actions triggered on configuration screen
 | 
			
		||||
 * Controller to handle actions triggered on configuration screen.
 | 
			
		||||
 *
 | 
			
		||||
 * @package    MySQLDumper
 | 
			
		||||
 * @subpackage Controllers
 | 
			
		||||
| 
						 | 
				
			
			@ -20,6 +20,7 @@ class ConfigController extends Msd_Controller_Action
 | 
			
		|||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * Active jQuery tab Id
 | 
			
		||||
     *
 | 
			
		||||
     * @var string
 | 
			
		||||
     */
 | 
			
		||||
    private $_activeTab = 'tab_general';
 | 
			
		||||
| 
						 | 
				
			
			@ -61,7 +62,7 @@ class ConfigController extends Msd_Controller_Action
 | 
			
		|||
        $formGeneral  = $this->_getSubformIni('general');
 | 
			
		||||
        $elementTitle = $formGeneral->getElement('title');
 | 
			
		||||
        $elementTitle->setValue(
 | 
			
		||||
            $this->view->config->getParam('general.title')
 | 
			
		||||
            $this->_config->getParam('general.title')
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        $form->addSubForm($formGeneral, 'general');
 | 
			
		||||
| 
						 | 
				
			
			@ -184,9 +185,9 @@ class ConfigController extends Msd_Controller_Action
 | 
			
		|||
 | 
			
		||||
        // set dynamic actual database if it's changed in the panel
 | 
			
		||||
        if ($this->_request->isPost()) {
 | 
			
		||||
            $actualDb = $this->view->dynamicConfig->getParam('dbActual');
 | 
			
		||||
            $actualDb = $this->_dynamicConfig->getParam('dbActual');
 | 
			
		||||
            if (isset($_POST['defaultDb']) && ($_POST['defaultDb'] != $actualDb)) {
 | 
			
		||||
                $this->view->dynamicConfig->setParam('dbActual', $_POST['defaultDb']);
 | 
			
		||||
                $this->_dynamicConfig->setParam('dbActual', $_POST['defaultDb']);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -196,14 +197,14 @@ class ConfigController extends Msd_Controller_Action
 | 
			
		|||
    /**
 | 
			
		||||
     * Read ini file and create subform
 | 
			
		||||
     *
 | 
			
		||||
     * @param string $subform
 | 
			
		||||
     * @param string $subForm
 | 
			
		||||
     *
 | 
			
		||||
     * @return Zend_Form_SubForm
 | 
			
		||||
     */
 | 
			
		||||
    private function _getSubformIni($subform)
 | 
			
		||||
    private function _getSubformIni($subForm)
 | 
			
		||||
    {
 | 
			
		||||
        $subFormIni = new Zend_Config_Ini(APPLICATION_PATH . '/forms/Config/' . $subform . '.ini');
 | 
			
		||||
        $options    = array('displayGroupPrefixPath' => $subform . '_');
 | 
			
		||||
        $subFormIni = new Zend_Config_Ini(APPLICATION_PATH . '/forms/Config/' . $subForm . '.ini');
 | 
			
		||||
        $options    = array('displayGroupPrefixPath' => $subForm . '_');
 | 
			
		||||
        return new Zend_Form_SubForm($subFormIni, $options);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -214,7 +215,7 @@ class ConfigController extends Msd_Controller_Action
 | 
			
		|||
     */
 | 
			
		||||
    public function addRecipientCcAction()
 | 
			
		||||
    {
 | 
			
		||||
        $recipientsCc = $this->view->config->Param('email.RecipientCc');
 | 
			
		||||
        $recipientsCc = $this->_config->Param('email.RecipientCc');
 | 
			
		||||
        if ($recipientsCc === null) {
 | 
			
		||||
            $recipientsCc = array();
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -222,7 +223,7 @@ class ConfigController extends Msd_Controller_Action
 | 
			
		|||
        $recipientsCc[$index]['Name']    = '';
 | 
			
		||||
        $recipientsCc[$index]['Address'] = '';
 | 
			
		||||
        $recipientsCc                    = array_values($recipientsCc);
 | 
			
		||||
        $this->view->config->setParam('email.RecipientCc', $recipientsCc);
 | 
			
		||||
        $this->_config->setParam('email.RecipientCc', $recipientsCc);
 | 
			
		||||
        $this->_forward('index');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -234,11 +235,11 @@ class ConfigController extends Msd_Controller_Action
 | 
			
		|||
    public function deleteRecipientCcAction()
 | 
			
		||||
    {
 | 
			
		||||
        $recipientToDelete = (int) $this->_request->getPost('param');
 | 
			
		||||
        $recipientsCc      = $this->view->config->getParam('email.RecipientCc');
 | 
			
		||||
        $recipientsCc      = $this->_config->getParam('email.RecipientCc');
 | 
			
		||||
        if (isset($recipientsCc[$recipientToDelete])) {
 | 
			
		||||
            unset($recipientsCc[$recipientToDelete]);
 | 
			
		||||
        }
 | 
			
		||||
        $this->view->config->setParam('email.RecipientCc', $recipientsCc);
 | 
			
		||||
        $this->_config->setParam('email.RecipientCc', $recipientsCc);
 | 
			
		||||
        $this->_forward('index');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -249,7 +250,7 @@ class ConfigController extends Msd_Controller_Action
 | 
			
		|||
     */
 | 
			
		||||
    public function addFtpConnectionAction()
 | 
			
		||||
    {
 | 
			
		||||
        $ftpConfig = $this->view->config->getParam('ftp');
 | 
			
		||||
        $ftpConfig = $this->_config->getParam('ftp');
 | 
			
		||||
        $index     = 0;
 | 
			
		||||
        if (!empty($ftpConfig)) {
 | 
			
		||||
            $index = max(array_keys($ftpConfig)) + 1;
 | 
			
		||||
| 
						 | 
				
			
			@ -266,7 +267,7 @@ class ConfigController extends Msd_Controller_Action
 | 
			
		|||
            'dir'         => "/"
 | 
			
		||||
        );
 | 
			
		||||
        $ftpConfig[$index] = $default;
 | 
			
		||||
        $this->view->config->setParam('ftp', $ftpConfig);
 | 
			
		||||
        $this->_config->setParam('ftp', $ftpConfig);
 | 
			
		||||
        $this->_forward('index');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -278,13 +279,13 @@ class ConfigController extends Msd_Controller_Action
 | 
			
		|||
    public function deleteFtpConnectionAction()
 | 
			
		||||
    {
 | 
			
		||||
        $index     = (int) $this->_request->getPost('param');
 | 
			
		||||
        $ftpConfig = $this->view->config->getParam('ftp');
 | 
			
		||||
        $ftpConfig = $this->_config->getParam('ftp');
 | 
			
		||||
        if (count($ftpConfig) > 1) {
 | 
			
		||||
            if (isset($ftpConfig[$index])) {
 | 
			
		||||
                unset($ftpConfig[$index]);
 | 
			
		||||
                sort($ftpConfig);
 | 
			
		||||
            }
 | 
			
		||||
            $this->view->config->setParam('ftp', $ftpConfig);
 | 
			
		||||
            $this->_config->setParam('ftp', $ftpConfig);
 | 
			
		||||
        }
 | 
			
		||||
        $this->_forward('index');
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -330,7 +331,6 @@ class ConfigController extends Msd_Controller_Action
 | 
			
		|||
            // got resource?
 | 
			
		||||
            if (!is_resource($ftpStream)) {
 | 
			
		||||
                $message = sprintf($translator->_('L_FTP_CONNECTION_ERROR'), $server, $port);
 | 
			
		||||
 | 
			
		||||
                // connection ok? let's try to login
 | 
			
		||||
            } else if (!ftp_login($ftpStream, $user, $password)) {
 | 
			
		||||
                $message = sprintf($translator->_('L_FTP_LOGIN_ERROR'), $user);
 | 
			
		||||
| 
						 | 
				
			
			@ -339,7 +339,6 @@ class ConfigController extends Msd_Controller_Action
 | 
			
		|||
                if ($mode == 'y') {
 | 
			
		||||
                    ftp_pasv($ftpStream, true);
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                // login ok? let's set/change the ftp upload directory
 | 
			
		||||
            } else if (!ftp_chdir($ftpStream, $directory)) {
 | 
			
		||||
                $message = sprintf($translator->_('L_CHANGEDIRERROR'));
 | 
			
		||||
| 
						 | 
				
			
			@ -350,7 +349,6 @@ class ConfigController extends Msd_Controller_Action
 | 
			
		|||
                // ftp directory exists and chmod ok? let's test the ftp transfer with a test file
 | 
			
		||||
            } else if (!ftp_put($ftpStream, $targetFolder . $name, $filename, FTP_ASCII)) {
 | 
			
		||||
                $message = sprintf($translator->_('L_FTP_FILE_TRANSFER_ERROR'), $name);
 | 
			
		||||
 | 
			
		||||
            } else {
 | 
			
		||||
                $upload  = true;
 | 
			
		||||
                $message = sprintf($translator->_('L_FTP_FILE_TRANSFER_SUCCESS'), $name)
 | 
			
		||||
| 
						 | 
				
			
			@ -409,7 +407,7 @@ class ConfigController extends Msd_Controller_Action
 | 
			
		|||
            foreach ($elements as $element) {
 | 
			
		||||
                $element = str_replace($group . '_', '', $element);
 | 
			
		||||
                $element = str_replace('_', '.', $element);
 | 
			
		||||
                $value   = $this->view->config->getParam($group . '.' . $element);
 | 
			
		||||
                $value   = $this->_config->getParam($group . '.' . $element);
 | 
			
		||||
                if (is_array($value)) {
 | 
			
		||||
                    list (, $key) = explode('.', $element);
 | 
			
		||||
                    $subForm->setDefault($element, $value[$key]);
 | 
			
		||||
| 
						 | 
				
			
			@ -463,7 +461,7 @@ class ConfigController extends Msd_Controller_Action
 | 
			
		|||
     */
 | 
			
		||||
    private function _addNonConfigurableConfigParams($configData)
 | 
			
		||||
    {
 | 
			
		||||
        $configData['systemDatabases'] = $this->view->config->getParam('systemDatabases');
 | 
			
		||||
        $configData['systemDatabases'] = $this->_config->getParam('systemDatabases');
 | 
			
		||||
        return $configData;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -486,7 +484,7 @@ class ConfigController extends Msd_Controller_Action
 | 
			
		|||
        $smtpConfig         = $emailForm->getDisplayGroup('smtpConfig');
 | 
			
		||||
        $sendmailVisibility = false;
 | 
			
		||||
        $smtpVisibility     = false;
 | 
			
		||||
        switch ($this->view->config->getParam('email.Program')) {
 | 
			
		||||
        switch ($this->_config->getParam('email.Program')) {
 | 
			
		||||
            case 'sendmail':
 | 
			
		||||
                $sendmailVisibility = true;
 | 
			
		||||
                break;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,6 +19,13 @@
 | 
			
		|||
 | 
			
		||||
class Application_Model_Config_FormValidator
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * Current configuration.
 | 
			
		||||
     *
 | 
			
		||||
     * @var Msd_Config|null
 | 
			
		||||
     */
 | 
			
		||||
    protected $_config;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Config data to validate
 | 
			
		||||
     * @var array
 | 
			
		||||
| 
						 | 
				
			
			@ -32,6 +39,7 @@ class Application_Model_Config_FormValidator
 | 
			
		|||
     */
 | 
			
		||||
    public function __construct($configData)
 | 
			
		||||
    {
 | 
			
		||||
        $this->_config = Msd_Registry::getConfig();
 | 
			
		||||
        // unset values we only used for form handling
 | 
			
		||||
        unset(
 | 
			
		||||
            $configData['general']['selectedTab'],
 | 
			
		||||
| 
						 | 
				
			
			@ -51,7 +59,6 @@ class Application_Model_Config_FormValidator
 | 
			
		|||
    public function validateAndSaveConfig(Zend_View $view)
 | 
			
		||||
    {
 | 
			
		||||
        $saveConfig = false;
 | 
			
		||||
        $config = Msd_Registry::getConfig();
 | 
			
		||||
        $translator = Msd_Language::getInstance()->getTranslator();
 | 
			
		||||
        $db = Msd_Db::getAdapter($this->_configData['dbuser']);
 | 
			
		||||
        try {
 | 
			
		||||
| 
						 | 
				
			
			@ -72,13 +79,14 @@ class Application_Model_Config_FormValidator
 | 
			
		|||
        }
 | 
			
		||||
 | 
			
		||||
        if ($saveConfig) {
 | 
			
		||||
            $config->setConfig($this->_configData);
 | 
			
		||||
            $saved = $config->save();
 | 
			
		||||
            $this->_config->setConfig($this->_configData);
 | 
			
		||||
            $saved = $this->_config->save();
 | 
			
		||||
            $this->_config->load(Msd_Registry::getConfigFilename());
 | 
			
		||||
            if ($saved === true) {
 | 
			
		||||
            $view->popUpMessage()->addMessage(
 | 
			
		||||
                'save-config',
 | 
			
		||||
                'L_NOTICE',
 | 
			
		||||
                array('L_SAVE_SUCCESS', $view->config->getParam('general.title')),
 | 
			
		||||
                array('L_SAVE_SUCCESS', $this->_config->getParam('general.title')),
 | 
			
		||||
                array(
 | 
			
		||||
                    'modal' => true,
 | 
			
		||||
                    'dialogClass' => 'notice'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,7 +26,7 @@ class Msd_View_Helper_GetIcon  extends Zend_View_Helper_Abstract
 | 
			
		|||
     *
 | 
			
		||||
     * @return string
 | 
			
		||||
     */
 | 
			
		||||
    public function getIcon($name, $title='', $size='')
 | 
			
		||||
    public function getIcon($name, $title = '', $size = null)
 | 
			
		||||
    {
 | 
			
		||||
        static $baseUrl = false;
 | 
			
		||||
        if (!$baseUrl) {
 | 
			
		||||
| 
						 | 
				
			
			@ -40,7 +40,7 @@ class Msd_View_Helper_GetIcon  extends Zend_View_Helper_Abstract
 | 
			
		|||
        }
 | 
			
		||||
        $img    = '<img src="' . $baseUrl . '/%s/%s" alt="%s" title="%s" />';
 | 
			
		||||
        $config = Msd_Registry::getConfig();
 | 
			
		||||
        if ($size>'') {
 | 
			
		||||
        if ($size !== null) {
 | 
			
		||||
            $img = '<img src="' . $baseUrl . '/%s/%sx%s/%s" alt="%s" title="%s" />';
 | 
			
		||||
            $ret = sprintf(
 | 
			
		||||
                $img,
 | 
			
		||||
| 
						 | 
				
			
			@ -82,5 +82,4 @@ class Msd_View_Helper_GetIcon  extends Zend_View_Helper_Abstract
 | 
			
		|||
        }
 | 
			
		||||
        return $icons;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,9 +9,8 @@
 | 
			
		|||
 * @author     $Author$
 | 
			
		||||
 */
 | 
			
		||||
/**
 | 
			
		||||
 * Class to handle the configuration
 | 
			
		||||
 * Class to handle the configuration.
 | 
			
		||||
 *
 | 
			
		||||
 * @throws Msd_Config_Exception
 | 
			
		||||
 * @package    MySQLDumper
 | 
			
		||||
 * @subpackage Config
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -46,6 +45,8 @@ class Msd_Config
 | 
			
		|||
     * @param array                                 $handlerOptions Options for the IO-Handler.
 | 
			
		||||
     *
 | 
			
		||||
     * @throws Msd_Config_Exception
 | 
			
		||||
     *
 | 
			
		||||
     * @return Msd_Config
 | 
			
		||||
     */
 | 
			
		||||
    public function __construct($ioHandler, $handlerOptions = array())
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			@ -152,7 +153,6 @@ class Msd_Config
 | 
			
		|||
        if (strpos('paramName', '.') !== false) {
 | 
			
		||||
            list($section, $paramName) = explode('.', $paramName);
 | 
			
		||||
            $this->_config[$section][$paramName] = $paramValue;
 | 
			
		||||
 | 
			
		||||
        } else {
 | 
			
		||||
            $this->_config[$paramName] = $paramValue;
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -165,6 +165,8 @@ class Msd_Config
 | 
			
		|||
    /**
 | 
			
		||||
     * Class destructor.
 | 
			
		||||
     * If auto-save is enabled the configuration will be saved.
 | 
			
		||||
     *
 | 
			
		||||
     * @return void
 | 
			
		||||
     */
 | 
			
		||||
    public function __destruct()
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			@ -178,6 +180,8 @@ class Msd_Config
 | 
			
		|||
     * If auto-save is enabled the configuration is also saved.
 | 
			
		||||
     *
 | 
			
		||||
     * @param array $config New configuration.
 | 
			
		||||
     *
 | 
			
		||||
     * @return void
 | 
			
		||||
     */
 | 
			
		||||
    public function setConfig($config)
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			@ -185,6 +189,7 @@ class Msd_Config
 | 
			
		|||
        if ($this->_autosave) {
 | 
			
		||||
            $this->save();
 | 
			
		||||
        }
 | 
			
		||||
        $this->_setPaths();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			@ -239,5 +244,4 @@ class Msd_Config
 | 
			
		|||
        $configData = parse_ini_file($this->getParam('paths.config') . '/' . $fileName . '.ini', true);
 | 
			
		||||
        return $configData['general']['title'];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,10 +18,34 @@
 | 
			
		|||
abstract class Msd_Db
 | 
			
		||||
{
 | 
			
		||||
    // define result set types
 | 
			
		||||
    const ARRAY_NUMERIC = 0; // return resultset as numeric array
 | 
			
		||||
    const ARRAY_ASSOC = 1; // return resultset as associative array
 | 
			
		||||
    const ARRAY_OBJECT = 2; // return resultset as array of object
 | 
			
		||||
    const SIMPLE = 3; // return result as boolean
 | 
			
		||||
    /**
 | 
			
		||||
     * Return result-set as an numeric array.
 | 
			
		||||
     *
 | 
			
		||||
     * @const int
 | 
			
		||||
     */
 | 
			
		||||
    const ARRAY_NUMERIC = 0;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Return result-set as an associative array.
 | 
			
		||||
     *
 | 
			
		||||
     * @const int
 | 
			
		||||
     */
 | 
			
		||||
    const ARRAY_ASSOC = 1;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * return result-set as an array of objects
 | 
			
		||||
     *
 | 
			
		||||
     * @const int
 | 
			
		||||
     */
 | 
			
		||||
    const ARRAY_OBJECT = 2;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Return the return value of the query function/method.
 | 
			
		||||
     *
 | 
			
		||||
     * @const int
 | 
			
		||||
     */
 | 
			
		||||
    const SIMPLE = 3;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * SQL-Server
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -59,6 +83,7 @@ abstract class Msd_Db
 | 
			
		|||
 | 
			
		||||
    /**
 | 
			
		||||
     * List of databases adn default settings
 | 
			
		||||
     *
 | 
			
		||||
     * @var array
 | 
			
		||||
     */
 | 
			
		||||
    protected $_databases = null;
 | 
			
		||||
| 
						 | 
				
			
			@ -103,7 +128,7 @@ abstract class Msd_Db
 | 
			
		|||
     *
 | 
			
		||||
     * @param array $options Array containing connection options
 | 
			
		||||
     *
 | 
			
		||||
     * @return void
 | 
			
		||||
     * @return Msd_Db
 | 
			
		||||
     */
 | 
			
		||||
    protected function __construct($options)
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			@ -113,13 +138,14 @@ abstract class Msd_Db
 | 
			
		|||
        $this->_port     = (int) $options['port'];
 | 
			
		||||
        $this->_socket   = $options['socket'];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Create database adapter
 | 
			
		||||
     *
 | 
			
		||||
     * @param array   $options    Connection options
 | 
			
		||||
     * @param boolean $forceMysql Whether to force the use of MySQL
 | 
			
		||||
     *
 | 
			
		||||
     * @return MsdDbFactory
 | 
			
		||||
     * @return Msd_Db_MysqlCommon
 | 
			
		||||
     */
 | 
			
		||||
    public static function getAdapter($options = null, $forceMysql = false)
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			@ -148,30 +174,35 @@ abstract class Msd_Db
 | 
			
		|||
     * @return bool if connection is successfull
 | 
			
		||||
     * */
 | 
			
		||||
    abstract protected function _dbConnect();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get selected database
 | 
			
		||||
     *
 | 
			
		||||
     * @return string
 | 
			
		||||
     */
 | 
			
		||||
    abstract public function getSelectedDb();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get version nr of sql server
 | 
			
		||||
     *
 | 
			
		||||
     * @return string
 | 
			
		||||
     */
 | 
			
		||||
    abstract public function getServerInfo();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get version nr of sql client
 | 
			
		||||
     *
 | 
			
		||||
     * @return string
 | 
			
		||||
     */
 | 
			
		||||
    abstract public function getClientInfo();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get all known character sets of this SQL-Server.
 | 
			
		||||
     *
 | 
			
		||||
     * @return array
 | 
			
		||||
     */
 | 
			
		||||
    abstract public function getCharsets();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Set character set of the MySQL-connection.
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -179,12 +210,14 @@ abstract class Msd_Db
 | 
			
		|||
     * Throw Exception on failure.
 | 
			
		||||
     *
 | 
			
		||||
     * @param string $charset
 | 
			
		||||
     *
 | 
			
		||||
     * @throws Exception
 | 
			
		||||
     *
 | 
			
		||||
     * @return string
 | 
			
		||||
     */
 | 
			
		||||
    abstract public function setConnectionCharset(
 | 
			
		||||
        $charset = 'utf8');
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get list of databases
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -195,24 +228,27 @@ abstract class Msd_Db
 | 
			
		|||
     * @return array
 | 
			
		||||
     */
 | 
			
		||||
    abstract public function getDatabases();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Select the given database to use it as the target for following queries.
 | 
			
		||||
     *
 | 
			
		||||
     * Returns true if selection was succesfull otherwise false.
 | 
			
		||||
     *
 | 
			
		||||
     * @throws Exception
 | 
			
		||||
     *
 | 
			
		||||
     * @param string  $database
 | 
			
		||||
     *
 | 
			
		||||
     * @return bool
 | 
			
		||||
     */
 | 
			
		||||
    abstract public function selectDb($database);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Execute a query and set _resultHandle
 | 
			
		||||
     *
 | 
			
		||||
     * If $getRows is true alls rows are fetched and returned
 | 
			
		||||
     *
 | 
			
		||||
     * @param string  $query   The query to execute
 | 
			
		||||
     * @param const   $kind    Type of result set
 | 
			
		||||
     * @param int     $kind    Type of result set
 | 
			
		||||
     * @param boolean $getRows Whether to fetch all rows and return them
 | 
			
		||||
     *
 | 
			
		||||
     * @return boolean|array
 | 
			
		||||
| 
						 | 
				
			
			@ -223,7 +259,7 @@ abstract class Msd_Db
 | 
			
		|||
    /**
 | 
			
		||||
     * Get next row from result set
 | 
			
		||||
     *
 | 
			
		||||
     * @param const $kind
 | 
			
		||||
     * @param int   $kind
 | 
			
		||||
     *
 | 
			
		||||
     * @return array|object
 | 
			
		||||
     */
 | 
			
		||||
| 
						 | 
				
			
			@ -237,6 +273,7 @@ abstract class Msd_Db
 | 
			
		|||
     * @return array
 | 
			
		||||
     */
 | 
			
		||||
    abstract public function getTables($dbName);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets extended table information for one or all tables
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -245,15 +282,18 @@ abstract class Msd_Db
 | 
			
		|||
     * @return array
 | 
			
		||||
     */
 | 
			
		||||
    abstract public function getTableStatus($table = false);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Returns the CREATE Statement of a table.
 | 
			
		||||
     *
 | 
			
		||||
     * @throws Exception
 | 
			
		||||
     *
 | 
			
		||||
     * @param string $table    Get CREATE-Statement for this table
 | 
			
		||||
     *
 | 
			
		||||
     * @return string Create statement
 | 
			
		||||
     */
 | 
			
		||||
    abstract public function getTableCreate($table);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets the full description of all columns of a table
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -264,18 +304,22 @@ abstract class Msd_Db
 | 
			
		|||
     * @return array
 | 
			
		||||
     */
 | 
			
		||||
    abstract public function getTableColumns($table);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets the number of affected rows of the last query
 | 
			
		||||
     *
 | 
			
		||||
     * @return int
 | 
			
		||||
     */
 | 
			
		||||
    abstract public function getAffectedRows();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets the servers variables
 | 
			
		||||
     *
 | 
			
		||||
     * @return array
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
    abstract public function getVariables();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Escape a value for inserting it in query
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -284,6 +328,7 @@ abstract class Msd_Db
 | 
			
		|||
     * @return string
 | 
			
		||||
     */
 | 
			
		||||
    abstract public function escape($val);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Optimize a table. Returns true on success or MySQL-Error.
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -291,7 +336,9 @@ abstract class Msd_Db
 | 
			
		|||
     *
 | 
			
		||||
     * @return string|bool Returned optimize message or false on error
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
    abstract public function optimizeTable($table);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Creates a new database with the given name, charackter set and collation.
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -308,6 +355,7 @@ abstract class Msd_Db
 | 
			
		|||
        $databaseCharset = '',
 | 
			
		||||
        $databaseCollation = ''
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Retrieves the collations from information schema.
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -316,6 +364,7 @@ abstract class Msd_Db
 | 
			
		|||
     * @return array
 | 
			
		||||
     */
 | 
			
		||||
    abstract public function getCollations($charsetName = null);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Retrieves the default collation for the charset or the given charset.
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -324,18 +373,21 @@ abstract class Msd_Db
 | 
			
		|||
     * @return array|string
 | 
			
		||||
     */
 | 
			
		||||
    abstract public function getDefaultCollations($charsetName = null);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Retrieves the last MySQL error.
 | 
			
		||||
     *
 | 
			
		||||
     * @return array
 | 
			
		||||
     */
 | 
			
		||||
    abstract public function getLastError();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Handles a SQL-Error
 | 
			
		||||
     *
 | 
			
		||||
     * @param string $errmsg
 | 
			
		||||
     * @param int    $errno
 | 
			
		||||
     * @throws MsdEception
 | 
			
		||||
     *
 | 
			
		||||
     * @throws Msd_Exception
 | 
			
		||||
     *
 | 
			
		||||
     * @return void
 | 
			
		||||
     */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -148,7 +148,7 @@ class Msd_Db_Mysql extends Msd_Db_MysqlCommon
 | 
			
		|||
     * is returned.
 | 
			
		||||
     *
 | 
			
		||||
     * @param string  $query   The query to execute
 | 
			
		||||
     * @param const   $kind    Type of result set
 | 
			
		||||
     * @param int     $kind    Type of result set
 | 
			
		||||
     * @param boolean $getRows Wether to fetch all rows and return them
 | 
			
		||||
     *
 | 
			
		||||
     * @return boolean|array
 | 
			
		||||
| 
						 | 
				
			
			@ -175,6 +175,8 @@ class Msd_Db_Mysql extends Msd_Db_MysqlCommon
 | 
			
		|||
            $this->_resultHandle = null;
 | 
			
		||||
            return $ret;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			@ -182,7 +184,7 @@ class Msd_Db_Mysql extends Msd_Db_MysqlCommon
 | 
			
		|||
     *
 | 
			
		||||
     * Can be used to walk through result sets.
 | 
			
		||||
     *
 | 
			
		||||
     * @param const $kind
 | 
			
		||||
     * @param int $kind
 | 
			
		||||
     *
 | 
			
		||||
     * @return array|object
 | 
			
		||||
     */
 | 
			
		||||
| 
						 | 
				
			
			@ -199,6 +201,8 @@ class Msd_Db_Mysql extends Msd_Db_MysqlCommon
 | 
			
		|||
           case self::ARRAY_ASSOC:
 | 
			
		||||
               return mysql_fetch_array($this->_resultHandle, MYSQL_ASSOC);
 | 
			
		||||
       }
 | 
			
		||||
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			@ -228,7 +232,7 @@ class Msd_Db_Mysql extends Msd_Db_MysqlCommon
 | 
			
		|||
    /**
 | 
			
		||||
     * Retrieves the last MySQL error.
 | 
			
		||||
     *
 | 
			
		||||
     * @return void
 | 
			
		||||
     * @return array
 | 
			
		||||
     */
 | 
			
		||||
    public function getLastError()
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -161,8 +161,7 @@ class Msd_Db_Mysqli extends Msd_Db_MysqlCommon
 | 
			
		|||
                    $this->_getHandle()->errno
 | 
			
		||||
                );
 | 
			
		||||
            }
 | 
			
		||||
            if (!$this->_resultHandle instanceof mysqli_result
 | 
			
		||||
                || $kind === self::SIMPLE) {
 | 
			
		||||
            if (!$this->_resultHandle instanceof mysqli_result || $kind === self::SIMPLE) {
 | 
			
		||||
                return $this->_resultHandle;
 | 
			
		||||
            }
 | 
			
		||||
            // return result set?
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,6 +16,27 @@
 | 
			
		|||
 */
 | 
			
		||||
class Msd_Registry extends Zend_Registry
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * Key for the configuration filename. This is used inside the registry.
 | 
			
		||||
     *
 | 
			
		||||
     * @const string
 | 
			
		||||
     */
 | 
			
		||||
    const CONFIG_FILENAME_KEY = '_configFilename';
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Key for the dynamic configuration. This is used inside the registry.
 | 
			
		||||
     *
 | 
			
		||||
     * @const string
 | 
			
		||||
     */
 | 
			
		||||
    const DYNAMIC_CONFIG_KEY = '_dynamic';
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Key for the configuration. This is used inside the registry.
 | 
			
		||||
     *
 | 
			
		||||
     * @const string
 | 
			
		||||
     */
 | 
			
		||||
    const CONFIG_KEY = '_config';
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Returns the config instance if it has been registered, returns null otherwise.
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -23,8 +44,8 @@ class Msd_Registry extends Zend_Registry
 | 
			
		|||
     */
 | 
			
		||||
    public static function getConfig()
 | 
			
		||||
    {
 | 
			
		||||
        if (self::isRegistered('_config')) {
 | 
			
		||||
            return self::get('_config');
 | 
			
		||||
        if (self::isRegistered(self::CONFIG_KEY)) {
 | 
			
		||||
            return self::get(self::CONFIG_KEY);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return null;
 | 
			
		||||
| 
						 | 
				
			
			@ -41,7 +62,7 @@ class Msd_Registry extends Zend_Registry
 | 
			
		|||
     */
 | 
			
		||||
    public static function setConfig(Msd_Config $config)
 | 
			
		||||
    {
 | 
			
		||||
        self::set('_config', $config);
 | 
			
		||||
        self::set(self::CONFIG_KEY . '', $config);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			@ -53,8 +74,8 @@ class Msd_Registry extends Zend_Registry
 | 
			
		|||
     */
 | 
			
		||||
    public static function getDynamicConfig()
 | 
			
		||||
    {
 | 
			
		||||
        if (self::isRegistered('_dynamic')) {
 | 
			
		||||
            return self::get('_dynamic');
 | 
			
		||||
        if (self::isRegistered(self::DYNAMIC_CONFIG_KEY)) {
 | 
			
		||||
            return self::get(self::DYNAMIC_CONFIG_KEY);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return null;
 | 
			
		||||
| 
						 | 
				
			
			@ -71,6 +92,31 @@ class Msd_Registry extends Zend_Registry
 | 
			
		|||
     */
 | 
			
		||||
    public static function setDynamicConfig(Msd_Config_Dynamic $config)
 | 
			
		||||
    {
 | 
			
		||||
        self::set('_dynamic', $config);
 | 
			
		||||
        self::set(self::DYNAMIC_CONFIG_KEY, $config);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Returns the name of the current configuration file.
 | 
			
		||||
     *
 | 
			
		||||
     * @return string
 | 
			
		||||
     */
 | 
			
		||||
    public static function getConfigFilename()
 | 
			
		||||
    {
 | 
			
		||||
        if (self::isRegistered(self::CONFIG_FILENAME_KEY)) {
 | 
			
		||||
            return self::get(self::CONFIG_FILENAME_KEY);
 | 
			
		||||
        }
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Sets the name of the current configuration file.
 | 
			
		||||
     *
 | 
			
		||||
     * @param string $configFilename Name of configuration file.
 | 
			
		||||
     *
 | 
			
		||||
     * @return void
 | 
			
		||||
     */
 | 
			
		||||
    public static function setConfigFilename($configFilename)
 | 
			
		||||
    {
 | 
			
		||||
        self::set(self::CONFIG_FILENAME_KEY, $configFilename);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Laden …
	
	Tabelle hinzufügen
		
		In neuem Issue referenzieren