Browse Source

SQL Query: Removed.
Command: Integrate SQL Query functionality within Command app.
(Note: Permission and Menu modifications - please Restore Defaults)

reliberate 9 years ago
parent
commit
8b627e6ac0
10 changed files with 0 additions and 1843 deletions
  1. 0 31
      app_config.php
  2. 0 173
      app_languages.php
  3. 0 18
      app_menu.php
  4. 0 87
      root.php
  5. 0 177
      sql_backup.php
  6. 0 499
      sql_db_conversion.php
  7. 0 164
      sql_query.php
  8. 0 136
      sql_query_db.php
  9. 0 238
      sql_query_pdo.php
  10. 0 320
      sql_query_result.php

+ 0 - 31
app_config.php

@@ -1,31 +0,0 @@
-<?php
-
-	//application details
-		$apps[$x]['name'] = "SQL Query";
-		$apps[$x]['uuid'] = "a8b8ca29-083d-fb9b-5552-cc272de18ea6";
-		$apps[$x]['category'] = "System";
-		$apps[$x]['subcategory'] = "";
-		$apps[$x]['version'] = "";
-		$apps[$x]['license'] = "Mozilla Public License 1.1";
-		$apps[$x]['url'] = "http://www.fusionpbx.com";
-		$apps[$x]['description']['en-us'] = "Run Structur Query Language commands.";
-		$apps[$x]['description']['es-cl'] = "Ejecuta comandos SQL";
-		$apps[$x]['description']['es-mx'] = "";
-		$apps[$x]['description']['de-de'] = "";
-		$apps[$x]['description']['de-ch'] = "";
-		$apps[$x]['description']['de-at'] = "";
-		$apps[$x]['description']['fr-fr'] = "Executer des requêtes SQL";
-		$apps[$x]['description']['fr-ca'] = "";
-		$apps[$x]['description']['fr-ch'] = "";
-		$apps[$x]['description']['pt-pt'] = "Executar comandos SQL.";
-		$apps[$x]['description']['pt-br'] = "";
-
-	//permission details
-		$apps[$x]['permissions'][0]['name'] = "sql_query_execute";
-		$apps[$x]['permissions'][0]['menu']['uuid'] = "a894fed7-5a17-f695-c3de-e32ce58b3794";
-		$apps[$x]['permissions'][0]['groups'][] = "superadmin";
-
-		$apps[$x]['permissions'][1]['name'] = "sql_query_backup";
-		$apps[$x]['permissions'][1]['groups'][] = "superadmin";
-
-?>

+ 0 - 173
app_languages.php

@@ -1,173 +0,0 @@
-<?php
-
-$text['title-sql_query']['en-us'] = "SQL Query";
-$text['title-sql_query']['es-cl'] = "Consulta SQL";
-$text['title-sql_query']['pt-pt'] = "Consulta SQL";
-$text['title-sql_query']['fr-fr'] = "Requête SQL";
-$text['title-sql_query']['pt-br'] = "Consulta SQL";
-$text['title-sql_query']['pl'] = "Zapytanie SQL";
-$text['title-sql_query']['sv-se'] = "SQL Fråga";
-$text['title-sql_query']['uk'] = "SQL запити";
-$text['title-sql_query']['de-at'] = "SQL Abfragen";
-
-$text['title-databases']['en-us'] = "Databases";
-$text['title-databases']['es-cl'] = "Bases de datos";
-$text['title-databases']['pt-pt'] = "Bases de Dados";
-$text['title-databases']['fr-fr'] = "Bases de données";
-$text['title-databases']['pt-br'] = "Base de dados";
-$text['title-databases']['pl'] = "Bazy danych";
-$text['title-databases']['sv-se'] = "Databaser";
-$text['title-databases']['uk'] = "Бази даних";
-$text['title-databases']['de-at'] = "Datenbanken";
-
-$text['option-result_type_view']['en-us'] = "View";
-$text['option-result_type_view']['es-cl'] = "Ver";
-$text['option-result_type_view']['pt-pt'] = "Ver";
-$text['option-result_type_view']['fr-fr'] = "Voir";
-$text['option-result_type_view']['pt-br'] = "Visualizar";
-$text['option-result_type_view']['pl'] = "Widok";
-$text['option-result_type_view']['sv-se'] = "Granska";
-$text['option-result_type_view']['uk'] = "Перегляд";
-$text['option-result_type_view']['de-at'] = "Ansicht";
-
-$text['option-result_type_insert']['en-us'] = "SQL Inserts";
-$text['option-result_type_insert']['es-cl'] = "Inserciones SQL";
-$text['option-result_type_insert']['pt-pt'] = "Inserções SQL";
-$text['option-result_type_insert']['fr-fr'] = "Insertion SQL";
-$text['option-result_type_insert']['pt-br'] = "Inserir SQL";
-$text['option-result_type_insert']['pl'] = "Wstawianie SQL";
-$text['option-result_type_insert']['sv-se'] = "SQL Inserts";
-$text['option-result_type_insert']['uk'] = "SQL Inserts ";
-$text['option-result_type_insert']['de-at'] = "SQL Inserts";
-
-$text['option-result_type_csv']['en-us'] = "CSV Download";
-$text['option-result_type_csv']['es-cl'] = "Descargar CSV";
-$text['option-result_type_csv']['pt-pt'] = "Descarregar CSV";
-$text['option-result_type_csv']['fr-fr'] = "Télécharger le CSV";
-$text['option-result_type_csv']['pt-br'] = "Download CSV";
-$text['option-result_type_csv']['pl'] = "Pobieranie w formacie CSV";
-$text['option-result_type_csv']['sv-se'] = "Ladda Ned CSV";
-$text['option-result_type_csv']['uk'] = "CSV Download ";
-$text['option-result_type_csv']['de-at'] = "CSV Download";
-
-$text['label-table']['en-us'] = "Table";
-$text['label-table']['es-cl'] = "Tabla";
-$text['label-table']['pt-pt'] = "Tabela";
-$text['label-table']['fr-fr'] = "Table";
-$text['label-table']['pt-br'] = "Tabela";
-$text['label-table']['pl'] = "Tabela";
-$text['label-table']['sv-se'] = "TAbell";
-$text['label-table']['uk'] = "Таблиця";
-$text['label-table']['de-at'] = "Tabelle";
-
-$text['label-sql_query']['en-us'] = "SQL Query";
-$text['label-sql_query']['es-cl'] = "Consulta SQL";
-$text['label-sql_query']['pt-pt'] = "Consulta SQL";
-$text['label-sql_query']['fr-fr'] = "Requête SQL";
-$text['label-sql_query']['pt-br'] = "Consulta SQL";
-$text['label-sql_query']['pl'] = "Zapytanie SQL";
-$text['label-sql_query']['sv-se'] = "SQL Fråga";
-$text['label-sql_query']['uk'] = "SQL запит";
-$text['label-sql_query']['de-at'] = "SQL Abfrage";
-
-$text['label-results']['en-us'] = "Results";
-$text['label-results']['es-cl'] = "Resultados";
-$text['label-results']['pt-pt'] = "Resultados";
-$text['label-results']['fr-fr'] = "Résultats";
-$text['label-results']['pt-br'] = "Resultados";
-$text['label-results']['pl'] = "Rezultaty";
-$text['label-results']['sv-se'] = "Resultat";
-$text['label-results']['uk'] = "Результати";
-$text['label-results']['de-at'] = "Ergebnisse";
-
-$text['label-result_type']['en-us'] = "Result";
-$text['label-result_type']['es-cl'] = "Resultado";
-$text['label-result_type']['pt-pt'] = "Resultado";
-$text['label-result_type']['fr-fr'] = "Résultat";
-$text['label-result_type']['pt-br'] = "Resultado";
-$text['label-result_type']['pl'] = "Rezultat";
-$text['label-result_type']['sv-se'] = "Resultat";
-$text['label-result_type']['uk'] = "Результат";
-$text['label-result_type']['de-at'] = "Ergebnis";
-
-$text['label-host']['en-us'] = "Host";
-$text['label-host']['es-cl'] = "Host";
-$text['label-host']['pt-pt'] = "Host";
-$text['label-host']['fr-fr'] = "Hôte";
-$text['label-host']['pt-br'] = "Máquina";
-$text['label-host']['pl'] = "Host";
-$text['label-host']['sv-se'] = "Värd";
-$text['label-host']['uk'] = "Хост";
-$text['label-host']['de-at'] = "Host";
-
-$text['label-error']['en-us'] = "Error";
-$text['label-error']['es-cl'] = "Error";
-$text['label-error']['pt-pt'] = "Erro";
-$text['label-error']['fr-fr'] = "Erreur";
-$text['label-error']['pt-br'] = "Erro";
-$text['label-error']['pl'] = "Błąd";
-$text['label-error']['sv-se'] = "Fel";
-$text['label-error']['uk'] = "Помилка";
-$text['label-error']['de-at'] = "Fehler";
-
-$text['header-sql_query']['en-us'] = "SQL Query";
-$text['header-sql_query']['es-cl'] = "Consulta SQL";
-$text['header-sql_query']['pt-pt'] = "Consulta SQL";
-$text['header-sql_query']['fr-fr'] = "Requêtes SQL";
-$text['header-sql_query']['pt-br'] = "Consulta SQL";
-$text['header-sql_query']['pl'] = "Zapytanie SQL";
-$text['header-sql_query']['sv-se'] = "SQL Fråga";
-$text['header-sql_query']['uk'] = "SQL запит";
-$text['header-sql_query']['de-at'] = "SQL Abfrage";
-
-$text['header-databases']['en-us'] = "Databases";
-$text['header-databases']['es-cl'] = "Bases de datos";
-$text['header-databases']['pt-pt'] = "Bases de Dados";
-$text['header-databases']['fr-fr'] = "Bases de données";
-$text['header-databases']['pt-br'] = "Base de dados";
-$text['header-databases']['pl'] = "Bazy danych";
-$text['header-databases']['sv-se'] = "Databaser";
-$text['header-databases']['uk'] = "Бази даних";
-$text['header-databases']['de-at'] = "Datenbanken";
-
-$text['description-databases']['en-us'] = "Select the database to use with SQL Query.";
-$text['description-databases']['es-cl'] = "Seleccione la base de datos para ejecutar la consulta SQL.";
-$text['description-databases']['pt-pt'] = "Escolha a base de dados a utilizar.";
-$text['description-databases']['fr-fr'] = "Choisir la base de données utilisée par la requête SQL.";
-$text['description-databases']['pt-br'] = "Informações sobre a base de dados";
-$text['description-databases']['pl'] = "Informacje o bazie danych.";
-$text['description-databases']['sv-se'] = "Välj databas att använda för SQL Fråga.";
-$text['description-databases']['uk'] = "Інформація про базу даних.";
-$text['description-databases']['de-at'] = "Wählen Sie die Datenbank für die SQL Abfrage aus.";
-
-$text['button-select_database']['en-us'] = "Select Database";
-$text['button-select_database']['es-cl'] = "Seleccionar Base de Datos";
-$text['button-select_database']['pt-pt'] = "Seleccionar Base de Dados";
-$text['button-select_database']['fr-fr'] = "Choisir la Base de données";
-$text['button-select_database']['pt-br'] = "Selecionar base de dados";
-$text['button-select_database']['pl'] = "Wybierz bazę danych";
-$text['button-select_database']['sv-se'] = "Välj Databas";
-$text['button-select_database']['uk'] = "Вибрати БД";
-$text['button-select_database']['de-at'] = "Datenbank wählen";
-
-$text['button-manage']['en-us'] = "Manage";
-$text['button-manage']['es-cl'] = "Administrar";
-$text['button-manage']['pt-pt'] = "Gerir";
-$text['button-manage']['fr-fr'] = "Gérer";
-$text['button-manage']['pt-br'] = "Gerenciar";
-$text['button-manage']['pl'] = "Zarządzaj";
-$text['button-manage']['sv-se'] = "Hantera";
-$text['button-manage']['uk'] = "Керувати";
-$text['button-manage']['de-at'] = "Verwalten";
-
-$text['button-backup']['en-us'] = "Backup";
-$text['button-backup']['es-cl'] = "Respaldar";
-$text['button-backup']['pt-pt'] = "Backup";
-$text['button-backup']['fr-fr'] = "Sauvegarder";
-$text['button-backup']['pt-br'] = "Backup";
-$text['button-backup']['pl'] = "Kopia Zapasowa";
-$text['button-backup']['sv-se'] = "Backup";
-$text['button-backup']['uk'] = "Резервна копія";
-$text['button-backup']['de-at'] = "Sichern";
-
-?>

