Marius Burkard
2016-07-10 e1ceb050e19c7574bca146a8da7047ee4ff456b5
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,123 +28,160 @@
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
class listform_tpl_generator {
   function buildHTML($listDef,$module = '') {
   function buildHTML($listDef, $module = '') {
      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" data-load-content="'.$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"];
      $colcount = 0;
      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>\n";
         $lang[$key."_txt"] = $key;
         $colcount++;
      }
      $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) {
      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=\"ISPConfig.submitForm('pageForm','".$module."/".$listDef["file"]."');\">{tmpl_var name='".$listDef["search_prefix"].$key."'}</select></td>\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>\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="'."ISPConfig.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=\"#\" data-load-content=\"".$module."/".$listDef["edit_file"]."?id={tmpl_var name='id'}\">{tmpl_var name=\"".$key."\"}</a></td>\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 .= '
  <tr>
     <td colspan="'.(count($listDef["item"])+1).'" height="40" align="center" class="tblFooter"><tmpl_var name="paging"></td>
  </tr>
</table>';
      $html .= "            <td class=\"tbl_col_buttons\">
              <div class=\"buttons icons16\">
                <a class=\"button 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>
          <tmpl_unless name=\"records\">
              <tr class=\"tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>\">
                  <td colspan=\"".$colcount."\">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
              </tr>
          </tmpl_unless>
        </tbody>";
      $html .= '
        <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';
      } else {
         $filename = '../'.$module.'/templates/'.$listDef["name"].'_list.htm';
      }
      // speichere Template
      if (!$handle = fopen($filename, 'w')) {
           print "Cannot open file ($filename)";
           exit;
         }
         if (!fwrite($handle, $html)) {
         print "Cannot write to file ($filename)";
         exit;
      // save template
      if (!$handle = fopen($filename, 'w')) {
         print "Cannot open file ($filename)";
         exit;
      }
      if (!fwrite($handle, $html)) {
         print "Cannot write to file ($filename)";
         exit;
      }
      fclose($handle);
      $lang["page_txt"] = 'Page';
      /*$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;
      $lang["add_new_record_txt"] = 'Add new record';
      */
      // save language file
      $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);
         include_once $lng_file;
      } else {
         $wb = array();
      }
      $wb_out = array_merge($lang,$wb);
      $wb_out = array_merge($lang, $wb);
      if(is_array($wb_out)) {
         $fp = fopen ($lng_file, "w");
         fwrite($fp,"<?php\r\n");
         $fp = fopen($lng_file, "w");
         fwrite($fp, "<?php\n");
         foreach($wb_out as $key => $val) {
            $new_line = '$wb["'.$key.'"] = '."'$val';\r\n";
            fwrite($fp,$new_line);
            $new_line = '$wb["'.$key.'"] = '."'$val';\n";
            fwrite($fp, $new_line);
         }
         fwrite($fp,"?>");
         fwrite($fp, "?>");
         fclose($fp);
      }
   }
}
?>
?>