1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
wizard_site_steps.php
См. документацию.
1<?
3{
5
6 public function __construct($package)
7 {
8 $this->package = $package;
9 parent::__construct();
10 }
11
12 function InitStep()
13 {
15 $this->SetTitle(GetMessage("MAIN_WIZARD_WELCOME_TITLE"));
16 }
17
18 function OnPostForm()
19 {
20 }
21
22 function ShowStep()
23 {
24 $package = $this->package;
25
26 if ($this->content == '')
27 $this->content = GetMessage("MAIN_WIZARD_WELCOME_TEXT");
28 }
29}
30
31
33{
35
36 public function __construct($package)
37 {
38 $this->package = $package;
39 parent::__construct();
40 }
41
42 function InitStep()
43 {
44 $package = $this->package;
45 $this->SetTitle(GetMessage("MAIN_WIZARD_LICENSE_STEP_TITLE"));
46 $this->SetSubTitle(GetMessage("MAIN_WIZARD_LICENSE_STEP_SUBTITLE"));
48 }
49
50 function OnPostForm()
51 {
52 $wizard = $this->GetWizard();
53 $package = $this->package;
54
55 if ($wizard->IsPrevButtonClick())
56 return;
57
58 $agree = $wizard->GetVar("__agree_license");
59 if ($agree != "Y")
60 $this->SetError(GetMessage("MAIN_WIZARD_LICENSE_STEP_ERROR"));
61 }
62
63 function ShowStep()
64 {
65 $wizard = $this->GetWizard();
66 $package = $this->package;
67
68 if ($this->content == '')
69 $this->content .= GetMessage("MAIN_WIZARD_LICENSE_STEP_CONTENT");
70
71 $licensePath = $package->__GetLicensePath();
72
73 $this->content .= '<div class="wizard-iframe-container"><iframe name="license_text" src="'.$licensePath.'" width="100%" height="160" border="0" frameBorder="1" vspace="5" scrolling="yes" class="wizard-license-iframe"></iframe></div>';
74 $this->content .= $this->ShowCheckboxField("__agree_license", "Y", Array("id" => "agree_license_id"));
75 $this->content .= '<label for="agree_license_id">'.GetMessage("MAIN_WIZARD_LICENSE_STEP_AGREE").'</label>';
76 }
77}
78
80{
82
83 public function __construct($package)
84 {
85 $this->package = $package;
86 parent::__construct();
87 }
88
89 function InitStep()
90 {
91 $this->SetTitle(GetMessage("MAIN_WIZARD_SELECT_SITE_TITLE"));
92 $this->SetSubTitle(GetMessage("MAIN_WIZARD_SELECT_SITE_DESC"));
94 }
95
96 function OnPostForm()
97 {
98 $wizard = $this->GetWizard();
99 $package = $this->package;
100
101 if ($wizard->IsNextButtonClick())
102 {
103 $siteID = $package->siteID;
104
105 if ($siteID != "" && array_key_exists($siteID, $package->arSites))
106 {
107 if ($package->_InitSubStep("select", $package->arSites[$siteID], false))
108 {
109 $wizard->SetCurrentStep($package->__obFirstStep->GetStepID());
110 $package->__obFirstStep->SetPrevStep(BX_WIZARD_SELECT_SITE_ID);
111 }
112 else
113 {
114 if ($package->groupExists && $package->templateExists)
115 $wizard->SetCurrentStep(BX_WIZARD_SELECT_GROUP_ID);
116 elseif ($package->templateExists)
117 $wizard->SetCurrentStep(BX_WIZARD_SELECT_TEMPLATE_ID);
118 elseif ($package->serviceExists)
119 $wizard->SetCurrentStep(BX_WIZARD_SELECT_SERVICE_ID);
120 elseif ($package->structureExists)
121 $wizard->SetCurrentStep(BX_WIZARD_SELECT_STRUCTURE_ID);
122 else
123 $wizard->SetCurrentStep(BX_WIZARD_START_INSTALL_ID);
124 }
125 }
126 else
127 $this->SetError(GetMessage("MAIN_WIZARD_ERROR_WRONG_SITE"), "__siteID");
128 }
129 }
130
131 function ShowStep()
132 {
133 $wizard = $this->GetWizard();
134 $package = $this->package;
135
136 $this->content .= '<table width="100%" cellpadding="0" cellspacing="0">';
137
138 foreach ($package->arSites as $siteID => $arSite)
139 {
140 if (isset($arSite["DEFAULT"]))
141 $wizard->SetDefaultVar("__siteID", $siteID);
142
143 $this->content .= '<tr>';
144
145 $this->content .= '<td valign="top">'.$this->ShowRadioField("__siteID", $siteID, Array("id" => $siteID)).'</td>';
146
147 $this->content .= '<td valign="top">';
148
149 if (isset($arSite["SCREENSHOT"]) && isset($arSite["PREVIEW"]))
150 $this->content .= CFile::Show2Images($package->path."/".$arSite["PREVIEW"], $package->path."/".$arSite["SCREENSHOT"], 150, 150, ' border="0"')."<br /><br />";
151 elseif (isset($arSite["SCREENSHOT"]))
152 $this->content .= CFile::ShowImage($package->path."/".$arSite["SCREENSHOT"], 150, 150, ' border="0"', "", true)."<br /><br />";
153
154 $this->content .='</td>';
155
156 $this->content .= '<td valign="top" width="100%" style="padding-left:4px;">';
157 $this->content .= '<label for="'.htmlspecialcharsbx($siteID).'">';
158 $this->content .= '<b>'.htmlspecialcharsEx($arSite["NAME"]).'</b></label>';
159
160 if (isset($arSite["DESCRIPTION"]) && $arSite["DESCRIPTION"] <> '')
161 $this->content .= '<br /><div style="margin-left:20px;"><label for="'.htmlspecialcharsbx($siteID).'">'.$arSite["DESCRIPTION"].'</label></div>';
162
163 $this->content .='</td>';
164
165
166 $this->content .= '</tr>';
167
168
169 }
170
171 $this->content .= '</table>';
172 }
173
174}
175
176//Select template group
178{
180
181 public function __construct($package)
182 {
183 $this->package = $package;
184 parent::__construct();
185 }
186
187 function InitStep()
188 {
190 $this->SetTitle(GetMessage("MAIN_WIZARD_SELECT_GROUP_TITLE"));
191 $this->SetSubTitle(GetMessage("MAIN_WIZARD_SELECT_GROUP_DESC"));
192 $this->SetDisplayVars(Array("__groupID"));
193 }
194
195 function OnPostForm()
196 {
197 $wizard = $this->GetWizard();
198 $package = $this->package;
199
200 if ($wizard->IsNextButtonClick())
201 {
202 $groupID = $package->groupID;
203
204 if ($groupID == "")
205 {
206 $this->SetError(GetMessage("MAIN_WIZARD_ERROR_WRONG_GROUP"), "__groupID");
207 return;
208 }
209
210 $arGroups = $package->GetTemplateGroups(Array("SITE_ID" => $package->siteID));
211 if (!array_key_exists($groupID, $arGroups))
212 {
213 $this->SetError(GetMessage("MAIN_WIZARD_ERROR_WRONG_GROUP"), "__groupID");
214 return;
215 }
216 }
217 }
218
219 function ShowStep()
220 {
221 $package = $this->package;
222 $wizard = $this->GetWizard();
223
224 $arGroups = $package->GetTemplateGroups(Array("SITE_ID" => $package->siteID));
225
226 if (empty($arGroups))
227 return;
228
229 $this->content .= '<table cellspacing="0" cellpadding="2" width="100%"><tr>';
230
231 $colsNumber = 3;
232 $counter = 1;
233 $cellSize = count($arGroups);
234
235 foreach ($arGroups as $groupID => $arGroup)
236 {
237 if (isset($arGroup["DEFAULT"]))
238 $wizard->SetDefaultVar("__groupID", $groupID);
239
240 $this->content .= '<td valign="top" style="padding-bottom:15px;" width="33%">';
241
242 if (isset($arGroup["SCREENSHOT"]) && isset($arGroup["PREVIEW"]))
243 $this->content .= CFile::Show2Images($package->path."/".$arGroup["PREVIEW"], $package->path."/".$arGroup["SCREENSHOT"], 150, 150, ' border="0"')."<br />";
244 elseif (isset($arGroup["SCREENSHOT"]))
245 $this->content .= CFile::ShowImage($package->path."/".$arGroup["SCREENSHOT"], 150, 150, ' border="0"', "", true)."<br />";
246
247 $this->content .= '<table><tr><td valign="top">';
248 $this->content .= $this->ShowRadioField("__groupID", $groupID, Array("id" => $groupID));
249 $this->content .= '</td><td>';
250 $this->content .= '<label for="'.htmlspecialcharsbx($groupID).'">'.$arGroup["NAME"].'</label>';
251 $this->content .= '</td></tr></table>';
252
253 $this->content .= "</td>";
254
255 //Close table cells
256 if (!($counter % $colsNumber) && $cellSize != $counter)
257 $this->content .= "</tr><tr>";
258
259 if ($cellSize == $counter && ($cellSize % $colsNumber)>0)
260 {
261 for ($a=1;$a<=($colsNumber - ($cellSize % $colsNumber) );$a++)
262 $this->content .= "<td>&nbsp;</td>";
263 }
264
265 $counter++;
266 }
267
268 $this->content .= "</tr></table>";
269 }
270}
271
273{
275
276 public function __construct($package)
277 {
278 $this->package = $package;
279 parent::__construct();
280 }
281
282 function InitStep()
283 {
284 $this->SetTitle(GetMessage("MAIN_WIZARD_SELECT_TEMPLATE_TITLE"));
285 $this->SetSubTitle(GetMessage("MAIN_WIZARD_SELECT_TEMPLATE_DESC"));
287 $this->SetDisplayVars(Array("__templateID"));
288 }
289
290 function OnPostForm()
291 {
292 $wizard = $this->GetWizard();
293 $package = $this->package;
294
295 if ($wizard->IsNextButtonClick())
296 {
297 $templateID = $package->templateID;
298
299 if ($templateID != "" && array_key_exists($templateID, $package->arTemplates))
300 {
301 if ($package->_InitSubStep("select", $package->arTemplates[$templateID], false))
302 {
303 $wizard->SetCurrentStep($package->__obFirstStep->GetStepID());
304 $package->__obFirstStep->SetPrevStep(BX_WIZARD_SELECT_TEMPLATE_ID);
305 }
306 else
307 {
308 if ($package->serviceExists)
309 $wizard->SetCurrentStep(BX_WIZARD_SELECT_SERVICE_ID);
310 elseif ($package->structureExists)
311 $wizard->SetCurrentStep(BX_WIZARD_SELECT_STRUCTURE_ID);
312 else
313 $wizard->SetCurrentStep(BX_WIZARD_START_INSTALL_ID);
314 }
315 }
316 else
317 $this->SetError(GetMessage("MAIN_WIZARD_ERROR_WRONG_TEMPLATE"), "__templateID");
318 }
319 }
320
321 function ShowStep()
322 {
323 $package = $this->package;
324 $wizard = $this->GetWizard();
325
326 $arTemplates = $package->GetTemplates(
327 Array(
328 "SITE_ID" => $package->siteID,
329 "GROUP_ID" => $package->groupID
330 )
331 );
332
333 if (empty($arTemplates))
334 return;
335
336 $this->content .= '<table cellspacing="0" cellpadding="2" width="100%"><tr>';
337
338 $colsNumber = 3;
339 $counter = 1;
340 $cellSize = count($arTemplates);
341
342 foreach ($arTemplates as $arTemplate)
343 {
344 if (isset($arTemplate["DEFAULT"]))
345 $wizard->SetDefaultVar("__templateID", $arTemplate["ID"]);
346
347 $this->content .= '<td valign="top" style="padding-bottom:15px;" width="33%">';
348
349 if ($arTemplate["SCREENSHOT"] && $arTemplate["PREVIEW"])
350 $this->content .= CFile::Show2Images($arTemplate["PREVIEW"], $arTemplate["SCREENSHOT"], 150, 150, ' border="0"')."<br />";
351 else
352 $this->content .= CFile::ShowImage($arTemplate["SCREENSHOT"], 150, 150, ' border="0"', "", true)."<br />";
353
354 $this->content .= '<table><tr><td valign="top">';
355 $this->content .= $this->ShowRadioField("__templateID", $arTemplate["ID"], Array("id" => $arTemplate["ID"]));
356 $this->content .= '</td><td>';
357 $this->content .= '<label for="'.htmlspecialcharsbx($arTemplate["ID"]).'">'.$arTemplate["NAME"].'</label></td></tr>';
358 $this->content .= '</table>';
359
360 $this->content .= ($arTemplate["DESCRIPTION"] <> '' ? "<br />".$arTemplate["DESCRIPTION"] : "").'';
361
362 $this->content .= "</td>";
363
364 //Close table cells
365 if (!($counter % $colsNumber) && $cellSize != $counter)
366 $this->content .= "</tr><tr>";
367
368 if ($cellSize == $counter && ($cellSize % $colsNumber)>0)
369 {
370 for ($a=1;$a<=($colsNumber - ($cellSize % $colsNumber) );$a++)
371 $this->content .= "<td>&nbsp;</td>";
372 }
373
374 $counter++;
375 }
376
377 $this->content .= "</tr></table>";
378 }
379}
380
382{
384
385 public function __construct($package)
386 {
387 $this->package = $package;
388 parent::__construct();
389 }
390
391 function InitStep()
392 {
394 $this->SetTitle(GetMessage("MAIN_WIZARD_SELECT_SERVICE_TITLE"));
395 $this->SetSubTitle(GetMessage("MAIN_WIZARD_SELECT_SERVICE_DESC"));
396 }
397
398 function OnPostForm()
399 {
400 $wizard = $this->GetWizard();
401 $package = $this->package;
402
403 if ($wizard->IsNextButtonClick())
404 {
405 $arServices = $package->serviceID;
406 if (!is_array($arServices))
407 {
408 if ($package->serviceExists)
409 $wizard->SetCurrentStep(BX_WIZARD_SELECT_STRUCTURE_ID);
410 else
411 $wizard->SetCurrentStep(BX_WIZARD_START_INSTALL_ID);
412 return;
413 }
414
415 foreach ($arServices as $service)
416 {
417 if (!array_key_exists($service, $package->arServices))
418 continue;
419
420 if ($package->_InitSubStep("select", $package->arServices[$service], false))
421 {
422 $wizard->SetCurrentStep($package->__obFirstStep->GetStepID());
423 $package->__obFirstStep->SetPrevStep(BX_WIZARD_SELECT_SERVICE_ID);
424 break;
425 }
426 else
427 {
428 if ($package->serviceExists)
429 $wizard->SetCurrentStep(BX_WIZARD_SELECT_STRUCTURE_ID);
430 else
431 $wizard->SetCurrentStep(BX_WIZARD_START_INSTALL_ID);
432 //$wizard->SetCurrentStep("__start_install");
433 }
434 }
435 }
436 }
437
438 function ShowStep()
439 {
440 $package = $this->package;
441 $wizard = $this->GetWizard();
442
443 $arServices = $package->GetServices(Array("SITE_ID" => $package->siteID));
444
445 $i = 0;
446
447 $this->ShowCheckboxField("__serviceID[]", null);
448 $this->content .= $this->ShowHiddenField("__serviceID", "");
449
450 $this->content .= '<table width="100%" cellspacing="1" cellpadding="0">';
451
452 foreach ($arServices as $serviceID => $arService)
453 {
454 $type = "checkbox";
455 $group = "";
456
457 if (array_key_exists("FORM", $arService) && is_array($arService["FORM"]))
458 {
459 if (array_key_exists("TYPE", $arService["FORM"]))
460 $type = mb_strtolower($arService["FORM"]["TYPE"]);
461
462 if (array_key_exists("GROUP", $arService["FORM"]))
463 $group = mb_strtolower(preg_replace("~[^a-zA-Z0-9_]~i", "", $arService["FORM"]["GROUP"]));
464
465 if (array_key_exists("DEFAULT", $arService["FORM"]) && $type != "required")
466 {
467 if ($group == "")
468 $wizard->SetDefaultVar("__serviceID[".$i++."]", $serviceID);
469 else
470 $wizard->SetDefaultVar("__serviceID[".$group."][".$i++."]", $serviceID);
471 }
472 }
473
474 if ($type == "radio")
475 {
476 $this->content .= '<tr>';
477 $this->content .= '<td valign="top">'.$this->ShowRadioField("__serviceID[".$group."]", $serviceID, Array("id" => $serviceID)).'</td>';
478
479 $this->content .= '<td valign="top">';
480 if (isset($arService["ICON"]) && $arService["ICON"] <> '')
481 $this->content .= '<label for="'.$serviceID.'"><img src="'.$package->GetPath().'/'.$arService["ICON"].'" /></label>';
482 $this->content .= '</td>';
483
484 $this->content .= '<td valign="top" width="100%">';
485 $this->content .= '<label for="'.$serviceID.'">&nbsp;<b>'.$arService["NAME"].'</b></label><br />';
486
487 if (isset($arService["DESCRIPTION"]) && $arService["DESCRIPTION"] <> '')
488 $this->content .= '<div style="margin-left:20px;"><label for="'.$serviceID.'">'.$arService["DESCRIPTION"].'</label></div>';
489
490 $this->content .= '</td>';
491
492 $this->content .= '</tr>';
493 }
494 elseif ($type == "required")
495 {
496 $this->content .= '<tr>';
497 $this->content .= '<td valign="top"><input type="checkbox" disabled="disabled" checked="checked" name="required" value="" /></td>';
498
499 $this->content .= '<td valign="top">';
500 if (isset($arService["ICON"]) && $arService["ICON"] <> '')
501 $this->content .= '<img src="'.$package->GetPath().'/'.$arService["ICON"].'" />';
502 $this->content .= '</td>';
503
504 $this->content .= '<td valign="top" width="100%">';
505 $this->content .= "&nbsp;<b>".$arService["NAME"].'</b><br />';
506
507 if (isset($arService["DESCRIPTION"]) && $arService["DESCRIPTION"] <> '')
508 $this->content .= '<div style="margin-left:20px;">'.$arService["DESCRIPTION"].'</div>';
509
510 $this->content .= $this->ShowHiddenField("__serviceID[]", $serviceID);
511 $this->content .= '</td>';
512
513 $this->content .= '</tr>';
514 }
515 else
516 {
517 $this->content .= '<tr>';
518
519 $this->content .= '<td valign="top">'.$this->ShowCheckboxField("__serviceID[]", $serviceID, Array("id" => $serviceID)).'</td>';
520
521 $this->content .= '<td valign="top">';
522 if (isset($arService["ICON"]) && $arService["ICON"] <> '')
523 $this->content .= '<label for="'.$serviceID.'"><img src="'.$package->GetPath().'/'.$arService["ICON"].'" /></label>';
524 $this->content .= '</td>';
525
526 $this->content .= '<td valign="top" width="100%">';
527 $this->content .= '<label for="'.$serviceID.'">&nbsp;<b>'.$arService["NAME"].'</b></label><br />';
528
529 if (isset($arService["DESCRIPTION"]) && $arService["DESCRIPTION"] <> '')
530 $this->content .= '<div style="margin-left:20px;"><label for="'.$serviceID.'">'.$arService["DESCRIPTION"].'</label></div>';
531
532 $this->content .= '</td>';
533
534 $this->content .= '</tr>';
535 }
536 }
537
538 $this->content .= '</table>';
539
540 }
541}
542
543
545{
547
548 public function __construct($package)
549 {
550 $this->package = $package;
551 parent::__construct();
552 }
553
554 function InitStep()
555 {
556 $this->SetTitle(GetMessage("MAIN_WIZARD_SELECT_STRUCTURE_TITLE"));
557 $this->SetSubTitle(GetMessage("MAIN_WIZARD_SELECT_STRUCTURE_DESC"));
559 }
560
561 function DisplayTree(&$arStructure, $systemTree = false)
562 {
563 $strTree = "";
564
565 if (!is_array($arStructure))
566 return $strTree;
567
568 static $labelID = 0;
569
570 foreach ($arStructure as $pageID => $arPage)
571 {
572 $pageID = ($arPage["ID"] ?? $pageID);
573 $isService = (isset($arPage["TYPE"]) && $arPage["TYPE"] == "SERVICE");
574 $isRoot = (!$isService && isset($arPage["CHILD"]) && is_array($arPage["CHILD"]) && !empty($arPage["CHILD"]));
575
576 $labelID++;
577 $strTree .= '<li><input id="page'.$labelID.'" type="checkbox"'.($isService ? ' class="locked"'.($systemTree ? ' disabled="disabled"' : '') : '').' value="'.$pageID.'" onclick="WizOnCheckBoxClick(this)">';
578
579 if (isset($arPage["ICON"]) && mb_strlen($arPage["ICON"]) > 3 )
580 $strTree .= '<img src="'.$this->package->GetPath().'/'.$arPage["ICON"].'" />&nbsp;';
581 else
582 {
583 if ($isService)
584 $strTree .= '<img src="/bitrix/images/main/wizard/service.gif" width="16" height="16" border="0" alt="" />';
585 else
586 $strTree .= '<img src="/bitrix/images/main/wizard/page.gif" width="16" height="16" border="0" alt="" />';
587 }
588
589 $strTree .= '<label for="page'.$labelID.'">&nbsp;'.$arPage["NAME"].'</label>';
590
591 if ($isRoot)
592 {
593 $strTree .= "<ul>";
594 foreach ($arPage["CHILD"] as $subPageID => $arSubPage)
595 {
596 $labelID++;
597 $subPageID = ($arSubPage["ID"] ?? $pageID."-".$subPageID);
598 $strTree .= '<li><input id="page'.$labelID.'" type="checkbox" value="'.$subPageID.'" onclick="WizOnCheckBoxClick(this)" />';
599
600 if (isset($arSubPage["ICON"]) && mb_strlen($arSubPage["ICON"]) > 3 )
601 $strTree .= '<img src="'.$this->package->GetPath().'/'.$arSubPage["ICON"].'" />';
602 else
603 $strTree .= '<img src="/bitrix/images/main/wizard/page.gif" width="16" height="16" border="0" alt="" />';
604
605 $strTree .= '<label for="page'.$labelID.'">&nbsp;'.$arSubPage["NAME"].'</label></li>';
606 }
607 $strTree .= "</ul>";
608 }
609
610 $strTree .='</li>';
611 }
612
613 return $strTree;
614 }
615
616 function ShowStep()
617 {
618 $wizard = $this->GetWizard();
619 $package = $this->package;
620
621 $structureID = $package->structureID;
622
623 $arOriginalStructure = $package->GetStructure(
624 Array(
625 "SITE_ID" => $package->siteID,
626 "SERVICE_ID" => $package->serviceID
627 )
628 );
629
630 if ($structureID !== null)
631 $arStructure = $package->__GetNewStructure($structureID, $arOriginalStructure);
632 else
633 $arStructure = $arOriginalStructure;
634
635 $strTree = $this->DisplayTree($arStructure);
636 $strTrash = $this->DisplayTree($arOriginalStructure, $systemTree = true);
637
638 $formName = $wizard->GetFormName();
639 $nextButton = $wizard->GetNextButtonID();
640 $prevButton = $wizard->GetPrevButtonID();
641 $prefix = $wizard->GetVarPrefix();
642
643 $langStandartPages = GetMessage("MAIN_WIZARD_STANDART_PAGES");
644 $langSiteStructure = GetMessage("MAIN_WIZARD_SITE_STRUCTURE");
645 $langPagePosition = GetMessage("MAIN_WIZARD_PAGE_POSITION");
646
647 $this->content .= <<<TABLE
648
649 <style type="text/css">
650 ul.site-tree
651 {
652 list-style:none;
653 margin:0;
654 padding:0;
655 }
656
657 ul.site-tree ul
658 {
659 list-style:none;
660 margin-top:0;
661 margin-bottom:0;
662 }
663
664 </style>
665
666 <div style="overflow:auto;">
667 <table width="100%" class="wizard-data-table" cellpadding="0">
668 <tr height="20">
669 <th width="50%" align="left"><input type="checkbox" name="" onclick="WizSelectAll(document.getElementById('system-pages'), this.checked);WizDisableCopyButton();">&nbsp;{$langStandartPages}</th>
670 <th></th>
671 <th width="50%" align="left"><input type="checkbox" name="" onclick="WizSelectAll(document.getElementById('site-tree'), this.checked);WizDisableButtons();">&nbsp;{$langSiteStructure}</th>
672 <th>{$langPagePosition}</th>
673 </tr>
674 <tr>
675 <td valign="top">
676 <ul class="site-tree" id="system-pages">{$strTrash}</ul>
677 </td>
678 <td align="center">
679 <br /><input type="button" id="move-button-copy" value="&rarr;" onclick="WizCopyItems();WizDisableCopyButton();WizDisableButtons();" disabled="disabled" style="width:50px; font-size:14px;" /><br /><br />
680 <input type="button" id="move-button-delete" value="&larr;" onclick="WizDeleteItems();WizDisableButtons();" disabled="disabled" style="width:50px; font-size:14px;" /><br /><br />
681 </td>
682 <td valign="top">
683 <ul class="site-tree" id="site-tree" style="height:100%;">{$strTree}</ul>
684 </td>
685 <td valign="top" align="center">
686 <br /><input type="button" id="sort-button-up" value="&uarr;" onclick="WizSortUp();WizDisableButtons();" disabled="disabled" style="width:40px; font-size:14px;" /><br /><br />
687 <input type="button" id="sort-button-down" value="&darr;" onclick="WizSortDown();WizDisableButtons();" disabled="disabled" style="width:40px; font-size:14px;" /><br /><br />
688 <input type="button" id="sort-button-left" value="&larr;" onclick="WizSortLeft();WizDisableButtons();" disabled="disabled" style="width:40px; font-size:14px;" /><br /><br />
689 <input type="button" id="sort-button-right" value="&rarr;" onclick="WizSortRight();WizDisableButtons();" disabled="disabled" style="width:40px; font-size:14px;" /><br /><br />
690 </td>
691 </tr>
692 </table>
693 </div>
694
695 <script>
696
697 function WizSaveSiteTree()
698 {
699 var source = document.getElementById("site-tree");
700 if (!source)
701 return;
702
703 var hiddenValue = "";
704
705 for (var i = 0; i < source.childNodes.length; i++)
706 {
707 var page = source.childNodes[i];
708 hiddenValue += page.childNodes[0].value + ";";
709
710 var subUL = page.getElementsByTagName("UL");
711 if (subUL.length == 1)
712 {
713 subPages = subUL[0].getElementsByTagName("LI");
714 for (var j = 0; j < subPages.length; j++)
715 {
716 var subPage = subPages[j];
717 hiddenValue += subPage.childNodes[0].value + ":" + page.childNodes[0].value + ";";
718 }
719 }
720 }
721
722 hiddenField = document.createElement("INPUT");
723 hiddenField.type = "hidden";
724 hiddenField.name = "{$prefix}" + "__structureID";
725 hiddenField.value = hiddenValue;
726 document.forms["{$formName}"].appendChild(hiddenField);
727 }
728
729
730 function WizOnCheckBoxClick(checkbox)
731 {
732 var li = checkbox.parentNode;
733 WizSelectAll(li, checkbox.checked);
734
735 var systemPages = document.getElementById("system-pages");
736 if (li.parentNode == systemPages || li.parentNode.parentNode.parentNode == systemPages)
737 WizDisableCopyButton();
738 else
739 WizDisableButtons();
740 }
741
742 function WizSelectAll(source, checked)
743 {
744 var items = source.getElementsByTagName("INPUT");
745
746 for (var i = 0; i < items.length; i++)
747 if (!items[i].disabled)
748 items[i].checked = checked;
749 }
750
751 function WizDisableCopyButton()
752 {
753 var source = document.getElementById("system-pages");
754 if (!source)
755 return;
756
757 var items = source.getElementsByTagName("INPUT");
758
759 if (items.length <= 0)
760 return;
761
762 var disableCopyButton = true;
763 for (var i = 0; i < items.length; i++)
764 {
765 if (items[i].checked && !items[i].disabled)
766 {
767 disableCopyButton = false;
768 break;
769 }
770 }
771
772 document.getElementById("move-button-copy").disabled = disableCopyButton;
773
774 }
775
776 function WizDisableButtons()
777 {
778 var source = document.getElementById("site-tree");
779 if (!source)
780 return;
781
782 var items = source.getElementsByTagName("INPUT");
783
784 if (items.length <= 0)
785 return;
786
787 var upButtonDisable = false;
788 var downButtonDisable = false;
789 var leftButtonDisable = false;
790 var rightButtonDisable = false;
791
792 var deleteButtonDisable = false;
793
794 var isOneChecked = false;
795 for (var i = 0; i < items.length; i++)
796 {
797 if (items[i].checked)
798 {
799 isOneChecked = true;
800
801 if (items[i].className == "locked")
802 {
803 leftButtonDisable = true;
804 rightButtonDisable = true;
805 deleteButtonDisable = true;
806 }
807
808 li = items[i].parentNode;
809
810 if (!li.previousSibling)
811 upButtonDisable = true;
812
813 if (!li.nextSibling)
814 downButtonDisable = true;
815
816 if (li.parentNode != source || !li.previousSibling || li.previousSibling.childNodes[0].className == "locked" || li.getElementsByTagName("UL").length > 0)
817 rightButtonDisable = true;
818
819 if (li.parentNode == source)
820 leftButtonDisable = true;
821 }
822 }
823
824 if (!isOneChecked)
825 upButtonDisable = downButtonDisable = leftButtonDisable = rightButtonDisable = true;
826
827 if (!isOneChecked)
828 deleteButtonDisable = true;
829 /*else if (items[0].checked)
830 {
831 upButtonDisable = true;
832 rightButtonDisable = true;
833 leftButtonDisable = true;
834 }*/
835
836 document.getElementById("sort-button-up").disabled = upButtonDisable;
837 document.getElementById("sort-button-down").disabled = downButtonDisable;
838 document.getElementById("sort-button-left").disabled = leftButtonDisable;
839 document.getElementById("sort-button-right").disabled = rightButtonDisable;
840 document.getElementById("move-button-delete").disabled = deleteButtonDisable;
841 }
842
843
844 var wizLabelID = 1;
845 function WizCopyItems()
846 {
847 var source = document.getElementById("system-pages");
848 var dest = document.getElementById("site-tree");
849 if (!source || !dest)
850 return;
851
852 var items = source.getElementsByTagName("INPUT");
853
854 for (var i = 0; i < items.length; i++)
855 {
856 if (items[i].checked)
857 {
858 if (items[i].className == "locked")
859 continue;
860
861 var li = items[i].parentNode;
862 var newItem = li.cloneNode(true);
863
864 //var ul = newItem.childNodes[newItem.childNodes.length-1];
865
866 /*if (ul.nodeName == "UL")
867 {
868 var subItems = ul.getElementsByTagName("INPUT");
869 var itemsToDelete = [];
870 for (var j = 0; j < subItems.length; j++)
871 {
872 if (!subItems[j].checked)
873 itemsToDelete[itemsToDelete.length] = subItems[j].parentNode;
874 //ul.removeChild(subItems[j].parentNode);
875 }
876
877 if (itemsToDelete.length == subItems.length)
878 {
879 alert(111);
880 newItem.removeChild(ul);
881 }
882 else
883 {
884 for (var j = 0; j < itemsToDelete.length; j++)
885 ul.removeChild(itemsToDelete[j]);
886 }
887 }*/
888
889 var inputs = newItem.getElementsByTagName("INPUT");
890 for (j = 0; j < inputs.length; j++)
891 {
892 wizLabelID++;
893 inputs[j].id = "n" + wizLabelID;
894 inputs[j].nextSibling.nextSibling.setAttribute("for", "n" + wizLabelID);
895 inputs[j].nextSibling.nextSibling.htmlFor = "n" + wizLabelID;
896 }
897
898 dest.appendChild(newItem);
899 WizSelectAll(li, false);
900 WizSelectAll(newItem, true);
901 }
902 }
903 }
904
905 function WizDeleteItems()
906 {
907 var source = document.getElementById("site-tree");
908
909 var items = source.getElementsByTagName("INPUT");
910 var itemsToMove = [];
911
912 for (var i = 0; i < items.length; i++)
913 {
914 if (items[i].checked && items[i].className != "locked")
915 {
916 items[i].checked = false;
917 itemsToMove[itemsToMove.length] = items[i].parentNode;
918 }
919 }
920
921 for (var i = 0; i < itemsToMove.length; i++)
922 {
923 var ul = itemsToMove[i].parentNode;
924 ul.removeChild(itemsToMove[i]);
925
926 if (ul != source && ul.getElementsByTagName("li").length <= 0)
927 ul.parentNode.removeChild(ul);
928 }
929 }
930
931 function WizSortRight()
932 {
933 var source = document.getElementById("site-tree");
934 if (!source)
935 return;
936
937 var items = source.getElementsByTagName("INPUT");
938
939 for (var i = 0; i < items.length; i++)
940 {
941 var li = items[i].parentNode;
942
943 if (!items[i].checked || li.getElementsByTagName("UL").length > 0 || items[i].className == "locked")
944 continue;
945
946 if (li.parentNode == source && li.previousSibling && li.previousSibling.childNodes[0].className != "locked")
947 {
948 var ulTags = li.previousSibling.getElementsByTagName("UL");
949 if (ulTags.length > 0)
950 var newItem = ulTags[0].appendChild(li);
951 else
952 {
953 var ul = document.createElement("UL");
954 li.previousSibling.appendChild(ul);
955 var newItem = ul.appendChild(li);
956 }
957
958 newItem.childNodes[0].checked = true;
959 }
960 }
961 }
962
963 function WizSortLeft()
964 {
965 var source = document.getElementById("site-tree");
966 if (!source)
967 return;
968
969 var items = source.getElementsByTagName("INPUT");
970 var itemsToMove = [];
971
972 for (var i = 0; i < items.length; i++)
973 {
974 var li = items[i].parentNode;
975 if (!items[i].checked || li.parentNode == source)
976 continue;
977
978 itemsToMove[itemsToMove.length] = li;
979 }
980
981 for (var i = 0; i < itemsToMove.length; i++)
982 {
983 var li = itemsToMove[i];
984 var ul = li.parentNode;
985
986 var parentLI = li.parentNode.parentNode;
987
988 if (parentLI.nextSibling)
989 var newItem = parentLI.parentNode.insertBefore(li, parentLI.nextSibling);
990 else
991 var newItem = source.appendChild(li);
992
993 newItem.childNodes[0].checked = true;
994
995 if (ul.getElementsByTagName("LI").length <= 0)
996 ul.parentNode.removeChild(ul);
997 }
998 }
999
1000 function WizSortUp()
1001 {
1002 var source = document.getElementById("site-tree");
1003 if (!source)
1004 return;
1005
1006 var items = source.getElementsByTagName("INPUT");
1007
1008 for (var i = 0; i < items.length; i++)
1009 {
1010 if (items[i].checked)
1011 {
1012 var li = items[i].parentNode;
1013 if (li.previousSibling)
1014 {
1015 var newItem = li.parentNode.insertBefore(li, li.previousSibling);
1016 newItem.childNodes[0].checked = true;
1017 }
1018 }
1019
1020 }
1021 }
1022
1023 function WizSortDown()
1024 {
1025 var source = document.getElementById("site-tree");
1026 if (!source)
1027 return;
1028
1029 var items = source.getElementsByTagName("INPUT");
1030
1031 for (var i = items.length - 1; i >= 0; i--)
1032 {
1033 if (items[i].checked)
1034 {
1035 var li = items[i].parentNode;
1036
1037 if (li.nextSibling)
1038 {
1039 if (li.nextSibling.nextSibling)
1040 var newItem = li.parentNode.insertBefore(li, li.nextSibling.nextSibling);
1041 else
1042 var newItem = li.parentNode.appendChild(li);
1043
1044 newItem.childNodes[0].checked = true;
1045 }
1046 }
1047 }
1048 }
1049
1050 function WizAttachEvent()
1051 {
1052 var form = document.forms["{$formName}"];
1053 if (!form)
1054 return;
1055
1056 var nextButton = form.elements["{$nextButton}"];
1057 var prevButton = form.elements["{$prevButton}"];
1058 if (nextButton)
1059 nextButton.onclick = WizSaveSiteTree;
1060
1061 if (prevButton)
1062 prevButton.onclick = WizSaveSiteTree;
1063
1064 }
1065
1066 if (window.addEventListener)
1067 window.addEventListener("load", WizAttachEvent, false);
1068 else if (window.attachEvent)
1069 window.attachEvent("onload", WizAttachEvent);
1070 else
1071 setTimeout(WizAttachEvent, 500);
1072
1073 </script>
1074TABLE;
1075 }
1076}
1077
1078
1080{
1083
1085 {
1086 $this->package = $package;
1087 $this->arSelected = $arSelected;
1088 parent::__construct();
1089 }
1090
1091 function InitStep()
1092 {
1093 $package = $this->package;
1094 $this->SetTitle(GetMessage("MAIN_WIZARD_START_INSTALL_TITLE"));
1095 $this->SetNextCaption(GetMessage("MAIN_WIZARD_INSTALL_CAPTION"));
1096 }
1097
1098 function OnPostForm()
1099 {
1100
1101 }
1102
1103 function ShowStep()
1104 {
1105 $package = $this->package;
1106
1107 if ($this->content == '')
1108 $this->content .= GetMessage("MAIN_WIZARD_START_INSTALL_DESC");
1109
1110 $siteID = $this->arSelected["siteID"];
1111 if (isset($siteID) && isset($package->arSites[$siteID]["NAME"]))
1112 $this->content .= "&nbsp;&nbsp;".GetMessage("MAIN_WIZARD_SITE_TYPE").": <i>".$package->arSites[$siteID]["NAME"]."</i><br />";
1113
1114 $templateID = $this->arSelected["templateID"];
1115 if (isset($templateID) && isset($package->arTemplates[$templateID]["NAME"]))
1116 $this->content .= "&nbsp;&nbsp;".GetMessage("MAIN_WIZARD_SITE_TEMPLATE").": <i>".$package->arTemplates[$templateID]["NAME"]."</i><br />";
1117
1118 $arServices = $this->arSelected["arServices"];
1119 $strService = "";
1120 foreach ($arServices as $serviceID)
1121 {
1122 if (array_key_exists($serviceID, $package->arServices) && isset($package->arServices[$serviceID]["NAME"]))
1123 $strService .= ($strService <> '' ? ", " : "")."<i>".$package->arServices[$serviceID]["NAME"]."</i>";
1124 }
1125
1126 if ($strService <> '')
1127 $this->content .= "&nbsp;&nbsp;".GetMessage("MAIN_WIZARD_SITE_SERVICES").": ".$strService;
1128
1129 }
1130}
1131
1133{
1136
1137 public function __construct($package, $siteID)
1138 {
1139 $this->package = $package;
1140 $this->siteID = $siteID;
1141 parent::__construct();
1142 $this->SetAutoSubmit();
1143 $this->SetTitle(GetMessage("MAIN_WIZARD_RUN_INSTALLATION"));
1144 }
1145
1146 function OnPostForm()
1147 {
1148 $package = $this->package;
1149 $package->__InstallSite($this->siteID);
1150 }
1151
1152 function ShowStep()
1153 {
1154 if ($this->content == '')
1155 $this->content = GetMessage("MAIN_WIZARD_SITE_INSTALL");
1156 }
1157
1158}
1159
1161{
1164
1166 {
1167 $this->package = $package;
1168 $this->templateID = $templateID;
1169 parent::__construct();
1170 $this->SetAutoSubmit();
1171 $this->SetTitle(GetMessage("MAIN_WIZARD_RUN_INSTALLATION"));
1172 }
1173
1174 function OnPostForm()
1175 {
1176 $package = $this->package;
1177 $package->__InstallTemplate($this->templateID);
1178 }
1179
1180 function ShowStep()
1181 {
1182 if ($this->content == '')
1183 $this->content = GetMessage("MAIN_WIZARD_TEMPLATE_INSTALL");
1184 }
1185}
1186
1188{
1191
1193 {
1194 $this->package = $package;
1195 $this->serviceID = $serviceID;
1196 parent::__construct();
1197 $this->SetAutoSubmit();
1198 $this->SetTitle(GetMessage("MAIN_WIZARD_RUN_INSTALLATION"));
1199 }
1200
1201 function OnPostForm()
1202 {
1203 $package = $this->package;
1204 $package->__InstallService($this->serviceID);
1205 }
1206
1207 function ShowStep()
1208 {
1209 $package = $this->package;
1210
1211 $serviceName = "";
1212 if (array_key_exists($this->serviceID, $package->arServices) && array_key_exists("NAME", $package->arServices[$this->serviceID]))
1213 $serviceName = $package->arServices[$this->serviceID]["NAME"];
1214
1215 if ($this->content == '')
1216 $this->content = GetMessage("MAIN_WIZARD_SERVICE_INSTALL").' "'.htmlspecialcharsEx($serviceName).'" ...';
1217 }
1218}
1219
1221{
1222 public function __construct()
1223 {
1224 parent::__construct();
1225 }
1226
1227 function InitStep()
1228 {
1229 $this->SetAutoSubmit();
1230 $this->SetTitle(GetMessage("MAIN_WIZARD_RUN_INSTALLATION"));
1231 }
1232
1233 function OnPostForm()
1234 {
1235 $wizard = $this->GetWizard();
1236 $package = $wizard->GetPackage();
1237 $package->__InstallStructure();
1238 }
1239
1240 function ShowStep()
1241 {
1242 if ($this->content == '')
1243 $this->content = GetMessage("MAIN_WIZARD_INSTALL_STRUCTURE");
1244 }
1245}
1246
1248{
1250
1251 public function __construct($package)
1252 {
1253 $this->package = $package;
1254 parent::__construct();
1255 }
1256
1257 function InitStep()
1258 {
1259 $package = $this->package;
1260 $this->SetTitle(GetMessage("MAIN_WIZARD_FINISH_TITLE"));
1261 $this->SetCancelCaption(GetMessage("MAIN_WIZARD_FINISH_CAPTION"));
1262 }
1263
1264 function OnPostForm()
1265 {
1266 }
1267
1268 function ShowStep()
1269 {
1270 if ($this->content == '')
1271 $this->content = GetMessage("MAIN_WIZARD_FINISH_DESC");
1272 }
1273}
1274
1276{
1278
1279 public function __construct($package)
1280 {
1281 $this->package = $package;
1282 parent::__construct();
1283 }
1284
1285 function InitStep()
1286 {
1287 $package = $this->package;
1288 $this->SetTitle(GetMessage("MAIN_WIZARD_CANCEL_TITLE"));
1289 $this->SetCancelCaption(GetMessage("MAIN_WIZARD_FINISH_CAPTION"));
1290 }
1291
1292 function OnPostForm()
1293 {
1294 }
1295
1296 function ShowStep()
1297 {
1298 if ($this->content == '')
1299 $this->content .= GetMessage("MAIN_WIZARD_CANCEL_DESC");
1300 }
1301}
1302
1304{
1306
1307 public function __construct($package)
1308 {
1309 $this->package = $package;
1310 parent::__construct();
1311 }
1312
1313 function InitStep()
1314 {
1315 $package = $this->package;
1316
1318 $this->SetTitle(GetMessage("MAIN_WIZARD_ERROR_STEP_TITLE"));
1319
1320 foreach ($package->arErrors as $arError)
1321 $this->SetError($arError[0], $arError[1]);
1322
1323 }
1324
1325 function OnPostForm()
1326 {
1327 }
1328
1329 function ShowStep()
1330 {
1331
1332
1333 }
1334}
1335
1336?>
$type
Определения options.php:106
__construct($package)
Определения wizard_site_steps.php:1279
InitStep()
Определения wizard_site_steps.php:1285
OnPostForm()
Определения wizard_site_steps.php:1292
ShowStep()
Определения wizard_site_steps.php:1296
__construct($package)
Определения wizard_site_steps.php:1307
InitStep()
Определения wizard_site_steps.php:1313
OnPostForm()
Определения wizard_site_steps.php:1325
ShowStep()
Определения wizard_site_steps.php:1329
__construct($package)
Определения wizard_site_steps.php:1251
InitStep()
Определения wizard_site_steps.php:1257
OnPostForm()
Определения wizard_site_steps.php:1264
ShowStep()
Определения wizard_site_steps.php:1268
__construct($package, $serviceID)
Определения wizard_site_steps.php:1192
__construct($package, $siteID)
Определения wizard_site_steps.php:1137
__construct($package, $templateID)
Определения wizard_site_steps.php:1165
__construct($package)
Определения wizard_site_steps.php:36
InitStep()
Определения wizard_site_steps.php:42
OnPostForm()
Определения wizard_site_steps.php:50
ShowStep()
Определения wizard_site_steps.php:63
__construct($package)
Определения wizard_site_steps.php:181
__construct($package)
Определения wizard_site_steps.php:385
__construct($package)
Определения wizard_site_steps.php:83
__construct($package)
Определения wizard_site_steps.php:548
DisplayTree(&$arStructure, $systemTree=false)
Определения wizard_site_steps.php:561
__construct($package)
Определения wizard_site_steps.php:276
__construct($package, $arSelected)
Определения wizard_site_steps.php:1084
__construct($package)
Определения wizard_site_steps.php:6
InitStep()
Определения wizard_site_steps.php:12
OnPostForm()
Определения wizard_site_steps.php:18
ShowStep()
Определения wizard_site_steps.php:22
Определения wizard.php:681
SetCancelStep($stepID)
Определения wizard.php:837
$wizard
Определения wizard.php:699
GetWizard()
Определения wizard.php:1187
ShowCheckboxField($name, $value, $arAttributes=Array())
Определения wizard.php:928
SetError($strError, $id=false)
Определения wizard.php:885
SetNextCaption($caption)
Определения wizard.php:787
SetTitle($title)
Определения wizard.php:747
SetAutoSubmit($bool=true)
Определения wizard.php:1197
ShowRadioField($name, $value, $arAttributes=Array())
Определения wizard.php:966
SetCancelCaption($caption)
Определения wizard.php:847
SetSubTitle($stepSubTitle)
Определения wizard.php:757
ShowHiddenField($name, $value, $arAttributes=Array())
Определения wizard.php:1034
SetDisplayVars($arVars)
Определения wizard.php:857
$arTemplate
Определения component_props.php:26
& nbsp
Определения epilog_main_admin.php:38
hidden PROPERTY[<?=$propertyIndex?>][CODE]<?=htmlspecialcharsEx( $propertyCode)?> height
Определения file_new.php:759
bx popup label bx width30 PAGE_NEW_MENU_NAME text width
Определения file_new.php:677
$templateID
Определения file_new.php:121
bx_acc_lim_group_list limitGroupList[] multiple<?=$group[ 'ID']?> ID selected margin top
Определения file_new.php:657
$arGroups
Определения options.php:1766
Form FILTER_ACTION disabled
Определения options.php:358
$siteID
Определения cron_frame.php:12
htmlspecialcharsEx($str)
Определения tools.php:2685
GetMessage($name, $aReplace=null)
Определения tools.php:3397
$service
Определения payment.php:18
$counter
Определения options.php:5
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
$i
Определения factura.php:643
font style
Определения invoice.php:442
</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
text align
Определения template.php:556
else $a
Определения template.php:137
const BX_WIZARD_SELECT_GROUP_ID
Определения wizard_site.php:6
const BX_WIZARD_SELECT_SERVICE_ID
Определения wizard_site.php:8
const BX_WIZARD_SELECT_TEMPLATE_ID
Определения wizard_site.php:7
const BX_WIZARD_SELECT_STRUCTURE_ID
Определения wizard_site.php:9
const BX_WIZARD_START_INSTALL_ID
Определения wizard_site.php:10
const BX_WIZARD_SELECT_SITE_ID
Определения wizard_site.php:5
const BX_WIZARD_CANCEL_ID
Определения wizard_site.php:16