tbrehm
2009-11-18 80e7b0d7d17b0e9581fa56be484b8772d82261de
interface/lib/classes/listform_tpl_generator.inc.php
@@ -1,7 +1,7 @@
<?php
/*
Copyright (c) 2005, Till Brehm, projektfarm Gmbh
Copyright (c) 2007, Till Brehm, projektfarm Gmbh
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
@@ -28,7 +28,6 @@
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
class listform_tpl_generator {
   
   function buildHTML($listDef,$module = '') {
@@ -36,55 +35,83 @@
      global $app;
      
      if($module == '') $module = $_SESSION["s"]["module"]["name"];
      $lang = array();
      $html = '<div class="frmTextHead"><tmpl_var name="list_head_txt"></div><br />
<input type="button" value="{tmpl_var name="add_new_record_txt"}" class="button" onClick="'."loadContent('".$module."/".$listDef["edit_file"]."');".'" /><div class="buttonEnding"></div><br /><br />
<table width="100%" border="0" cellspacing="0" cellpadding="4" class="listTable">
  <tr>
      $html = '<h2><tmpl_var name="list_head_txt"></h2>
<div class="panel panel_list_'.$listDef["name"].'">
  <div class="pnl_toolsarea">
    <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
      <div class="buttons">
        <button class="iconstxt icoAdd" type="button" onClick="'."loadContent('".$module."/".$listDef["edit_file"]."');".'">
          <span>{tmpl_var name="add_new_record_txt"}</span>
        </button>
      </div>
    </fieldset>
  </div>
  <div class="pnl_listarea">
    <fieldset><legend><tmpl_var name="list_head_txt"></legend>
      <table class="list">
        <thead>
          <tr>
';
      
      $lang["list_head_txt"] = $listDef["name"];
      foreach($listDef["item"] as $field) {
         $key = $field["field"];
         $html .= "    <td class=\"tblHead\"><tmpl_var name=\"".$key."_txt\"></td>\r\n";
         $html .= "            <th class=\"tbl_col_".$key."\" scope=\"col\"><tmpl_var name=\"".$key."_txt\"></th>\r\n";
         $lang[$key."_txt"] = $key;
      }
      
      $html .= '    <td class="tblHead">&nbsp;</td>
  </tr>
  <tr>
      $html .= '            <th class="tbl_col_buttons" scope="col">&nbsp;</th>
          </tr>
          <tr>
';
  
        foreach($listDef["item"] as $field) {
         $key = $field["field"];
         if($field["formtype"] == 'SELECT') {
            $html .= "    <td class=\"frmText11\"><select name=\"".$listDef["search_prefix"].$key."\" onChange=\"submitForm('pageForm','".$module."/".$listDef["file"]."');\">{tmpl_var name='".$listDef["search_prefix"].$key."'}</select></td>\r\n";
            $html .= "            <td class=\"tbl_col_".$key."\"><select name=\"".$listDef["search_prefix"].$key."\" onChange=\"submitForm('pageForm','".$module."/".$listDef["file"]."');\">{tmpl_var name='".$listDef["search_prefix"].$key."'}</select></td>\r\n";
         } else {
            $html .= "    <td class=\"frmText11\"><input type=\"text\" name=\"".$listDef["search_prefix"].$key."\" value=\"{tmpl_var name='".$listDef["search_prefix"].$key."'}\" class=\"text\" /></td>\r\n";
            $html .= "            <td class=\"tbl_col_".$key."\"><input type=\"text\" name=\"".$listDef["search_prefix"].$key."\" value=\"{tmpl_var name='".$listDef["search_prefix"].$key."'}\" /></td>\r\n";
         }
      }
      
      $html .= '    <td class="frmText11" align="right"><input name="Filter" type="button" id="Filter" value="{tmpl_var name="filter_txt"}" class="button" onClick="'."submitForm('pageForm','".$module."/".$listDef["file"]."');".'"><div class="buttonEnding"></div></td>
  </tr>
  <tmpl_loop name="records">
  <tr bgcolor="{tmpl_var name="bgcolor"}">
      $html .= '            <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="'."submitForm('pageForm','".$module."/".$listDef["file"]."');".'"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
          </tr>
        </thead>
        <tbody>
          <tmpl_loop name="records">
          <tr class="tbl_row_<tmpl_if name=\'__EVEN__\'}even<tmpl_else>uneven</tmpl_if>">
';
      
      foreach($listDef["item"] as $field) {
         $key = $field["field"];
         $html .= "    <td class=\"frmText11\"><a href=\"#\" onClick=\"loadContent('".$module."/".$listDef["edit_file"]."?id={tmpl_var name='id'}');\" class=\"frmText11\">{tmpl_var name=\"".$key."\"}</a></td>\r\n";
         $html .= "            <td class=\"tbl_col_".$key."\"><a href=\"#\" onClick=\"loadContent('".$module."/".$listDef["edit_file"]."?id={tmpl_var name='id'}');\">{tmpl_var name=\"".$key."\"}</a></td>\r\n";
      }
      
      $html .= "    <td class=\"frmText11\" align=\"right\">[<a href=\"javascript: del_record('".$module."/".$listDef["delete_file"]."?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}');\" class=\"frmText11\">{tmpl_var name='delete_txt'}</a>]</td>
  </tr>
  </tmpl_loop>
";
      $html .= "            <td class=\"tbl_col_buttons\">
              <div class=\"buttons icons16\">
                <a class=\"icons16 icoDelete\" href=\"javascript: del_record('".$module."/".$listDef["delete_file"]."?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');\"><span>{tmpl_var name='delete_txt'}</span></a>
              </div>
            </td>
          </tr>
          </tmpl_loop>
        </tbody>";
  $html .= '
  <tr>
     <td colspan="'.(count($listDef["item"])+1).'" height="40" align="center" class="tblFooter"><tmpl_var name="paging"></td>
  </tr>
</table>';
        <tfoot>
          <tr>
            <td class="tbl_footer tbl_paging" colspan="'.(count($listDef["item"])+1).'"><tmpl_var name="paging"></td>
          </tr>
        </tfoot>
      </table>
    </fieldset>
  </div>
</div>
';
      
      if($module == '') {
         $filename = 'templates/'.$listDef["name"].'_list.htm';
@@ -93,7 +120,7 @@
      }
      
      
      // speichere Template
      // save template
      if (!$handle = fopen($filename, 'w')) { 
           print "Cannot open file ($filename)"; 
           exit; 
@@ -105,46 +132,8 @@
      }
      fclose($handle);
      
      $lang["page_txt"] = 'Page';
      $lang["page_of_txt"] = 'of';
      $lang["page_next_txt"] = 'Next';
      $lang["page_back_txt"] = 'Back';
      $lang["delete_txt"] = 'Delete';
      $lang["filter_txt"] = 'Filter';
      // speichere language Datei
      $this->lng_add($lang,$listDef,$module);
    }
   function lng_add($lang,$listDef,$module = '') {
      global $go_api, $go_info,$conf;
      if($module == '') {
         $lng_file = "lib/lang/".$conf["language"]."_".$listDef['name']."_list.lng";
      } else {
         $lng_file = '../'.$module."/lib/lang/en_".$listDef['name']."_list.lng";
      }
      if(is_file($lng_file)) {
         include_once($lng_file);
      } else {
         $wb = array();
      }
      $wb_out = array_merge($lang,$wb);
      if(is_array($wb_out)) {
         $fp = fopen ($lng_file, "w");
         fwrite($fp,"<?php\r\n");
         foreach($wb_out as $key => $val) {
            $new_line = '$wb["'.$key.'"] = '."'$val';\r\n";
            fwrite($fp,$new_line);
         }
         fwrite($fp,"?>");
         fclose($fp);
      }
   }
}
?>