superedit-GETFORMITEM.php 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. <?php
  2. function GETFORMITEM( $VALUE, $TYPE, $NAME, $params = array() ) {
  3. //VERSION 2006-03-20 , ale na l2 moze byc swiezsze
  4. //VERSION 2008-11-25 , added shorted substr for enum type by sqix
  5. //VERSION 2010-06-10 , rm ' from enum, split(depreciated) -> explode by plabudda
  6. //VERSION 2012-04-24 , added decimal(58,8) for search purps
  7. global $thiss;
  8. if (strstr($TYPE, "enum")) {
  9. list($SMIEC, $TYPE) = explode("(", $TYPE, 2);
  10. list($TYPE, $SMIEC) = explode(")", $TYPE, 2);
  11. $TYPE = explode(",", $TYPE);
  12. $html_field_name = $NAME;
  13. $attr_multiple = '';
  14. if (isset($params['multiple']) && $params['multiple'] == true) {
  15. $attr_multiple = ' multiple ';
  16. $html_field_name .= '[]';
  17. }
  18. echo'<select name="'.$html_field_name.'" id="'.$NAME.'" '.$attr_multiple.'>';//TODO 2006-03 sprawdzic czy dawanie do wyszukiwania getformitem w menu % zawsze moze dawac??
  19. // add default option '%' in search field
  20. //if ((in_array($_SESSION['CURRENT_MENU'], array('USERS','TELBOXES','DEVICES','BUILDINGS')))
  21. if (!in_array($_SESSION['CURRENT_MENU'], array($thiss->DETECT_EDIT_FUNCTION, 'NEW_RECORD'))) {
  22. $sel = false;
  23. if (isset($params['multiple']) && $params['multiple'] == true) {
  24. if (is_array($VALUE)) {
  25. if (empty($VALUE) || in_array('%', $VALUE)) {
  26. $sel = true;
  27. }
  28. }
  29. }
  30. $sel = ($sel)? ' selected="selected"' : '';
  31. echo'<option value="%"'.$sel.'>%</option>';
  32. }
  33. foreach ($TYPE as $v) {
  34. $v = trim($v,"' ");//usuwa spacje i ' z poczatku i konca
  35. //echo "*** $v =============== $VALUE *** * *** *";
  36. $SUBSTR_VALUE = ($_SESSION['CURRENT_MENU'])? 26 : 100;
  37. $sel = false;
  38. if (isset($params['multiple']) && $params['multiple'] == true) {
  39. if (is_array($VALUE) && in_array($v, $VALUE)) {
  40. $sel = true;
  41. }
  42. } else if (!empty($VALUE) && "$VALUE" == $v) {
  43. $sel = true;
  44. }
  45. $sel = ($sel)? ' selected="selected"' : '';
  46. echo'<option value="'.$v.'"'.$sel.'>'.substr($v,0,$SUBSTR_VALUE).' </option>';
  47. } //EOF foreach
  48. echo'</select>';
  49. }
  50. else if ((strstr($TYPE, "char")) || (strstr($TYPE, "int")) || (strstr($TYPE, "decimal")) ) {
  51. //echo "THIS IS CHAR";
  52. list($SMIEC, $TYPE) = explode("(", $TYPE, 2);
  53. list($TYPE, $SMIEC) = explode(")", $TYPE, 2);
  54. $SIZE = strlen($VALUE) + 5;
  55. if (!$_SESSION['CURRENT_MENU']) {
  56. if (strlen($VALUE) == 0) $SIZE = strlen($VALUE) + 10;
  57. else $SIZE = strlen($VALUE) + 5;
  58. }
  59. if ($_SESSION['CURRENT_MENU'] == 'NEW_RECORD') $SIZE = $TYPE;
  60. if ($SIZE > 50) $SIZE = 50;
  61. $SIZE = "size=$SIZE";
  62. if (in_array($_SESSION['CURRENT_MENU'], array('USERS','TELBOXES','DEVICES','BUILDINGS'))) if(!($VALUE)) $VALUE = "%";
  63. echo'<input type="text" name="'.$NAME.'" id="'.$NAME.'" value="'.$VALUE.'" maxlength="'.$TYPE.'" '.$SIZE.' />';
  64. }
  65. else if ((strstr($TYPE, "datetime")) || (strstr($TYPE, "date") || strstr($TYPE, "timestamp"))) {
  66. if(strstr($TYPE,'(')) { //@2012-10-12 by sqix : warning byly , chyba typ powinien byc w nawiasie, a jak nie jest to else...
  67. list($SMIEC, $TYPE) = explode("(", $TYPE, 2);
  68. list($TYPE, $SMIEC) = explode(")", $TYPE, 2);
  69. } else $TYPE=10;
  70. $VALUE = substr($VALUE, 0, 10);
  71. $SIZE = 10;
  72. $SIZE="size=$SIZE";
  73. echo'<input type="text" name="'.$NAME.'" id="'.$NAME.'" value="'.$VALUE.'" maxlength="'.$TYPE.'" '.$SIZE.' />';
  74. }
  75. else if(strstr($TYPE,"double") || strstr($TYPE,"float")) {
  76. list($SMIEC,$TYPE)=explode("(",$TYPE,2);
  77. list($TYPE,$SMIEC)=explode(")",$TYPE,2);
  78. $VALUE=substr($VALUE,0,10);
  79. $SIZE = 4;
  80. $SIZE="size=$SIZE";
  81. echo'<input type="text" name="'.$NAME.'" id="'.$NAME.'" value="'.$VALUE.'" maxlength="'.$TYPE.'" '.$SIZE.' />';
  82. }
  83. else if(strstr($TYPE,"text")) {
  84. //echo "THIS IS CHAR";
  85. //$SIZE = strlen($VALUE) + 50;
  86. //$SIZE="size=$SIZE";
  87. if(in_array($_SESSION['CURRENT_MENU'],array('USERS','TELBOXES','DEVICES','BUILDINGS'))) if(!($VALUE)) $VALUE = "%";
  88. echo'<textarea name="'.$NAME.'" id="'.$NAME.'" rows="5" cols="100">'.$VALUE.'</textarea>';
  89. }
  90. else {
  91. echo "THIS IS TEXT_OR_OTHER $TYPE";
  92. }
  93. }
  94. function GETFORMITEM2( $name, $sql_type, $value = '' ) {
  95. //VERSION 2006-03-20 , ale na l2 moze byc swiezsze
  96. //VERSION 2008-11-25 , added shorted substr for enum type by sqix
  97. //VERSION 2010-06-10 , rm ' from enum, split(depreciated) -> explode by plabudda
  98. //VERSION 2010-10-13 , add % in enum, add @param $name by plabudda
  99. // TODO: add DEAFULT and not null to TYPE
  100. $ret = '';
  101. //$type = $_SESSION[$table_column]['TYPE'][$field];
  102. $type = $sql_type;
  103. //$name = $field;//$_SESSION[$table_column]['DESC'][ $_SESSION[$table_column]['DESC_TO_KEY'][$field] ];
  104. //if ($_SESSION['CURRENT_MENU']=='NEW_RECORD') $name = 'NEW_RECORD['.$name.']';
  105. if(strstr($type,"enum")) {
  106. $type = end( explode("(",$type) );
  107. $type = reset( explode(")",$type) );
  108. $type = explode(",", $type);
  109. $ret .= '<select name="'.$name.'" id="'.$name.'">';
  110. $ret .= '<option value="%">'." [ Wybierz ] ".'</option>';
  111. sort($type);
  112. foreach ($type as $v) {
  113. $v = trim($v,"' ");//usuwa spacje i ' z poczatku i konca
  114. $substr_value=26;
  115. $sel = ($v=="$value")?'selected="selected"':'';
  116. $ret .= '<option value="'.$v.'" '.$sel.'>'.substr($v,0,$substr_value).' </option>';
  117. } //EOF foreach
  118. $ret .= '</select>';
  119. }
  120. else if((strstr($type,"char")) || (strstr($type,"int"))) {
  121. $type = end( explode("(",$type) );
  122. $type = reset( explode(")",$type) );
  123. $SIZE = ($type > 50)? 50 : $type;
  124. $SIZE="size=$SIZE";
  125. $ret .= '<input type="text" name="'.$name.'" id="'.$name.'" value="'.$value.'" maxlength="'.$type.'" '.$SIZE.' />';
  126. }
  127. else if((strstr($type,"datetime"))||(strstr($type,"date")||strstr($type,"timestamp"))) {
  128. $type = end( explode("(",$type) );
  129. $type = reset( explode(")",$type) );
  130. $value = substr($value, 0, 10);
  131. $SIZE="size=10";
  132. $ret .= '<input type="text" name="'.$name.'" id="'.$name.'" value="'.$value.'" maxlength="'.$type.'" '.$SIZE.' class="date-pick" />';
  133. }
  134. else if(strstr($type,"double") || strstr($type,"float")) {
  135. $type = end( explode("(",$type) );
  136. $type = reset( explode(")",$type) );
  137. $value=substr($value,0,10);
  138. $SIZE="size=6";
  139. $ret .= '<input type="text" name="'.$name.'" id="'.$name.'" value="'.$value.'" maxlength="'.$type.'" '.$SIZE.' />';
  140. }
  141. else if(strstr($type,"text")) {
  142. $ret .= '<textarea name="'.$name.'" id="'.$name.'" rows="5" cols="100">'.$value.'</textarea>';
  143. }
  144. else {
  145. $ret .= "UNKNOWN $type";
  146. }
  147. return $ret;
  148. }
  149. /*
  150. function GETFORMITEM($VALUE,$TYPE,$NAME) {
  151. //VERSION 2006-03-20 , ale na l2 moze byc swiezsze
  152. //VERSION 2008-11-25 , added shorted substr for enum type by sqix
  153. global $thiss;
  154. //echo "***************$VALUE,,,,$TYPE";
  155. if(strstr($TYPE,"enum")) {
  156. list($SMIEC,$TYPE)=split("\(",$TYPE);
  157. list($TYPE,$SMIEC)=split("\)",$TYPE);
  158. list($TYPE1,$SMIEC1)=split(",",$TYPE);
  159. $TYPE=explode(",",$TYPE);
  160. echo "<select name=$NAME id='$NAME'>"; //TODO 2006-03 sprawdzic czy dawanie do wyszukiwania getformitem w menu % zawsze moze dawac??
  161. if(($_SESSION[CURRENT_MENU]==USERS) || ($_SESSION[CURRENT_MENU]==TELBOXES) || ($_SESSION[CURRENT_MENU]==DEVICES) || ($_SESSION[CURRENT_MENU]==BUILDINGS) ||($_SESSION[CURRENT_MENU]!=$thiss->DETECT_EDIT_FUNCTION)) echo "<option value='%'>%</option>";
  162. foreach ($TYPE as $value) {
  163. //echo "*** $value =============== $VALUE *** * *** *";
  164. if($_SESSION[CURRENT_MENU]) $SUBSTR_VALUE=20; else $SUBSTR_VALUE="100";
  165. if ("'$VALUE'"==$value) { echo "<option value=$value selected=true>".substr($value,0,$SUBSTR_VALUE)." </option>"; } else echo "<option value=$value>".substr($value,0,20)."</option>";
  166. } //EOF foreach
  167. echo "</select>";
  168. } else if((strstr($TYPE,"char")) || (strstr($TYPE,"int"))) {
  169. //echo "THIS IS CHAR";
  170. list($SMIEC,$TYPE)=split("\(",$TYPE);
  171. list($TYPE,$SMIEC)=split("\)",$TYPE);
  172. $SIZE = strlen($VALUE) + 5;
  173. if(!$_SESSION[CURRENT_MENU]) {
  174. if(strlen($VALUE)=='0') $SIZE=strlen($VALUE)+10 ;
  175. else $SIZE=strlen($VALUE)+5;
  176. }
  177. if($_SESSION[CURRENT_MENU]=='NEW_RECORD') $SIZE=$TYPE;
  178. $SIZE="size=$SIZE";
  179. if(($_SESSION[CURRENT_MENU]==USERS) || ($_SESSION[CURRENT_MENU]==TELBOXES) || ($_SESSION[CURRENT_MENU]==DEVICES) || ($_SESSION[CURRENT_MENU]==BUILDINGS) ) if(!($VALUE)) $VALUE = "%";
  180. echo "<INPUT TYPE=TEXT NAME='$NAME' id='$NAME' VALUE='$VALUE' maxlength='$TYPE' $SIZE >";
  181. } else if((strstr($TYPE,"datetime"))||(strstr($TYPE,"date")||strstr($TYPE,"timestamp"))) {
  182. list($SMIEC,$TYPE)=split("\(",$TYPE);
  183. list($TYPE,$SMIEC)=split("\)",$TYPE);
  184. $VALUE=substr($VALUE,0,10);
  185. $SIZE = 10 ;
  186. $SIZE="size=$SIZE";
  187. echo "<INPUT TYPE=TEXT NAME='$NAME' id='$NAME' VALUE='$VALUE' maxlength='$TYPE' $SIZE >";
  188. } else if(strstr($TYPE,"double")) {
  189. list($SMIEC,$TYPE)=split("\(",$TYPE);
  190. list($TYPE,$SMIEC)=split("\)",$TYPE);
  191. $VALUE=substr($VALUE,0,10);
  192. $SIZE = 4 ;
  193. $SIZE="size=$SIZE";
  194. echo "<INPUT TYPE=TEXT NAME='$NAME' id='$NAME' VALUE='$VALUE' maxlength='$TYPE' $SIZE >";
  195. } else if(strstr($TYPE,"text")) {
  196. //echo "THIS IS CHAR";
  197. //$SIZE = strlen($VALUE) + 50;
  198. //$SIZE="size=$SIZE";
  199. if(($_SESSION[CURRENT_MENU]==USERS) || ($_SESSION[CURRENT_MENU]==TELBOXES) || ($_SESSION[CURRENT_MENU]==DEVICES) || ($_SESSION[CURRENT_MENU]==BUILDINGS) ) if(!($VALUE)) $VALUE = "%";
  200. echo "<TEXTAREA NAME='$NAME' id='$NAME' rows='5' cols='100'>$VALUE</TEXTAREA>";
  201. }else {
  202. echo "THIS IS TEXT_OR_OTHER $TYPE";
  203. }
  204. }
  205. */