svn commit: r49 - trunk/mapbender/http/classes/class_gui.php
uli at osgeo.org
uli at osgeo.org
Thu Apr 13 16:59:19 EDT 2006
Author: uli
Date: 2006-04-13 20:59:19+0000
New Revision: 49
Added:
trunk/mapbender/http/classes/class_gui.php
Log:
import Mapbender source without history
Added: trunk/mapbender/http/classes/class_gui.php
Url: https://mapbender.osgeo.org/source/browse/mapbender/trunk/mapbender/http/classes/class_gui.php?view=auto&rev=49
==============================================================================
--- (empty file)
+++ trunk/mapbender/http/classes/class_gui.php 2006-04-13 20:59:19+0000
@@ -0,0 +1,316 @@
+<?php
+
+# $Id: class_gui.php,v 1.10 2005/12/13 14:00:52 c_baudson Exp $
+# $Header: /cvsroot/mapbender/mapbender/http/classes/class_gui.php,v 1.10 2005/12/13 14:00:52 c_baudson Exp $
+# Copyright (C) 2002 CCGIS
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+require_once("../../conf/mapbender.conf");
+
+class gui{
+
+ function gui() {
+ }
+
+ // CB - returns true if a gui '$gui_id' exists
+
+ function guiExists($gui_id){
+ global $DBSERVER,$DB,$OWNER,$PW;
+ $con = db_connect($DBSERVER,$OWNER,$PW);
+ db_select_db(DB,$con);
+ $sql = "SELECT * FROM gui ";
+ $sql .= "WHERE gui_id = '".$gui_id."'";
+ $res = db_query($sql);
+ $count_g = 0;
+ $array = array();
+ while($row = db_fetch_array($res)){
+ $array[$count_g] = $row["gui_id"];
+ $count_g++;
+ }
+ if ($count_g >0) {
+ return true;
+ }
+ else {
+ return false;
+ }
+ }
+
+
+
+ // CB - deletes a GUI $guiId and all its links to users, layers etc.
+ function deleteGui ($guiId) {
+ //
+ // begin transaction
+ //
+ $guiList = $guiId;
+
+
+ $sql = "BEGIN;";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ $sql = "DELETE FROM gui WHERE gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ $sql = "DELETE FROM gui_element WHERE fkey_gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ $sql = "DELETE FROM gui_element_vars WHERE fkey_gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ $sql = "DELETE FROM gui_layer WHERE fkey_gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ $sql = "DELETE FROM gui_mb_group WHERE fkey_gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ $sql = "DELETE FROM gui_mb_user WHERE fkey_gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ $sql = "DELETE FROM gui_treegde WHERE fkey_gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ $sql = "DELETE FROM gui_wfs WHERE fkey_gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ $sql = "DELETE FROM gui_wms WHERE fkey_gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ // if $error is true, the transaction is aborted -> rollback
+ if (!$error) {
+ $sql = "COMMIT;";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+ }
+ //if $error is false, the transaction is executed -> commit
+ else {
+ $sql = "ROLLBACK;";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+ }
+ return !$error;
+ }
+
+
+
+ // CB - rename a GUI
+ function renameGui ($guiId, $newGuiName) {
+ $error = false;
+ if ($this->copyGui($guiId, $newGuiName, true)) {
+ $this->deleteGui($guiId);
+ }
+ else {
+ $error = true;
+ }
+ return !$error;
+ }
+
+ // CB - copies a GUI $guiId and all its links to users, layers etc. to GUI $newGuiName
+ function copyGui ($guiId, $newGuiName, $withUsers) {
+ global $DBSERVER,$DB,$OWNER,$PW;
+ $error = false;
+
+ $guiList = $guiId;
+
+ //
+ // begin transaction
+ //
+
+ if (!$this->guiExists($newGuiName)) {
+
+ $sql = "BEGIN;";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ // INSERT
+ $sql = "INSERT INTO gui SELECT '" . $newGuiName . "', '" . $newGuiName . "',gui_description, gui_public FROM gui WHERE gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ $sql = "INSERT INTO gui_element SELECT '" . $newGuiName . "', e_id, e_pos, e_public, e_comment, e_element, e_src, e_attributes, e_left, e_top, e_width, e_height, e_z_index, e_more_styles, e_content, e_closetag, e_js_file, e_mb_mod, e_target, e_requires FROM gui_element WHERE fkey_gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ $sql = "INSERT INTO gui_element_vars SELECT '" . $newGuiName . "', fkey_e_id, var_name, var_value, context, var_type FROM gui_element_vars WHERE fkey_gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ $sql = "INSERT INTO gui_layer SELECT '" . $newGuiName . "', fkey_layer_id, gui_layer_wms_id, gui_layer_status, gui_layer_selectable, gui_layer_visible, gui_layer_queryable, gui_layer_querylayer, gui_layer_minscale, gui_layer_maxscale, gui_layer_priority, gui_layer_style, gui_layer_wfs_featuretype FROM gui_layer WHERE fkey_gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ $sql = "INSERT INTO gui_mb_group SELECT '" . $newGuiName . "', fkey_mb_group_id, mb_group_type FROM gui_mb_group WHERE fkey_gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ if ($withUsers == true) {
+ /* users of original gui are copied as well */
+ $sql = "INSERT INTO gui_mb_user SELECT '" . $newGuiName . "', fkey_mb_user_id, mb_user_type FROM gui_mb_user WHERE fkey_gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+ }
+ else {
+ // users of original gui are not copied, the current user is set as owner
+ $sql = "INSERT INTO gui_mb_user VALUES ('" . $newGuiName . "', '" . $_SESSION["mb_user_id"] . "', 'owner');";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+ }
+
+
+ $sql = "INSERT INTO gui_treegde SELECT '" . $newGuiName . "', fkey_layer_id, id, lft, rgt, my_layer_title, layer, wms_id FROM gui_treegde WHERE fkey_gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ $sql = "INSERT INTO gui_wfs SELECT '" . $newGuiName . "', fkey_wfs_id FROM gui_wfs WHERE fkey_gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ $sql = "INSERT INTO gui_wms SELECT '" . $newGuiName . "', fkey_wms_id, gui_wms_position, gui_wms_mapformat, gui_wms_featureinfoformat, gui_wms_exceptionformat, gui_wms_epsg, gui_wms_visible FROM gui_wms WHERE fkey_gui_id = '" . $guiList . "';";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+
+ // if $error is false, the transaction is executed -> commit
+ if (!$error) {
+ $sql = "COMMIT;";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+ }
+ // if $error is true, the transaction is aborted -> rollback
+ else {
+ $sql = "ROLLBACK;";
+ $report .= "<br><br>" . $sql . "<br><br>";
+ $res = db_query($sql);
+ if (!$res) {
+ $report .= "<br><br>" . $sql . "<br><br>" . db_error() . "<br>";
+ $error = true;
+ }
+ }
+ return !$error;
+ }
+ else {
+ echo "<script language='javascript'>";
+ echo "alert('This gui name " . $newGuiName . " is taken!');";
+ echo "</script>";
+ return false;
+ }
+ }
+}
+?>
\ No newline at end of file
More information about the Mapbender_commits
mailing list