+ 0 - 18
app_menu.php

@@ -1,18 +0,0 @@
-<?php
-
-$apps[$x]['menu'][0]['title']['en-us'] = "SQL Query";
-$apps[$x]['menu'][0]['title']['es-cl'] = "Coinsulta SQL";
-$apps[$x]['menu'][0]['title']['fr-fr'] = "Requête SQL";
-$apps[$x]['menu'][0]['title']['pt-pt'] = "Consultas SQL";
-$apps[$x]['menu'][0]['title']['pt-br'] = "Consulta SQL";
-$apps[$x]['menu'][0]['title']['pl'] = "Zapytanie SQL";
-$apps[$x]['menu'][0]['title']['sv-se'] = "SQL Fråga";
-$apps[$x]['menu'][0]['title']['uk'] = "SQL запити";
-$apps[$x]['menu'][0]['title']['de-at'] = "SQL Abfragen";
-$apps[$x]['menu'][0]['uuid'] = "a894fed7-5a17-f695-c3de-e32ce58b3794";
-$apps[$x]['menu'][0]['parent_uuid'] = "594d99c5-6128-9c88-ca35-4b33392cec0f";
-$apps[$x]['menu'][0]['category'] = "internal";
-$apps[$x]['menu'][0]['path'] = "/app/sql_query/sql_query.php";
-$apps[$x]['menu'][0]['groups'][] = "superadmin";
-
-?>

+ 0 - 87
root.php

@@ -1,87 +0,0 @@
-<?php
-/*
-	FusionPBX
-	Version: MPL 1.1
-
-	The contents of this file are subject to the Mozilla Public License Version
-	1.1 (the "License"); you may not use this file except in compliance with
-	the License. You may obtain a copy of the License at
-	http://www.mozilla.org/MPL/
-
-	Software distributed under the License is distributed on an "AS IS" basis,
-	WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-	for the specific language governing rights and limitations under the
-	License.
-
-	The Original Code is FusionPBX
-
-	The Initial Developer of the Original Code is
-	Mark J Crane <[email protected]>
-	Portions created by the Initial Developer are Copyright (C) 2008-2012
-	the Initial Developer. All Rights Reserved.
-
-	Contributor(s):
-	Mark J Crane <[email protected]>
-*/
-
-// make sure the PATH_SEPARATOR is defined
-	if (!defined("PATH_SEPARATOR")) {
-		if (strpos($_ENV["OS"], "Win") !== false) {
-			define("PATH_SEPARATOR", ";");
-		} else {
-			define("PATH_SEPARATOR", ":");
-		}
-	}
-
-	// make sure the document_root is set
-	$_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]);
-	if(PHP_SAPI == 'cli'){
-		chdir(pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME));
-		$script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]);
-		$dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME));
-		if (file_exists('/project_root.php')) {
-			$path = '/';
-		} else {
-			$i    = 1;
-			$path = '';
-			while ($i < count($dirs)) {
-				$path .= '/' . $dirs[$i];
-				if (file_exists($path. '/project_root.php')) {
-					break;
-				}
-				$i++;
-			}
-		}
-		$_SERVER["DOCUMENT_ROOT"] = $path;
-	}else{
-		$_SERVER["DOCUMENT_ROOT"]   = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]);
-	}
-	$_SERVER["DOCUMENT_ROOT"]   = realpath($_SERVER["DOCUMENT_ROOT"]);
-// try to detect if a project path is being used
-	if (!defined('PROJECT_PATH')) {
-		if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) {
-			define('PROJECT_PATH', '/fusionpbx');
-		} elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/project_root.php')) {
-			define('PROJECT_PATH', '');
-		} else {
-			$dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME)));
-			$i    = 1;
-			$path = $_SERVER["DOCUMENT_ROOT"];
-			while ($i < count($dirs)) {
-				$path .= '/' . $dirs[$i];
-				if (file_exists($path. '/project_root.php')) {
-					break;
-				}
-				$i++;
-			}
-			if(!file_exists($path. '/project_root.php')){
-				die("Failed to locate the Project Root by searching for project_root.php please contact support for assistance");
-			}
-			$project_path = str_replace($_SERVER["DOCUMENT_ROOT"], "", $path);
-			define('PROJECT_PATH', $project_path);
-		}
-		$_SERVER["PROJECT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"] . PROJECT_PATH);
-		set_include_path(get_include_path() . PATH_SEPARATOR . $_SERVER["PROJECT_ROOT"]);
-	}
-
-?>

+ 0 - 177
sql_backup.php

