sTEFANs Subversion Web Contol (SWC)
Inc
[ class tree: Swc ] [ index: Swc ] [ all elements ]

Source for file page.inc.php

Documentation is available at page.inc.php

  1. <?php
  2. /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3. SVN Web Control
  4. Copyright ©2006 by sTEFANs
  5. Created on 23.02.2006
  6. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  7. This program is free software; you can redistribute it and/or modify
  8. it under the terms of the GNU General Public License as published by
  9. the Free Software Foundation; either version 2 of the License, or
  10. (at your option) any later version.
  11.  
  12. This program is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. GNU General Public License for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with this program; if not, write to the Free Software
  19. Foundation, Inc., 59 Temple Place - Suite 330,
  20. Boston, MA 02111-1307, USA.
  21. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  22. */
  23.  
  24. /**
  25.  * This file contains functions that prints HTML tags for several purposes.
  26.  * 
  27.  * @package Swc
  28.  * @subpackage Inc
  29.  * @author Stefan Schraml
  30.  * @copyright Copyright ©2006 by sTEFANs
  31.  * @license http://opensource.org/licenses/lgpl-license.php GNU General Public License
  32.  * @version v1.1.0
  33.  * @since v1.0.0
  34.  */
  35.  
  36. /** Common defines */
  37. include_once('inc/var.inc.php');
  38.  
  39.     /** 
  40.      * Prints a common header for any HTML page.
  41.      * A HTML opened with this function can be closed
  42.      * with <b>PrintPageFooter</b>
  43.      * @param string $title Page title
  44.      * @param string $style Body style
  45.      * @param string $on_load_js Javascript for body onOpen.
  46.      * @see PrintPageFooter
  47.      * 
  48.      * @since v1.0.0
  49.      */
  50.     function PrintPageHeader($title NULL$style NULL$on_load_js NULL){
  51.         $language_code LoadTranslationResource();
  52.         
  53.         $style_arg ($style != NULL 'class="'.$style.'"' '');
  54.         $js_arg ($on_load_js != NULL 'onLoad="'.$on_load_js.'"' '');
  55.         $styles CSS_STYLESHEET;
  56.         print'
  57. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  58.        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  59.  
  60. <html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">
  61.     <head>            
  62.         <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  63.         <meta http-equiv="Content-Style-Type" content="text/css" />
  64.         <meta http-equiv="pragma" content="no-cache" />
  65.         <meta http-equiv="expires" content="0" />
  66.         <meta http-equiv="content-language" content="'.$language_code.'" />
  67.  
  68.         <meta name="robots" content="noindex" />
  69.         <meta name="revisit-after" content="10 days" />
  70.         <meta name="revisit" content="10 days" />
  71.  
  72.         <meta name="distribution" content="global" />
  73.         <meta name="audience" content="internal" />
  74.  
  75.         <!-- IMPORTANT: THE FOLLOWING TWO LINES MUST NOT BE CHANGED OR REMOVED!! -->
  76.         <meta name="author" content="Stefan Schraml" />
  77.         <meta name="copyright" content="2006, sTEFANs" />
  78.         <meta name="description" content="SVN Control System for Webapp Development" />
  79.  
  80.         <!-- STYLESHEETS AND OTHER INCLUDES -->
  81.         <link rel="stylesheet" href="'.$styles.'" type="text/css" />
  82.  
  83.         <title>'.($title == NULL 'SVN Web Control' $title).'</title>
  84.     </head>
  85.     <body '.$style_arg.$js_arg.'>';
  86.     }
  87.         
  88.     /** 
  89.      * Prints HTML tags for a submit button and additional form arguments
  90.      * (hidden fields) without surrounding table cell.
  91.      * Can be used between <b>OpenFormCell</b>
  92.      * and <b>CloseFormCell</b>.
  93.      * @param string $button_text Button text
  94.      * @param array $button_actions Array (or array of arrays) containing
  95.      *      action name at index 0 and action value at index 1. An array
  96.      *  containing array with format above can also be applied.
  97.      *  For every name/value pair a hidden field for the form
  98.      *  is created.
  99.      * @param boolean $selected True if button should be rendered as selected.
  100.      * @param boolean $enabled True if button should be rendered as enabled.
  101.      * @param boolean $submit_btn True if button should be a submit button of a form.
  102.      *      (CSS class button.selected).
  103.      * @see OpenFormCell
  104.      * @see CloseFormCell
  105.      * 
  106.       * @since v1.0.0
  107.      */
  108.     function PrintFormButton($button_text$button_actions NULL
  109.                                                                 $selected false$enabled true$submit_btn true){
  110.         if ($button_actions != NULL && count($button_actions0{
  111. //PrintDebugArray($button_actions, 'Buttons');
  112.             if (is_array($button_actions[0])){
  113.                 foreach($button_actions as $action){
  114.                     if (count($action1){
  115.                         print '
  116.                         <input type="hidden" name="'.$action[IDX_NAME].'" value="'.$action[IDX_VALUE].'"/>';
  117.                     }
  118.                 }
  119.             else {
  120.                 if (count($button_actions1){
  121.                     print '
  122.                         <input type="hidden" name="'.$button_actions[IDX_NAME].'" value="'.$button_actions[IDX_VALUE].'"/>';
  123.                 }
  124.             }
  125.         }
  126.         $style_arg ($selected 'button_hot' 'button');
  127.         $style_arg ($enabled $style_arg 'button_disabled');
  128.         $style_arg ' class="'.$style_arg.'"';
  129.         $button_type ($submit_btn 'submit' 'button');
  130.         print '
  131.                         <input type="'.$button_type.'"'.$style_arg.' value="'.$button_text.'"/>';
  132.     }
  133.     
  134.     /** 
  135.      * Prints HTML tags for a text field form element
  136.      * including label but no surrounding cell or form.
  137.      * Can be used between <b>OpenFormCell</b>
  138.      * and <b>CloseFormCell</b>.
  139.      * @param string $label Label for the text field.
  140.      * @param string $name Text field form name, index for text field value
  141.      * @param int $size Size in characters of the text field.
  142.      * @param string $text Initial text of the text field If NULL, text field keeps empty.
  143.      * @param int $max_length Maximum numbers of characters that can inputed into the text field.
  144.      * @param string $text_field_style CSS style class for the text field.
  145.      * @see OpenFormCell
  146.      * @see CloseFormCell
  147.      * 
  148.       * @since v1.0.0
  149.      */
  150.     function PrintFormTextField($label$name$size 0$text NULL
  151.                                                             $max_length 0$text_field_style NULL){
  152.                                         
  153.         $label_arg ($label != NULL $label.'&nbsp;' '');
  154.         $name_arg ($name != NULL ' name="'.$name.'"' '');
  155.         $size_arg ($size ' size="'.$size.'"' '');
  156.         $text_arg ($text != NULL ' value="'.$text.'"' '');
  157.         $max_length_arg ($max_length ' maxlength="'.$max_length.'"' '');
  158.         
  159.         print '
  160.                         '.$label_arg.'
  161.                         <input type="text"'.$name_arg.$size_arg.$text_arg.$max_length_arg.'/>';
  162.     }
  163.     
  164.     /** 
  165.      * Prints HTML tags to open a table and opens a row. A table
  166.      * opened with this statement must be closed via <b>CloseTable</b>.
  167.      * @param int $border Table border width.
  168.      * @param int $cellspacing Table cellspacing.
  169.      * @param int $cellpadding Table cellpadding.
  170.      * @param string $style CSS class name for table style.
  171.      * @see CloseTable
  172.      * 
  173.       * @since v1.0.0
  174.      */
  175.     function OpenTable($border 0$cellspacing 0$cellpadding 0$style NULL){
  176.         $style_arg ($style != NULL 'class="'.$style.'"' '');
  177.         print '
  178.         <table '.$style_arg.' border="'.$border.'" cellspacing="'.$cellspacing.'" cellpadding="'.$cellspacing.'">
  179.             <tr>';
  180.     }
  181.     
  182.     /** 
  183.      * Prints HTML tags close a HTML table row and open
  184.      * a new one. Can be used between <b>OpenTable</b>
  185.      * and <b>CloseTable</b>.
  186.      * @see OpenTable
  187.      * @see CloseTable
  188.      * 
  189.       * @since v1.0.0
  190.      */
  191.     function NewTableRow(){
  192.         print '
  193.             </tr>
  194.             <tr>';
  195.     }
  196.     
  197.     /** 
  198.      * Prints HTML tags for a entire table cell.
  199.      * Can be used between <b>OpenTable</b>
  200.      * and <b>CloseTable</b>.
  201.      * @param string $content Cell content.
  202.      * @param string $style CSS style class for cell.
  203.      * @param int $colspan Cell HTML colspan.
  204.      * @param int $rowspan Cell HTML rowspan.
  205.      * @param string $valign HTML vertical cell content alignment.
  206.      * @see OpenTable
  207.      * @see CloseTable
  208.      * 
  209.       * @since v1.0.0
  210.      */
  211.     function PrintTableCell($content$style NULL$colspan 0$rowspan 0$valign NULL){
  212.         $cs_arg ($colspan != ' colspan="'.$colspan.'"' '');
  213.         $rs_arg ($rowspan != ' rowspan="'.$rowspan.'"' '');
  214.         OpenTableCell($style$colspan$rowspan$valign);
  215.         print '
  216.                     '.$content;
  217.         CloseTableCell();
  218.     }
  219.     
  220.     /** 
  221.      * Prints HTML tags for empty table cells.
  222.      * Can be used between <b>OpenTable</b>
  223.      * and <b>CloseTable</b>.
  224.      * @param int $colspan Cell HTML colspan.
  225.      * @param int $rowspan Cell HTML rowspan.
  226.      * @see OpenTable
  227.      * @see CloseTable
  228.      * 
  229.       * @since v1.0.0
  230.      */
  231.     function PrintEmptyTableCell($colspan 0$rowspan 0){
  232.         PrintTableCell('&nbsp;'NULL$colspan$rowspan);
  233.     }
  234.     
  235.     /** 
  236.      * Prints HTML tags to open a table cell.
  237.      * A table cell opened with this function must
  238.      * be closed with <b>CloseTableCell</b>.
  239.      * Can be used between <b>OpenTable</b>
  240.      * and <b>CloseTable</b>.
  241.      * @param string $style CSS style class for cell.
  242.      * @param int $colspan Cell HTML colspan.
  243.      * @param int $rowspan Cell HTML rowspan.
  244.      * @param string $valign HTML vertical cell content alignment.
  245.      * @see CloseTable
  246.      *  
  247.       * @since v1.0.0
  248.      */
  249.     function OpenTableCell($style NULL$colspan 0$rowspan 0$valign NULL){
  250.         $style_arg ($style != NULL ' class="'.$style.'"' '');
  251.         $cs_arg ($colspan ' colspan="'.$colspan.'"' '');
  252.         $rs_arg ($rowspan ' rowspan="'.$rowspan.'"' '');
  253.         $valign_arg ($valign != NULL ' valign="'.$valign.'"' '');
  254.         print '
  255.                 <td'.$cs_arg.$rs_arg.$valign_arg.$style_arg.'>';
  256.     }
  257.     
  258.     /** 
  259.      * Prints HTML tags to close a table cell
  260.      * which has been opened with <b>OpenTableCell</b>.
  261.      * Can be used between <b>OpenTable</b>
  262.      * and <b>CloseTable</b>.
  263.      * @see OpenTableCell
  264.      * @see OpenTable
  265.      * @see CloseTable
  266.      * 
  267.       * @since v1.0.0
  268.      */
  269.     function CloseTableCell(){
  270.         print '
  271.                 </td>';
  272.     }
  273.     
  274.     /** 
  275.      * Prints HTML tags to open a tabel cell and a form without content.
  276.      * A form cell opened this way must be close via <b>CloseFormCell</b>.
  277.      * @param string $form_action Action (URL) for form.
  278.      * @param string $form_method Method of form action.
  279.      * @param string $form_target Target of form action.
  280.      * @param string $cell_style CSS style class for cell
  281.      * @param int $colspan Cell HTML colspan
  282.      * @param int $rowspan Cell HTML rowspan
  283.      * @param string $valign HTML vertical cell content alignment
  284.      * @see CloseFormCell
  285.      * 
  286.       * @since v1.0.0
  287.      */
  288.     function OpenFormCell($form_action$cell_style NULL$colspan 0$rowspan 0
  289.                                                 $valign NULL,    $form_method='post'$form_target '_self'){
  290.         OpenTableCell($cell_style$colspan$rowspan$valign);
  291.         $url GetSessionUrl($form_action);
  292.         print '
  293.                 <form action="'.$url.'" method="'.$form_method.'" target="'.$form_target.'">';
  294.     }
  295.     
  296.     /** 
  297.      * Prints HTML tags to close a form that has been opened
  298.      * via <b>OpenFormCell</b>.
  299.      * @param string $form_action Action (URL) for form.
  300.      * @param string $form_method Method of form action.
  301.      * @param string $form_target Target of form action.
  302.      * @see OpenFormCell
  303.      * 
  304.       * @since v1.0.0
  305.      */
  306.     function CloseFormCell(){
  307.         print '
  308.                 </form>';
  309.         CloseTableCell();
  310.     }
  311.         
  312.     /** 
  313.      * Prints HTML tags for a entire table cell
  314.      * encapsulated within a form to relize a single
  315.      * submit button.
  316.      * Can be used between <b>OpenTable</b>
  317.      * and <b>CloseTable</b>.
  318.      * @param string $button_text Button text.
  319.      * @param string $form_action Action (URL) for form.
  320.      * @param array $button_actions Array (or array of arrays) containing
  321.      *      action name at index 0 and action value at index 1. An array
  322.      *  containing array with format above can also be applied.
  323.      *  For every name/value pair a hidden field for the form
  324.      *  is created.
  325.      * @param string $cell_style CSS style class for cell.
  326.      * @param boolean $selected True if button should be rendered as selected.
  327.      * @param boolean $enabled True if button should be rendered as enabled.
  328.      *      (CSS class button.selected)
  329.      * @param string $form_method Method of form action.
  330.      * @param string $form_target Target of form action.
  331.      * @see OpenTable
  332.      * @see CloseTable
  333.      * 
  334.       * @since v1.0.0
  335.      */
  336.     function PrintTableButtonCell($button_text$form_action,
  337.                                     $button_actions$cell_style NULL
  338.                                     $selected false$enabled true
  339.                                     $form_method='post'$form_target '_self'){
  340.         OpenFormCell($form_action$cell_style00NULL$form_method$form_target);
  341.             PrintFormButton($button_text$button_actions$selected$enabled($button_actions != NULL));
  342.         CloseFormCell();
  343.     }
  344.         
  345.     /** 
  346.      * Prints HTML tags for two entire table cells
  347.      * encapsulated within a form to relize a
  348.      * selection list and a single submit button.
  349.      * Can be used between <b>OpenTable</b>
  350.      * and <b>CloseTable</b>.
  351.      * @param string $title Title text.
  352.      * @param string $button_text Button text.
  353.      * @param string $form_action Action (URL) for form.
  354.      * @param strnig $selected_item Value of the selected item
  355.      *      If the value corespond to an item value given in
  356.      *      $items[IDX_VALUE] this item is preselected in the list.
  357.      * @param array $items Array of arrays of items containing
  358.      *      selection name at index IDX_NAME and selection value at index
  359.      *      IDX_VALUE. An array containing array with format above
  360.      *      can also be applied.
  361.      * @param string $selection_name Name for selection list.
  362.      * @param int $selection_size Number of visible list entries.
  363.      * @param string $cell_style CSS style class for cell.
  364.      * @param string $selection_style CSS style class for selection list.
  365.      * @param boolean $selected True if button should be rendered as selected.
  366.      * @param boolean $enabled True if button should be rendered as enabled.
  367.      *      (CSS class button.selected)
  368.      * @param int $colspan Cell HTML colspan.
  369.      * @param int $rowspan Cell HTML rowspan.
  370.      * @param string $form_method Method of form action.
  371.      * @param string $form_target Target of form action.
  372.      * @see OpenTable
  373.      * @see CloseTable
  374.      * 
  375.       * @since v1.0.0
  376.      */
  377.                                     $title$form_action,
  378.                                     $selected_item$items
  379.                                     $selection_name$selection_size 1,
  380.                                     $cell_style NULL$selection_style NULL
  381.                                     $colspan 0$rowspan 0
  382.                                     $form_method='post'$form_target '_self'){
  383.                                         
  384.         $style_arg ($selection_style != NULL ' class="'.$selection_style.'"' '');
  385.         $name_arg ($selection_name != NULL ' name="'.$selection_name.'"' '');
  386.         $size_arg ($selection_size != ' size="'.$selection_size.'"' '');
  387.         
  388.         OpenFormCell($form_action$cell_style$colspan$rowspanNULL$form_method$form_target);                
  389.         print '
  390.                         '.$title.'&nbsp;
  391.                         <select'.$name_arg.$size_arg.$style_arg.' onchange="this.form.submit();return true;">';
  392.         $sel '';
  393.         foreach($items as $item){
  394.             if (is_array($item)){
  395.                 if ($selected_item != NULL){
  396.                     $sel ($selected_item == $item[IDX_VALUE' selected="selected"' '');
  397.                 }
  398.                 print '
  399.                             <option value="'.$item[IDX_VALUE].'"'.$sel.'>'.$item[IDX_NAME].'</option>';
  400.             }
  401.         }
  402.         print '
  403.                         </select>';
  404.         CloseFormCell();
  405.     }
  406.         
  407.     /** 
  408.      * Prints HTML tags for one entire table cell
  409.      * encapsulated within a form to relize a
  410.      * selection list and a single submit button.
  411.      * Can be used between <b>OpenTable</b>
  412.      * and <b>CloseTable</b>.
  413.      * @param string $title Title text.
  414.      * @param string $button_text Button text.
  415.      * @param string $form_action Action (URL) for form.
  416.      * @param array $selections Array of arrays containing
  417.      *      selection name at index IDX_NAME and selection value at index
  418.      *      IDX_VALUE. An array containing array with format above
  419.      *      can also be applied.
  420.      * @param array $button_actions Array (or array of arrays) containing
  421.      *      action name at index 0 and action value at index 1. An array
  422.      *  containing array with format above can also be applied.
  423.      *  For every name/value pair a hidden field for the form
  424.      *  is created.
  425.      * @param string $selection_name Name for selection list.
  426.      * @param int $selection_size Number of visible list entries.
  427.      * @param string $cell_style CSS style class for cell.
  428.      * @param string $selection_style CSS style class for selection list.
  429.      * @param boolean $selected True if button should be rendered as selected.
  430.      * @param boolean $enabled True if button should be rendered as enabled.
  431.      *      (CSS class button.selected).
  432.      * @param string $form_method Method of form action.
  433.      * @param string $form_target Target of form action.
  434.      * @see OpenTable
  435.      * @see CloseTable
  436.      * 
  437.       * @since v1.0.0
  438.      */
  439.     function PrintTableButtonSelectionCells($title$button_text$form_action,
  440.                                     $selections$button_actions
  441.                                     $selection_name$selection_size 1,
  442.                                     $cell_style NULL$selection_style NULL
  443.                                     $selected false$enabled true
  444.                                     $form_method='post'$form_target '_self'){
  445.                                         
  446.         $style_arg ($selection_style != NULL ' class="'.$selection_style.'"' '');
  447.         $name_arg ($selection_name != NULL ' name="'.$selection_name.'"' '');
  448.         $size_arg ($selection_size != ' size="'.$selection_size.'"' '');
  449.         
  450.         OpenFormCell($form_action$cell_style00NULL$form_method$form_target);
  451.             OpenTable();
  452.                 OpenTableCell($cell_style);
  453.                     print '
  454.                                     '.$title.'&nbsp;
  455.                                     <select'.$name_arg.$size_arg.$style_arg.'>';
  456.                     foreach($selections as $select){
  457.                         if (is_array($select)){
  458.                             print '
  459.                                         <option value="'.$select[IDX_VALUE].'">'.$select[IDX_NAME].'</option>';
  460.                         }
  461.                     }
  462.                     print '
  463.                                     </select>';
  464.                     CloseTableCell();
  465.                     OpenTableCell($cell_style);                
  466.                         PrintFormButton($button_text$button_actions$selected$enabled);    
  467.                 CloseTableCell();
  468.             CloseTable();
  469.         CloseFormCell();
  470.     }
  471.     
  472.     /** 
  473.      * Prints HTML tags for one table cell which
  474.      * encapsulates an HTML iFrame.
  475.      * @param string $src iFrame source URL.
  476.      * @param string $name iFrame name.
  477.      * @param int $width Width of the frame.
  478.      * @param int $height Height of the frame.
  479.      * @param int $colspan Cell HTML colspan.
  480.      * @param int $rowspan Cell HTML rowspan.
  481.      * @param boolean $draw_border True of frame border
  482.      *      should be drawn, false otherwise.
  483.      * @param string $cell_style CSS style class for cell.
  484.      * @param string $desc Description of the frame.
  485.      * 
  486.       * @since v1.0.0
  487.      */
  488.     function PrintTableIFrameCell($src$name NULL
  489.                                                                 $width NULL$height NULL
  490.                                                                 $colspan 0$rowspan 0,
  491.                                                                 $draw_border false$cell_style NULL
  492.                                                                 $desc NULL){
  493.                                         
  494.         $name_arg ($name != NULL ' name="'.$name.'"' '');
  495.         $width_arg ($width != NULL ' width="'.$width.'"' '');
  496.         $height_arg ($height != NULL ' height="'.$height.'"' '');
  497.         $border_arg ' frameborder="'.($draw_border '1' '0').'"';
  498.         $desc_arg ($desc != NULL ' longdesc="'.$desc.'"' '');
  499.         
  500.         OpenTableCell($cell_style$colspan$rowspan);
  501.         print '
  502.                         <iframe src="'.$src.'"'.$name_arg.' scrolling="auto"'.$width_arg.$height_arg.$border_arg.$desc_arg.'>
  503.                             <p>';
  504.         echo T(TK_BROWSER_CANNOT_DISPLAY_FRAMES__LINK__LINK$src$src);
  505.         print '
  506.                             </p>
  507.                         </iframe>';
  508.         CloseTableCell();
  509.     }    
  510.     
  511.     /** 
  512.      * Prints HTML tags for one table cell
  513.      * encapsulated within a form to relize an
  514.      * immediate executed checkbox.
  515.      * Can be used between <b>OpenTable</b>
  516.      * and <b>CloseTable</b>.
  517.      * @param string $label Checkbox label.
  518.      * @param string $name Checkbox name, index for checkbox value.
  519.      * @param string $form_action Action (URL) for form.
  520.      * @param array $hidden_fields Array (or array of arrays) containing
  521.      *      action name at index 0 and action value at index 1. An array
  522.      *  containing array with format above can also be applied.
  523.      *  For every name/value pair a hidden field for the form
  524.      *  is created.
  525.      * @param string $cell_style CSS style class for cell.
  526.      * @param string $checkbox_style CSS style class for selection list.
  527.      * @param boolean $checked True if checkbox should initially be selected.
  528.      * @param string $form_method Method of form action.
  529.      * @param string $form_target Target of form action.
  530.      * @see OpenTable
  531.      * @see CloseTable
  532.      * 
  533.       * @since v1.0.0
  534.      */
  535.     function PrintTableCheckboxCells($label$name$form_action$hidden_fields NULL,
  536.                                                                     $cell_style NULL$checkbox_style NULL$checked false
  537.                                                                     $form_method='post'$form_target '_self'$no_form false){
  538.                                         
  539.         $style_arg ($checkbox_style != NULL ' class="'.$checkbox_style.'"' '');
  540.         $checked_arg ($checked ' checked="checked"' '');
  541.         
  542.         OpenTableCell($cell_style);
  543.             OpenTable();
  544.             if($no_form){
  545.                 OpenTableCell($cell_style);
  546.             else {
  547.                 OpenFormCell($form_action$cell_style00NULL$form_method$form_target);
  548.             }
  549.                 $checkbox_name 'chkbx_'.$name;
  550.                 // Workaround for IE and others: Allow immideate submit
  551.                 $js_check_val ($checked 'true' 'false');
  552.                 $js_new_val ($checked '0' '1');
  553.                 $submit ($no_form '' 'this.form.submit(); ');
  554.                 print '
  555.                                 <input type="checkbox" id="'.$checkbox_name.'" name="'.$checkbox_name.'"'.$style_arg.$checked_arg.'
  556.                                     onchange="this.form.'.$name.'.value=((this.form.'.$checkbox_name.'.checked == true) ? \'1\' : \'0\'); '.$submit.'return true;"/>
  557.                                 <input type="hidden" name="'.$name.'" value="'.($checked '1' '0').'"/>';
  558.                     
  559.                 if (count($hidden_fields0){
  560.                     if (is_array($hidden_fields[0])){
  561.                         foreach($hidden_fields as $field){
  562.                             if (count($field1){
  563.                                 print '
  564.                                 <input type="hidden" name="'.$field[IDX_NAME].'" value="'.$field[IDX_VALUE].'"/>';
  565.                             }
  566.                         }
  567.                     else if (count($hidden_fields1){
  568.                         print '
  569.                                 <input type="hidden" name="'.$hidden_fields[IDX_NAME].'" value="'.$hidden_fields[IDX_VALUE].'"/>';
  570.                     }
  571.                 }
  572.                 if($no_form){
  573.                 CloseTableCell();
  574.                 else {
  575.                 CloseFormCell();
  576.                 }
  577.                 OpenTableCell($cell_style);
  578.                     print '
  579.                                 <label for="'.$checkbox_name.'">'.$label.'</label>';
  580.                 CloseTableCell();
  581.             CloseTable();
  582.         CloseTableCell();
  583.         
  584.     }
  585.     
  586.     /** 
  587.      * Prints HTML tags for one table cell
  588.      * with a hyperlink.
  589.      * Can be used between <b>OpenTable</b>
  590.      * and <b>CloseTable</b>.
  591.      * @param string $url Link url.
  592.      * @param string $label Link label.
  593.      * @param string $target Link target.
  594.      * @param string $cell_style CSS style class for cell.
  595.      * @param int $colspan Cell HTML colspan.
  596.      * @param int $rowspan Cell HTML rowspan.
  597.      * @see OpenTable
  598.      * @see CloseTable
  599.      * 
  600.       * @since v1.0.0
  601.      */
  602.     function PrintTableLinkCell($url$label$target '_blank'
  603.                                                             $cell_style NULL$colspan 0$rowspan 0){
  604.                                         
  605.         $target_arg ($target != NULL ' target="'.$target.'"' '');
  606.         $label_arg ($label != NULL $label $url);
  607.         
  608.         OpenTableCell($cell_style$colspan$rowspan);
  609.         print '
  610.                         <a href="'.$url.'"'.$target_arg.'>'.$label_arg.'</a>';
  611.         CloseTableCell();
  612.     }
  613.     
  614.     /** 
  615.      * Prints HTML tags to close a table
  616.      * which was opened with <b>OpenTable</b>.
  617.      * 
  618.       * @since v1.0.0
  619.      */
  620.     function CloseTable(){
  621.         print '
  622.             </tr>
  623.         </table>';
  624.     }
  625.     
  626.     /**
  627.      * Attaches the session ID argument to the given URL
  628.      * if sessions are not handled via cookies. The session
  629.      * ID is only added to relative URLs (without any scheme).
  630.      * @param string $url URL to which the session argument is attached.
  631.      * @return string URL containing the session ID argument in a wellformed
  632.      *  way or the untouched URL if sessions are handled via cookies.
  633.      * 
  634.      * @since v1.1.0
  635.      */
  636.     function GetSessionUrl($url){
  637.         $url_parts parse_url($url);
  638.         $sid strip_tags(SID);
  639.         if (($sid != NULL && $sid != ''&& 
  640.             (!isset($url_parts['query']|| $url_parts['query'== '' || $url_parts['query'== NULL)){
  641.             $query_parts array();
  642.             $session_vals array();
  643.             if (isset($url_parts['query'])){
  644.                 parse_str($url_parts['query']$query_parts);
  645.             }
  646.             parse_str($sid$session_vals);
  647.             foreach ($session_vals as $key => $val){
  648.                 $query_parts[$key$val;
  649.             }
  650.             $query http_build_query($query_parts);
  651.             if ($query != NULL && $query != ''){
  652.                 if (strpos($url'?'!== false){
  653.                     $url substr($url0strpos($url'?'));
  654.                 }  
  655.                 $url .= '?'.$query;
  656.             }
  657.         }
  658.         return $url;
  659.     }
  660.         
  661.     /** 
  662.      * Prints HTML footer for the page which
  663.      * has been opened with <b>PrintPageHeader</b>.
  664.      * @see PrintPageHeader
  665.      * 
  666.       * @since v1.0.0
  667.       */
  668.     function PrintPageFooter(){
  669.         print'
  670.     </body>
  671. </html>';
  672.     }
  673.     
  674. ?>

Documentation generated on Fri, 03 Nov 2006 18:44:59 +0100 by phpDocumentor 1.3.0RC6
for sTEFANs POWERED BY eBC.bz