1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
form_callformoutput.php
См. документацию.
1<?
7{
8 var $__cache_path = "";
9 var $__cache_file_header = "<?if(!defined(\"B_PROLOG_INCLUDED\") || B_PROLOG_INCLUDED!==true)die();?><?=\$FORM->ShowFormHeader();?>";
10 var $__cache_file_footer = "<?=\$FORM->ShowFormFooter();?>";
11
13
16
23
25
27
30
32
35
37
38 var $__error_msg = "";
41
46
47 var $comp2 = false;
48
50
51 public function __construct()
52 {
53 $this->__cache_path = BX_PERSONAL_ROOT."/tmp/form";
54 }
55
57 {
58 $this->WEB_FORM_ID = $arParams["WEB_FORM_ID"];
59 $this->RESULT_ID = $arParams["RESULT_ID"] ?? 0;
60
61 $this->arParams = $arParams;
62 $this->arForm = $arResult["arForm"];
63 $this->arQuestions = $arResult["arQuestions"];
64 $this->arAnswers = $arResult["arAnswers"];
65 $this->arDropDown = $arResult["arDropDown"];
66 $this->arMultiSelect = $arResult["arMultiSelect"];
67
68 $this->arrVALUES = $arResult["arrVALUES"];
69
70 $this->F_RIGHT = $arResult["F_RIGHT"];
71 if ($this->RESULT_ID)
72 {
73 if ($this->isAccessFormResult($arResult['arResultData']))
74 {
75 $this->arrRESULT_PERMISSION = CFormResult::GetPermissions($this->RESULT_ID);
76 $this->arResult = $arResult['arResultData'];
77 }
78 }
79
80 $this->strFormNote = $arResult["FORM_NOTE"] ?? '';
81 $this->__form_validate_errors = $arResult["FORM_ERRORS"] ?? '';
82 $this->bIsFormValidateErrors = $arResult['isFormErrors'] == 'Y';
83
84 $this->bSimple = (COption::GetOptionString("form", "SIMPLE", "Y") == "Y") ? true : false;
85
86 $this->WEB_FORM_NAME = $arResult["arForm"]["SID"];
87
88 if ($this->arForm["USE_CAPTCHA"] == "Y")
89 {
90 $this->CAPTCHACode = $arResult["CAPTCHACode"];
91 }
92 }
93
95 {
96 if ($this->__check_form_cache())
97 {
98 $FORM =& $this; // create interface for template
99 ob_start();
100 eval('?>'.$this->__cache_tpl.'<?');
101 $strReturn = ob_get_contents();
102 ob_end_clean();
103
104 return $strReturn;
105 }
106 else
107 {
108 return false;
109 }
110 }
111
113 {
114 global $APPLICATION;
115 if ($this->__check_form_cache())
116 {
117 $APPLICATION->SetTemplateCSS("form/form.css");
118 $FORM =& $this;
119 eval($this->__cache_tpl);
120
121 return true;
122 }
123 else
124 {
125 return false;
126 }
127 }
128
130 {
131 return CModule::IncludeModule("statistic");
132 }
133
142 {
143 global $CACHE_MANAGER;
144
145 // if no tpl at all - return false
146 if ($this->arForm["FORM_TEMPLATE"] == '' || $this->arForm["USE_DEFAULT_TEMPLATE"] != "N")
147 {
148 $this->arForm["USE_DEFAULT_TEMPLATE"] = "Y";
149 return false;
150 }
151
152 $this->__cache_tpl = '';
153
154 $cache_dir = '/form/templates/'.$this->arForm['ID'];
155 $cache_id = 'form|template|'.$this->arForm['ID'];
156
157 $obCache = new CPHPCache();
158
159 if ($obCache->InitCache(30*86400, $cache_id, $cache_dir))
160 {
161 $res = $obCache->GetVars();
162 $this->__cache_tpl = $res['FORM_TEMPLATE'];
163 }
164 else
165 {
166 $obCache->StartDataCache();
167
168 $CACHE_MANAGER->StartTagCache($cache_dir);
169
170 $CACHE_MANAGER->RegisterTag('forms');
171 $CACHE_MANAGER->RegisterTag('form_'.$this->arForm['ID']);
172
173 $this->__cache_tpl = $res['FORM_TEMPLATE'] = $this->__cache_file_header.$this->arForm['FORM_TEMPLATE'].$this->__cache_file_footer;
174
175 $CACHE_MANAGER->EndTagCache();
176 $obCache->EndDataCache(array('FORM_TEMPLATE' => $this->__cache_tpl));
177 }
178
179 return true;
180 }
181
182 /*
183 function __clear_form_cache_files()
184 {
185 $path = $_SERVER['DOCUMENT_ROOT'].$this->__cache_path;
186 $fname_mask = "form_".$this->WEB_FORM_ID;
187
188 if ($dh = @opendir($path))
189 {
190 while (($fname = @readdir($dh)) !== false)
191 {
192 if (substr($fname, 0, strlen($fname_mask)) == $fname_mask) @unlink($path."/".$fname);
193 }
194 closedir($dh);
195 }
196 }
197 */
198
205 function isFormErrors()
206 {
207 if (is_array($this->__form_validate_errors))
208 return count($this->__form_validate_errors) > 0;
209 else
210 return $this->__form_validate_errors <> '';
211 }
212
219 function ShowFormErrors()
220 {
221 ob_start();
222
223 if ($this->arParams['USE_EXTENDED_ERRORS'] == 'N')
224 ShowError($this->__form_validate_errors);
225 elseif (is_array($this->__form_validate_errors))
226 ShowError(implode('<br />', $this->__form_validate_errors));
227
228 $ret = ob_get_contents();
229 ob_end_clean();
230
231 return $ret;
232 }
233
241 {
242 if ($this->arParams['USE_EXTENDED_ERRORS'] == 'N')
244 else
245 return implode('<br />', $this->__form_validate_errors);
246 }
247
253 function ShowFormNote()
254 {
255 ob_start();
256 ShowNote($this->strFormNote);
257 $ob = ob_get_contents();
258 ob_end_clean();
259 return $ob;
260 }
261
268 {
269 return $this->strFormNote;
270 }
271
277 function isFormNote()
278 {
279 return $this->strFormNote <> '';
280 }
281
288 function ShowErrorMsg()
289 {
290 return $this->__error_msg;
291 }
292
299 function ShowFormHeader()
300 {
301 global $APPLICATION;
302
303 $res = sprintf(
304 "<form name=\"%s\" action=\"%s\" method=\"%s\" enctype=\"multipart/form-data\">",
305 $this->arForm["SID"],
306 //$APPLICATION->GetCurPage(),
307 POST_FORM_ACTION_URI,
308 "POST"
309 );
310
312
313 $arHiddenInputs["WEB_FORM_ID"] = $this->WEB_FORM_ID;
314 if (!empty($this->RESULT_ID)) $arHiddenInputs["RESULT_ID"] = $this->RESULT_ID;
315 $arHiddenInputs["lang"] = LANGUAGE_ID;
316
317 foreach ($arHiddenInputs as $name => $value)
318 {
319 $res .= sprintf(
320 "<input type=\"hidden\" name=\"%s\" value=\"%s\" />",
321 $name, $value
322 );
323 }
324
325 return $res;
326 }
327
334 function ShowFormFooter()
335 {
336 return "</form>";
337 }
338
339 function __admin_GetInputType($FIELD_SID)
340 {
341 if (is_array($this->arAnswers[$FIELD_SID]))
342 {
343 $type = "";
344 foreach ($this->arAnswers[$FIELD_SID] as $key=>$arAnswer)
345 {
346 if ($type == "")
347 {
348 $type = $arAnswer["FIELD_TYPE"];
349 }
350 elseif ($type != $arAnswer["FIELD_TYPE"])
351 return "multiple";
352 }
353
354 return $type;
355 }
356 else return "none";
357 }
358
360 {
361 if (is_array($this->arAnswers[$FIELD_SID]))
362 {
363 $out = array();
364 $csort_max = 0;
365 foreach ($this->arAnswers[$FIELD_SID] as $key => $arAnswer)
366 {
367 $last = $arAnswer;
368 if ($csort_max < $arAnswer["C_SORT"]) $csort_max = $arAnswer["C_SORT"];
369 $ans = array();
370 foreach ($arAnswer as $key=>$value)
371 {
372 $ans[] = $key.":'".CUtil::JSEscape($value)."'";
373 }
374
375 $ans[] = "ANS_NEW:false";
376
377 $out[] = "{".implode(",", $ans)."}";
378 }
379
380 $imax = 0;
381 if (in_array($last['FIELD_TYPE'], array('checkbox', 'dropdown', 'multiselect', 'radio'))) $imax = 5;
382 for ($i=0; $i<$imax; $i++)
383 {
384 $ans = array();
385 $csort_max += 100;
386
387 foreach ($last as $key=>$value)
388 {
389 if ($key == "ACTIVE")
390 $ans[] = $key.":'Y'";
391 elseif ($key == "C_SORT")
392 $ans[] = $key.":'".$csort_max."'";
393 else
394 $ans[] = $key.":'".(in_array($key, array('FIELD_TYPE', 'FIELD_ID', 'QUESTION_ID')) ? CUtil::JSEscape($value) : "")."'";
395 }
396
397 $ans[] = "ANS_NEW:true";
398
399 $out[] = "{".implode(",", $ans)."}";
400 }
401
402 return "[".implode(",", $out)."]";
403 }
404 else
405 return "[]";
406 }
407
416 function ShowInputCaption($FIELD_SID, $css_style = "")
417 {
418 $ret = "";
419 if (empty($this->arQuestions[$FIELD_SID])) $ret = "";
420 else
421 {
422 if ($this->arQuestions[$FIELD_SID]["TITLE_TYPE"]=="html")
423 {
424 $ret = $this->arQuestions[$FIELD_SID]["TITLE"].CForm::ShowRequired($this->arQuestions[$FIELD_SID]["REQUIRED"]);
425 }
426 else
427 {
428 if ($this->arQuestions[$FIELD_SID]["ADDITIONAL"]=="Y")
429 {
430 $ret = "<b>".$this->arQuestions[$FIELD_SID]["TITLE"]."</b>".CForm::ShowRequired($this->arQuestions[$FIELD_SID]["REQUIRED"]);
431 }
432 else
433 {
434 $ret = htmlspecialcharsbx($this->arQuestions[$FIELD_SID]["TITLE"]).CForm::ShowRequired($this->arQuestions[$FIELD_SID]["REQUIRED"]);
435 }
436 }
437 }
438
439 if ($css_style <> '') $ret = "<span class=\"".$css_style."\">".$ret."</span>";
440
441 if (is_array($this->__form_validate_errors) && array_key_exists($FIELD_SID, $this->__form_validate_errors))
442 $ret = '<span class="form-error-fld" title="'.htmlspecialcharsbx($this->__form_validate_errors[$FIELD_SID]).'"></span>'."\r\n".$ret;
443
444 return $ret;
445 }
446
447
448 function __admin_ShowInputCaption($FIELD_SID, $caption_css_class = "", $unform = false)
449 {
450 if (empty($this->arQuestions[$FIELD_SID])) return "";
451 if ($unform) return $this->arQuestions[$FIELD_SID]["TITLE"];
452 if ($this->arQuestions[$FIELD_SID]["TITLE_TYPE"]=="html")
453 {
454 return $this->arQuestions[$FIELD_SID]["TITLE"]. CForm::ShowRequired($this->arQuestions[$FIELD_SID]["REQUIRED"]);
455 }
456 else
457 {
458 if ($this->arQuestions[$FIELD_SID]["ADDITIONAL"]=="Y")
459 {
460 return "<span class=\"".$caption_css_class."\"><b>".$this->arQuestions[$FIELD_SID]["TITLE"]."</b></span>".CForm::ShowRequired($this->arQuestions[$FIELD_SID]["REQUIRED"]);
461 }
462 else
463 {
464 return "<span class=\"".$caption_css_class."\">".$this->arQuestions[$FIELD_SID]["TITLE"]."</span>". CForm::ShowRequired($this->arQuestions[$FIELD_SID]["REQUIRED"]);
465 }
466 }
467 }
468
469
486 function ShowInputCaptionImage($FIELD_SID, $sAlign = "", $iMaxW="", $iMaxH="", $bPopup="N", $strPopupTitle="", $sHSpace = "", $sVSpace = "", $sBorder = "")
487 {
488 if ($this->isInputCaptionImage($FIELD_SID))
489 {
490 $arImageParams = array();
491
492 if ($sAlign <> '') $arImageParams[] = sprintf("align=\"%s\"", $sAlign);
493 if ($sHSpace <> '') $arImageParams[] = sprintf("hspace=\"%s\"", $sHSpace);
494 if ($sVSpace <> '') $arImageParams[] = sprintf("vspace=\"%s\"", $sVSpace);
495 if ($sBorder <> '') $arImageParams[] = sprintf("border=\"%s\"", $sBorder);
496 else $arImageParams[] = "border=\"0\"";
497
498 if ($strPopupTitle == '') $strPopupTitle = false;
499
500 if (empty($this->__form_input_caption_image_cache[$FIELD_SID]))
501 {
502 $this->__form_input_caption_image_cache[$FIELD_SID] = CFile::ShowImage($this->arQuestions[$FIELD_SID]["IMAGE_ID"], $iMaxW, $iMaxH, implode(" ", $arImageParams), $strImageUrl, $bPopup == "Y", $strPopupTitle);
503 }
504
505 $ret = $this->__form_input_caption_image_cache[$FIELD_SID];
506
507 if (mb_strtoupper($sAlign) == "CENTER") $ret = "<div align=\"center\">".$ret."</div>";
508
509 return $ret;
510 }
511 else
512 {
513 return "";
514 }
515 }
516
524 function isInputCaptionImage($FIELD_SID)
525 {
526 return intval($this->arQuestions[$FIELD_SID]["IMAGE_ID"])>0;
527 }
528
537 function ShowInput($FIELD_SID, $caption_css_class = '')
538 {
540
541 if (is_array($this->arAnswers[$FIELD_SID]))
542 {
543 $res = "";
544
545 reset($this->arAnswers[$FIELD_SID]);
546 if (isset($this->arDropDown[$FIELD_SID]) && is_array($this->arDropDown[$FIELD_SID]))
547 reset($this->arDropDown[$FIELD_SID]);
548 if (isset($this->arMutiSelect[$FIELD_SID]) && is_array($this->arMutiSelect[$FIELD_SID]))
549 reset($this->arMutiSelect[$FIELD_SID]);
550
551 foreach ($this->arAnswers[$FIELD_SID] as $key => $arAnswer)
552 {
553 if ($arAnswer["FIELD_TYPE"]=="dropdown" && $show_dropdown=="Y")
554 continue;
555 if ($arAnswer["FIELD_TYPE"]=="multiselect" && $show_multiselect=="Y")
556 continue;
557
558 if ($key > 0)
559 $res .= "<br />";
560
561 switch ($arAnswer["FIELD_TYPE"])
562 {
563 case "radio":
564 $ans_id = "form_checkbox_".$FIELD_SID."_".$arAnswer['ID'];
565 $arAnswer['FIELD_PARAM'] .= ' id="'.$ans_id.'"';
566
567 $value = CForm::GetRadioValue($FIELD_SID, $arAnswer, $arrVALUES);
568 $input = CForm::GetRadioField(
569 $FIELD_SID,
570 $arAnswer["ID"],
571 $value,
572 $arAnswer["FIELD_PARAM"]
573 );
574
575 if ($ans_id <> '')
576 {
577 $res .= $input;
578 $res .= "<label for=\"".$ans_id."\">";
579 $res .= "<span class=\"".$caption_css_class."\">&nbsp;".$arAnswer["MESSAGE"]."</span></label>";
580 }
581 else
582 {
583 $res .= "<label>";
584 $res .= $input;
585 $res .= "<span class=\"".$caption_css_class."\">&nbsp;".$arAnswer["MESSAGE"]."</span></label>";
586 }
587
588 break;
589 case "checkbox":
590
591 $ans_id = "form_checkbox_".$FIELD_SID."_".$arAnswer['ID'];
592 $arAnswer['FIELD_PARAM'] .= ' id="'.$ans_id.'"';
593
594 $value = CForm::GetCheckBoxValue($FIELD_SID, $arAnswer, $arrVALUES);
596 $FIELD_SID,
597 $arAnswer["ID"],
598 $value,
599 $arAnswer["FIELD_PARAM"]
600 );
601
602 if ($ans_id <> '')
603 {
604 $res .= $input;
605 $res .= "<label for=\"".$ans_id."\">";
606 $res .= "<span class=\"".$caption_css_class."\">&nbsp;".$arAnswer["MESSAGE"]."</span></label>";
607 }
608 else
609 {
610 $res .= "<label>";
611 $res .= $input;
612 $res .= "<span class=\"".$caption_css_class."\">&nbsp;".$arAnswer["MESSAGE"]."</span></label>";
613 }
614
615 break;
616 case "dropdown":
617 if ($show_dropdown!="Y")
618 {
619 $value = CForm::GetDropDownValue($FIELD_SID, $this->arDropDown, $arrVALUES);
621 $FIELD_SID,
622 $this->arDropDown[$FIELD_SID],
623 $value,
624 $arAnswer["FIELD_PARAM"]);
625 $show_dropdown = "Y";
626 }
627 break;
628 case "multiselect":
629 if ($show_multiselect!="Y")
630 {
631 $value = CForm::GetMultiSelectValue($FIELD_SID, $this->arMultiSelect, $arrVALUES);
633 $FIELD_SID,
634 $this->arMultiSelect[$FIELD_SID],
635 $value,
636 $arAnswer["FIELD_HEIGHT"],
637 $arAnswer["FIELD_PARAM"]);
638 $show_multiselect = "Y";
639 }
640 break;
641 case "text":
642 if (trim($arAnswer["MESSAGE"]) <> '')
643 {
644 $res .= "<span class=\"".$caption_css_class."\">".$arAnswer["MESSAGE"]."</span><br />";
645 }
646
647 $value = CForm::GetTextValue($arAnswer["ID"], $arAnswer, $arrVALUES);
649 $arAnswer["ID"],
650 $value,
651 $arAnswer["FIELD_WIDTH"],
652 $arAnswer["FIELD_PARAM"]);
653 break;
654
655 case "hidden":
656 /*
657 if (strlen(trim($arAnswer["MESSAGE"]))>0)
658 {
659 $res .= "<span class=\"".$caption_css_class."\">".$arAnswer["MESSAGE"]."</span><br />";
660 }
661 */
662
663 $value = CForm::GetHiddenValue($arAnswer["ID"], $arAnswer, $arrVALUES);
665 $arAnswer["ID"],
666 $value,
667 $arAnswer["FIELD_PARAM"]);
668 break;
669
670 case "password":
671 if (trim($arAnswer["MESSAGE"]) <> '')
672 {
673 $res .= "<span class=\"".$caption_css_class."\">".$arAnswer["MESSAGE"]."</span><br />";
674 }
675 $value = CForm::GetPasswordValue($arAnswer["ID"], $arAnswer, $arrVALUES);
677 $arAnswer["ID"],
678 $value,
679 $arAnswer["FIELD_WIDTH"],
680 $arAnswer["FIELD_PARAM"]);
681 break;
682 case "email":
683 if (trim($arAnswer["MESSAGE"]) <> '')
684 {
685 $res .= "<span class=\"".$caption_css_class."\">".$arAnswer["MESSAGE"]."</span><br />";
686 }
687 $value = CForm::GetEmailValue($arAnswer["ID"], $arAnswer, $arrVALUES);
689 $arAnswer["ID"],
690 $value,
691 $arAnswer["FIELD_WIDTH"],
692 $arAnswer["FIELD_PARAM"]);
693 break;
694 case "url":
695 if (trim($arAnswer["MESSAGE"]) <> '')
696 {
697 $res .= "<span class=\"".$caption_css_class."\">".$arAnswer["MESSAGE"]."</span><br />";
698 }
699 $value = CForm::GetUrlValue($arAnswer["ID"], $arAnswer, $arrVALUES);
701 $arAnswer["ID"],
702 $value,
703 $arAnswer["FIELD_WIDTH"],
704 $arAnswer["FIELD_PARAM"]);
705 break;
706 case "textarea":
707 if (trim($arAnswer["MESSAGE"]) <> '')
708 {
709 $res .= "<span class=\"".$caption_css_class."\">".$arAnswer["MESSAGE"]."</span><br />";
710 }
711 $value = CForm::GetTextAreaValue($arAnswer["ID"], $arAnswer, $arrVALUES);
713 $arAnswer["ID"],
714 $arAnswer["FIELD_WIDTH"],
715 $arAnswer["FIELD_HEIGHT"],
716 $arAnswer["FIELD_PARAM"],
717 $value
718 );
719 break;
720 case "date":
721 if (trim($arAnswer["MESSAGE"]) <> '')
722 {
723 $res .= "<span class=\"".$caption_css_class."\">".$arAnswer["MESSAGE"]." (".CSite::GetDateFormat("SHORT").")</span><br />";
724 }
725 $value = CForm::GetDateValue($arAnswer["ID"], $arAnswer, $arrVALUES);
727 $arAnswer["ID"],
728 $this->arForm["SID"],
729 $value,
730 $arAnswer["FIELD_WIDTH"],
731 $arAnswer["FIELD_PARAM"]);
732 break;
733 case "image":
734 if (trim($arAnswer["MESSAGE"]) <> '')
735 {
736 $res .= "<span class=\"".$caption_css_class."\">".$arAnswer["MESSAGE"]."</span><br />";
737 }
738
739 if ($this->RESULT_ID)
740 {
741 if ($arFile = CFormResult::GetFileByAnswerID($this->RESULT_ID, $arAnswer["ID"]))
742 {
743 if (intval($arFile["USER_FILE_ID"])>0)
744 {
745 if ($arFile["USER_FILE_IS_IMAGE"]=="Y")
746 {
747 $res .= CFile::ShowImage($arFile["USER_FILE_ID"], 0, 0, "border=0", "", true);
748 $res .= "<br />";
749 } //endif;
750 } //endif;
751 } // endif
752 } // endif
753
755 $arAnswer["ID"],
756 $arAnswer["FIELD_WIDTH"],
757 "IMAGE",
758 0,
759 "",
760 $arAnswer["FIELD_PARAM"]);
761 break;
762 case "file":
763 if (trim($arAnswer["MESSAGE"]) <> '')
764 {
765 $res .= "<span class=\"".$caption_css_class."\">".$arAnswer["MESSAGE"]."</span><br />";
766 }
767
768 if ($this->RESULT_ID)
769 {
770 if ($arFile = CFormResult::GetFileByAnswerID($this->RESULT_ID, $arAnswer["ID"]))
771 {
772 if (intval($arFile["USER_FILE_ID"])>0)
773 {
774 $res .= "<a title=\"".GetMessage("FORM_VIEW_FILE")."\" target=\"_blank\" class=\"tablebodylink\" href=\"/bitrix/tools/form_show_file.php?rid=".$this->RESULT_ID."&hash=".$arFile["USER_FILE_HASH"]."&lang=".LANGUAGE_ID."\">".htmlspecialcharsbx($arFile["USER_FILE_NAME"])."</a>&nbsp;(";
775 $res .= CFile::FormatSize($arFile["USER_FILE_SIZE"]);
776 $res .= ")&nbsp;&nbsp;[&nbsp;<a title=\"".str_replace("#FILE_NAME#", $arFile["USER_FILE_NAME"], GetMessage("FORM_DOWNLOAD_FILE"))."\" class=\"tablebodylink\" href=\"/bitrix/tools/form_show_file.php?rid=".$this->RESULT_ID."&hash=".$arFile["USER_FILE_HASH"]."&lang=".LANGUAGE_ID."&action=download\">".GetMessage("FORM_DOWNLOAD")."</a>&nbsp;]";
777 $res .= "<br /><br />";
778 } //endif;
779 } //endif;
780 }
781
783 $arAnswer["ID"],
784 $arAnswer["FIELD_WIDTH"],
785 "FILE",
786 0,
787 "",
788 $arAnswer["FIELD_PARAM"]);
789 break;
790 } //endswitch;
791 } //endwhile;
792
793 return $res;
794 } //endif(is_array($arAnswers[$FIELD_SID]));
795 elseif (is_array($this->arQuestions[$FIELD_SID]) && $this->arQuestions[$FIELD_SID]["ADDITIONAL"] == "Y")
796 {
797 $res = "";
798 switch ($this->arQuestions[$FIELD_SID]["FIELD_TYPE"])
799 {
800 case "text":
801 $value = CForm::GetTextAreaValue("ADDITIONAL_".$this->arQuestions[$FIELD_SID]["ID"], array(), $this->arrVALUES);
803 "ADDITIONAL_".$this->arQuestions[$FIELD_SID]["ID"],
804 "60",
805 "5",
806 "",
807 $value
808 );
809 break;
810 case "integer":
811 $value = CForm::GetTextValue("ADDITIONAL_".$this->arQuestions[$FIELD_SID]["ID"], array(), $this->arrVALUES);
813 "ADDITIONAL_".$this->arQuestions[$FIELD_SID]["ID"],
814 $value);
815 break;
816 case "date":
817 $value = CForm::GetDateValue("ADDITIONAL_".$this->arQuestions[$FIELD_SID]["ID"], array(), $this->arrVALUES);
819 "ADDITIONAL_".$this->arQuestions[$FIELD_SID]["ID"],
820 $arForm["SID"],
821 $value);
822 break;
823 } //endswitch;
824
825 return $res;
826 }
827 else return "";
828 }
829
836 function isUseCaptcha()
837 {
838 return $this->arForm["USE_CAPTCHA"] == "Y" && $this->CAPTCHACode <> '';
839 }
840
848 {
849
850 if ($this->isUseCaptcha())
851 return "<input type=\"hidden\" name=\"captcha_sid\" value=\"".htmlspecialcharsbx($this->CAPTCHACode)."\" /><img src=\"/bitrix/tools/captcha.php?captcha_sid=".htmlspecialcharsbx($this->CAPTCHACode)."\" width=\"180\" height=\"40\" />";
852 else return "";
853 }
854
862 {
863 if ($this->isUseCaptcha())
864 return "<input type=\"text\" name=\"captcha_word\" size=\"30\" maxlength=\"50\" value=\"\" class=\"inputtext\" />";
865 else return "";
866 }
867
873 function ShowCaptcha()
874 {
875 return $this->ShowCaptchaImage()."<br />".$this->ShowCaptchaField();
876 }
877
884 function ShowSubmitButton($caption = "", $css_style = "")
885 {
886 $button_value = trim($caption) <> '' ? trim($caption) : (trim($this->arForm["BUTTON"]) == '' ? GetMessage("FORM_ADD") : $this->arForm["BUTTON"]);
887
888 return "<input ".(intval($this->F_RIGHT)<10 ? "disabled" : "")." type=\"submit\" name=\"web_form_submit\" value=\"".htmlspecialcharsbx($button_value)."\"".(!empty($css_style) ? " class=\"".$css_style."\"" : "")." />";
889 }
890
897 function ShowApplyButton($caption = "", $css_style = "")
898 {
899 $button_value = trim($caption) <> '' ? trim($caption) : GetMessage("FORM_APPLY");
900
901 return "<input type=\"hidden\" name=\"web_form_apply\" value=\"Y\" /><input ".((intval($this->F_RIGHT)<10) ? "disabled" : "")." type=\"submit\" name=\"web_form_apply\" value=\"".htmlspecialcharsbx($button_value)."\"".(!empty($css_style) ? " class=\"".$css_style."\"" : "")." />";
902 }
903
910 function ShowResetButton($caption = "", $css_style = "")
911 {
912 $button_value = trim($caption) <> '' ? trim($caption) : GetMessage("FORM_RESET");
913
914 return "<input type=\"reset\" value=\"".htmlspecialcharsbx($button_value)."\"".(!empty($css_style) ? " class=\"".$css_style."\"" : "")." />";
915 }
916
923 function ShowFormDescription($css_style = "")
924 {
925 $ret = $this->arForm["DESCRIPTION_TYPE"] == "html" ? trim($this->arForm["DESCRIPTION"]) : nl2br(htmlspecialcharsbx(trim($this->arForm["DESCRIPTION"])));
926
927 if ($css_style <> '') $ret = "<div class=\"".$css_style."\">".$ret."</div>";
928
929 return $ret;
930 }
931
938 {
939 return trim($this->arForm["DESCRIPTION"]) <> '';
940 }
941
955 //function ShowFormImage($iMaxW=0, $iMaxH=0, $sParams="border=\"0\"", $strImageUrl="", $bPopup=false, $strPopupTitle=false)
956 function ShowFormImage($sAlign = "", $iMaxW="", $iMaxH="", $bPopup="N", $strPopupTitle="", $sHSpace = "", $sVSpace = "", $sBorder = "")
957 {
958 if ($this->isFormImage())
959 {
960 $arImageParams = array();
961
962 if ($sAlign <> '') $arImageParams[] = sprintf("align=\"%s\"", $sAlign);
963 if ($sHSpace <> '') $arImageParams[] = sprintf("hspace=\"%s\"", $sHSpace);
964 if ($sVSpace <> '') $arImageParams[] = sprintf("vspace=\"%s\"", $sVSpace);
965 if ($sBorder <> '') $arImageParams[] = sprintf("border=\"%s\"", $sBorder);
966 else $arImageParams[] = "border=\"0\"";
967
968 if ($strPopupTitle == '') $strPopupTitle = false;
969
970 if ($this->__form_image_cache == '')
971 {
972 $this->__form_image_cache = CFile::ShowImage($this->arForm["IMAGE_ID"], $iMaxW, $iMaxH, implode(" ", $arImageParams), $strImageUrl, $bPopup == "Y", $strPopupTitle);
973 }
974
976
977 if (mb_strtoupper($sAlign) == "CENTER") $ret = "<div align=\"center\">".$ret."</div>";
978
979 $this->__form_image_cache = $ret;
980
981 return $ret;
982 }
983 }
984
990 function isFormImage()
991 {
992 return intval($this->arForm["IMAGE_ID"])>0;
993 }
994
1000 function ShowFormTitle($css_style = "")
1001 {
1002 $ret = trim(htmlspecialcharsbx($this->arForm["NAME"]));
1003
1004 if ($css_style <> '') $ret = "<div class=\"".$css_style."\">".$ret."</div>";
1005
1006 return $ret;
1007 }
1008
1014 function isFormTitle()
1015 {
1016 return trim($this->arForm["NAME"]) <> '';
1017 }
1018
1020 {
1021 if ($this->isResultStatusChangeAccess())
1022 {
1023 return SelectBox("status_".$this->arForm["SID"], CFormStatus::GetDropdown($this->WEB_FORM_ID, array("MOVE"), $this->arResult["USER_ID"]), " ", "", "");
1024 }
1025 else
1026 return "";
1027 }
1028
1029 function ShowResultStatus($bNotShowCSS = "N")
1030 {
1031 if (intval($this->RESULT_ID) <= 0) return "";
1032 if ($bNotShowCSS != "N")
1033 {
1034 return "<span class='".$this->arResult["STATUS_CSS"]."'>".$this->arResult["STATUS_TITLE"]."</span>";
1035 }
1036 else
1037 {
1038 return $this->arResult["STATUS_TITLE"];
1039 }
1040 }
1041
1043 {
1044 return $this->arResult["STATUS_TITLE"];
1045 }
1046
1048 {
1049 return $this->arResult["STATUS_CSS"];
1050 }
1051
1053 {
1054 return (!empty($this->RESULT_ID) && in_array("EDIT", $this->arrRESULT_PERMISSION));
1055 }
1056
1057 function ShowDateFormat($css_style = "")
1058 {
1059 $format = CLang::GetDateFormat("SHORT");
1060
1061 if ($css_style <> '') return '<span class="'.$css_style.'">'.$format.'</span>';
1062 else return $format;
1063 }
1064
1071 public static function ShowRequired()
1072 {
1073 return CForm::ShowRequired("Y");
1074 }
1075
1076 public static function CheckTemplate($FORM_TEMPLATE, &$arrFS)
1077 {
1078 if (is_array($arrFS) && !empty($arrFS))
1079 {
1080 $arFldSIDs = array();
1081 $arInactiveFldSIDs = array();
1082 $str = "";
1083 foreach ($arrFS as $key => $arField)
1084 {
1085 $cur_str = "";
1086 if (trim($arField["FIELD_SID"]) == '') $cur_str .= GetMessage("FORM_ERROR_FORGOT_SID")."<br>";
1087 elseif (preg_match("/[^A-Za-z_01-9]/",$arField["FIELD_SID"])) $cur_str .= GetMessage("FORM_ERROR_INCORRECT_SID")."<br>";
1088 elseif (in_array($arField['FIELD_SID'], $arFldSIDs))
1089 {
1090 $key = array_search($arField['FIELD_SID'], $arInactiveFldSIDs);
1091 if ($key)
1092 {
1093 unset($arrFS[$key]);
1094 unset($arInactiveFldSIDs[$key]);
1095 unset($arFldSIDs[$key]);
1096 }
1097 else
1098 {
1099 $s = str_replace("#TYPE#", GetMessage("FORM_TYPE_FIELD"), GetMessage("FORM_ERROR_WRONG_SID"));
1100 $s = str_replace("#ID#",$zr["ID"],$s);
1101 $cur_str .= $s."<br>";
1102 }
1103 }
1104 else
1105 {
1106 $arFldSIDs[$key] = $arField["FIELD_SID"];
1107 if (!CForm::isFieldInTemplate($arField["FIELD_SID"], $FORM_TEMPLATE))
1108 $arInactiveFldSIDs[$key] = $arField["FIELD_SID"];
1109 }
1110
1111 if (!empty($cur_str))
1112 {
1113 $str .= $cur_str;
1114 }
1115 }
1116
1117 if (!empty($str))
1118 {
1119 $GLOBALS["strError"] .= $str;
1120 return false;
1121 }
1122 else return true;
1123 }
1124 return true;
1125 }
1126
1127 public static function PrepareFormData($arrFS)
1128 {
1129 $out = "";
1130 $i = 0;
1131 if (is_array($arrFS))
1132 {
1133 foreach($arrFS as $key=>$arField)
1134 {
1135 if ($arField['isNew'] == "Y") $arField["CAPTION"] = $arField["isHTMLCaption"] == "Y" ? $arField["CAPTION_UNFORM"] : "<span class=\"tablebodytext\">".$arField["CAPTION_UNFORM"]."</span>".($arField["isRequired"] ? CFormOutput::ShowRequired() : "");
1136?>
1137arrInputObjects[<?=$i++?>] = new CFormAnswer(
1138 '<?=$arField["FIELD_SID"]?>',
1139 '<?=CUtil::JSEscape($arField["CAPTION"])?>',
1140 '<?=$arField["isHTMLCaption"]?>',
1141 '<?=CUtil::JSEscape("'", "\\'", $arField["CAPTION_UNFORM"])?>',
1142 '<?=$arField["isRequired"]?>',
1143 '<?=$arField["type"]?>',
1144 [<?
1145 foreach ($arField["structure"] as $key=>$arQuestion)
1146 {
1147 $arr = array();
1148 $cnt = 0;
1149 foreach ($arQuestion as $q_key=>$value)
1150 {
1151 $arr[] = $q_key.":'".($q_key == "ANS_NEW" ? ($value == "Y" ? 'true' : 'false') : str_replace("'", "\\'", $value))."'";
1152 if ($q_key == "ANS_NEW" && $value) $cnt++;
1153 }
1154
1155 if ($key != 0) echo ",";
1156 echo "{";
1157 echo implode(",", $arr);
1158 echo "}";
1159 }
1160 ?>],
1161 <?=$arField["isNew"] == "Y" ? 'true' : 'false'?>,
1162 <?=$arField["ID"] ? $arField["ID"] : '_global_newinput_counter++'?>,
1163 '<?=$arField["inResultsTable"]?>',
1164 '<?=$arField["inExcelTable"]?>'
1165);
1166
1167<?
1168 if ($cnt > 0) echo "_global_newanswer_counter += ".$cnt.";\n";
1169 }
1170 }
1171 }
1172
1174 {
1175 $this->__error_msg = $error;
1176 }
1177
1179 {
1180 return $this->F_RIGHT >= 25;
1181 }
1182
1183 function isAccessForm()
1184 {
1185 return $this->F_RIGHT >= 10;
1186 }
1187
1188 function isAccessFormResult($arrResult)
1189 {
1190 global $USER;
1191
1192 return $this->F_RIGHT>=20 || ($this->F_RIGHT>=15 && $USER->GetID()==$arrResult["USER_ID"]);
1193 }
1194
1196 {
1197 return in_array("EDIT",$this->arrRESULT_PERMISSION);
1198 }
1199
1201 {
1202 return in_array("VIEW",$this->arrRESULT_PERMISSION);
1203 }
1204
1206 {
1207 return $this->F_RIGHT >= 15;
1208 }
1209
1211 {
1212 if (!$this->isFormImage()) return false;
1213 if (empty($this->__form_image_path_cache))
1214 $this->__form_image_path_cache = CFile::GetPath($this->arForm["IMAGE_ID"]);
1215
1217 }
1218
1219 function getInputCaptionImagePath($FIELD_SID)
1220 {
1221 if (!$this->isInputCaptionImage($FIELD_SID)) return false;
1222 if (empty($this->__form_input_caption_image_path_cache[$FIELD_SID]))
1223 $this->__form_input_caption_image_path_cache[$FIELD_SID] = CFile::GetPath($this->arQuestions[$FIELD_SID]["IMAGE_ID"]);
1224
1225 return $this->__form_input_caption_image_path_cache[$FIELD_SID];
1226 }
1227
1228 function setInputDefaultValue($FIELD_SID, $value, $ANSWER_ID = false)
1229 {
1230 if (is_array($this->arAnswers) && is_array($this->arAnswers[$FIELD_SID]))
1231 {
1232 $type = $this->__admin_GetInputType($FIELD_SID);
1233 if ($type == "multiple" || $type == "file" || $type == "image")
1234 {
1235 return;
1236 }
1237
1238 if (intval($ANSWER_ID) == 0)
1239 {
1240 if ($type == "checkbox" || $type == "multiselect")
1241 {
1242 if (is_array($value)) $this->arrVALUES["form_".$type."_".$FIELD_SID] = $value;
1243 }
1244 elseif ($type == "radio" || $type == "dropdown")
1245 {
1246 if (!is_array($value)) $this->arrVALUES["form_".$type."_".$FIELD_SID] = $value;
1247 }
1248 else
1249 {
1250 $ANSWER_ID = $this->arAnswers[$FIELD_SID][0]["ID"];
1251 $this->arrVALUES["form_".$type."_".$ANSWER_ID] = $value;
1252 }
1253 }
1254 elseif (is_array($ANSWER_ID))
1255 {
1256 if ($type == "checkbox" || $type == "multiselect")
1257 $this->arrVALUES["form_".$type."_".$FIELD_SID] = $value == "N" ? array() : $ANSWER_ID;
1258 }
1259 else
1260 {
1261 if ($type == "radio" || $type == "dropdown")
1262 $this->arrVALUES["form_".$type."_".$FIELD_SID] = $value == "N" ? "" : $ANSWER_ID;
1263 else
1264 $this->arrVALUES["form_".$type."_".$ANSWER_ID] = $value;
1265 }
1266 }
1267 }
1268}
1269?>
$type
Определения options.php:106
global $APPLICATION
Определения include.php:80
static GetDateValue($FIELD_NAME, $arAnswer, $arrVALUES=false)
Определения form_callform.php:724
static GetEmailValue($FIELD_NAME, $arAnswer, $arrVALUES=false)
Определения form_callform.php:610
static GetTextAreaValue($FIELD_NAME, $arAnswer, $arrVALUES=false)
Определения form_callform.php:820
static GetDateField($FIELD_NAME, $FORM_NAME, $VALUE="", $FIELD_WIDTH="", $PARAM="")
Определения form_callform.php:737
static GetTextField($FIELD_NAME, $VALUE="", $SIZE="", $PARAM="")
Определения form_callform.php:626
static GetDropDownValue($FIELD_NAME, $arDropDown, $arrVALUES=false)
Определения form_callform.php:665
static GetUrlValue($FIELD_NAME, $arAnswer, $arrVALUES=false)
Определения form_callform.php:618
static isFieldInTemplate($FIELD_SID, $tpl)
Определения form_callform.php:1935
static GetRadioField($FIELD_NAME, $FIELD_ID, $VALUE="", $PARAM="")
Определения form_callform.php:813
static GetEmailField($FIELD_NAME, $VALUE="", $SIZE="", $PARAM="")
Определения form_callform.php:647
static GetTextAreaField($FIELD_NAME, $WIDTH="", $HEIGHT="", $PARAM="", $VALUE="")
Определения form_callform.php:828
static GetCheckBoxField($FIELD_NAME, $FIELD_ID, $VALUE="", $PARAM="")
Определения form_callform.php:792
static GetUrlField($FIELD_NAME, $VALUE="", $SIZE="", $PARAM="")
Определения form_callform.php:653
static GetPasswordValue($FIELD_NAME, $arAnswer, $arrVALUES=false)
Определения form_callform.php:602
static GetCheckBoxValue($FIELD_NAME, $arAnswer, $arrVALUES=false)
Определения form_callform.php:763
static GetHiddenField($FIELD_NAME, $VALUE="", $PARAM="")
Определения form_callform.php:641
static GetRadioValue($FIELD_NAME, $arAnswer, $arrVALUES=false)
Определения form_callform.php:798
static GetDropDownField($FIELD_NAME, $arDropDown, $VALUE, $PARAM="")
Определения form_callform.php:690
static GetHiddenValue($FIELD_NAME, $arAnswer, $arrVALUES=false)
Определения form_callform.php:594
static GetPasswordField($FIELD_NAME, $VALUE="", $SIZE="", $PARAM="")
Определения form_callform.php:659
static ShowRequired($flag)
Определения form_callform.php:480
static GetFileField($FIELD_NAME, $WIDTH="", $FILE_TYPE="IMAGE", $MAX_FILE_SIZE=0, $VALUE="", $PARAM_FILE="", $PARAM_CHECKBOX="")
Определения form_callform.php:849
static GetTextValue($FIELD_NAME, $arAnswer, $arrVALUES=false)
Определения form_callform.php:586
static GetMultiSelectField($FIELD_NAME, $arMultiSelect, $arSELECTED=array(), $HEIGHT="", $PARAM="")
Определения form_callform.php:718
static GetMultiSelectValue($FIELD_NAME, $arMultiSelect, $arrVALUES=false)
Определения form_callform.php:696
ShowResultStatusForm()
Определения form_callformoutput.php:1019
setInputDefaultValue($FIELD_SID, $value, $ANSWER_ID=false)
Определения form_callformoutput.php:1228
__construct()
Определения form_callformoutput.php:51
ShowFormErrors()
Определения form_callformoutput.php:219
__admin_GetInputType($FIELD_SID)
Определения form_callformoutput.php:339
setError($error)
Определения form_callformoutput.php:1173
IncludeFormCustomTemplate()
Определения form_callformoutput.php:94
$__cache_file_footer
Определения form_callformoutput.php:10
ShowCaptchaImage()
Определения form_callformoutput.php:847
$__cache_path
Определения form_callformoutput.php:8
static PrepareFormData($arrFS)
Определения form_callformoutput.php:1127
ShowFormDescription($css_style="")
Определения form_callformoutput.php:923
ShowApplyButton($caption="", $css_style="")
Определения form_callformoutput.php:897
$__cache_file_header
Определения form_callformoutput.php:9
__check_form_cache()
Определения form_callformoutput.php:141
ShowFormNote()
Определения form_callformoutput.php:253
ShowInput($FIELD_SID, $caption_css_class='')
Определения form_callformoutput.php:537
__admin_GetInputAnswersStructure($FIELD_SID)
Определения form_callformoutput.php:359
$__cache_file_name
Определения form_callformoutput.php:40
isInputCaptionImage($FIELD_SID)
Определения form_callformoutput.php:524
isResultStatusChangeAccess()
Определения form_callformoutput.php:1052
isUseCaptcha()
Определения form_callformoutput.php:836
ShowFormImage($sAlign="", $iMaxW="", $iMaxH="", $bPopup="N", $strPopupTitle="", $sHSpace="", $sVSpace="", $sBorder="")
Определения form_callformoutput.php:956
isFormNote()
Определения form_callformoutput.php:277
ShowResultStatus($bNotShowCSS="N")
Определения form_callformoutput.php:1029
isAccessFormResultEdit()
Определения form_callformoutput.php:1195
ShowSubmitButton($caption="", $css_style="")
Определения form_callformoutput.php:884
isAccessForm()
Определения form_callformoutput.php:1183
isAccessFormResultList()
Определения form_callformoutput.php:1205
$arrRESULT_PERMISSION
Определения form_callformoutput.php:24
ShowErrorMsg()
Определения form_callformoutput.php:288
isStatisticIncluded()
Определения form_callformoutput.php:129
$bIsFormValidateErrors
Определения form_callformoutput.php:49
isFormTitle()
Определения form_callformoutput.php:1014
ShowResultStatusText()
Определения form_callformoutput.php:1042
$__form_validate_errors
Определения form_callformoutput.php:39
isAccessFormResult($arrResult)
Определения form_callformoutput.php:1188
GetResultStatusCSSClass()
Определения form_callformoutput.php:1047
InitializeTemplate($arParams, $arResult)
Определения form_callformoutput.php:56
ShowDateFormat($css_style="")
Определения form_callformoutput.php:1057
ShowCaptcha()
Определения form_callformoutput.php:873
ShowFormNoteText()
Определения form_callformoutput.php:267
static ShowRequired()
Определения form_callformoutput.php:1071
ShowInputCaption($FIELD_SID, $css_style="")
Определения form_callformoutput.php:416
isFormDescription()
Определения form_callformoutput.php:937
IncludeFormTemplate()
Определения form_callformoutput.php:112
ShowInputCaptionImage($FIELD_SID, $sAlign="", $iMaxW="", $iMaxH="", $bPopup="N", $strPopupTitle="", $sHSpace="", $sVSpace="", $sBorder="")
Определения form_callformoutput.php:486
getInputCaptionImagePath($FIELD_SID)
Определения form_callformoutput.php:1219
ShowResetButton($caption="", $css_style="")
Определения form_callformoutput.php:910
ShowFormHeader()
Определения form_callformoutput.php:299
$arMultiSelect
Определения form_callformoutput.php:22
isFormImage()
Определения form_callformoutput.php:990
ShowFormErrorsText()
Определения form_callformoutput.php:240
ShowFormFooter()
Определения form_callformoutput.php:334
$__form_image_path_cache
Определения form_callformoutput.php:43
isAccessFormParams()
Определения form_callformoutput.php:1178
ShowFormTitle($css_style="")
Определения form_callformoutput.php:1000
isAccessFormResultView()
Определения form_callformoutput.php:1200
getFormImagePath()
Определения form_callformoutput.php:1210
$WEB_FORM_NAME
Определения form_callformoutput.php:15
$__form_image_cache
Определения form_callformoutput.php:42
isFormErrors()
Определения form_callformoutput.php:205
static CheckTemplate($FORM_TEMPLATE, &$arrFS)
Определения form_callformoutput.php:1076
ShowCaptchaField()
Определения form_callformoutput.php:861
__admin_ShowInputCaption($FIELD_SID, $caption_css_class="", $unform=false)
Определения form_callformoutput.php:448
$__form_input_caption_image_path_cache
Определения form_callformoutput.php:45
$__form_input_caption_image_cache
Определения form_callformoutput.php:44
static GetFileByAnswerID($RESULT_ID, $ANSWER_ID)
Определения form_callformresult.php:9
Определения form_cformanswer.php:8
static GetPermissions($RESULT_ID, &$CURRENT_STATUS_ID=null)
Определения form_cformresult.php:419
static GetDropdown($FORM_ID, $PERMISSION=array("MOVE"), $OWNER_ID=0)
Определения form_cformstatus.php:117
global $CACHE_MANAGER
Определения clear_component_cache.php:7
$str
Определения commerceml2.php:63
$arr
Определения file_new.php:624
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$res
Определения filter_act.php:7
$zr
Определения options.php:5
global $USER
Определения csv_new_run.php:40
bitrix_sessid_post($varname='sessid', $returnInvocations=false)
Определения tools.php:4700
SelectBox($strBoxName, $a, $strDetText="", $strSelectedVal="", $field1="class=\"typeselect\"")
Определения tools.php:77
ShowError($strError, $cls="errortext")
Определения tools.php:4499
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
Определения tools.php:2701
GetMessage($name, $aReplace=null)
Определения tools.php:3397
ShowNote($strNote, $cls="notetext")
Определения tools.php:4477
$name
Определения menu_edit.php:35
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
if(empty($signedUserToken)) $key
Определения quickway.php:257
$i
Определения factura.php:643
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
Определения waybill.php:936
$error
Определения subscription_card_product.php:20
$GLOBALS['_____370096793']
Определения update_client.php:1