<?php
/**
 * Functions help to generator code. 
 * 
 * PHPGEN 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.
 *
 * PHPGEN 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 PHPGEN; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * @copyright   EasySoft R&D Team (C) 2006
 * @author      Chunsheng Wang <wwccss@263.net>
 * @link        http://www.phpgen.com
 * @package     Generator
 * @version     $Id: Tools.php,v 1.5 2006/08/15 15:36:58 wangcs Exp $
*/
/**
 * Parse the InputParam of a field.
 *
 * @author                     Chunsheng Wang <wwccss@263.net>
 * @param  string $InputType   select|text|password and so on.   
 * @return string $InputParam  various input params.
 */
function toolParseParam($InputType, $InputParam)
{
    $Input["Type"] = $InputType;

    /* Deal with text, password, textarea and file elements. */
    if(eregi("text|password|textarea|file", $InputType))
    {
        $Params = explode(";", $InputParam);
        foreach($Params as $Param)
        {
            $ParamValue = substr($Param, strpos($Param, "=") + 1);
            if(eregi("value", $Param))
            {
                if(eregi("get", $ParamValue))
                {
                    $Input["FromGET"] = true;
                }
                else
                {
                    $Input["Value"] = $ParamValue;
                }
            }
            elseif(eregi("func", $Param))
            {
                $Input["Func"] = $ParamValue;
            }
            else
            {
                $Input["Attrib"] .= " " . $Param;
            }
        }
    }
    /* Select, radio and checkbox. */
    elseif(eregi("select|radio|checkbox", $InputType))
    {
        $Params = explode(";", $InputParam);
        foreach($Params as $Param)
        {
            $ParamValue = substr($Param, strpos($Param, "=") + 1);
            if(eregi("table", $Param))
            {
                $Input["Table"] = $ParamValue;
            }
            elseif(eregi("field", $Param))
            {
                $Fields = explode(",", $ParamValue);
                $Input["Fields"]["Value"] = $Fields[0];
                $Input["Fields"]["Label"] = !empty($Fields[1]) ? $Fields[1] : $Fields[0];
            }
            elseif(eregi("func", $Param))
            {                              
                $Input["Func"] = $ParamValue;
            }
            else
            {
                if(eregi("=", $Param))
                {
                    $Param = explode("=", $Param);
                    $Input["List"][$Param[0]] = $Param[1];
                }
            }
        }
    }
    return $Input;
}
?>