@@ -1,177 +0,0 @@
-<?php
-/*
-	FusionPBX
-	Version: MPL 1.1
-
-	The contents of this file are subject to the Mozilla Public License Version
-	1.1 (the "License"); you may not use this file except in compliance with
-	the License. You may obtain a copy of the License at
-	http://www.mozilla.org/MPL/
-
-	Software distributed under the License is distributed on an "AS IS" basis,
-	WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-	for the specific language governing rights and limitations under the
-	License.
-
-	The Original Code is FusionPBX
-
-	The Initial Developer of the Original Code is
-	Mark J Crane <[email protected]>
-	Portions created by the Initial Developer are Copyright (C) 2008-2014
-	the Initial Developer. All Rights Reserved.
-
-	Contributor(s):
-	Mark J Crane <[email protected]>
-*/
-include "root.php";
-require_once "resources/require.php";
-require_once "resources/check_auth.php";
-if (permission_exists('sql_query_backup')) {
-	//access granted
-}
-else {
-	echo "access denied";
-	exit;
-}
-
-//add multi-lingual support
-	$language = new text;
-	$text = $language->get();
-
-//pdo database connection
-	if (strlen($_REQUEST['id']) > 0) {
-		require_once "sql_query_pdo.php";
-	}
-
-//get the $apps array from the installed apps from the core and mod directories
-	$config_list = glob($_SERVER["DOCUMENT_ROOT"] . PROJECT_PATH . "/*/*/app_config.php");
-	$x = 0;
-	foreach ($config_list as &$config_path) {
-		include($config_path);
-		$x++;
-	}
-
-//define a function that checks if the field exists
-	function field_exists($apps, $table_name, $field_name) {
-		$result = false;
-		foreach ($apps as &$row) {
-			$tables = $row["db"];
-			foreach ($tables as &$table) {
-				if ($table['table'] == $table_name) {
-					foreach ($table["fields"] as &$field) {
-						if ($field['deprecated'] != "true") {
-							if (is_array($field["name"])) {
-								if ($field["name"]["text"] == $field_name) {
-									$result = true;
-									break;
-								}
-							}
-							else {
-								if ($field["name"] == $field_name) {
-									$result = true;
-									break;
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-		return $result;
-	}
-
-//set the headers
-	header('Content-type: application/octet-binary');
-	header('Content-Disposition: attachment; filename=database_backup.sql');
-
-//get the list of tables
-	if ($db_type == "sqlite") {
-		$sql = "SELECT name FROM sqlite_master ";
-		$sql .= "WHERE type='table' ";
-		$sql .= "order by name;";
-	}
-	if ($db_type == "pgsql") {
-		$sql = "select table_name as name ";
-		$sql .= "from information_schema.tables ";
-		$sql .= "where table_schema='public' ";
-		$sql .= "and table_type='BASE TABLE' ";
-		$sql .= "order by table_name ";
-	}
-	if ($db_type == "mysql") {
-		$sql = "show tables";
-	}
-	$prep_statement = $db->prepare(check_sql($sql));
-	$prep_statement->execute();
-	$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-	foreach ($result as &$row) {
-		$row = array_values($row);
-		$table_name = $row[0];
-
-		//get the table data
-			$sql = "select * from $table_name";
-			if (strlen($sql) > 0) {
-				$prep_statement_2 = $db->prepare(check_sql($sql));
-				if ($prep_statement_2) {
-					$prep_statement_2->execute();
-					$result2 = $prep_statement_2->fetchAll(PDO::FETCH_ASSOC);
-				}
-				else {
-					echo "<b>".$text['label-error'].":</b>\n";
-					echo "<pre>\n";
-					print_r($db->errorInfo());
-					echo "</pre>\n";
-				}
-
-				$x = 0;
-				foreach ($result2[0] as $key => $value) {
-					if ($row[$column] != "db") {
-						if (field_exists($apps, $table_name, $key)) {
-							$column_array[$x] = $key;
-						}
-						$x++;
-					}
-				}
-
-				$column_array_count = count($column_array);
-
-				foreach ($result2 as &$row) {
-					$sql = "INSERT INTO $table_name (";
-					$x = 1;
-					foreach ($column_array as $column) {
-						if ($x < $column_array_count) {
-							if (strlen($row[$column]) > 0) {
-								$sql .= ''.$column.',';
-							}
-						}
-						else {
-							if (strlen($row[$column]) > 0) {
-								$sql .= ''.$column.'';
-							}
-						}
-						$x++;
-					}
-					$sql .= ") ";
-					$sql .= "VALUES( ";
-					$x = 1;
-					foreach ($column_array as $column) {
-						if ($x < $column_array_count) {
-							if (strlen($row[$column])> 0) {
-								$sql .= "'".check_str($row[$column])."',";
-							}
-						}
-						else {
-							if (strlen($row[$column])> 0) {
-								$sql .= "'".check_str($row[$column])."'";
-							}
-						}
-						$x++;
-					}
-					$sql .= ");\n";
-					echo str_replace(",)", ")", $sql);
-				}
-			}
-
-		unset($column_array);
-	}
-
-?>

+ 0 - 499
sql_db_conversion.php

@@ -1,499 +0,0 @@
-<?php
-/*
-	FusionPBX
-	Version: MPL 1.1
-
-	The contents of this file are subject to the Mozilla Public License Version
-	1.1 (the "License"); you may not use this file except in compliance with
-	the License. You may obtain a copy of the License at
-	http://www.mozilla.org/MPL/
-
-	Software distributed under the License is distributed on an "AS IS" basis,
-	WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-	for the specific language governing rights and limitations under the
-	License.
-
-	The Original Code is FusionPBX
-
-	The Initial Developer of the Original Code is
-	Mark J Crane <[email protected]>
-	Portions created by the Initial Developer are Copyright (C) 2008-2012
-	the Initial Developer. All Rights Reserved.
-
-	Contributor(s):
-	Mark J Crane <[email protected]>
-*/
-include "root.php";
-require_once "resources/require.php";
-require_once "resources/check_auth.php";
-require_once "resources/schema.php";
-
-if (if_group("superadmin")) {
-	//access granted
-}
-else {
-	echo "access denied";
-	exit;
-}
-
-//add multi-lingual support
-	$language = new text;
-	$text = $language->get();
-
-//show errors
-	ini_set('display_errors', '1');
-	//error_reporting (E_ALL); // Report everything
-	error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING ); //hide notices and warnings
-
-//define the db file exists function
-	function db_field_exists ($tmp_array, $column) {
-		$result = false;
-		foreach ($tmp_array as &$row) {
-			if ($row[0] == $column) {
-				$result = true;
-			}
-			return $result;
-		}
-	}
-	//db_field_exists ($result_dest, $column)
-
-//destination info
-	//set the domain_uuid
-		$dest_domain_uuid = '1';
-
-	//set the database type
-		$db_dest_type = 'mysql'; //sqlite, mysql, pgsql, others with a manually created PDO connection
-
-	//sqlite: the dbfilename and db_file_path are automatically assigned however the values can be overidden by setting the values here.
-		//$dbfilename = 'fusionpbx.db'; //host name/ip address + '.db' is the default database filename
-		//$db_file_path = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/secure'; //the path is determined by a php variable
-
-	//mysql: database connection information
-		$db_host = '127.0.0.1'; //set the host only if the database is not local
-		$db_port = '3306';
-		$db_name = 'fusionpbx';
-		$db_username = 'fusionpbx';
-		$db_password = '';
-		$db_create_username = 'root';
-		$db_create_password = '';
-
-	//pgsql: database connection information
-		//$db_host = ''; //set the host only if the database is not local
-		//$db_port = '';
-		//$db_name = '';
-		//$db_username = '';
-		//$db_password = '';
-		//$db_create_username = '';
-		//$db_create_password = '';
-
-	//load data into the database
-
-		//create the sqlite database
-			if ($db_dest_type == "sqlite") {
-				//sqlite database will be created when the config.php is loaded and only if the database file does not exist
-				$filename = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/sql/sqlite.sql';
-				$file_contents = file_get_contents($filename);
-				unset($filename);
-				try {
-					$db_dest = new PDO('sqlite:'.$db_filepath.'/'.$db_filename); //sqlite 3
-					//$db_dest = new PDO('sqlite::memory:'); //sqlite 3
-					$db_dest->beginTransaction();
-				}
-				catch (PDOException $error) {
-					print $text['label-error'].": " . $error->getMessage() . "<br/>";
-					die();
-				}
-
-				//replace \r\n with \n then explode on \n
-					$file_contents = str_replace("\r\n", "\n", $file_contents);
-
-				//loop line by line through all the lines of sql code
-					$stringarray = explode("\n", $file_contents);
-					$x = 0;
-					foreach($stringarray as $sql) {
-						try {
-							if(stristr($sql, 'CREATE TABLE') === FALSE) {
-								//not found do not execute
-							}
-							else {
-								//execute create table sql strings
-								$db_dest->query($sql);
-							}
-						}
-						catch (PDOException $error) {
-							echo $text['label-error'].": " . $error->getMessage() . " sql: $sql<br/>";
-						}
-						$x++;
-					}
-					unset ($file_contents, $sql);
-					$db_dest->commit();
-			}
-
-		//create the postgres database
-			if ($db_dest_type == "pgsql") {
-				$filename = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/sql/pgsql.sql';
-				$file_contents = file_get_contents($filename);
-
-				//if $db_create_username provided, attempt to create new PG role and database
-					if (strlen($db_create_username) > 0) {
-						//create the database connection
-							try {
-								if (strlen($db_port) == 0) { $db_port = "5432"; }
-								if (strlen($db_host) > 0) {
-									$db_dest = new PDO("pgsql:host={$db_host} port={$db_port} user={$db_create_username} password={$db_create_password} dbname=template1");
-								} else {
-									$db_dest = new PDO("pgsql:host=localhost port={$db_port} user={$db_create_username} password={$db_create_password} dbname=template1");
-								}
-							} catch (PDOException $error) {
-								print $text['label-error'].": " . $error->getMessage() . "<br/>";
-								die();
-							}
-						//create the database, user, grant perms
-							$db_dest->exec("CREATE DATABASE {$db_name}");
-							$db_dest->exec("CREATE USER {$db_username} WITH PASSWORD '{$db_password}'");
-							$db_dest->exec("GRANT ALL ON {$db_name} TO {$db_username}");
-						//close database connection_aborted
-							$db_dest = null;
-					}
-
-				//open database connection with $db_name
-					try {
-						if (strlen($db_port) == 0) { $db_port = "5432"; }
-						if (strlen($db_host) > 0) {
-							$db_dest = new PDO("pgsql:host={$db_host} port={$db_port} dbname={$db_name} user={$db_username} password={$db_password}");
-						} else {
-							$db_dest = new PDO("pgsql:host=localhost port={$db_port} user={$db_username} password={$db_password} dbname={$db_name}");
-						}
-					}
-					catch (PDOException $error) {
-						print $text['label-error'].": " . $error->getMessage() . "<br/>";
-						die();
-					}
-
-				//replace \r\n with \n then explode on \n
-					$file_contents = str_replace("\r\n", "\n", $file_contents);
-
-				//loop line by line through all the lines of sql code
-					$stringarray = explode("\n", $file_contents);
-					$x = 0;
-					foreach($stringarray as $sql) {
-						if (strlen($sql) > 3) {
-							try {
-								if(stristr($sql, 'CREATE TABLE') === FALSE) {
-									//not found do not execute
-								}
-								else {
-									//execute create table sql strings
-									$db_dest->query($sql);
-								}
-							}
-							catch (PDOException $error) {
-								echo $text['label-error'].": " . $error->getMessage() . " sql: $sql<br/>";
-								die();
-							}
-						}
-						$x++;
-					}
-					unset ($file_contents, $sql);
-			}
-
-		//create the mysql database
-		if ($db_dest_type == "mysql") {
-			$filename = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/sql/mysql.sql';
-			$file_contents = file_get_contents($filename);
-
-			//database connection
-				try {
-					if (strlen($db_host) == 0 && strlen($db_port) == 0) {
-						//if both host and port are empty use the unix socket
-						if (strlen($db_create_username) == 0) {
-							$db_dest = new PDO("mysql:host=$db_host;unix_socket=/var/run/mysqld/mysqld.sock;", $db_username, $db_password, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
-						}
-						else {
-							$db_dest = new PDO("mysql:host=$db_host;unix_socket=/var/run/mysqld/mysqld.sock;", $db_create_username, $db_create_password, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));						}
-					}
-					else {
-						if (strlen($db_port) == 0) {
-							//leave out port if it is empty
-							if (strlen($db_create_username) == 0) {
-								$db_dest = new PDO("mysql:host=$db_host;", $db_username, $db_password, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
-							}
-							else {
-								$db_dest = new PDO("mysql:host=$db_host;", $db_create_username, $db_create_password, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
-							}
-						}
-						else {
-							if (strlen($db_create_username) == 0) {
-								$db_dest = new PDO("mysql:host=$db_host;port=$db_port;", $db_username, $db_password, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
-							}
-							else {
-								$db_dest = new PDO("mysql:host=$db_host;port=$db_port;", $db_create_username, $db_create_password, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
-							}
-						}
-					}
-					$db_dest->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
-					$db_dest->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);
-				}
-				catch (PDOException $error) {
-					if ($v_debug) {
-						print $text['label-error'].": " . $error->getMessage() . "<br/>";
-					}
-				}
-
-			//create the table, user and set the permissions only if the db_create_username was provided
-				if (strlen($db_create_username) > 0) {
-					//select the mysql database
-						try {
-							$db_dest->query("USE mysql;");
-						}
-						catch (PDOException $error) {
-							if ($v_debug) {
-								print $text['label-error'].": " . $error->getMessage() . "<br/>";
-							}
-						}
-					//create user and set the permissions
-						try {
-							$tmp_sql = "CREATE USER '".$db_username."'@'%' IDENTIFIED BY '".$db_password."'; ";
-							$db_dest->query($tmp_sql);
-						}
-						catch (PDOException $error) {
-							if ($v_debug) {
-								print $text['label-error'].": " . $error->getMessage() . "<br/>";
-							}
-						}
-					//set account to unlimitted use
-						try {
-							$tmp_sql = "GRANT USAGE ON * . * TO '".$db_username."'@'localhost' ";
-							$tmp_sql .= "IDENTIFIED BY '".$db_password."' ";
-							$tmp_sql .= "WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; ";
-							$db_dest->query($tmp_sql);
-						}
-						catch (PDOException $error) {
-							if ($v_debug) {
-								print $text['label-error'].": " . $error->getMessage() . "<br/>";
-							}
-						}
-					//create the database and set the create user with permissions
-						try {
-							$tmp_sql = "CREATE DATABASE IF NOT EXISTS ".$db_name."; ";
-							$db_dest->query($tmp_sql);
-						}
-						catch (PDOException $error) {
-							if ($v_debug) {
-								print $text['label-error'].": " . $error->getMessage() . "<br/>";
-							}
-						}
-					//set user permissions
-						try {
-							$db_dest->query("GRANT ALL PRIVILEGES ON ".$db_name.".* TO '".$db_username."'@'%'; ");
-						}
-						catch (PDOException $error) {
-							if ($v_debug) {
-								print $text['label-error'].": " . $error->getMessage() . "<br/>";
-							}
-						}
-					//make the changes active
-						try {
-							$tmp_sql = "FLUSH PRIVILEGES; ";
-							$db_dest->query($tmp_sql);
-						}
-						catch (PDOException $error) {
-							if ($v_debug) {
-								print $text['label-error'].": " . $error->getMessage() . "<br/>";
-							}
-						}
-				} //if (strlen($db_create_username) > 0)
-			//select the database
-				try {
-					$db_dest->query("USE ".$db_name.";");
-				}
-				catch (PDOException $error) {
-					if ($v_debug) {
-						print $text['label-error'].": " . $error->getMessage() . "<br/>";
-					}
-				}
-
-			//add the defaults data into the database
-				//replace \r\n with \n then explode on \n
-					$file_contents = str_replace("\r\n", "\n", $file_contents);
-
-				//loop line by line through all the lines of sql code
-					$stringarray = explode("\n", $file_contents);
-					$x = 0;
-					foreach($stringarray as $sql) {
-						if (strlen($sql) > 3) {
-							try {
-								if(stristr($sql, 'CREATE TABLE') === FALSE) {
-									//not found do not execute
-								}
-								else {
-									//execute create table sql strings
-									$db_dest->query($sql);
-								}
-							}
-							catch (PDOException $error) {
-								//echo "error on line $x: " . $error->getMessage() . " sql: $sql<br/>";
-								//die();
-							}
-						}
-						$x++;
-					}
-					unset ($file_contents, $sql);
-		}
-
-//get the list of tables
-	if ($db_dest_type == "sqlite") {
-		$sql = "SELECT name FROM sqlite_master ";
-		$sql .= "WHERE type='table' ";
-		$sql .= "order by name;";
-	}
-	if ($db_dest_type == "pgsql") {
-		$sql = "select table_name as name ";
-		$sql .= "from information_schema.tables ";
-		$sql .= "where table_schema='public' ";
-		$sql .= "and table_type='BASE TABLE' ";
-		$sql .= "order by table_name ";
-	}
-	if ($db_dest_type == "mysql") {
-		$sql = "show tables";
-	}
-	//get the default schema structure
-		$prep_statement = $db_dest->prepare(check_sql($sql));
-		$prep_statement->execute();
-		$result_dest = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-	//clean the content from the table
-		foreach ($result_dest as &$row) {
-			$table_name = $row[0];
-			$sql = 'delete from '.$table_name;
-			//$db_dest->query($sql);
-		}
-
-	//add data into each table
-		foreach ($result_dest as &$row) {
-			//get the table name
-				$table_name = $row[0];
-
-			//$table_name = 'v_extensions';
-			//$db_dest_type = "sqlite";
-
-			//get the table source data
-				$destination_column_array='';
-				unset($destination_column_array);
-				if ($db_dest_type == "sqlite") {
-					$tmp_sql = "PRAGMA table_info($table_name);";
-				}
-				if ($db_dest_type == "pgsql") {
-
-				}
-				if ($db_dest_type == "mysql") {
-					$tmp_sql = "show columns from $table_name;";
-				}
-				if (strlen($tmp_sql) > 0) {
-					$prep_statement_2 = $db_dest->prepare(check_sql($tmp_sql));
-					//$prep_statement_2 = $db->prepare(check_sql($tmp_sql));
-					if ($prep_statement_2) {
-						$prep_statement_2->execute();
-						$result2 = $prep_statement_2->fetchAll(PDO::FETCH_ASSOC);
-					}
-					else {
-						echo "<b>".$text['label-error'].":</b>\n";
-						echo "<pre>\n";
-						print_r($db_dest->errorInfo());
-						echo "</pre>\n";
-					}
-					$x = 0;
-					foreach ($result2 as $row2) {
-						if ($db_dest_type == "sqlite") {
-							$destination_column_array[$x] = $row2['name'];
-						}
-						if ($db_dest_type == "mysql") {
-							$destination_column_array[$x] = $row2['Field'];
-						}
-						if ($db_dest_type == "pgsql") {
-
-						}
-						$x++;
-					}
-					/*
-						$x = 0;
-						foreach ($result2[0] as $key => $value) {
-							if ($db_dest_type == "sqlite" && $key == "name") {
-								$destination_column_array[$x] = $key;
-							}
-							$x++;
-						}
-					*/
-					$destination_column_array_count = count($destination_column_array);
-				}
-				unset($prep_statement_2, $result2);
-				//echo "<pre>\n";
-				//print_r($destination_column_array);
-				//echo "</pre>\n";
-
-			//get the table source data
-				$tmp_sql = "select * from $table_name";
-				if (strlen($tmp_sql) > 0) {
-					$prep_statement_2 = $db->prepare(check_sql($tmp_sql));
-					if ($prep_statement_2) {
-						$prep_statement_2->execute();
-						$result2 = $prep_statement_2->fetchAll(PDO::FETCH_ASSOC);
-					}
-					else {
-						echo "<b>".$text['label-error'].":</b>\n";
-						echo "<pre>\n";
-						print_r($db->errorInfo());
-						echo "</pre>\n";
-					}
-
-					$x = 0;
-					foreach ($result2[0] as $key => $value) {
-						$column_array[$x] = $key;
-						$x++;
-					}
-
-					foreach ($result2 as &$row) {
-						//build the sql query string
-							if (substr($table_name, 0, 2) == 'v_') {
-								$sql = "INSERT INTO $table_name (";
-								$x = 1;
-								foreach ($destination_column_array as $column) {
-									if ($x < $destination_column_array_count) {
-										$sql .= "".$column.", ";
-									}
-									else {
-										$sql .= "".$column."";
-									}
-									$x++;
-								}
-								$sql .= ") ";
-								$sql .= "VALUES( ";
-								$x = 1;
-								foreach ($destination_column_array as $column) {
-									if ($x < $destination_column_array_count) {
-										//if ($column == "domain_uuid") {
-										//	$sql .= "'".$dest_domain_uuid."',";
-										//}
-										//else {
-											$sql .= "'".check_str($row[$column])."', ";
-										//}
-									}
-									else {
-										//if ($column == "domain_uuid") {
-										//	$sql .= "'".$dest_domain_uuid."'";
-										//}
-										//else {
-											$sql .= "'".check_str($row[$column])."'";
-										//}
-									}
-									$x++;
-								}
-								$sql .= ");\n";
-							}
-						//add the sql into the destination database
-							echo $sql."<br />\n";
-							$db_dest->query($sql);
-					}
-				}
-		}
-
-?>

+ 0 - 164
sql_query.php

@@ -1,164 +0,0 @@
-<?php
-/*
-	FusionPBX
-	Version: MPL 1.1
-
-	The contents of this file are subject to the Mozilla Public License Version
-	1.1 (the "License"); you may not use this file except in compliance with
-	the License. You may obtain a copy of the License at
-	http://www.mozilla.org/MPL/
-
-	Software distributed under the License is distributed on an "AS IS" basis,
-	WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-	for the specific language governing rights and limitations under the
-	License.
-
-	The Original Code is FusionPBX
-
-	The Initial Developer of the Original Code is
-	Mark J Crane <[email protected]>
-	Portions created by the Initial Developer are Copyright (C) 2008-2013
-	the Initial Developer. All Rights Reserved.
-
-	Contributor(s):
-	Mark J Crane <[email protected]>
-*/
-include "root.php";
-require_once "resources/require.php";
-require_once "resources/check_auth.php";
-if (permission_exists('sql_query_execute')) {
-	//access granted
-}
-else {
-	echo "access denied";
-	exit;
-}
-
-//add multi-lingual support
-	$language = new text;
-	$text = $language->get();
-
-//show the header
-	require_once "resources/header.php";
-	$document['title'] = $text['title-sql_query'];
-
-//pdo voicemail database connection
-	require_once "sql_query_pdo.php";
-
-//show the content
-	//edit area
-		echo "    <script language=\"javascript\" type=\"text/javascript\" src=\"".PROJECT_PATH."/resources/edit_area/edit_area_full.js\"></script>\n";
-		echo "	<script language=\"Javascript\" type=\"text/javascript\">\n";
-		echo "\n";
-		echo "		editAreaLoader.init({\n";
-		echo "			id: \"sql_cmd\"	// id of the textarea to transform //, |, help\n";
-		echo "			,start_highlight: true\n";
-		//echo "			,display: \"later\"\n";
-		echo "			,font_size: \"8\"\n";
-		echo "			,allow_toggle: false\n";
-		echo "			,language: \"en\"\n";
-		echo "			,syntax: \"sql\"\n";
-		echo "			,toolbar: \"search, go_to_line,|, fullscreen, |, undo, redo, |, select_font, |, syntax_selection, |, change_smooth_selection, highlight, reset_highlight, |, help\" //new_document,\n";
-		echo "			,plugins: \"charmap\"\n";
-		echo "			,charmap_default: \"arrows\"\n";
-		echo "\n";
-		echo "    });\n";
-		echo "    </script>";
-
-	echo "<form method='post' target='frame' action='sql_query_result.php' >";
-	echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
-
-	echo "<tr>\n";
-	echo "<td align='left' width='30%' nowrap><b>".$text['header-sql_query']."</b></td>\n";
-	echo "<td width='70%' align='right'>\n";
-	echo "	<input type='button' class='btn' name='' alt='".$text['button-back']."' onClick=\"history.back()\" value='".$text['button-back']."'>\n";
-	echo "	<input type='button' class='btn' name='' alt='".$text['button-select_database']."' onclick=\"window.location='sql_query_db.php'\" value='".$text['button-select_database']."'>\n";
-	if (strlen($_REQUEST['id']) > 0) {
-		echo "	<input type='button' class='btn' name='' alt='".$text['button-backup']."' onclick=\"window.location='sql_backup.php?id=".$_REQUEST['id']."'\" value='".$text['button-backup']."'>\n";
-	}
-	else {
-		echo "	<input type='button' class='btn' name='' alt='".$text['button-backup']."' onclick=\"window.location='sql_backup.php'\" value='".$text['button-backup']."'>\n";
-	}
-	echo "</td>\n";
-	echo "</tr>\n";
-
-	echo "<tr>\n";
-	echo "<td colspan='2' style='padding: none;' align='left'><br>\n";
-	echo "	<textarea name='sql_cmd' id='sql_cmd' rows='10' class='formfld' style='width: 100%;' wrap='off'>$sql_cmd</textarea\n";
-	echo "	<br />\n";
-	echo "</td>\n";
-	echo "</tr>\n";
-
-	echo "	<tr>\n";
-	echo "		<td colspan='2' align='right' style='padding-top: 10px;'>\n";
-
-	/*
-	echo "			DB: <select name='sql_db'>\n";
-	echo "				<option value=''></option>\n";
-	$sql = "";
-	$sql .= "select * from v_databases ";
-	$sql .= "where domain_uuid = '$domain_uuid' ";
-	$prep_statement = $db->prepare(check_sql($sql));
-	$prep_statement->execute();
-	$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-	foreach ($result as &$row) {
-		//$database_type = $row["database_type"];
-		//$database_host = $row["database_host"];
-		//$database_port = $row["database_port"];
-		//$database_name = $row["database_name"];
-		//$database_username = $row["database_username"];
-		//$database_password = $row["database_password"];
-		//$database_path = $row["database_path"];
-		//$database_description = $row["database_description"];
-		echo "			<option value='".$row["database_uuid"]."'>".$row["database_host"]." - ".$row["database_name"]."</option>\n";
-	}
-	unset ($prep_statement);
-	echo "			</select>\n";
-	*/
-
-
-	echo "			".$text['label-table']."\n";
-	echo "			<select name='table_name' class='formfld' style='width: auto;'>\n";
-	echo "			<option value=''></option>\n";
-	if ($db_type == "sqlite") {
-		$sql = "SELECT name FROM sqlite_master ";
-		$sql .= "WHERE type='table' ";
-		$sql .= "order by name;";
-	}
-	if ($db_type == "pgsql") {
-		$sql = "select table_name as name ";
-		$sql .= "from information_schema.tables ";
-		$sql .= "where table_schema='public' ";
-		$sql .= "and table_type='BASE TABLE' ";
-		$sql .= "order by table_name ";
-	}
-	if ($db_type == "mysql") {
-		$sql = "show tables";
-	}
-	$prep_statement = $db->prepare(check_sql($sql));
-	$prep_statement->execute();
-	$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-	foreach ($result as &$row) {
-		$row = array_values($row);
-		echo "			<option value='".$row[0]."'>".$row[0]."</option>\n";
-	}
-	echo "			</select>\n";
-	echo "			&nbsp;\n";
-	echo "			&nbsp;\n";
-	echo "			".$text['label-result_type'].": <select name='sql_type' class='formfld' style='width: auto;'>\n";
-	echo "			<option value='default'>".$text['option-result_type_view']."</option>\n";
-	echo "			<option value='csv'>".$text['option-result_type_csv']."</option>\n";
-	echo "			<option value='sql insert into'>".$text['option-result_type_insert']."</option>\n";
-	echo "			</select>\n";
-	echo "			<input type='hidden' name='id' value='".$_REQUEST['id']."'>\n";
-	echo "			<input type='submit' name='submit' class='btn' value='".$text['button-execute']."'>\n";
-	echo "		</td>\n";
-	echo "	</tr>";
-	echo "</table><br>";
-	echo "</form>";
-
-	echo "<iframe id='frame' height='400' FRAMEBORDER='0' name='frame' style='width: 100%; background-color : #FFFFFF; border: 1px solid #c0c0c0;'></iframe>\n";
-
-//show the footer
-	require_once "resources/footer.php";
-?>

+ 0 - 136
sql_query_db.php

@@ -1,136 +0,0 @@
-<?php
-/*
-	FusionPBX
-	Version: MPL 1.1
-
-	The contents of this file are subject to the Mozilla Public License Version
-	1.1 (the "License"); you may not use this file except in compliance with
-	the License. You may obtain a copy of the License at
-	http://www.mozilla.org/MPL/
-
-	Software distributed under the License is distributed on an "AS IS" basis,
-	WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-	for the specific language governing rights and limitations under the
-	License.
-
-	The Original Code is FusionPBX
-
-	The Initial Developer of the Original Code is
-	Mark J Crane <[email protected]>
-	Portions created by the Initial Developer are Copyright (C) 2008-2012
-	the Initial Developer. All Rights Reserved.
-
-	Contributor(s):
-	Mark J Crane <[email protected]>
-*/
-require_once "root.php";
-require_once "resources/require.php";
-require_once "resources/check_auth.php";
-if (if_group("admin") || if_group("superadmin")) {
-	//access granted
-}
-else {
-	echo "access denied";
-	exit;
-}
-
-//add multi-lingual support
-	$language = new text;
-	$text = $language->get();
-
-require_once "resources/header.php";
-$document['title'] = $text['title-databases'];
-
-require_once "resources/paging.php";
-
-//get variables used to control the order
-	$order_by = $_GET["order_by"];
-	$order = $_GET["order"];
-
-//show the content
-
-	echo "<table width='100%' cellpadding='0' cellspacing='0' border='0'>\n";
-	echo "	<tr>\n";
-	echo "		<td width='50%' align=\"left\" nowrap=\"nowrap\"><b>".$text['header-databases']."</b></td>\n";
-	echo "		<td width='50%' align=\"right\">";
-	if (if_group("superadmin")) {
-		echo "	<input type='button' class='btn' name='' alt='".$text['button-manage']."' onclick=\"window.location='/core/databases/databases.php'\" value='".$text['button-manage']."'>\n";
-	}
-	echo "		</td>\n";
-	echo "	</tr>\n";
-	echo "	<tr>\n";
-	echo "		<td align=\"left\" colspan='2'>\n";
-	echo "			".$text['description-databases'].".<br /><br />\n";
-	echo "		</td>\n";
-	echo "	</tr>\n";
-	echo "</table>\n";
-
-	//prepare to page the results
-		$sql = "select count(*) as num_rows from v_databases ";
-		if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; }
-		$prep_statement = $db->prepare($sql);
-		if ($prep_statement) {
-		$prep_statement->execute();
-			$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
-			if ($row['num_rows'] > 0) {
-				$num_rows = $row['num_rows'];
-			}
-			else {
-				$num_rows = '0';
-			}
-		}
-
-	//prepare to page the results
-		$rows_per_page = 100;
-		$param = "";
-		$page = $_GET['page'];
-		if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; }
-		list($paging_controls, $rows_per_page, $var_3) = paging($num_rows, $param, $rows_per_page);
-		$offset = $rows_per_page * $page;
-
-	//get the  list
-		$sql = "select * from v_databases ";
-		if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; }
-		$sql .= "limit $rows_per_page offset $offset ";
-		$prep_statement = $db->prepare(check_sql($sql));
-		$prep_statement->execute();
-		$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-		$result_count = count($result);
-		unset ($prep_statement, $sql);
-
-	$c = 0;
-	$row_style["0"] = "row_style0";
-	$row_style["1"] = "row_style1";
-
-	echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
-	echo "<tr>\n";
-	echo th_order_by('database_type', $text['label-type'], $order_by, $order);
-	echo th_order_by('database_host', $text['label-host'], $order_by, $order);
-	echo th_order_by('database_name', $text['label-name'], $order_by, $order);
-	echo th_order_by('database_description', $text['label-description'], $order_by, $order);
-	echo "<td align='right' width='21'>\n";
-	echo "</td>\n";
-	echo "<tr>\n";
-
-	if ($result_count > 0) {
-		foreach($result as $row) {
-			echo "<tr >\n";
-			echo "	<td valign='top' class='".$row_style[$c]."'>".$row['database_type']."&nbsp;</td>\n";
-			echo "	<td valign='top' class='".$row_style[$c]."'>".$row['database_host']."&nbsp;</td>\n";
-			echo "	<td valign='top' class='".$row_style[$c]."'>".$row['database_name']."&nbsp;</td>\n";
-			echo "	<td valign='top' class='row_stylebg'>".$row['database_description']."&nbsp;</td>\n";
-			echo "	<td valign='top' align='right'>\n";
-			echo "		<a href='sql_query.php?id=".$row['database_uuid']."' alt='".$text['button-edit']."'>$v_link_label_edit</a>\n";
-			echo "	</td>\n";
-			echo "</tr>\n";
-			if ($c==0) { $c=1; } else { $c=0; }
-		} //end foreach
-		unset($sql, $result, $row_count);
-	} //end if results
-
-	echo "</table>";
-	echo "<br><br>";
-
-//include the footer
-	require_once "resources/footer.php";
-?>

+ 0 - 238
sql_query_pdo.php

@@ -1,238 +0,0 @@
-<?php
-/*
- FusionPBX
- Version: MPL 1.1
-
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
-
- The Original Code is FusionPBX
-
- The Initial Developer of the Original Code is
- Mark J Crane <[email protected]>
- Portions created by the Initial Developer are Copyright (C) 2008-2012
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Mark J Crane <[email protected]>
- */
-require_once "root.php";
-require_once "resources/require.php";
-require_once "resources/check_auth.php";
-if (if_group("admin") || if_group("superadmin")) {
-	//access granted
-}
-else {
-	echo "access denied";
-	exit;
-}
-
- //set the default values
-	if (isset($db_file_path) > 0) {
-		$db_path = $db_file_path;
-		$db_name = $dbfilename;
-	}
-
-//get the db connection information
-	if (strlen($_REQUEST['id']) > 0) {
-		$sql = "select * from v_databases ";
-		$sql .= "where database_uuid = '".$_REQUEST['id']."' ";
-		$prep_statement = $db->prepare($sql);
-		$prep_statement->execute();
-		$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
-		foreach ($result as &$row) {
-			$db_type = $row["database_type"];
-			$db_host = $row["database_host"];
-			$db_port = $row["database_port"];
-			$db_name = $row["database_name"];
-			$db_username = $row["database_username"];
-			$db_password = $row["database_password"];
-			$db_path = $row["database_path"];
-			break;
-		}
-	}
-
-//unset the database connection
-	unset($db);
-
-if (!function_exists('get_db_field_names')) {
-	function get_db_field_names($db, $table, $db_name='fusionpbx') {
-		$query = sprintf('SELECT * FROM %s LIMIT 1', $table);
-		foreach ($db->query($query, PDO::FETCH_ASSOC) as $row) {
-			return array_keys($row);
-		}
-
-		// if we're still here, we need to try something else
-		$fields 	= array();
-		$driver = $db->getAttribute(PDO::ATTR_DRIVER_NAME);
-		if ($driver == 'sqlite') {
-			$query 		= sprintf("Pragma table_info(%s);", $table);
-			$stmt 		= $db->prepare($query);
-			$result 	= $stmt->execute();
-			$rows 		= $stmt->fetchAll(PDO::FETCH_NAMED);
-			//printf('<pre>%s</pre>', print_r($rows, true));
-			$row_count 	= count($rows);
-			//printf('<pre>%s</pre>', print_r($rows, true));
-			for ($i = 0; $i < $row_count; $i++) {
-				array_push($fields, $rows[$i]['name']);
-			}
-			return $fields;
-		} else {
-			$query 		= sprintf("SELECT * FROM information_schema.columns
-			WHERE table_schema='%s' AND table_name='%s';"
-			, $db_name, $table
-			);
-			$stmt 		= $db->prepare($query);
-			$result 	= $stmt->execute();
-			$rows 		= $stmt->fetchAll(PDO::FETCH_NAMED);
-			$row_count 	= count($rows);
-			//printf('<pre>%s</pre>', print_r($rows, true));
-			for ($i = 0; $i < $row_count; $i++) {
-				array_push($fields, $rows[$i]['COLUMN_NAME']);
-			}
-			return $fields;
-		}
-	}
-}
-
-if ($db_type == "sqlite") {
-	if (!function_exists('phpmd5')) {
-		function phpmd5($string) {
-			return md5($string);
-		}
-	}
-
-	if (!function_exists('php_unix_timestamp')) {
-		function php_unix_timestamp($string) {
-			return strtotime($string);
-		}
-	}
-
-	if (!function_exists('phpnow')) {
-		function phpnow() {
-			return date("Y-m-d H:i:s");
-		}
-	}
-
-	if (!function_exists('php_left')) {
-		function php_left($string, $num) {
-			return substr($string, 0, $num);
-		}
-	}
-
-	if (!function_exists('php_right')) {
-		function php_right($string, $num) {
-			return substr($string, (strlen($string)-$num), strlen($string));
-		}
-	}
-
-	if (!function_exists('php_sqlite_data_type')) {
-		function php_sqlite_data_type($string, $field) {
-
-			//get the string between the start and end characters
-			$start = '(';
-			$end = ')';
-			$ini = stripos($string,$start);
-			if ($ini == 0) return "";
-			$ini += strlen($start);
-			$len = stripos($string,$end,$ini) - $ini;
-			$string = substr($string,$ini,$len);
-
-			$str_data_type = '';
-			$string_array = explode(',', $string);
-			foreach($string_array as $lnvalue) {
-				$fieldlistarray = explode (" ", $value);
-				unset($fieldarray, $string, $field);
-			}
-
-			return $str_data_type;
-		}
-	} //end function
-
-	//database connection
-	try {
-		//$db = new PDO('sqlite2:example.db'); //sqlite 2
-		//$db = new PDO('sqlite::memory:'); //sqlite 3
-		$db = new PDO('sqlite:'.realpath($db_path).'/'.$db_name); //sqlite 3
-
-		//add additional functions to SQLite so that they are accessible inside SQL
-		//bool PDO::sqliteCreateFunction ( string function_name, callback callback [, int num_args] )
-		$db->sqliteCreateFunction('md5', 'phpmd5', 1);
-		$db->sqliteCreateFunction('unix_timestamp', 'php_unix_timestamp', 1);
-		$db->sqliteCreateFunction('now', 'phpnow', 0);
-		$db->sqliteCreateFunction('sqlitedatatype', 'php_sqlite_data_type', 2);
-		$db->sqliteCreateFunction('strleft', 'php_left', 2);
-		$db->sqliteCreateFunction('strright', 'php_right', 2);
-	}
-	catch (PDOException $error) {
-		print "error: " . $error->getMessage() . "<br/>";
-		die();
-	}
-} //end if db_type sqlite
-
-if ($db_type == "mysql") {
-	//database connection
-	try {
-		//mysql pdo connection
-			if (strlen($db_host) == 0 && strlen($db_port) == 0) {
-				//if both host and port are empty use the unix socket
-				$db = new PDO("mysql:host=$db_host;unix_socket=/var/run/mysqld/mysqld.sock;dbname=$db_name", $db_username, $db_password);
-			}
-			else {
-				if (strlen($db_port) == 0) {
-					//leave out port if it is empty
-					$db = new PDO("mysql:host=$db_host;dbname=$db_name;", $db_username, $db_password, array(
-					PDO::ATTR_ERRMODE,
-					PDO::ERRMODE_EXCEPTION
-					));
-				}
-				else {
-					$db = new PDO("mysql:host=$db_host;port=$db_port;dbname=$db_name;", $db_username, $db_password, array(
-					PDO::ATTR_ERRMODE,
-					PDO::ERRMODE_EXCEPTION
-					));
-				}
-			}
-	}
-	catch (PDOException $error) {
-		print "error: " . $error->getMessage() . "<br/>";
-		die();
-	}
-} //end if db_type mysql
-
-if ($db_type == "pgsql") {
-	//database connection
-	try {
-		if (strlen($db_host) > 0) {
-			if (strlen($db_port) == 0) { $db_port = "5432"; }
-			$db = new PDO("pgsql:host=$db_host port=$db_port dbname=$db_name user=$db_username password=$db_password");
-		}
-		else {
-			$db = new PDO("pgsql:dbname=$db_name user=$db_username password=$db_password");
-		}
-	}
-	catch (PDOException $error) {
-		print "error: " . $error->getMessage() . "<br/>";
-		die();
-	}
-} //end if db_type pgsql
-
-if ($db_type == "odbc") {
-	//database connection
-		try {
-			unset($db);
-			$db = new PDO("odbc:$db_name", "$db_username", "$db_password");
-		}
-		catch (PDOException $e) {
-		   echo 'Connection failed: ' . $e->getMessage();
-		}
-} //end if db_type odbc
-
-?>

+ 0 - 320
sql_query_result.php

@@ -1,320 +0,0 @@
-<?php
-/*
-	FusionPBX
-	Version: MPL 1.1
-
-	The contents of this file are subject to the Mozilla Public License Version
-	1.1 (the "License"); you may not use this file except in compliance with
-	the License. You may obtain a copy of the License at
-	http://www.mozilla.org/MPL/
-
-	Software distributed under the License is distributed on an "AS IS" basis,
-	WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-	for the specific language governing rights and limitations under the
-	License.
-
-	The Original Code is FusionPBX
-
-	The Initial Developer of the Original Code is
-	Mark J Crane <[email protected]>
-	Portions created by the Initial Developer are Copyright (C) 2008-2012
-	the Initial Developer. All Rights Reserved.
-
-	Contributor(s):
-	Mark J Crane <[email protected]>
-*/
-include "root.php";
-require_once "resources/require.php";
-require_once "resources/check_auth.php";
-if (permission_exists('sql_query_execute')) {
-	//access granted
-}
-else {
-	echo "access denied";
-	exit;
-}
-
-//add multi-lingual support
-	$language = new text;
-	$text = $language->get();
-
-//pdo database connection
-	if (strlen($_REQUEST['id']) > 0) {
-		require_once "sql_query_pdo.php";
-	}
-
-if (count($_POST)>0) {
-	$sql_type = trim($_POST["sql_type"]);
-	$sql_cmd = trim($_POST["sql_cmd"]);
-	$table_name = trim($_POST["table_name"]);
-	if (strlen($sql_cmd) == 0) { $sql_cmd = "select * from ".$table_name; }
-}
-
-if (count($_POST)>0) {
-	$tmp_header = "<html>\n";
-	$tmp_header .= "<head>\n";
-	$tmp_header .= "<style type='text/css'>\n";
-	$tmp_header .= "\n";
-	$tmp_header .= "body {\n";
-	$tmp_header .= "	font-family: arial;\n";
-	$tmp_header .= "	font-size: 12px;\n";
-	$tmp_header .= "	color: #444444;\n";
-	$tmp_header .= "}\n";
-	$tmp_header .= "\n";
-	$tmp_header .= "th {\n";
-	$tmp_header .= "	border-top: 1px solid #444444;\n";
-	$tmp_header .= "	border-bottom: 1px solid #444444;\n";
-	$tmp_header .= "	color: #FFFFFF;\n";
-	$tmp_header .= "	font-size: 12px;\n";
-	$tmp_header .= "	font-family: arial;\n";
-	$tmp_header .= "	font-weight: bold;\n";
-	$tmp_header .= "	background-color: #777777;\n";
-	$tmp_header .= "	background-image: url(".PROJECT_PATH."'/themes/horizontal/background_th.png');\n";
-	$tmp_header .= "	padding-top: 4px;\n";
-	$tmp_header .= "	padding-bottom: 4px;\n";
-	$tmp_header .= "	padding-right: 7px;\n";
-	$tmp_header .= "	padding-left: 7px;\n";
-	$tmp_header .= "}\n";
-	$tmp_header .= "\n";
-	$tmp_header .= ".row_style0 {\n";
-	$tmp_header .= "	background-color: #EEEEEE;\n";
-	$tmp_header .= "	background-image: url(".PROJECT_PATH."'/themes/horizontal/background_cell.gif');\n";
-	$tmp_header .= "	border-bottom: 1px solid #999999;\n";
-	$tmp_header .= "	font-size: 12px;\n";
-	$tmp_header .= "	color: #444444;\n";
-	$tmp_header .= "	text-align: left;\n";
-	$tmp_header .= "	padding-top: 4px;\n";
-	$tmp_header .= "	padding-bottom: 4px;\n";
-	$tmp_header .= "	padding-right: 7px;\n";
-	$tmp_header .= "	padding-left: 7px;\n";
-	$tmp_header .= "}\n";
-	$tmp_header .= "\n";
-	$tmp_header .= ".row_style0 a:link{ color:#444444; }\n";
-	$tmp_header .= ".row_style0 a:visited{ color:#444444; }\n";
-	$tmp_header .= ".row_style0 a:hover{ color:#444444; }\n";
-	$tmp_header .= ".row_style0 a:active{ color:#444444; }\n";
-	$tmp_header .= "\n";
-	$tmp_header .= ".row_style1 {\n";
-	$tmp_header .= "	border-bottom: 1px solid #999999;\n";
-	$tmp_header .= "	background-color: #FFFFFF;\n";
-	$tmp_header .= "	font-size: 12px;\n";
-	$tmp_header .= "	color: #444444;\n";
-	$tmp_header .= "	text-align: left;\n";
-	$tmp_header .= "	padding-top: 4px;\n";
-	$tmp_header .= "	padding-bottom: 4px;\n";
-	$tmp_header .= "	padding-right: 7px;\n";
-	$tmp_header .= "	padding-left: 7px;\n";
-	$tmp_header .= "}\n";
-	$tmp_header .= "\n";
-	$tmp_header .= "</style>";
-	$tmp_header .= "</head>\n";
-	$tmp_header .= "<body>\n";
-
-	$tmp_footer = "<body>\n";
-	$tmp_footer .= "<html>\n";
-
-	if ($sql_type == "default") {
-
-		echo $tmp_header;
-
-		$c = 0;
-		$row_style["0"] = "row_style0";
-		$row_style["1"] = "row_style1";
-
-		$sql_array = explode(";", $sql_cmd);
-		reset($sql_array);
-		foreach($sql_array as $sql) {
-			$sql = trim($sql);
-			echo "<b>".$text['label-sql_query'].":</b><br>\n";
-			echo "".$sql."<br /><br />";
-
-			if (strlen($sql) > 0) {
-				$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
-				try {
-					$prep_statement = $db->prepare(check_sql($sql));
-					$prep_statement->execute();
-					$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
-					echo "<b>".$text['label-results'].": ".count($result)."</b><br />";
-				}
-				catch(PDOException $e) {
-					echo "<b>".$text['label-error'].":</b><br />\n";
-					echo "<table>\n";
-					echo "<tr>\n";
-					echo "<td>\n";
-					echo $e->getMessage();
-					echo "</td>\n";
-					echo "</tr>\n";
-					echo "</table>\n";
-				}
-
-				echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
-				$x = 0;
-				foreach ($result[0] as $key => $value) {
-					echo "<th>".$key."</th>";
-					$column_array[$x] = $key;
-					$x++;
-				}
-
-				$x = 1;
-				foreach ($result as &$row) {
-					if ($x > 1000) { break; }
-					echo "<tr>\n";
-					foreach ($column_array as $column) {
-						echo "<td class='".$row_style[$c]."'>&nbsp;".$row[$column]."&nbsp;</td>";
-					}
-					echo "</tr>\n";
-					if ($c==0) { $c=1; } else { $c=0; }
-					$x++;
-				}
-				echo "</table>\n";
-				echo "<br>\n";
-			}
-		} //foreach($sql_array as $sql)
-		echo $tmp_footer;
-	}
-
-	if ($sql_type == "sql insert into") {
-		echo $tmp_header;
-
-		$sql = trim($sql);
-		echo "<b>".$text['label-sql_query'].":</b><br>\n";
-		echo "".$sql."<br /><br />";
-
-		//get the table data
-			if (strlen($sql_cmd) == 0) {
-				$sql = "select * from $table_name";
-			}
-			else {
-				$sql = $sql_cmd;
-			}
-			if (strlen($sql) > 0) {
-				$prep_statement = $db->prepare(check_sql($sql));
-				if ($prep_statement) {
-					$prep_statement->execute();
-					$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
-				}
-				else {
-					echo "<b>".$text['label-error'].":</b>\n";
-					echo "<pre>\n";
-					print_r($db->errorInfo());
-					echo "</pre>\n";
-				}
-
-				$x = 0;
-				foreach ($result[0] as $key => $value) {
-					$column_array[$x] = $key;
-					$x++;
-				}
-
-				$column_array_count = count($column_array);
-
-				foreach ($result as &$row) {
-					echo "INSERT INTO $table_name (";
-					$x = 1;
-					foreach ($column_array as $column) {
-						if ($x < $column_array_count) {
-							if ($column != "menuid" && $column != "menuparentid") {
-								echo "".$column.",";
-							}
-						}
-						else {
-							if ($column != "menuid" && $column != "menuparentid") {
-								echo "".$column."";
-							}
-						}
-						$x++;
-					}
-					echo ") ";
-
-					echo "VALUES ( ";
-					$x = 1;
-					foreach ($column_array as $column) {
-						if ($x < $column_array_count) {
-							if ($column != "menuid" && $column != "menuparentid") {
-								if (is_null($row[$column])) {
-									echo "null,";
-								}
-								else {
-									echo "'".check_str($row[$column])."',";
-								}
-							}
-						}
-						else {
-							if ($column != "menuid" && $column != "menuparentid") {
-								if (is_null($row[$column])) {
-									echo "null";
-								}
-								else {
-									echo "'".check_str($row[$column])."'";
-								}
-							}
-						}
-						$x++;
-					}
-					echo ");<br />\n";
-				}
-			}
-		echo $tmp_footer;
-	}
-
-	if ($sql_type == "csv") {
-		//echo $tmp_header;
-
-		//set the headers
-			header('Content-type: application/octet-binary');
-			header('Content-Disposition: attachment; filename='.$table_name.'.csv');
-
-		//get the table data
-			$sql = trim($sql);
-			$sql = "select * from $table_name";
-			if (strlen($sql) > 0) {
-				$prep_statement = $db->prepare(check_sql($sql));
-				if ($prep_statement) {
-					$prep_statement->execute();
-					$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
-				}
-				else {
-					echo "<b>".$text['label-error'].":</b>\n";
-					echo "<pre>\n";
-					print_r($db->errorInfo());
-					echo "</pre>\n";
-				}
-
-				$x = 0;
-				foreach ($result[0] as $key => $value) {
-					$column_array[$x] = $key;
-					$x++;
-				}
-
-				$column_array_count = count($column_array);
-
-				$x = 1;
-				foreach ($column_array as $column) {
-					if ($x < $column_array_count) {
-						echo "\"".$column."\",";
-					}
-					else {
-						echo "\"".$column."\"";
-					}
-					$x++;
-				}
-				echo "\r\n";
-
-				foreach ($result as &$row) {
-					$x = 1;
-					foreach ($column_array as $column) {
-						if ($x < $column_array_count) {
-							echo "\"".check_str($row[$column])."\",";
-						}
-						else {
-							echo "\"".check_str($row[$column])."\"";
-						}
-						$x++;
-					}
-					echo "\n";
-				}
-			}
-	}
-}
-
-?>