topical media & game development

talk show tell print

professional-php-13-search-smarty.php / php



  require_once("constants.phpm");
  require_once("request.phpm");
  require_once("constraint.phpm");
  require_once("constraintfailure.phpm");
  
  strTemplateFile = "s_search.tpl";
  
  require('Smarty.class.php');
  objSmarty = new Smarty;
  
  objRequest = new request();
  blHadProblems = (objRequest->IsRedirectFollowingConstraintFailure());
  
  if (blHadProblems) {
          objSmarty->assign("HADPROBLEMS", "true");
  };
  
  if (blHadProblems) {
    objFailingRequest = objRequest->GetOriginalRequestObjectFollowingConstraintFailure();
    arConstraintFailures = objFailingRequest->GetConstraintFailures();
    problemArray = Array();
    for (i=0; i<=sizeof(arConstraintFailures)-1; i++) {
      objThisConstraintFailure = &arConstraintFailures[i];
      objThisFailingConstraintObject = objThisConstraintFailure->GetFailedConstraintObject();
      intTypeOfFailure = objThisFailingConstraintObject->GetConstraintType();
      switch (intTypeOfFailure) {
        case CT_MINLENGTH:
          problemArray[] = "Your search term was too short.";
          break;        
        case CT_MAXLENGTH:
          problemArray[] = "Your search term was too long.";
          break;
        case CT_PERMITTEDCHARACTERS:
          problemArray[] = "Your search term contained characters I didn't understand.";
          break;
      };
    };
  };
  if (problemArray) {
          objSmarty->assign("PROBLEMS", problemArray);
  };
  objSmarty->display(strTemplateFile);
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.