File Manager

Current Directory: /home/astoriaah/www/old15/administrator/components/com_akeeba/models
Viewing File: /home/astoriaah/www/old15/administrator/components/com_akeeba/models/multidbs.php
<?php /** * @package AkeebaBackup * @copyright Copyright (c)2009-2014 Nicholas K. Dionysopoulos * @license GNU General Public License version 3, or later * * @since 1.3 */ // Protect from unauthorized access defined('_JEXEC') or die(); use Akeeba\Engine\Factory; use Akeeba\Engine\Platform; /** * Multiple databases definition View * */ class AkeebaModelMultidbs extends F0FModel { /** * Returns an array containing a list of database definitions * * @return array Array of definitions; The key contains the internal root name, the data is the database * configuration data */ public function get_databases() { // Get database inclusion filters $filter = Factory::getFilterObject('multidb'); $database_list = $filter->getInclusions('db'); return $database_list; } /** * Delete a database definition * * @param string $root The name of the database root key to remove * * @return bool True on success */ public function remove($root) { $filter = Factory::getFilterObject('multidb'); $success = $filter->remove($root, null); $filters = Factory::getFilters(); if ($success) { $filters->save(); } return $success; } /** * Creates a new database definition * * @param string $root * @param array $data * * @return bool */ public function setFilter($root, $data) { $filter = Factory::getFilterObject('multidb'); $success = $filter->set($root, $data); $filters = Factory::getFilters(); if ($success) { $filters->save(); } return $success; } /** * Tests the connectivity to a database * * @param array $data * * @return array Status array: 'status' is true on success, 'message' contains any error message while connecting * to the database */ public function test($data) { $db = Factory::getDatabase($data); $error = $db->getErrorMsg(); return array( 'status' => ($db->getErrorNum() <= 0), 'message' => $error ); } public function doAjax() { $action = $this->getState('action'); $verb = array_key_exists('verb', $action) ? $action['verb'] : null; $ret_array = array(); switch ($verb) { // Set a filter (used by the editor) case 'set': $ret_array = $this->setFilter($action['root'], $action['data']); break; // Remove a filter (used by the editor) case 'remove': $ret_array = array('success' => $this->remove($action['root'])); break; // Test connection (used by the editor) case 'test': $ret_array = $this->test($action['data']); break; } return $ret_array; } }