<html>

<head>
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">


<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
h4
        {mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman";
        font-weight:bold;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
p
        {mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman";}
pre
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:Arial;
        color:windowtext;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Hi,</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>According to the codes samples (<a href="http://trac.osgeo.org/mapguide/wiki/CodeSamples" title="http://trac.osgeo.org/mapguide/wiki/CodeSamples">http://trac.osgeo.org/mapguide/wiki/CodeSamples</a>),
I try to use the PHP code samples to add a layer to the initial map. </span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I carried out the below code but it seems that &#8220;</span></font>$resourceService-&gt;SetResource($sessionResourceId,
$byteSource-&gt;GetReader(), null);&#8221; encounters an error in the code.<font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'></span></font></p>

<h4><b><font size=3 face="Times New Roman"><span style='font-size:12.0pt;
font-weight:normal'>&lt;?php</span></font></b></h4>

<pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>include &quot;../../mapviewerphp/constants.php&quot;;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>include &quot;../../mapviewerphp/common.php&quot;;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>// Initialize</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; MgInitializeWebTier($webconfigFilePath);</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; $args = ($_SERVER['REQUEST_METHOD'] == &quot;POST&quot;) ? $_POST : $_GET;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; $sessionId = $args['SESSION'];</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; $mapName = $args['MAPNAME'];</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; $layerName1 = 'YYY';</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; </span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;$userInfo = new MgUserInformation($sessionId);</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; $siteConnection = new MgSiteConnection();</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; $siteConnection-&gt;Open($userInfo);</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; $resourceService = $siteConnection-&gt;CreateService(MgServiceType::ResourceService);</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; $wl = &quot;Library://XXX/XXX.WebLayout&quot;; // TODO Constant!</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>// Build a string pointing to the new layer in the Session</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; $rlLayerResourceId = &quot;Session:$sessionId//$layerName1.LayerDefinition&quot;;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>// Read the XML of the Library Map Definition</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $md =&quot;Library://XXX/$mapName.MapDefinition&quot;;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $mdResourceId = new MgResourceIdentifier($md);&nbsp; </span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;$mdReader = $resourceService-&gt;GetResourceContent($mdResourceId);</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $mdXml = $mdReader-&gt;ToString();</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $mdDomDoc = DOMDocument::loadXML($mdXml); </span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>// Create the MapLayer XML nodeset in the first position</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $targetNode = $mdDomDoc-&gt;getElementsByTagName(&quot;MapLayer&quot;)-&gt;item(0);</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $newNode = $targetNode-&gt;parentNode-&gt;insertBefore(new DOMElement(&quot;MapLayer&quot;), $targetNode); </span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;$newNode-&gt;appendChild($mdDomDoc-&gt;createElement(&quot;Name&quot;, $layerName1));</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $newNode-&gt;appendChild($mdDomDoc-&gt;createElement(&quot;ResourceId&quot;, $rlLayerResourceId));</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $newNode-&gt;appendChild($mdDomDoc-&gt;createElement(&quot;Selectable&quot;, &quot;false&quot;));</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $newNode-&gt;appendChild($mdDomDoc-&gt;createElement(&quot;ShowInLegend&quot;, &quot;false&quot;));</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $newNode-&gt;appendChild($mdDomDoc-&gt;createElement(&quot;LegendLabel&quot;));</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $newNode-&gt;appendChild($mdDomDoc-&gt;createElement(&quot;ExpandInLegend&quot;, &quot;false&quot;));</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $newNode-&gt;appendChild($mdDomDoc-&gt;createElement(&quot;Visible&quot;, &quot;true&quot;));</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $newNode-&gt;appendChild($mdDomDoc-&gt;createElement(&quot;Group&quot;));</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>// Write the XML out to form the Session Map Definition</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $updatedXml = $mdDomDoc-&gt;saveXML();</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $byteSource = new MgByteSource($updatedXml, strlen($updatedXml));</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>// Create a web layout in the session to hold the updated version</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>// from the library.</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $sessionMapName = $mdResourceId-&gt;GetName();</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $sessionWebLayout = &quot;Session:$sessionId//$sessionMapName.WebLayout&quot;;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $sessionResourceId = new MgResourceIdentifier($sessionWebLayout);</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>// Write the updated web layout to the session.</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $resourceService-&gt;SetResource($sessionResourceId, $byteSource-&gt;GetReader(), null);</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>// Redirect to the Ajax viewer pointing at the map at the desired coordinates.</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $redirectTo = &quot;mapguide/mapviewerajax/?WEBLAYOUT=$sessionWebLayout&amp;SESSION=$sessionId&quot;;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $host = $_SERVER[&quot;HTTP_HOST&quot;];</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $url = &quot;http://$host/$redirectTo&quot;;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>// Redirect!</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; header(&quot;Location: $url&quot;);</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; exit;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>//Test</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $f = 'exemple.txt';</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; $handle = fopen($f,&quot;w&quot;);</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; fwrite($handle, &quot;test0: &lt;&quot;.$sessionId.&quot;&gt;\r\ntest1 :&lt;&quot;.$wl.&quot;&gt;\r\ntest2 :&lt;&quot;.$rlLayerResourceId.&quot;&gt;\r\ntest3 :&lt;&quot;.$md.&quot;&gt;\r\ntestxml :&lt;&quot;.$mdXml.&quot;&gt;\r\ntest4 :&lt;&quot;.$layerName1.&quot;&gt;\r\ntestxml1 :&lt;&quot;.$updatedXml.&quot;&gt;\r\ntest6 :&lt;&quot;.$sessionMapName.&quot;&gt;\r\ntest5 :&lt;&quot;.$sessionWebLayout.&quot;&gt;\r\ntest6 :&lt;&quot;.$host.&quot;&gt;\r\ntest7 :&lt;&quot;.$redirectTo.&quot;&gt;&quot;);</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;&nbsp; fclose($handle);</span></font></pre>

<h4><b><font size=3 face="Times New Roman"><span style='font-size:12.0pt;
font-weight:normal'>?&gt;</span></font></b></h4>

<pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>Please would you like to help me to resolve the following issue?</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>Thanks,</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>&nbsp;</span></font></pre><pre><font size=2 face="Courier New"><span style='font-size:10.0pt'>Arnaud De Groof</span></font></pre>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;</span></font></p>

</div>

<!--[object_id=#spacebel.be#]--><P><FONT color=#0000ff><FONT face=Tahoma><STRONG>
<HR>
<FONT size=2>E-MAIL DISCLAIMER</FONT></STRONG></FONT></FONT></P>
<P><FONT face=Arial color=#0000ff size=1>The present message may contain confidential and/or legally privileged information. If you are not the intended addressee and in case of a transmission error, please notify the sender immediately and destroy this E-mail. Disclosure, reproduction or distribution of this document and its possible attachments is strictly forbidden.</FONT></P>
<P><FONT face=Arial color=#0000ff size=1>SPACEBEL denies all liability for incomplete, improper, inaccurate, intercepted, (partly) destroyed, lost and/or belated transmission of the current information given that unencrypted electronic transmission cannot currently be guaranteed to be secure or error free.<BR>Upon request or in conformity with formal, contractual agreements, an originally signed hard copy will be sent to you to confirm the information contained in this E-mail.</FONT></P>
<P><FONT face=Arial color=#0000ff size=1>SPACEBEL denies all liability where E-mail is used for private use.</FONT></P>
<P><FONT size=2><FONT face=Arial color=#0000ff size=1>SPACEBEL cannot be held responsible for possible viruses that might corrupt this message and/or your computer system.<BR></FONT></P><FONT face=Arial color=#0000ff>
<HR>
</FONT></FONT>
<P></P></body>

</html>