svn commit: r772 - trunk/mapbender/http/classes/class_administration.php
uli at osgeo.org
uli at osgeo.org
Tue Sep 26 10:29:37 EDT 2006
Author: uli
Date: 2006-09-26 14:29:37+0000
New Revision: 772
Modified:
trunk/mapbender/http/classes/class_administration.php
Log:
new functions
getWmsByWmsOwner
getLayerPermission
Modified: trunk/mapbender/http/classes/class_administration.php
Url: https://mapbender.osgeo.org/source/browse/mapbender/trunk/mapbender/http/classes/class_administration.php?view=diff&rev=772&p1=trunk/mapbender/http/classes/class_administration.php&p2=trunk/mapbender/http/classes/class_administration.php&r1=771&r2=772
==============================================================================
--- trunk/mapbender/http/classes/class_administration.php (original)
+++ trunk/mapbender/http/classes/class_administration.php 2006-09-26 14:29:37+0000
@@ -16,8 +16,8 @@
# 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");
-$con = db_connect($DBSERVER,$OWNER,$PW);
+require_once(dirname(__FILE__)."/../../conf/mapbender.conf");
+$con = db_connect(DBSERVER,OWNER,PW);
db_select_db(DB,$con);
require("phpmailer-1.72/class.phpmailer.php");
@@ -304,6 +304,18 @@
$gui_list = $this->getGuisByOwner($user_id);
return $this->getWmsByOwnGuis($gui_list);
}
+
+ function getWmsByWmsOwner($user_id){
+ $sql = "SELECT wms_id FROM wms WHERE wms_owner = $1";
+ $v = array($user_id);
+ $t = array('i');
+ $res = db_prep_query($sql,$v,$t);
+ $r = array();
+ while($row = db_fetch_array($res)){
+ array_push($r,$row["wms_id"]);
+ }
+ return $r;
+ }
function getUserByWms($wms_id){
$sql = "SELECT fkey_gui_id FROM gui_wms WHERE fkey_wms_id = $1 GROUP BY fkey_gui_id";
@@ -690,5 +702,43 @@
return false;
}
}
+ function getLayerPermission($wms_id, $layer_name, $user_id){
+ $layer_id = $this->getLayerIdByLayerName($wms_id,$layer_name);
+ $array_guis = $this->getGuisByPermission($user_id);
+ $v = array();
+ $t = array();
+ $sql = "SELECT * FROM gui_layer WHERE fkey_gui_id IN (";
+ $c = 1;
+ for($i=0; $i<count($array_guis); $i++){
+ if($i>0){ $sql .= ",";}
+ $sql .= "$".$c;
+ $c++;
+ array_push($v, $array_guis[$i]);
+ array_push($t, 's');
+ }
+ $sql .= ") AND fkey_layer_id = $".$c." AND gui_layer_status = 1";
+ array_push($v,$layer_id);
+ array_push($t,'i');
+ $res = db_prep_query($sql,$v,$t);
+ if($row = db_fetch_array($res)){
+ return true;
+ }
+ else{
+ return false;
+ }
+ }
+ function getLayerIdByLayerName($wms_id, $layer_name){
+ $sql = "SELECT layer_id FROM layer WHERE ";
+ $sql .= "fkey_wms_id = $1 AND layer_name = $2";
+ $v = array($wms_id,$layer_name);
+ $t = array('i','s');
+ $res = db_prep_query($sql,$v,$t);
+ if($row = db_fetch_array($res)){
+ return $row['layer_id'];
+ }
+ else{
+ return false;
+ }
+ }
}
?>
\ No newline at end of file
More information about the Mapbender_commits
mailing list