home *** CD-ROM | disk | FTP | other *** search
/ CGI How-To / CGI HOW-TO.iso / chap5 / 5_1 / parse_pl / handlers.pl next >
Encoding:
Text File  |  1996-06-15  |  2.1 KB  |  133 lines

  1.  
  2. $handlerDict{"FORM"} = "formHandler";
  3.  
  4. $endTags{"FORM"} = "</FORM>";
  5.  
  6. $handlerDict{"INPUT"} = "inputHandler";
  7.  
  8. $handlerDict{"TEXTAREA"} = "textAreaHandler";
  9.  
  10. $handlerDict{"OPTION"} = "optionHandler";
  11. $endTags{"OPTION"} = "eol";
  12.  
  13. $handlerDict{"SELECT"} = "selectHandler";
  14.  
  15. $handlerDict{"DEFAULT"} = "defaultHandler";
  16.  
  17. sub defaultHandler
  18. {
  19.     local($tagString,$argString,$endString,%tagDict) 
  20.     = @_;
  21.     local($retVal);
  22.  
  23.     $retVal = $tagString;
  24.  
  25.     $retVal .= $argString if $argString;
  26.     $retVal .= $endString if $endString;
  27.  
  28.     return $retVal;
  29. }
  30.  
  31. sub formHandler
  32. {
  33.     local($tagString,$argString,$endString,%tagDict) 
  34.     = @_;
  35.  
  36.     local($retVal);
  37.  
  38.     if($userData{"ACTION"})
  39.     {
  40.     $tagDict{"ACTION"} = $userData{"ACTION"};
  41.     }
  42.  
  43.     $retVal = &stringForTagDict(%tagDict);
  44.     $retVal .= $argString if $argString;
  45.     $retVal .= $endString if $endString;
  46.  
  47.     return $retVal;
  48. }
  49.  
  50. sub inputHandler
  51. {
  52.     local($tagString,$argString,$endString,%tagDict) 
  53.     = @_;
  54.  
  55.     local($retVal);
  56.  
  57.     if($userData{$tagDict{"NAME"}})
  58.     {
  59.     $tagDict{"VALUE"} = $userData{$tagDict{"NAME"}};
  60.     }
  61.  
  62.     $retVal = &stringForTagDict(%tagDict);
  63.  
  64.     return $retVal;
  65. }
  66.  
  67. sub textAreaHandler
  68. {
  69.     local($tagString,$argString,$endString,%tagDict) 
  70.     = @_;
  71.  
  72.     local($retVal);
  73.  
  74.     if($userData{$tagDict{"NAME"}})
  75.     {
  76.     $argString = $userData{$tagDict{"NAME"}};
  77.     }
  78.  
  79.     $retVal = $tagString;
  80.     $retVal .= $argString if $argString;
  81.     $retVal .= $endString if $endString;
  82.  
  83.  
  84.     return $retVal
  85. }
  86.  
  87. $currentSelectName = "";
  88.  
  89. sub selectHandler
  90. {
  91.     local($tagString,$argString,$endString,%tagDict) 
  92.     = @_;
  93.  
  94.     local($retVal);
  95.  
  96.     if($tagDict{"NAME"} && $userData{$tagDict{"NAME"}})
  97.     {
  98.     $currentSelectName = $tagDict{"NAME"};
  99.     }
  100.  
  101.     $retVal .= $tagString;
  102.  
  103.     return $retVal;
  104. }
  105.  
  106. sub optionHandler
  107. {
  108.     local($tagString,$argString,$endString,%tagDict) 
  109.     = @_;
  110.  
  111.     local($retVal);
  112.  
  113.     if($currentSelectName && $userData{$currentSelectName}
  114.        && ($userData{$currentSelectName} eq $tagDict{"VALUE"}))
  115.     {
  116.     $tagDict{"SELECTED"} = "SELECTED";
  117.     }
  118.     else
  119.     {
  120.     $tagDict{"SELECTED"} = "";
  121.     }
  122.  
  123.     $retVal .= &stringForTagDict(%tagDict);
  124.     $retVal .= $argString;
  125.  
  126.     return $retVal
  127. }
  128.  
  129. 1;
  130.  
  131.  
  132.  
  133.