Beispiel #1
0
 /**
  * Get extent of specified view
  * 
  * @param object $tavName
  * @return array ['minx' => ..., 'miny' => ..., ...] 
  */
 public static function getExtent($tavName)
 {
     $extent = array();
     if ($tavName) {
         $xmlfileThemesAndViewsFile = ThemesAndViewsUtils::getFile();
         if (file_exists($xmlfileThemesAndViewsFile)) {
             $xmlThemesAndViews = simplexml_load_file($xmlfileThemesAndViewsFile);
             foreach ($xmlThemesAndViews->themeorview as $xmlThemeOrView) {
                 if ($xmlThemeOrView->type) {
                     if ($xmlThemeOrView->type == 'View') {
                         if ($xmlThemeOrView->name) {
                             if ((string) $xmlThemeOrView->name == $tavName) {
                                 if ($xmlThemeOrView->extent) {
                                     if ($xmlThemeOrView->extent->minx && $xmlThemeOrView->extent->miny && $xmlThemeOrView->extent->maxx && $xmlThemeOrView->extent->maxy) {
                                         $extent['minx'] = (double) $xmlThemeOrView->extent->minx;
                                         $extent['miny'] = (double) $xmlThemeOrView->extent->miny;
                                         $extent['maxx'] = (double) $xmlThemeOrView->extent->maxx;
                                         $extent['maxy'] = (double) $xmlThemeOrView->extent->maxy;
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     return $extent;
 }
Beispiel #2
0
$type = 'none';
if (isset($_REQUEST['type'])) {
    if ($_REQUEST['type'] == 'theme') {
        $themes = ThemesAndViewsUtils::getListThemesAndViews(true, false, false);
        // Print combo box with all themes
        $selStr = '<form id="selThemesBoxForm" action=""><div>';
        if (count($themes) > 0) {
            $selStr .= _p('Apply theme') . ' ';
            $selStr .= ThemesAndViewsUtils::getComboThemesAndViews($themes, 'PM.Plugin.ThemesAndViews.submitSelThemeBox()');
        }
        $selStr .= '</div></form>';
        $type = 'theme';
    } else {
        if ($_REQUEST['type'] == 'view') {
            $views = ThemesAndViewsUtils::getListThemesAndViews(false, true, false);
            // Print combo box with all views
            $selStr = '<form id="selViewsBoxForm" action=""><div>';
            if (count($views) > 0) {
                $selStr .= _p('Apply view') . ' ';
                $selStr .= ThemesAndViewsUtils::getComboThemesAndViews($views, 'PM.Plugin.ThemesAndViews.submitSelViewBox()');
            }
            $selStr .= '</div></form>';
            $type = 'view';
        }
    }
    $selStr = addcslashes($selStr, "'");
    $selStr = addcslashes($selStr, "\"");
}
// return JS object literals '{}' for XMLHTTP request
header("Content-Type: text/plain; charset={$defCharset}");
echo "{\"selStr\":\"{$selStr}\",\"type\":\"{$type}\"}";
Beispiel #3
0
/******************************************************************************
 * Apply a Theme or a View
 ******************************************************************************/
require_once 'tav.php';
require_once $_SESSION['PM_INCPHP'] . '/common.php';
//require_once($_SESSION['PM_PLUGIN_REALPATH'] . '/common/common.php');
$tavLayers = '';
$transparencies = '';
$strExtent = '';
$reload = false;
if (isset($_REQUEST['type']) && ($_REQUEST['type'] == 'theme' || $_REQUEST['type'] == 'view')) {
    // If or theme or a view has been passed to be applied:
    if (isset($_REQUEST['selected']) && $_REQUEST['selected']) {
        $tavLayers = ThemesAndViewsUtils::getListLayers($_REQUEST['selected'], $_REQUEST['type'] == 'theme');
        if ($_REQUEST['type'] == 'view') {
            $extentTmp = ThemesAndViewsUtils::getExtent($_REQUEST['selected']);
            if ($extentTmp) {
                if (count($extentTmp) == 4) {
                    $strExtent .= str_replace(',', '.', $extentTmp['minx']) . ' ';
                    $strExtent .= str_replace(',', '.', $extentTmp['miny']) . ' ';
                    $strExtent .= str_replace(',', '.', $extentTmp['maxx']) . ' ';
                    $strExtent .= str_replace(',', '.', $extentTmp['maxy']);
                }
            }
        }
        // if transparency / opacity values have been passed to be applied:
    } else {
        if (isset($_REQUEST['groupsandopacities']) && $_REQUEST['groupsandopacities']) {
            $groupsAndOpacities = explode(',', $_REQUEST['groupsandopacities']);
            foreach ($groupsAndOpacities as $groupandopacity) {
                $groupandopacityTmp = explode(':', $groupandopacity);