I didn't take a look at your code but the error you sent us isn't really
explicit.
Probably, you have an "echo" or "print_r" somewhere that prevent the
error to display correctly.
Are you able to check this and send back the real error message on this
list ?
Regards
Pierre GIRAUD
VenuGopal Papasani wrote:
Hi,
I have written a plugin which colors the polygon of my map.The
following is the code wriiteen for
c:\wamp\www\cartoweb3\plugins\ctr\server\ServerCtr.php.
Before this code there was no problem with the map the map is
displaying after writing this I was getting the following exception.
I have also made one more changes previously my project
name is ctr and i used to execute it as ctr.php.As
<http://ctr.php.As> my plugin name and my project names are same i
changed it to chittoor.
Now I want to know where the problem actually is.Is it in the
code or in Renaming my file names.No doubt i have renamed everything
required.
The Exception is
*Fatal error*: Uncaught exception 'CartocommonException' with message
'Error [2, Cannot modify header information - headers already sent by
(output started at
C:\wamp\www\cartoweb3\plugins\ctr\server\ServerCtr.php:123),
C:\wamp\www\cartoweb3\client\FormRenderer.php, 301] Backtrace: file:
UNKNOWN - UNKNOWN call: Common::cartowebErrorHandler(2, "Cannot modify
header information - headers already sent by (outp...",
"C:\wamp\www\cartoweb3\client\FormRenderer.php", 301, Array(1)) file:
301 - C:\wamp\www\cartoweb3\client\FormRenderer.php call:
header("HTTP/1.1 500 Internal Server Error") file: 1032 -
C:\wamp\www\cartoweb3\client\Cartoclient.php call:
FormRenderer->showFailure(Object(SoapFaultWrapper)) file: 38 -
C:\wamp\www\cartoweb3\htdocs\client.php call: Cartoclient->main()
file: 3 - C:\wamp\www\cartoweb3\htdocs\chittoor.php call:
require_once("C:\wamp\www\cartoweb3\htdocs\client.php") ' in
C:\wamp\www\cartoweb3\common\Common.php:275 Stack trace: #0 [internal
function]: Common::cartowebErrorHandler(2, 'Cannot modify h... in
*C:\wamp\www\cartoweb3\common\Common.php* on line *275*
Here is my code
ServerCtr.php
------------------
<?php
require_once(CARTOWEB_HOME . 'common/BasicTypes.php');
require_once('DB.php');
class ServerCtr extends ClientResponderAdapter
implements InitProvider
{
private $log;
public function __construct()
{
parent::__construct();
$this->log =& LoggerManager::getLogger(__CLASS__);
}
public function getInit()
{
// Things to learn from the LayerInit
}
public function getValues($id)
{
$values = array();
for($k=0;$k=1105;$k++)
{
$values[k] = rand(0,100);
}
return $values;
}
public function initializeRequest($requ)
{
$msMapObj = $this->serverContext->getMapObj();
$resultArray = $this->getValues($requ->dataElement_id);
$msLayer = $msMapObj->getLayerByName('chittoot');
$no_intervals = 5;
$color = "Reds"; //dont't think this is necessary
$this->colorMapFromData($resultArray, $msLayer, $no_intervals,
$color);
}
public function buildClassExpressions($numberOfIntervals,$resultArray)
{
$max_val = max($resultArray);
$min_val = min($resultArray);
$intervalLength = ceil(($max_val - $min_val)/$numberOfIntervals);
$idsPerClass = array();
foreach($resultArray as $id => $value)
{
$classNo = floor($value/$intervalLength);
$idsPerClass[$classNo] .= $id. ",";
}
$classes = array();
for($i=0;$i < $numberOfIntervals+1;$i++)
{
if ($classNo[$i])
$classIds = substr($classNo[$i],o,-1);
else
$classIds = "";
$classes[$i] = "([".$idcol. "] IN '" . $classIds .
"')";
}
return $classes;
}
public function colorMapFromData($resultArray, $msLayer,
$numberOfIntervals, $colorScheme)
{
$expressions =
$this->buildClassExpressions($numberOfIntervals,$resultArray);
$r = 10;
$g = 10;
$b = 10;
for($i=0;$i<numberOfIntervals;$i++)
{
$msClass = ms_newClassObj($msLayer);
$msClass->setexpression($expressions[$i]);
$msStyle = ms_newStyleObj($msClass);
$msStyle->color->setRGB($r,$g,$b);
$r = $r + 10;
$g = $g + 10;
$b = $b + 10;
}
}
}
?>
ctr.ini consists of
id_col="ID"
Please give me the solution how to solve
this problem.
Thanks in Advance,
Regards,
Venu.
------------------------------------------------------------------------
_______________________________________________
Cartoweb-users mailing list
[email protected]
http://lists.maptools.org/mailman/listinfo/cartoweb-users
--
_________________________________________________________
Pierre GIRAUD
Géomaticien, Analyste
Camptocamp France SAS
Savoie Technolac, BP 352
73377 Le Bourget du Lac, Cedex
Tel : 00 33 4 79 44 44 93
Mail : [EMAIL PROTECTED]
http://www.camptocamp.com
_______________________________________________
Cartoweb-users mailing list
[email protected]
http://lists.maptools.org/mailman/listinfo/cartoweb-users