[Dcmms-devel] SF.net SVN: dcmms: [1131] branches/ms4w/dcmms
Brought to you by:
maher_karim,
sdteffen
From: <sdt...@us...> - 2006-08-11 18:59:28
|
Revision: 1131 Author: sdteffen Date: 2006-08-11 11:59:12 -0700 (Fri, 11 Aug 2006) ViewCVS: http://svn.sourceforge.net/dcmms/?rev=1131&view=rev Log Message: ----------- Moved remotely Added Paths: ----------- branches/ms4w/dcmms/htdocs/zoom.php Removed Paths: ------------- branches/ms4w/dcmms/zoom.php Copied: branches/ms4w/dcmms/htdocs/zoom.php (from rev 1130, branches/ms4w/dcmms/zoom.php) =================================================================== --- branches/ms4w/dcmms/htdocs/zoom.php (rev 0) +++ branches/ms4w/dcmms/htdocs/zoom.php 2006-08-11 18:59:12 UTC (rev 1131) @@ -0,0 +1,207 @@ +<?php +/** + * DCMMS -- DC Maintenance Management System + * + * zoom.php - zoom to landmarks + * + * Copyright (C) 2005 DORSCH Consult + * Copyright (C) 2006 DC Water and Environment + * + * 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 of the License, 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. + */ + +/** + * \todo AJAX implementation of search. + */ + +require_once('include/dcmmspage.php'); +require_once('include/dcmpostgis.php'); +require_once('include/dcmmspear.php'); +require_once('HTML/QuickForm.php'); +require_once('HTML/QuickForm/select.php'); + +$dcmPage = new DcmmsPage(_('Find a Landmark')); +$dcmPage->setIconImage('zoom_to_landmark.png'); +$dcmPage->setPageName(basename(__FILE__)); + +if(isset($_REQUEST['message'])) { + $strMessage = urldecode($_REQUEST['message']); + $dcmPage->addMessage($strMessage); +} + +$objForm = new HTML_QuickForm('ZoomForm'); +$objForm->setRequiredNote('<span style="font-size:80%; color:#ff0000;" + >*</span><span style="font-size:80%;"> '. + _('denotes required field').'</span>'); + +$objDb =& $dcmPage->postgis->db; + +$objArea =& $objForm->addElement('hierselect', 'area', 'Area:', + array('title' => _('Narrow down the area in which to search for points of interest.'))); +$strQuery = 'select dcmmstranslation(\''.$_SESSION['language']. + '\',Name), CodedValue from AdministrativeArea'; +$arrAdministrativeArea[0] = _('[Select One]'); +$objResult =& $objDb->query($strQuery); +if(DB::isError($objResult)) { + die($objResult->getMessage()); +} +while($arrRow =& $objResult->fetchRow()) { + $arrAdministrativeArea[$arrRow[1]] = $arrRow[0]; +} +$strQuery = 'select dcmmstranslation(\''.$_SESSION['language']. + '\',Name), Administra, CodedValue from Village order by Administra'; +$arrVillage[0][0] = _('[Select One]'); +$objResult =& $objDb->query($strQuery); +if(DB::isError($objResult)) { + die($objResult->getMessage); +} +$intLast = 0; +while($arrRow =& $objResult->fetchRow()) { + if($arrRow[1] != $intLast) { + $arrVillage[$arrRow[1]][0] = _('[Select One]'); + } + $arrVillage[$arrRow[1]][$arrRow[2]] = $arrRow[0]; +} +$objArea->setOptions(array($arrAdministrativeArea, $arrVillage)); + +$objSubtype =& new HTML_QuickForm_select('subtype', _('Type:'),NULL, + array('title' => _('Select the landmark type.'))); +$objSubtype->addOption(_('[Select One]'), 0); +$strQuery = 'select distinct Landmark.Subtype, LandmarkSubtype.Description + from Landmark left join LandmarkSubtype on + Landmark.Subtype = LandmarkSubtype.Subtype'; +/** + * \todo Switch to using dcmmstranslation(). + */ +$objResult =& $objDb->query($strQuery); +if(DB::isError($objResult)) { + die($objResult->getMessage); +} +while($arrRow =& $objResult->fetchRow()) { + $objSubtype->addOption(_($arrRow[1]), $arrRow[0]); +} +$objForm->addElement($objSubtype); +$objForm->addElement('text', 'name', _('Name:'), array('maxlength' => 64, + 'title' => _('The name of the point of interest or a part of it.'))); +$objFuzzy[] =& HTML_QuickForm::createElement('radio', null, null, _('Accurate'), + 0, array('title' => + _('Find points of interest that contain the name field exactly (case insensitive).'))); +$objFuzzy[] =& HTML_QuickForm::createElement('radio', null, null, _('Fuzzy'), 1, + array('title' => + _('Find landmarks that similar to the provided name. Ignore spelling mistakes.'))); +$objForm->addGroup($objFuzzy, 'fuzzy', _('Matching:')); +$objForm->addElement('submit', null, _('Select'), array('title' => + _('Search for points of interest. Click this button when all available information has been entered.'))); + +/** + * Default values + */ +$arrDefaults = array('fuzzy' => 0, 'area' => array(0, 0), 'subtype' => 0); +$objForm->setDefaults($arrDefaults); +/** + * Allow to take over values from HTTP GET request. + */ +$arrTakeover = array('name', 'subtype', 'fuzzy'); +foreach($arrTakeover as $strKey) { + if(isset($_GET[$strKey])&&(!isset($_POST[$strKey]))) { + $strName = substr(addslashes($_GET[$strKey]), 0, 128); + $objForm->setConstants(array($strKey => $strName)); + $objForm->_flagSubmitted = true; + } +} +/** + * \todo Verify that QuickForm scrutinizes this. + */ +if(isset($_GET['area'])&&(!isset($_POST['area']))) { + $objForm->_flagSubmitted = true; + $objForm->setConstants(array('area' => $_GET['area'])); +} +unset($strName); + +/** + * \todo Add validation rules. + */ +$dcmPage->add($objForm->toHtml()); +$strWhere = ' '; +$boolFuzzy = false; +/** + * Extra variables to be passed to the Pager class. + */ +$arrExtraVars = array(); +/** + * Build up the where clause. + */ + +if($objForm->validate()) { + $strName = $objForm->exportValue('name'); + $intSubtype = $objForm->exportValue('subtype'); + if(0 != $intSubtype) { + $strWhere = ' and Subtype = '.$intSubtype.' '; + } + $arrArea = $objForm->exportValue('area'); + if(0 != $arrArea[1]) { + $strWhere .= ' and Village = '.$arrArea[1].' '; + } elseif(0 != $arrArea[0]) { + $strWhere .= ' and AdministrativeArea = '.$arrArea[0].' '; + } + if(1 == $objForm->exportValue('fuzzy')) { + $boolFuzzy = true; + } + $arrExtraVars = array('subtype' => $objForm->exportValue('subtype'), + 'area[0]' => $arrArea[0], + 'area[1]' => $arrArea[1], + 'fuzzy' => $objForm->exportValue('fuzzy'), + 'name' => $strName); +} +if(isset($strName)) { + if($boolFuzzy) { + $strNameWhere = ' order by levenshtein(dcmmstranslation(\''. + $_SESSION['language'].'\', Name), \''.$strName.'\') '; + } else { + $strNameWhere = ' and (Name ilike \'%'.$strName.'%\' or + Translation ilike \'%'.$strName.'%\' ) '; + } +} +$strQuery = 'select dcmmstranslation(IsoCode, Name) as Name, "Type", + AdministrativeAreaTranslation as AdministrativeArea, + VillageTranslation as Village, GID as Action + from TranslatedLandmarkView where IsoCode = \''.$_SESSION['language'].'\' '; +$objTable =& new DbTablePager($objDb, $strQuery.$strWhere.$strNameWhere, NULL, + $arrExtraVars); +$objTable->addRows(); +/** + * Add the actions. + */ +$numRows = $objTable->getRowCount(); +if(1 == $numRows && !$boolFuzzy && isset($strName)) { + $dcmPage->addMessage( + _('Accurate search returned no results. Falling back to fuzzy search.')); + $strNameWhere = ' order by levenshtein(dcmmstranslation(\''. + $_SESSION['language'].'\', Name), \''.$strName.'\') '; + $objTable =& new DbTablePager($objDb, $strQuery.$strWhere.$strNameWhere); +} +for($i=1; $i < $numRows; $i++) { + $strId = $objTable->getCellContents($i, 4); + $objTable->setCellContents($i, 4, '<a href="landmark.php?action=map&gid='. + $strId.'">'._('Map').'</a> <a href="landmark.php?gid='.$strId.'">'. + _('Details').'</a>'); + /** + * \todo Switch to dcmmstranslation(). + */ + $objTable->setCellContents($i, 1, _($objTable->getCellContents($i, 1))); +} +$dcmPage->add($objTable->toHtml()); +$dcmPage->setCvsDate("$Date$Empty"); +echo $dcmPage->toHtml(); ?> Deleted: branches/ms4w/dcmms/zoom.php =================================================================== --- branches/ms4w/dcmms/zoom.php 2006-08-11 18:54:53 UTC (rev 1130) +++ branches/ms4w/dcmms/zoom.php 2006-08-11 18:59:12 UTC (rev 1131) @@ -1,207 +0,0 @@ -<?php -/** - * DCMMS -- DC Maintenance Management System - * - * zoom.php - zoom to landmarks - * - * Copyright (C) 2005 DORSCH Consult - * Copyright (C) 2006 DC Water and Environment - * - * 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 of the License, 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. - */ - -/** - * \todo AJAX implementation of search. - */ - -require_once('include/dcmmspage.php'); -require_once('include/dcmpostgis.php'); -require_once('include/dcmmspear.php'); -require_once('HTML/QuickForm.php'); -require_once('HTML/QuickForm/select.php'); - -$dcmPage = new DcmmsPage(_('Find a Landmark')); -$dcmPage->setIconImage('zoom_to_landmark.png'); -$dcmPage->setPageName(basename(__FILE__)); - -if(isset($_REQUEST['message'])) { - $strMessage = urldecode($_REQUEST['message']); - $dcmPage->addMessage($strMessage); -} - -$objForm = new HTML_QuickForm('ZoomForm'); -$objForm->setRequiredNote('<span style="font-size:80%; color:#ff0000;" - >*</span><span style="font-size:80%;"> '. - _('denotes required field').'</span>'); - -$objDb =& $dcmPage->postgis->db; - -$objArea =& $objForm->addElement('hierselect', 'area', 'Area:', - array('title' => _('Narrow down the area in which to search for points of interest.'))); -$strQuery = 'select dcmmstranslation(\''.$_SESSION['language']. - '\',Name), CodedValue from AdministrativeArea'; -$arrAdministrativeArea[0] = _('[Select One]'); -$objResult =& $objDb->query($strQuery); -if(DB::isError($objResult)) { - die($objResult->getMessage()); -} -while($arrRow =& $objResult->fetchRow()) { - $arrAdministrativeArea[$arrRow[1]] = $arrRow[0]; -} -$strQuery = 'select dcmmstranslation(\''.$_SESSION['language']. - '\',Name), Administra, CodedValue from Village order by Administra'; -$arrVillage[0][0] = _('[Select One]'); -$objResult =& $objDb->query($strQuery); -if(DB::isError($objResult)) { - die($objResult->getMessage); -} -$intLast = 0; -while($arrRow =& $objResult->fetchRow()) { - if($arrRow[1] != $intLast) { - $arrVillage[$arrRow[1]][0] = _('[Select One]'); - } - $arrVillage[$arrRow[1]][$arrRow[2]] = $arrRow[0]; -} -$objArea->setOptions(array($arrAdministrativeArea, $arrVillage)); - -$objSubtype =& new HTML_QuickForm_select('subtype', _('Type:'),NULL, - array('title' => _('Select the landmark type.'))); -$objSubtype->addOption(_('[Select One]'), 0); -$strQuery = 'select distinct Landmark.Subtype, LandmarkSubtype.Description - from Landmark left join LandmarkSubtype on - Landmark.Subtype = LandmarkSubtype.Subtype'; -/** - * \todo Switch to using dcmmstranslation(). - */ -$objResult =& $objDb->query($strQuery); -if(DB::isError($objResult)) { - die($objResult->getMessage); -} -while($arrRow =& $objResult->fetchRow()) { - $objSubtype->addOption(_($arrRow[1]), $arrRow[0]); -} -$objForm->addElement($objSubtype); -$objForm->addElement('text', 'name', _('Name:'), array('maxlength' => 64, - 'title' => _('The name of the point of interest or a part of it.'))); -$objFuzzy[] =& HTML_QuickForm::createElement('radio', null, null, _('Accurate'), - 0, array('title' => - _('Find points of interest that contain the name field exactly (case insensitive).'))); -$objFuzzy[] =& HTML_QuickForm::createElement('radio', null, null, _('Fuzzy'), 1, - array('title' => - _('Find landmarks that similar to the provided name. Ignore spelling mistakes.'))); -$objForm->addGroup($objFuzzy, 'fuzzy', _('Matching:')); -$objForm->addElement('submit', null, _('Select'), array('title' => - _('Search for points of interest. Click this button when all available information has been entered.'))); - -/** - * Default values - */ -$arrDefaults = array('fuzzy' => 0, 'area' => array(0, 0), 'subtype' => 0); -$objForm->setDefaults($arrDefaults); -/** - * Allow to take over values from HTTP GET request. - */ -$arrTakeover = array('name', 'subtype', 'fuzzy'); -foreach($arrTakeover as $strKey) { - if(isset($_GET[$strKey])&&(!isset($_POST[$strKey]))) { - $strName = substr(addslashes($_GET[$strKey]), 0, 128); - $objForm->setConstants(array($strKey => $strName)); - $objForm->_flagSubmitted = true; - } -} -/** - * \todo Verify that QuickForm scrutinizes this. - */ -if(isset($_GET['area'])&&(!isset($_POST['area']))) { - $objForm->_flagSubmitted = true; - $objForm->setConstants(array('area' => $_GET['area'])); -} -unset($strName); - -/** - * \todo Add validation rules. - */ -$dcmPage->add($objForm->toHtml()); -$strWhere = ' '; -$boolFuzzy = false; -/** - * Extra variables to be passed to the Pager class. - */ -$arrExtraVars = array(); -/** - * Build up the where clause. - */ - -if($objForm->validate()) { - $strName = $objForm->exportValue('name'); - $intSubtype = $objForm->exportValue('subtype'); - if(0 != $intSubtype) { - $strWhere = ' and Subtype = '.$intSubtype.' '; - } - $arrArea = $objForm->exportValue('area'); - if(0 != $arrArea[1]) { - $strWhere .= ' and Village = '.$arrArea[1].' '; - } elseif(0 != $arrArea[0]) { - $strWhere .= ' and AdministrativeArea = '.$arrArea[0].' '; - } - if(1 == $objForm->exportValue('fuzzy')) { - $boolFuzzy = true; - } - $arrExtraVars = array('subtype' => $objForm->exportValue('subtype'), - 'area[0]' => $arrArea[0], - 'area[1]' => $arrArea[1], - 'fuzzy' => $objForm->exportValue('fuzzy'), - 'name' => $strName); -} -if(isset($strName)) { - if($boolFuzzy) { - $strNameWhere = ' order by levenshtein(dcmmstranslation(\''. - $_SESSION['language'].'\', Name), \''.$strName.'\') '; - } else { - $strNameWhere = ' and (Name ilike \'%'.$strName.'%\' or - Translation ilike \'%'.$strName.'%\' ) '; - } -} -$strQuery = 'select dcmmstranslation(IsoCode, Name) as Name, "Type", - AdministrativeAreaTranslation as AdministrativeArea, - VillageTranslation as Village, GID as Action - from TranslatedLandmarkView where IsoCode = \''.$_SESSION['language'].'\' '; -$objTable =& new DbTablePager($objDb, $strQuery.$strWhere.$strNameWhere, NULL, - $arrExtraVars); -$objTable->addRows(); -/** - * Add the actions. - */ -$numRows = $objTable->getRowCount(); -if(1 == $numRows && !$boolFuzzy && isset($strName)) { - $dcmPage->addMessage( - _('Accurate search returned no results. Falling back to fuzzy search.')); - $strNameWhere = ' order by levenshtein(dcmmstranslation(\''. - $_SESSION['language'].'\', Name), \''.$strName.'\') '; - $objTable =& new DbTablePager($objDb, $strQuery.$strWhere.$strNameWhere); -} -for($i=1; $i < $numRows; $i++) { - $strId = $objTable->getCellContents($i, 4); - $objTable->setCellContents($i, 4, '<a href="landmark.php?action=map&gid='. - $strId.'">'._('Map').'</a> <a href="landmark.php?gid='.$strId.'">'. - _('Details').'</a>'); - /** - * \todo Switch to dcmmstranslation(). - */ - $objTable->setCellContents($i, 1, _($objTable->getCellContents($i, 1))); -} -$dcmPage->add($objTable->toHtml()); -$dcmPage->setCvsDate("$Date$Empty"); -echo $dcmPage->toHtml(); ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |