[mapserver-commits] r8426 - in trunk/mapserver: . mapscript/php3

svn at osgeo.org svn at osgeo.org
Mon Jan 12 11:57:28 EST 2009


Author: aboudreault
Date: 2009-01-12 11:57:27 -0500 (Mon, 12 Jan 2009)
New Revision: 8426

Modified:
   trunk/mapserver/HISTORY.TXT
   trunk/mapserver/mapfile.c
   trunk/mapserver/mapscript/php3/mapscript_i.c
   trunk/mapserver/mapscript/php3/php_mapscript.c
   trunk/mapserver/mapscript/php3/php_mapscript.h
Log:
Added updateFromString() method for several objects in PHP/Mapscript (#2298)


Modified: trunk/mapserver/HISTORY.TXT
===================================================================
--- trunk/mapserver/HISTORY.TXT	2009-01-11 17:47:56 UTC (rev 8425)
+++ trunk/mapserver/HISTORY.TXT	2009-01-12 16:57:27 UTC (rev 8426)
@@ -12,6 +12,8 @@
 Current Version (5.3-dev, SVN trunk):
 ------------------------------------
 
+- Added updateFromString() methods for several objects in PHP/Mapscript (#2298)
+
 - Added ms_newMapObjFromString mapObj constructor in PHP/Mapscript (#2399)
 
 - Add support to compile mssql2008 when SDE or ORACLE is not compiled (#2851)

Modified: trunk/mapserver/mapfile.c
===================================================================
--- trunk/mapserver/mapfile.c	2009-01-11 17:47:56 UTC (rev 8425)
+++ trunk/mapserver/mapfile.c	2009-01-12 16:57:27 UTC (rev 8426)
@@ -3764,6 +3764,8 @@
 {
   for(;;) {
     switch(msyylex()) {
+    case(QUERYMAP):
+      break; /* for string loads */
     case(COLOR):      
       loadColor(&(querymap->color), NULL);
       break;
@@ -3921,6 +3923,8 @@
     case(EMPTY):
       if(getString(&web->empty) == MS_FAILURE) return(-1);
       break;
+    case(WEB):
+      break; /* for string loads */
     case(EOF):
       msSetError(MS_EOFERR, NULL, "loadWeb()");
       return(-1);

Modified: trunk/mapserver/mapscript/php3/mapscript_i.c
===================================================================
--- trunk/mapserver/mapscript/php3/mapscript_i.c	2009-01-11 17:47:56 UTC (rev 8425)
+++ trunk/mapserver/mapscript/php3/mapscript_i.c	2009-01-12 16:57:27 UTC (rev 8426)
@@ -391,6 +391,10 @@
    return;
 }
 
+int layerObj_updateFromString(layerObj *self, char *snippet) {
+   return msUpdateLayerFromString(self, snippet, MS_FALSE);
+}
+
 int layerObj_open(layerObj *self) {
     return msLayerOpen(self);
   }
@@ -622,6 +626,51 @@
 }
 
 /**********************************************************************
+ * class extensions for labelObj
+ **********************************************************************/
+int labelObj_updateFromString(labelObj *self, char *snippet) {
+   return msUpdateLabelFromString(self, snippet);
+}
+
+/**********************************************************************
+ * class extensions for legendObj
+ **********************************************************************/
+int legendObj_updateFromString(legendObj *self, char *snippet) {
+   return msUpdateLegendFromString(self, snippet, MS_FALSE);
+}
+
+/**********************************************************************
+ * class extensions for queryMapObj
+ **********************************************************************/
+int queryMapObj_updateFromString(queryMapObj *self, char *snippet) {
+   return msUpdateQueryMapFromString(self, snippet, MS_FALSE);
+}
+
+/**********************************************************************
+ * class extensions for referenceMapObj
+ **********************************************************************/
+
+int referenceMapObj_updateFromString(referenceMapObj *self, char *snippet) {
+   return msUpdateReferenceMapFromString(self, snippet, MS_FALSE);
+}
+
+/**********************************************************************
+ * class extensions for scaleBarObj
+ **********************************************************************/
+
+int scalebarObj_updateFromString(scalebarObj *self, char *snippet) {
+   return msUpdateScalebarFromString(self, snippet, MS_FALSE);
+}
+
+/**********************************************************************
+ * class extensions for webObj
+ **********************************************************************/
+
+int webObj_updateFromString(webObj *self, char *snippet) {
+   return msUpdateWebFromString(self, snippet, MS_FALSE);
+}
+
+/**********************************************************************
  * class extensions for classObj, always within the context of a layer
  **********************************************************************/
 classObj *classObj_new(layerObj *layer, classObj *class) {
@@ -643,6 +692,10 @@
     return (layer->class[layer->numclasses-1]);
   }
 
+int classObj_updateFromString(classObj *self, char *snippet) {
+   return msUpdateClassFromString(self, snippet, MS_FALSE);
+}
+
 void  classObj_destroy(classObj *self) {
     return; /* do nothing, map deconstrutor takes care of it all */
   }
@@ -1249,6 +1302,9 @@
     return; /* do nothing, map deconstrutor takes care of it all */
   }
 
+int styleObj_updateFromString(styleObj *self, char *snippet) {
+   return msUpdateStyleFromString(self, snippet, MS_FALSE);
+}
 
 int styleObj_setSymbolByName(styleObj *self, mapObj *map, char* pszSymbolName) {
     self->symbol = msGetSymbolIndex(&map->symbolset, pszSymbolName, MS_TRUE);

Modified: trunk/mapserver/mapscript/php3/php_mapscript.c
===================================================================
--- trunk/mapserver/mapscript/php3/php_mapscript.c	2009-01-11 17:47:56 UTC (rev 8425)
+++ trunk/mapserver/mapscript/php3/php_mapscript.c	2009-01-12 16:57:27 UTC (rev 8426)
@@ -180,6 +180,7 @@
 
 
 DLEXPORT void php3_ms_lyr_new(INTERNAL_FUNCTION_PARAMETERS);
+DLEXPORT void php3_ms_lyr_updateFromString(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_lyr_setProperty(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_lyr_draw(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_lyr_drawQuery(INTERNAL_FUNCTION_PARAMETERS);
@@ -223,6 +224,7 @@
 DLEXPORT void php3_ms_lyr_setConnectionType(INTERNAL_FUNCTION_PARAMETERS);
 
 DLEXPORT void php3_ms_class_new(INTERNAL_FUNCTION_PARAMETERS);
+DLEXPORT void php3_ms_class_updateFromString(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_class_setProperty(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_class_setExpression(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_class_getExpressionString(INTERNAL_FUNCTION_PARAMETERS);
@@ -240,6 +242,7 @@
 DLEXPORT void php3_ms_class_setMetaData(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_class_removeMetaData(INTERNAL_FUNCTION_PARAMETERS);
 
+DLEXPORT void php3_ms_label_updateFromString(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_label_setProperty(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_label_setBinding(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_label_getBinding(INTERNAL_FUNCTION_PARAMETERS);
@@ -320,20 +323,25 @@
 DLEXPORT void php3_ms_shapefile_getextent(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_shapefile_free(INTERNAL_FUNCTION_PARAMETERS);
 
+DLEXPORT void php3_ms_web_updateFromString(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_web_setProperty(INTERNAL_FUNCTION_PARAMETERS);
 
+DLEXPORT void php3_ms_referenceMap_updateFromString(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_referenceMap_setProperty(INTERNAL_FUNCTION_PARAMETERS);
 
 DLEXPORT void php3_ms_projection_new(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_projection_getunits(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_projection_free(INTERNAL_FUNCTION_PARAMETERS);
 
+DLEXPORT void php3_ms_scalebar_updateFromString(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_scalebar_setProperty(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_scalebar_setImageColor(INTERNAL_FUNCTION_PARAMETERS);
 
+DLEXPORT void php3_ms_legend_updateFromString(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_legend_setProperty(INTERNAL_FUNCTION_PARAMETERS);
 
 DLEXPORT void php3_ms_style_new(INTERNAL_FUNCTION_PARAMETERS);
+DLEXPORT void php3_ms_style_updateFromString(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_style_setProperty(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_style_clone(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_style_setBinding(INTERNAL_FUNCTION_PARAMETERS);
@@ -362,6 +370,7 @@
 DLEXPORT void php3_ms_symbol_getPattern(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_symbol_setImagepath(INTERNAL_FUNCTION_PARAMETERS);
 
+DLEXPORT void php3_ms_querymap_updateFromString(INTERNAL_FUNCTION_PARAMETERS);
 DLEXPORT void php3_ms_querymap_setProperty(INTERNAL_FUNCTION_PARAMETERS);
 
 
@@ -751,27 +760,32 @@
 };
 
 function_entry php_web_class_functions[] = {
+    {"updatefromstring", php3_ms_web_updateFromString,NULL },
     {"set",             php3_ms_web_setProperty,        NULL},    
     {NULL, NULL, NULL}
 };
 
 function_entry php_reference_class_functions[] = {
+    {"updatefromstring", php3_ms_referenceMap_updateFromString,NULL },
     {"set",             php3_ms_referenceMap_setProperty,NULL},    
     {NULL, NULL, NULL}
 };
 
 function_entry php_scalebar_class_functions[] = {
+    {"updatefromstring", php3_ms_scalebar_updateFromString,NULL },
     {"set",             php3_ms_scalebar_setProperty,   NULL},
     {"setimagecolor",   php3_ms_scalebar_setImageColor, NULL},    
     {NULL, NULL, NULL}
 };
 
 function_entry php_legend_class_functions[] = {
+    {"updatefromstring",  php3_ms_legend_updateFromString,     NULL},
     {"set",             php3_ms_legend_setProperty,     NULL},    
     {NULL, NULL, NULL}
 };
 
 function_entry php_layer_class_functions[] = {
+    {"updatefromstring",  php3_ms_lyr_updateFromString,     NULL},
     {"set",             php3_ms_lyr_setProperty,        NULL},    
     {"draw",            php3_ms_lyr_draw,               NULL},    
     {"drawquery",       php3_ms_lyr_drawQuery,          NULL},    
@@ -818,6 +832,7 @@
 };
 
 function_entry php_label_class_functions[] = {
+    {"updatefromstring",  php3_ms_label_updateFromString,     NULL},
     {"set",             php3_ms_label_setProperty,      NULL},    
     {"setbinding",      php3_ms_label_setBinding,      NULL},    
     {"getbinding",      php3_ms_label_getBinding,      NULL},    
@@ -826,6 +841,7 @@
 };
 
 function_entry php_class_class_functions[] = {
+    {"updatefromstring",  php3_ms_class_updateFromString,     NULL},
     {"set",             php3_ms_class_setProperty,      NULL},    
     {"setexpression",   php3_ms_class_setExpression,    NULL},    
     {"getexpressionstring", php3_ms_class_getExpressionString, NULL},    
@@ -921,6 +937,7 @@
 };
 
 function_entry php_style_class_functions[] = {
+    {"updatefromstring",  php3_ms_style_updateFromString,     NULL},
     {"set",             php3_ms_style_setProperty,      NULL},    
     {"clone",           php3_ms_style_clone,            NULL},    
     {"setbinding",      php3_ms_style_setBinding,       NULL},    
@@ -971,6 +988,7 @@
 
 
 function_entry php_querymap_class_functions[] = {
+    {"updatefromstring",  php3_ms_querymap_updateFromString,     NULL},
     {"set",             php3_ms_querymap_setProperty,   NULL},
     {NULL, NULL, NULL}
 };
@@ -6810,7 +6828,46 @@
 }
 /* }}} */
 
+/**********************************************************************
+ *                        layer->updateFromString()
+ **********************************************************************/
 
+/* {{{ proto int layer.updateFromString(string snippet)
+   Update a layer from a string snippet.  Returns MS_SUCCESS/MS_FAILURE */
+
+DLEXPORT void php3_ms_lyr_updateFromString(INTERNAL_FUNCTION_PARAMETERS)
+{
+    layerObj *self;
+    pval   *pThis;
+    char   *pSnippet;
+    int    s_len, nStatus = MS_FAILURE;
+    HashTable   *list=NULL;
+    
+    pThis = getThis();
+
+    if (pThis == NULL ||
+        (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &pSnippet, &s_len) 
+         == FAILURE))
+    {
+       return;
+    }
+
+    self = (layerObj *)_phpms_fetch_handle(pThis, PHPMS_GLOBAL(le_mslayer),
+                                           list TSRMLS_CC);
+    if (self == NULL || 
+        (nStatus = layerObj_updateFromString(self, 
+                                        pSnippet)) != MS_SUCCESS)
+    {
+        _phpms_report_mapserver_error(E_ERROR);
+    }
+
+    RETURN_LONG(nStatus);
+}
+
+
+/* }}} */
+
+
 /**********************************************************************
  *                        layer->set()
  **********************************************************************/
@@ -8863,7 +8920,46 @@
     return label_id;
 }
 
+/**********************************************************************
+ *                        label->updateFromString()
+ **********************************************************************/
 
+/* {{{ proto int label.updateFromString(string snippet)
+   Update a label from a string snippet.  Returns MS_SUCCESS/MS_FAILURE */
+
+DLEXPORT void php3_ms_label_updateFromString(INTERNAL_FUNCTION_PARAMETERS)
+{
+    labelObj *self;
+    pval   *pThis;
+    char   *pSnippet;
+    int    s_len, nStatus = MS_FAILURE;
+    HashTable   *list=NULL;
+    
+    pThis = getThis();
+
+    if (pThis == NULL ||
+        (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &pSnippet, &s_len) 
+         == FAILURE))
+    {
+       return;
+    }
+
+    self = (labelObj *)_phpms_fetch_handle(pThis, PHPMS_GLOBAL(le_mslabel),
+                                           list TSRMLS_CC);
+    if (self == NULL || 
+        (nStatus = labelObj_updateFromString(self, 
+                                        pSnippet)) != MS_SUCCESS)
+    {
+        _phpms_report_mapserver_error(E_ERROR);
+    }
+
+    RETURN_LONG(nStatus);
+}
+
+
+/* }}} */
+
+
 /**********************************************************************
  *                        label->set()
  **********************************************************************/
@@ -9219,6 +9315,46 @@
 
 
 /**********************************************************************
+ *                        class->updateFromString()
+ **********************************************************************/
+
+/* {{{ proto int class.updateFromString(string snippet)
+   Update a class from a string snippet.  Returns MS_SUCCESS/MS_FAILURE */
+
+DLEXPORT void php3_ms_class_updateFromString(INTERNAL_FUNCTION_PARAMETERS)
+{
+    classObj *self;
+    pval   *pThis;
+    char   *pSnippet;
+    int    s_len, nStatus = MS_FAILURE;
+    HashTable   *list=NULL;
+    
+    pThis = getThis();
+
+    if (pThis == NULL ||
+        (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &pSnippet, &s_len) 
+         == FAILURE))
+    {
+       return;
+    }
+
+    self = (classObj *)_phpms_fetch_handle(pThis, PHPMS_GLOBAL(le_msclass),
+                                           list TSRMLS_CC);
+    if (self == NULL || 
+        (nStatus = classObj_updateFromString(self, 
+                                        pSnippet)) != MS_SUCCESS)
+    {
+        _phpms_report_mapserver_error(E_ERROR);
+    }
+
+    RETURN_LONG(nStatus);
+}
+
+
+/* }}} */
+
+
+/**********************************************************************
  *                        class->set()
  **********************************************************************/
 
@@ -9935,7 +10071,6 @@
 
 /* }}} */
 
-
 /*=====================================================================
  *                 PHP function wrappers - colorObj class
  *====================================================================*/
@@ -12585,6 +12720,42 @@
 }
 
 /**********************************************************************
+ *                        web->updateFromString()
+ **********************************************************************/
+
+/* {{{ proto int web.updateFromString(string snippet)
+   Update a web from a string snippet.  Returns MS_SUCCESS/MS_FAILURE */
+
+DLEXPORT void php3_ms_web_updateFromString(INTERNAL_FUNCTION_PARAMETERS)
+{
+    webObj *self;
+    pval   *pThis;
+    char   *pSnippet;
+    int    s_len, nStatus = MS_FAILURE;
+    HashTable   *list=NULL;
+    
+    pThis = getThis();
+
+    if (pThis == NULL ||
+        (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &pSnippet, &s_len) 
+         == FAILURE))
+    {
+       return;
+    }
+
+    self = (webObj *)_phpms_fetch_handle(pThis, PHPMS_GLOBAL(le_msweb),
+                                           list TSRMLS_CC);
+    if (self == NULL || 
+        (nStatus = webObj_updateFromString(self, 
+                                        pSnippet)) != MS_SUCCESS)
+    {
+        _phpms_report_mapserver_error(E_ERROR);
+    }
+
+    RETURN_LONG(nStatus);
+}
+
+/**********************************************************************
  *                        web->set()
  **********************************************************************/
 
@@ -13100,7 +13271,43 @@
     return reference_id;
 }
 
+/**********************************************************************
+ *                        referenceMap->updateFromString()
+ **********************************************************************/
 
+/* {{{ proto int referenceMap.updateFromString(string snippet)
+   Update a referenceMap from a string snippet.  Returns MS_SUCCESS/MS_FAILURE */
+
+DLEXPORT void php3_ms_referenceMap_updateFromString(INTERNAL_FUNCTION_PARAMETERS)
+{
+    referenceMapObj *self;
+    pval   *pThis;
+    char   *pSnippet;
+    int    s_len, nStatus = MS_FAILURE;
+    HashTable   *list=NULL;
+    
+    pThis = getThis();
+
+    if (pThis == NULL ||
+        (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &pSnippet, &s_len) 
+         == FAILURE))
+    {
+       return;
+    }
+
+    self = (referenceMapObj *)_phpms_fetch_handle(pThis, PHPMS_GLOBAL(le_msrefmap),
+                                           list TSRMLS_CC);
+    if (self == NULL || 
+        (nStatus = referenceMapObj_updateFromString(self, 
+                                        pSnippet)) != MS_SUCCESS)
+    {
+        _phpms_report_mapserver_error(E_ERROR);
+    }
+
+    RETURN_LONG(nStatus);
+}
+
+
 /**********************************************************************
  *                        referenceMap->set()
  **********************************************************************/
@@ -13862,6 +14069,42 @@
 }
 
 /**********************************************************************
+ *                        scalebar->updateFromString()
+ **********************************************************************/
+
+/* {{{ proto int scalebar.updateFromString(string snippet)
+   Update a scalebar from a string snippet.  Returns MS_SUCCESS/MS_FAILURE */
+
+DLEXPORT void php3_ms_scalebar_updateFromString(INTERNAL_FUNCTION_PARAMETERS)
+{
+    scalebarObj *self;
+    pval   *pThis;
+    char   *pSnippet;
+    int    s_len, nStatus = MS_FAILURE;
+    HashTable   *list=NULL;
+    
+    pThis = getThis();
+
+    if (pThis == NULL ||
+        (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &pSnippet, &s_len) 
+         == FAILURE))
+    {
+       return;
+    }
+
+    self = (scalebarObj *)_phpms_fetch_handle(pThis, PHPMS_GLOBAL(le_msscalebar),
+                                           list TSRMLS_CC);
+    if (self == NULL || 
+        (nStatus = scalebarObj_updateFromString(self, 
+                                        pSnippet)) != MS_SUCCESS)
+    {
+        _phpms_report_mapserver_error(E_ERROR);
+    }
+
+    RETURN_LONG(nStatus);
+}
+
+/**********************************************************************
  *                        scalebar->set()
  **********************************************************************/
 
@@ -14036,6 +14279,46 @@
 }
 
 /**********************************************************************
+ *                        legend->updateFromString()
+ **********************************************************************/
+
+/* {{{ proto int legend.updateFromString(string snippet)
+   Update a legend from a string snippet.  Returns MS_SUCCESS/MS_FAILURE */
+
+DLEXPORT void php3_ms_legend_updateFromString(INTERNAL_FUNCTION_PARAMETERS)
+{
+    legendObj *self;
+    pval   *pThis;
+    char   *pSnippet;
+    int    s_len, nStatus = MS_FAILURE;
+    HashTable   *list=NULL;
+    
+    pThis = getThis();
+
+    if (pThis == NULL ||
+        (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &pSnippet, &s_len) 
+         == FAILURE))
+    {
+       return;
+    }
+
+    self = (legendObj *)_phpms_fetch_handle(pThis, PHPMS_GLOBAL(le_mslegend),
+                                           list TSRMLS_CC);
+    if (self == NULL || 
+        (nStatus = legendObj_updateFromString(self, 
+                                        pSnippet)) != MS_SUCCESS)
+    {
+        _phpms_report_mapserver_error(E_ERROR);
+    }
+
+    RETURN_LONG(nStatus);
+}
+
+
+/* }}} */
+
+
+/**********************************************************************
  *                        legend->set()
  **********************************************************************/
 
@@ -14241,7 +14524,43 @@
 }
 /* }}} */
 
+/**********************************************************************
+ *                        style->updateFromString()
+ **********************************************************************/
 
+/* {{{ proto int style.updateFromString(string snippet)
+   Update a style from a string snippet.  Returns MS_SUCCESS/MS_FAILURE */
+
+DLEXPORT void php3_ms_style_updateFromString(INTERNAL_FUNCTION_PARAMETERS)
+{
+    styleObj *self;
+    pval   *pThis;
+    char   *pSnippet;
+    int    s_len, nStatus = MS_FAILURE;
+    HashTable   *list=NULL;
+    
+    pThis = getThis();
+
+    if (pThis == NULL ||
+        (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &pSnippet, &s_len) 
+         == FAILURE))
+    {
+       return;
+    }
+
+    self = (styleObj *)_phpms_fetch_handle(pThis, PHPMS_GLOBAL(le_msstyle),
+                                           list TSRMLS_CC);
+    if (self == NULL || 
+        (nStatus = styleObj_updateFromString(self, 
+                                        pSnippet)) != MS_SUCCESS)
+    {
+        _phpms_report_mapserver_error(E_ERROR);
+    }
+
+    RETURN_LONG(nStatus);
+}
+
+
 /**********************************************************************
  *                        style->set()
  **********************************************************************/
@@ -15436,7 +15755,45 @@
     return querymap_id;
 }
 
+/**********************************************************************
+ *                        querymap->updateFromString()
+ **********************************************************************/
 
+/* {{{ proto int querymap.updateFromString(string snippet)
+   Update a querymap from a string snippet.  Returns MS_SUCCESS/MS_FAILURE */
+
+DLEXPORT void php3_ms_querymap_updateFromString(INTERNAL_FUNCTION_PARAMETERS)
+{
+    queryMapObj *self;
+    pval   *pThis;
+    char   *pSnippet;
+    int    s_len, nStatus = MS_FAILURE;
+    HashTable   *list=NULL;
+    
+    pThis = getThis();
+
+    if (pThis == NULL ||
+        (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &pSnippet, &s_len) 
+         == FAILURE))
+    {
+       return;
+    }
+
+    self = (queryMapObj *)_phpms_fetch_handle(pThis, PHPMS_GLOBAL(le_msquerymap),
+                                           list TSRMLS_CC);
+    if (self == NULL || 
+        (nStatus = queryMapObj_updateFromString(self, 
+                                        pSnippet)) != MS_SUCCESS)
+    {
+        _phpms_report_mapserver_error(E_ERROR);
+    }
+
+    RETURN_LONG(nStatus);
+}
+
+
+/* }}} */
+
 /**********************************************************************
  *                        querymap->set()
  **********************************************************************/

Modified: trunk/mapserver/mapscript/php3/php_mapscript.h
===================================================================
--- trunk/mapserver/mapscript/php3/php_mapscript.h	2009-01-11 17:47:56 UTC (rev 8425)
+++ trunk/mapserver/mapscript/php3/php_mapscript.h	2009-01-12 16:57:27 UTC (rev 8426)
@@ -132,6 +132,7 @@
 
 layerObj       *layerObj_new(mapObj *map);
 void            layerObj_destroy(layerObj* self);
+int             layerObj_updateFromString(layerObj *self, char *snippet);
 int             layerObj_open(layerObj *self);
 int             layerObj_whichShapes(layerObj *self, rectObj *poRect);
 shapeObj        *layerObj_nextShape(layerObj *self);
@@ -175,8 +176,20 @@
 int             layerObj_setConnectionType(layerObj *self, int connectiontype, 
                                            const char *library_str) ;
 
+int             labelObj_updateFromString(labelObj *self, char *snippet);
 
+int             legendObj_updateFromString(legendObj *self, char *snippet);
+
+int             queryMapObj_updateFromString(queryMapObj *self, char *snippet);
+
+int             referenceMapObj_updateFromString(referenceMapObj *self, char *snippet);
+
+int             scalebarObj_updateFromString(scalebarObj *self, char *snippet);
+
+int             webObj_updateFromString(webObj *self, char *snippet);
+
 classObj       *classObj_new(layerObj *layer, classObj *class);
+int             classObj_updateFromString(classObj *self, char *snippet);
 void            classObj_destroy(classObj* self);
 int             classObj_setExpression(classObj *self, char *string);
 char            *classObj_getExpressionString(classObj *self);
@@ -294,6 +307,7 @@
 
 styleObj       *styleObj_new(classObj *class, styleObj *style);
 void            styleObj_destroy(styleObj* self);
+int             styleObj_updateFromString(styleObj *self, char *snippet);
 int             styleObj_setSymbolByName(styleObj *self, mapObj *map, 
                                          char* pszSymbolName);
 styleObj       *styleObj_clone(styleObj *style);



More information about the mapserver-commits mailing list