Many thanks Cristian. Hope you'll be able to rejoin use in development real soon.
Leif, You can use this .php file as a start for the perl version (ioelmsrv.perl.pl) Glad to see that we're moving ahead with the client-server communications. PS. Could be cool if there was also a cold-fusion and .jsp port :) Best regards, -- Raymond Irving --- Cristian Grigoriu <[EMAIL PROTECTED]> wrote: > Raymond Irving wrote: > > --- Aaron Shafovaloff <[EMAIL PROTECTED]> wrote: > > > >>Any idea when SODA will be ported to PHP? > > > > > > Well, I don't know when, but I it's currently been > > worked on. > > > > Any word on the PHP verion of IOelement or SODA? > > > > -- > > Raymond Irving > > I'm currently involved in a different project which > is really urgent so > I have slowed down the porting. I hope to return to > dynapi & SODA in a > couple of weeks. Until now, I'd like to hear about > any new contribution. > > Attached you'll find my porting so far. > > Grig > > <?php > > /* > IOElement Server Library - For PHP Servers > For use with DynAPI IOElement client-side > javascript > > The DynAPI Distribution is distributed under the > terms of the GNU LGPL license. > > Returned Data type: integer, float, string, date, > array, object (associative array) > */ > > $wso_vars = array[]; // stores javascript > variables to be returned to client > $wso_endDocWrite = ""; // Prevent ws__docWrite > from sending data to client > $wso_IOResponse = ""; // Returned Content Format: > text/html (default) or text/xml > $wso_reqMethod = ""; > > /* Add Variables - javascript variables to be sent > to client - should only used with html RTC format */ > function wsAddVariable($name, $value){ > if(!$name) return; > $wso_vars[$name] = $value; // add variable to be > sent to client > }; > > /* Dispatch Variables - should only be used > text/html RC format when working with SODA */ > function wsDispatchVariables() { > global $wso_vars, $wso_IOResponse; > $arr = ""; > foreach ($wso_vars as $varname => $value) $arr .= > "var $varname=" . ws__Var2Text($value) . ";\n"; > $wso_IOResponse = wsGetRequest("IOResponse"); > ws__docWrite($arr); > }; > > /* End Response */ > function wsEndResponse(){ > $wso_endDocWrite = true; > }; > > /* Get Request */ > function wsGetRequest($name){ > // Get requested data sent by client via GET or > POST > // Note: ASP Request Object returned a very strange > object type. > // This is my only workaround > // PHP: import_request_variables() could be used as > well > global $wso_reqMethod; > $wso_reqMethod = > strtolower($_SERVER("REQUEST_METHOD")); > switch ($wso_reqMethod) { > case "post" : return $_POST($name); > case "get" : return $_GET($name); > } > } > > // [Private] Functions > ---------------------------------------- > /* Doc Write */ > function ws__docWrite($h){ > if ($wso_endDocWrite) return; > if($wso_IOResponse == "text/xml") $html = $h; > else{ > $html = '<html><script language="javascript">\nvar > ioObj,dynapi=parent.dynapi;\n'; > $html .= 'if (dynapi) > ioObj=parent.IOElement.notify(this);\n'; > $html .= 'else alert(\'Error: Missing or invalid > DynAPI library\');\n'; > $html .= $h . '\n</script></html>'; > } > print $html; > }; > > // Var2Text > function ws__Var2Text($v) { > if (!isset($v)) return "null"; //doesn't make much > sense. I wonder how is this working in the .js > version > if (is_string($v)) return "\'$v\'"; > if (is_array($v)) { > $arr = "["; > foreach ($v as $value) $arr .= ws_Var2Text($value) > . "'"; > return substr($arr, 0, -1) . "]"); > } > } > > // Var2Text Encode - converts multiline text into > single line > > $repltable = array("\\" => "\\\\", "\'" => "\\'", > "\r\n" => "\\n", "\n" => "\\n", "\r" => "\\r"); > > function ws__Var2TextEncode($str) { > global $repltable; > if (is_null($str)) return; > foreach ($repltable as $search => $replace) $str = > str_replace($search, $replace, $str); > return $str; > } > > ?> > __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php _______________________________________________ Dynapi-Dev mailing list [EMAIL PROTECTED] http://www.mail-archive.com/[EMAIL PROTECTED]/