<?php
/**
 * Build add  page for admin.
 *
 * 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: AdminAdd.php,v 1.4 2006/08/15 15:36:58 wangcs Exp $
 */
function createAdminAdd(&$Generator)
{
    /* Import tools lib.  */
    $Generator->importToolsLib();
    
    /* Add TPL and PHP template file to generator. */
    $Generator->addTemplate("HTML", "HTML_AdminAdd.htm");
    $Generator->addTemplate("PHP",  "PHP_AdminAdd.htm");

    foreach($Generator->Page["Fields"] as $FieldName => $Field)
    {
        /* Create the insert string used by php file. */
        $InsertFields[] = str_repeat(" ", 20) . "'\$_POST[$FieldName]'";

        /* Create input elements according to input type and input param. */
        $InputParam = toolParseParam($Field["InputType"], $Field["InputParam"]);
        
        if(eregi("text|password|textarea|file", $Field["InputType"]))
        {
            if($InputParam["FromGET"])
            {
                $InputParam["Value"]     = "{\$" . $FieldName . "}";
                $InputParam["Attrib"]    = "readonly='readonly'";
                $FieldsToPHP[$FieldName] = $InputParam;
            }
            $FuncName            = "html" . $Field["InputType"];
            $Field["InputHtml"]  = $FuncName($FieldName, $InputParam["Attrib"], $InputParam["Value"]);
        }
        elseif(eregi("select|radio|checkbox", $Field["InputType"]))
        {
            /* This files need to processed by php. */
            $FieldsToPHP[$FieldName] = $InputParam;
            $Field["InputHtml"]      = "{\$" . $FieldName . "List}";
        }

        /* Group the fields by fill type: Required, Optional or Excluded. */
        $Fields[$Field["Fill"]][$FieldName] = $Field;
    }
    $Generator->Page["InsertFields"] = "\n" . join(",\n", $InsertFields);
    $Generator->Page["Fields"]       = $Fields;
    $Generator->Page["FieldsToPHP"]  = $FieldsToPHP;
    
    /* Assign to template. */
    $Generator->Parser->assign("Page", $Generator->Page);
}
?>