-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathicvariables.sdf
922 lines (645 loc) · 33.2 KB
/
icvariables.sdf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
!init OPT_LOOK="icdevgroup"; OPT_STYLE="manual"
# $Id: icvariables.sdf,v 1.4 2004-05-05 16:21:17 jon Exp $
!define DOC_NAME "Interchange Programmer Variables Reference"
!define DOC_TYPE ""
!define DOC_CODE "icvariables"
!define DOC_VERSION substr('$Revision: 1.4 $', 11, -2)
!define DOC_STATUS "Draft"
!define DOC_PROJECT "Interchange"
!define DOC_URL "http://www.icdevgroup.org/doc/icvars.html"
!define SHOW_COMMENTS 0
!define EXAMPLE_SESSION "6CZ2whqo"
!define EXAMPLE_DOMAIN "www.here.com"
!define EXAMPLE_CATALOG "mycatalog"
!define EXAMPLE_VLINK "mycatalog"
!define EXAMPLE_SECURE_DOMAIN "secure.here.com"
!define EXAMPLE_SKU "os28044"
!define EXAMPLE_PRICE 19.99
!define EXAMPLE_SIZE "15oz"
!define EXAMPLE_SIZE1 "10oz"
!define EXAMPLE_SIZE2 "20oz"
!define EXAMPLE_DESCRIPTION "Framing Hammer"
!build_title
H1: Interchange Special Variables
Interchange defines some special variables which control behavior. They
can be of several types, and the conventions for using them depend on
whether you have based your catalog and server on the standard
"foundation" distribution.
We will distinguish between these by calling intrinsic variables
CORE variables, noting the distribution variables as DISTRIBUTION,
and noting the foundation catalog practices as FOUNDATION.
LI1: "Variable" configuration file definitions
Defined in interchange.cfg or catalog.cfg with the C<Variable>
configuration directive, these are accessed with:
!block example
Access in ITL with From
----------------------- -------------------
__VARNAME__ (catalog.cfg only)
@_VARNAME_@ (catalog.cfg, falls back to interchange.cfg)
@@VARNAME@@ (interchange.cfg only)
E<lbracket>{{CMD[jump="ictags.html#var"]var}} VARNAME] (catalog.cfg only)
E<lbracket>{{CMD[jump="ictags.html#var"]var}} VARNAME 1] (interchange.cfg only)
E<lbracket>{{CMD[jump="ictags.html#var"]var}} VARNAME 2] (catalog.cfg, falls back to interchange.cfg)
Embedded Perl From
----------------------- -------------------
$Variable->{VARNAME} (catalog.cfg only)
$Tag->var('VARNAME') (catalog.cfg only)
$Tag->var('VARNAME', 1) (interchange.cfg only)
$Tag->var('VARNAME', 2) (catalog.cfg, falls back to interchange.cfg)
Global subs / Usertags From
----------------------- -------------------
$::Variable->{VARNAME} (catalog.cfg only)
$Tag->var('VARNAME') (catalog.cfg only)
$Tag->var('VARNAME', 1) (interchange.cfg only)
$Tag->var('VARNAME', 2) (catalog.cfg, falls back to interchange.cfg)
$Global::Variable->{VARNAME} (interchange.cfg only, only in Global code)
!endblock
Variables set with {{CMD[jump="icconfig.html#variable"]Variable}} are not normally modified dynamically, though
you can do it as a part of the {{CMD[jump="icconfig.html#autoload"]Autoload}} routine or in other code. They will
not retain the value unless {{CMD[jump="icconfig.html#dynamicvariables"]DynamicVariables}} is in use.
LI1: Scratch
User scratch variables are initialized whenever a new user session is
created. They start with whatever is defined in the C<ScratchDefault>
directive in catalog.cfg; otherwise they are not defined.
!block example
Access in ITL with Attributes
----------------------- -------------------
E<lbracket>{{CMD[jump="ictags.html#scratch"]scratch}} varname] Displays
E<lbracket>{{CMD[jump="ictags.html#scratchd"]scratchd}} varname] Displays and deletes
Embedded Perl From
----------------------- -------------------
$Scratch->{varname} Accessor
$Session->{scratch}{varname} Equivalent
Global subs / Usertags From
----------------------- -------------------
$::Scratch->{varname} Accessor
$::Session->{scratch}{varname} Equivalent
!endblock
They can be set in several ways:
!block example
Set in ITL with Attributes
----------------------- -------------------
E<lbracket>{{CMD[jump="ictags.html#set"]set}} varname]VAL[/set] Sets to VAL, no interpretation of ITL inside
E<lbracket>{{CMD[jump="ictags.html#seti"]seti}} varname]VAL[/seti] Sets to VAL, interprets ITL inside
E<lbracket>{{CMD[jump="ictags.html#tmpn"]tmpn}} varname]VAL[/tmpn] Sets to VAL, no ITL interpretation, temporary
E<lbracket>{{CMD[jump="ictags.html#tmp"]tmp}} varname]VAL[/tmp] Sets to VAL, interprets ITL inside, temporary
Embedded Perl From
----------------------- -------------------
$Scratch->{varname} = 'VAL'; Sets to VAL
$Tag->tmp(varname); Set as temporary, must set value afterwards.
Global subs / Usertags From
----------------------- -------------------
$::Scratch->{varname}='a' Sets to a
!endblock
LI1: CGI
CGI variables are the raw data which comes from the user.
.WARNING: It is a security risk to use these variables for display
in the page.
You can use them for testing without worry, though you should
never set their value into a database or display on the page unless
you have processed them first, as they can have arbitrary values.
The most common security risk is displaying HTML code, which allows
remote scripting exploits like cookie-stealing.
!block example
E<lbracket>{{CMD[jump="ictags.html#calc"]calc}}]
#### DO NOT DO THIS!!!!
my $out = $CGI->{varname};
return $out;
[/calc]
!endblock
That will transform the value. If you wish to output a safe value but
keep the actual value intact, do:
!block example
E<lbracket>{{CMD[jump="ictags.html#calc"]calc}}]
#### This is safe, makes value safe for rest of page
my $out = $Tag->cgi( { name => 'varname', filter => 'entities' } );
#### This is safe too, doesn't transform value
my $other = $Tag->filter($CGI->{varname}, 'entities');
### Now you can return stuff to the page
return $out . $other;
[/calc]
!endblock
The access methods are:
!block example
Access in ITL with Attributes
----------------------- -------------------
E<lbracket>{{CMD[jump="ictags.html#cgi"]cgi}} varname] Doesn't stop ITL code, don't use!
E<lbracket>{{CMD[jump="ictags.html#cgi"]cgi}} name=varname filter=entities] Use this for safety
Embedded Perl From
----------------------- -------------------
$CGI->{varname} Don't use for output values!
!endblock
They can be set as well.
!block example
Set in ITL with Attributes
----------------------- -------------------
E<lbracket>{{CMD[jump="ictags.html#cgi"]cgi}} name=varname set="VAL"] Sets to VAL, VAL can be ITL, shows VAL
E<lbracket>{{CMD[jump="ictags.html#cgi"]cgi}} name=varname set="VAL" hide=1] Sets to VAL, VAL can be ITL, no output
Embedded Perl From
----------------------- -------------------
$CGI->{varname} = 'VAL'; Sets to VAL, next access to E<lbracket>{{CMD[jump="ictags.html#cgi"]cgi}} varname]
shows new value
!endblock
LI1: Values
User form variables are initialized whenever a new user session is
created. They start with whatever is defined in the {{CMD[jump="icconfig.html#valuesdefault"]<ValuesDefault>}}
directive in catalog.cfg; otherwise they are not defined except as
called out in other configuration directives, i.e. the obsolete
DefaultShipping.
!block example
Access in ITL with Attributes
----------------------- -------------------
E<lbracket>{{CMD[jump="ictags.html#value"]value}} varname] Displays
Embedded Perl From
----------------------- -------------------
$Values->{varname} Accessor
!endblock
They can be set as well, though the normal method of setting is from
user input via form. If Interchange receives an action which performs
the update of values (by default C<go> or C<return>, C<refresh>, or
C<submit>), the value of CGI variables will be transferred to them
subject to other considerations (FormIgnore settings, credit card
variables, etc., discussed below).!block example
!block example
Set in ITL with Attributes
----------------------- -------------------
E<lbracket>{{CMD[jump="ictags.html#value"]value}} name=varname set="VAL"] Sets to VAL, VAL can be ITL, shows VAL
E<lbracket>{{CMD[jump="ictags.html#value"]value}} name=varname set="VAL" hide=1] Sets to VAL, VAL can be ITL, no output
Embedded Perl Attributes
----------------------- -------------------
$Values->{varname} = 'VAL'; Sets to VAL, next access to
E<lbracket>{{CMD[jump="ictags.html#value"]value}} varname] shows new value
!endblock
LI1: Session variables
You can also directly access the user session. Normally you don't set these
values unless you are an experienced Interchange programmer, but there are
several values that are frequently used.
One example is C<username>, which holds the logged-in user's username.
!block example
Access in ITL with Attributes
----------------------- -------------------
E<lbracket>{{CMD[jump="ictags.html#data"]data}} session username] Displays
Embedded Perl From
----------------------- -------------------
$Session->{username} Accessor
!endblock
They can be set as well, but if you are experienced enough to contemplate
doing these things you will easily be able to figure it out.
LI1: Values not transmitted from CGI
The following variables are never copied from CGI:
!block example
mv_todo
mv_todo.submit.x
mv_todo.submit.y
mv_todo.return.x
mv_todo.return.y
mv_todo.checkout.x
mv_todo.checkout.y
mv_todo.todo.x
mv_todo.todo.y
mv_todo.map
mv_doit
mv_check
mv_click
mv_nextpage
mv_failpage
mv_successpage
mv_more_ip
mv_credit_card_number
mv_credit_card_cvv2
!endblock
You can define more with the C<FormIgnore> catalog.cfg directive.
LI1: Global program variables
If you are programming a GlobalSub or global UserTag, you have access
to all Interchange facilities including all the preset variables and
configuration directives.
The C<Global> package is used to hold variables that are set at
program start and whose value is retained.
The C<Vend> package is used for variables that might be set at some
point during program execution, but that will always be reset to
undefined at the end of the transaction.
One example is C<$Vend::Cookie>, which holds the raw cookie value
sent by the user.
If you are going to set or access these variables, you should be
getting your documentation from the source code.
H1: IC Variables
H2: Standard global (interchange.cfg) Variable values
. {{CMD[jump="#CGIWRAP_WORKAROUND"]CGIWRAP_WORKAROUND}}
. {{CMD[jump="#IMAGE_MOGRIFY"]IMAGE_MOGRIFY}}
LI1: CGIWRAP_WORKAROUND
Used in C<Vend/Dispatch.pm>. Implemented to Fix Cobalt/CGIwrap problem.
If set to 1, it removes the scriptname from the URL pathinfo.
LI1: IMAGE_MOGRIFY
Used in C<code/SystemTag/image.tag>. Specifies the location of
mogrify command. If ImageMagick is installed, you can display an
arbitrary size of the image, creating it if necessary.
LI1: LANG
LI1: MV_DOLLAR_ZERO
Used in C<scripts/interchange.PL.> This parameter specifies how Interchange will
be displayed in ps command. This may not work on BSD based Kernels.
LI1: MV_FILE
Used in C<lib/Vend/File.pm.> This is the filename of the most recently returned
contents. This variable is not set in C<interchange.cfg>, but is set by interchange
while interchange is runnning.
LI1: MV_GETPPID_BROKEN
Used in C<lib/Vend/Server.pm.> If configured, the server uses a
syscall(MV_GETPPID_PROKEN) instead of the perl function getppid() to find the
parent PID. If C<MV_GETPPID_BROKEN> is set to 1, the system uses syscall(64).
LI1: MV_MAILFROM
Used in C<lib/Vend/Util.pm.> If configured, it specifies the default email user address
if it has not been set in catalog.cfg or variables.txt. Overrides the C<MailOrdersTo>
directive.
> my $from = $::Variable->{MV_MAILFROM}
> || $Global::Variable->{MV_MAILFROM}
> || $Vend::Cfg->{MailOrderTo};
LI1: MV_NO_CRYPT
Used in C<lib/Vend/UserDB.pm and lib/Vend/Util.pm.> If configured, it disables the use
of crypt or md5 hashing of passwords serverwide.
LI1: MV_PAGE
Used systemwide. This is the relative path of the page being served without
the suffix. This value is not set in interchange.cfg, but is set by interchange while interchange is running.
This is often referenced as C<@@MV_PAGE@@.>
LI1: MV_PREV_PAGE
Used systemwide. This is the relative path of the last (previous) page
that was served without the suffix. This value is not set in C<interchange.cfg>,
but is set by interchange while interchange is running.
This is often referenced as C<@@MV_PREV_PAGE@@>.
LI1: MV_SESSION_READ_RETRY
Used in C<lib/Vend/Session.pm.> This variable specifies the number of times that interchange
will attemt to read the session file before failing.
The default value is C<5>.
LI1: UI_BASE
Used systemwide. This variable specifies the relative path to the admin interface.
The default value is C<'admin'.>
LI1: UI_IMAGE_DIR
Used within the admin and by C<code/SystemTag/image.tag>. This variable specifies the relative path to the admin images
and CSS definitions. It is set in C<dist/lib/UI/ui.cfg>.
The default value is C<'/interchange-5/'>.
LI1: UI_IMAGE_DIR_SECURE
Used within the admin and by C<code/SystemTag/image.tag>. This variable specifies the relative path to the admin images
and CSS definitions while connecting via SSL. It is set in C<dist/lib/UI/ui.cfg>.
The default value is C<'/interchange-5/'>.
LI1: UI_SECURITY_OVERRIDE
Used in C<dist/lib/UI/Primitive.pm>. If configured and no UI_ACCESS_TABLE found,
then it will return that there is an acl set. This would allow you to test acls
See sub C<ui_acl_enabled()> for more details.
H2: Standard catalog (catalog.cfg) Variable values
LI1: ACTIVE_SESSION_MINUTES
Used in C<code/UI_Tag/dump_session.coretag>, C<lib/UI/pages/admin/genconfig.html>
and C<lib/UI/pages/admin/show_session.html>. This variable overrides the
{{CMD[jump="icconfig.html#SessionExpire"]SessionExpire}}
directive.
LI1: ADL_COMPONENT
Used in C<lib/UI/ui.cfg>. This variable can be overriden by ADL_COMPONENT_TEMPLATE.
Apparently not used anywhere.
The default is:
!block example
E<lbracket>{{CMD[jump="ictags.html#page"]page}} href="admin/content_editor" form=|
ui_name=E<lbracket>{{CMD[jump="ictags.html#contol"]control}} component]
ui_type=component
|]E<lbracket>{{CMD[jump="ictags.html#loc"]loc}}]edit[/loc] E<lbracket>{{CMD[jump="ictags.html#control"]control}} component]</A>
!endblock
LI1: ADL_COMPONENT_TEMPLATE
Used in C<lib/UI/ui.cfg>. This variable can be used to override ADL_COMPONENT.
Apparently not used anywhere.
LI1: ADL_ITEM
Used in C<lib/UI/ui.cfg>.
The default is:
!block example
<a href="E<lbracket>{{CMD[jump="ictags.html#area"]area}}
href=admin/item_edit
form=|
item_id=E<lbracket>{{CMD[jump="ictags.html#item-code"]item-code}}]
ui_return_to=index
|
]">E<lbracket>{{CMD[jump="ictags.html#loc"]loc}}]edit[/loc] E<lbracket>{{CMD[jump="ictags.html#loc"]loc}}]item[/loc]</A>
!endblock
LI1: ADL_ITEM_TEMPLATE
Used in C<lib/UI/ui.cfg>. This variable can be used to override ADL_ITEM.
Apparently not used anywhere.
LI1: ADL_MENU
Used in C<foundation/templates/components/product_flyout>,
C<foundation/templates/components/product_tree> and C<lib/UI/ui.cfg>.
The default value is:
!block example
$::Variable->{ADL_MENU} = $::Variable->{ADL_MENU_TEMPLATE} || <<EOF;
<a class="E<lbracket>{{CMD[jump="ictags.html#control"]control}} link_class]"
href="E<lbracket>{{CMD[jump="ictags.html#area"]area}}
href=admin/menu_editor
form=|
qmenu_name=E<lbracket>{{CMD[jump="ictags.html#either"]either}}]E<lbracket>{{CMD[jump="ictags.html#control"]control}} menu_name]E<lbracket>{{CMD[jump="ictags.html#or"]or}}]E<lbracket>{{CMD[jump="ictags.html#var"]var}} MV_PAGE 1][/either]
|
]">E<lbracket>{{CMD[jump="ictags.html#loc"]loc}}]edit[/loc] E<lbracket>{{CMD[jump="ictags.html#loc"]loc}}]menu[/loc]</A>
!endblock
LI1: ADL_MENU_TEMPLATE
Used in C<lib/UI/ui.cfg>. This variable can be used to override ADL_MENU.
Apparently not used anywhere.
LI1: ADL_PAGE
Used in the foundation templates LEFTONLY_BOTTOM,LEFTRIGHT_BOTTOM,
and NOLEFT_BOTTOM and C<lib/UI/ui.cfg>. This variable defines how the
admin edit page links are displayed.
The default is:
!block example
E<lbracket>{{CMD[jump="ictags.html#page"]page}} href="admin/content_editor" form="
ui_name=E<lbracket>{{CMD[jump="ictags.html#var"]var}} MV_PAGE 1]E<lbracket>{{CMD[jump="ictags.html#var"]var}} ADL_SUFFIX]
ui_type=page
"]E<lbracket>{{CMD[jump="ictags.html#loc"]loc}}]edit[/loc] E<lbracket>{{CMD[jump="ictags.html#loc"]loc}}]page[/loc]</A>
E<lbracket>{{CMD[jump="ictags.html#page"]page}} href="E<lbracket>{{CMD[jump="ictags.html#var"]var}} MV_PAGE 1]" form="
ui_mozilla_edit=1
"]E<lbracket>{{CMD[jump="ictags.html#loc"]loc}}]show tags[/loc]</A>
!endblock
LI1: ADL_MENU_TEMPLATE
Used in C<lib/UI/ui.cfg>. This variable can be used to override ADL_PAGE.
LI1: ADL_SUFFIX
Used in C<lib/UI/ui.cfg>. It defaults to the value of the E<lbracket>{{CMD[jump="icconfig.html#HTMLsuffix"]HTMLsuffix}}] directive. It specifies
the page suffix for links coming from ADL_PAGE at the bottom of
the foundation template files.
LI1: BACKUP_DIRECTORY
Used in C<code/UI_Tag/backup_database.coretag>. This variable will override
where the backup_database tab places the database backups. By default,
the backups are placed in C<<VendRoot>/backup>.
LI1: BAR_LINK_TEMPLATE
Used in the C<bar_link> subroutine found in C<catalog_before.cfg>. It defines
how the links are displayed in the C<foundation/templates/components/category_horizontal>,
C<foundation/templates/components/category_vert_toggle> and
C<foundation/templates/components/category_vertical>
The default value is configured in C<variables.txt>. The default is:
!block example
<A HREF="$URL$" CLASS="barlink">$ANCHOR$</A>
!endblock
LI1: CREATE_COMMAND_MYSQL
Used in C<code/UI_Tag/xfer_catalog.coretag>. It allows one to override the command that is
used create tables under mysql.
The default is C<'mysqladmin create %s'>.
LI1: CREATE_COMMAND_PG
Used in C<code/UI_Tag/xfer_catalog.coretag>. It allows one to override the command that is
used create tables under PostgresSQL.
The default is C<'createdb %s'>.
LI1: CUSTOMER_VIEW_LARGE
Used in C<lib/UI/pages/admin/customer.html>. It allows one to select not to build huge
lists of customers every time you access the customer tab.
The default is C<0>.
LI1: CYBER_ID
Used in C<eg/globalsub/authorizenet>, C<eg/globalsub/signio> and C<lib/Vend/Payment/ECHO.pm>.
It specifies the vendor's ID for communicating with a payment gateway.
LI1: CYBER_PORT
Used in C<eg/globalsub/authorizenet>, C<eg/globalsub/signio> and C<lib/Vend/Payment.pm>.
Specifies the port over which to communicate with the gateway server.
LI1: CYBER_PRECISION
Used in C<eg/globalsub/authorizenet>, C<eg/globalsub/signio>, C<lib/Vend/Payment.pm> and
C<lib/Vend/Payment/ECHO.pm>. It defines the precision of (the number of decimal
points) used with the vendor gateway.
If not defined, the default is C<2>.
LI1: CYBER_SCRIPT
Used in C<eg/globalsub/authorizenet>. It defines the path of the program on the
payment gateway. if not set, it uses the default of C<'/gateway/transact.dll'>. It
is overriden by MV_PAYMENT_SCRIPT
LI1: CYBER_SECRET
Used in C<eg/globalsub/authorizenet>, C<eg/globalsub/signio>, and C<lib/Vend/Payment/ECHO.pm>.
It defines the password the vendor used for autorization to the payment gateway.
LI1: CYBER_SERVER
Used in C<eg/globalsub/authorizenet>, C<eg/globalsub/signio>, and C<lib/Vend/Payment/ECHO.pm>.
It overrides the address of the payment gateway.
LI1: DUMP_COMMAND_MYSQL
Used in C<code/UI_Tag/xfer_catalog.coretag>. It allows one to override the command that is
used create tables under mysql.
The default is C<'mysqldump --add-drop-table'>.
LI1: DUMP_COMMAND_PG
Used in C<code/UI_Tag/xfer_catalog.coretag>. It allows one to override the command that is
used create tables under PostgresSQL.
The default is C<'pg_dump -c -O'>.
LI1: ECHO_PAYMENT_ID
Used in C<lib/Vend/Payment/ECHO.pm>. Specifies your ECHO ID.
LI1: ECHO_PAYMENT_PRECISION
Used in C<lib/Vend/Payment/ECHO.pm>. Specifies the number of digits of precision for the gateway.
LI1: ECHO_PAYMENT_SECRET
Used in C<lib/Vend/Payment/ECHO.pm>. Specifies the password used to indentify the vendor.
LI1: ECHO_PAYMENT_SERVER
Used in C<lib/Vend/Payment/ECHO.pm>. Specifies the address of the payment gateway.
LI1: FORUM_EMAIL_NOTIFY
Used in C<foundation/pages/forum/reply.html>. It is initially set to
C<__MVC_EMAILSERVICE__> when the catalog is initially created.
LI1: FORUM_SUBMIT_EMAIL
Used in C<foundation/pages/forum/submit.html>. It specifies the email address
that the forum submission should be sent to.
LI1: LANG
Used in C<lib/Vend/Dispatch.pm> and C<lib/Vend/File.pm>.
LI1: MV_AUTOLOAD
Used in C<lib/Vend/Interpolate.pm>. It specifies the value to be placed in the
beginning of the html if the $Vend::PageInit is defined and not 0.
LI1: MV_COMPONENT_DIR
Used in C<code/UserTag/component.tag>. If defined, it specifies a directory location
where the components will be located. If not defined, C<code/UserTag/component.tag> looks
in C<templates/components>.
LI1: MV_COUNTRY_FIELD
Used in C<lib/Vend/Interpolate.pm>. If defined, it specifies the field to be
used in tax/vat calculations. If undefined, the value C<'country'> is used.
LI1: MV_COUNTRY_TABLE
Used in C<lib/Vend/Interpolate.pm>. If defined, it specifies the table to be used
in tax/vat calculations. If undefined, the value C<'country'> is used.
LI1: MV_COUNTRY_TAX_FIELD
Used in C<lib/Vend/Interpolate.pm>. If defined, it specifies the
field used to look up the tax. If undefined, the value C<'tax'> is used.
LI1: MV_CREDIT_CARD_INFO_TEMPLATE
Used in C<sub build_cc_info()> in C</lib/Vend/Order.pm>. If not defined,
the following template is used:
!block example
join("\t", qw(
{MV_CREDIT_CARD_TYPE}
{MV_CREDIT_CARD_NUMBER}
{MV_CREDIT_CARD_EXP_MONTH}/{MV_CREDIT_CARD_EXP_YEAR}
{MV_CREDIT_CARD_CVV2}
)) . "\n";
!endblock
LI1: MV_DEFAULT_SEARCH_DB
Used in C<lib/Vend/Scan.pm>. Specifies that an unspecified (default) search will
be a db search, not a text search. It is set to 1 in variable.txt
LI1: MV_DEFAULT_SEARCH_FILE
Used in C<lib/Vend/Config.pm>, C<lib/Vend/Glimpse.pm> and C<lib/Vend/TextSearch.pm>. It
specifies the file to be used for text searches by default.
It is set to products in C<catalog_before.cfg> and C<foundation/catalog.cfg>.
LI1: MV_DEFAULT_SEARCH_TABLE
Used in C<lib/Vend/Config.pm>, C<lib/Vend/DbSearch.pm> and C<lib/Vend/RefSearch.pm>.
It specifies the table to be used for searches by default.
It is set to products in C<catalog_before.cfg> and C<foundation/catalog.cfg>.
LI1: MV_ERROR_STD_LABEL
Used in C<code/SystemTag/error.coretag>. If defined, it overrides the default
error imessage in the stdlabel field. If undefined, the following template is used.
!block example
<FONT COLOR=RED>{LABEL} <SMALL><I>(%s)</I></SMALL></FONT>
E<lbracket>{{CMD[jump="ictags.html#else"]else}}]{REQUIRED <B>}{LABEL}{REQUIRED </B>}[/else]
!endblock
LI1: MV_NO_CRYPT
Used in C<lib/Vend/UserDB.pm> and C<lib/Vend/Util.pm>. If configured, it disables the use
of crypt or md5 hashing of passwords for the individual catalog.
LI1: MV_OPTION_TABLE_MAP
Used in C<lib/Vend/Config.pm>, C<lib/Vend/Data.pm> and C<lib/Vend/Options/Old48.pm>.
It is a quoted space-delimited list of fields in the form of "field1=field2" to map options into.
LI1: MV_OPTION_TABLE
Used in C<foundation/products/variable.txt>, C<lib/UI/pages/admin/item_option_phantom.html>,
C<lib/UI/pages/admin/item_option_old.html>, C<lib/UI/ui.cfg>, C<lib/Vend/Config.pm>, C<lib/Vend/Options.pm>
and C<lib/Vend/Options/Simple.pm>.
If the Interchange variable MV_OPTION_TABLE is not set, it defaults
to "options", which combines options for Simple, Matrix, and
Modular into that one table. This goes along with foundation and
construct demos up until Interchange 4.9.8.
LI1: MV_PAYMENT_ID
Used in C<eg/globalsub/authorizenet>, C<eg/globalsub/signio>, C</foundation/catalog.cfg>,
C</foundation/products/variable.txt>, C<lib/Vend/Payment/AuthorizeNet.pm>, C<lib/Vend/Payment/BoA.pm>,
C<lib/Vend/Payment/ECHO.pm>, C<lib/Vend/Payment/PSiGate.pm>, C<lib/Vend/Payment/Signio.pm>, C<lib/Vend/Payment/Skipjack.pm>,
C<lib/Vend/Payment/TestPayment.pm>, C<lib/Vend/Payment/WellsFargo.pm>, C<lib/Vend/Payment/iTransact.pm>.
Specifies your merchant ID for your payment gateway.
LI1: MV_PAYMENT_MODE
Payment Gateway Which payment processor module you wish to use.
The default value is not set.
Valid values are : authorizeneti, boa, echo, mcve, psigate,signio, skipjack, trustcommerce,
testpayment, wellsfargo, itransact and linkpoint.
LI1: MV_PAYMENT_PRECISION
Specifies the number of digits of precision for the gateway.
LI1: MV_PAYMENT_SECRET
Specifies the password used to indentify the vendor.
LI1: MV_PAYMENT_SERVER
Specifies the address of the payment gateway.
LI1: MV_PAYMENT_TEST
Used in C<eg/globalsub/authorizenet>, C<lib/Vend/Payment/AuthorizeNet.pm> and C<lib/Vend/Payment/PSiGate.pm>.
Specifies that the gateway is in testing mode.
LI1: MV_SHIP_ADDRESS_TEMPLATE
Used in C<lib/Vend/Interpolate.pm>. Overrides the default template used in
C<tag_address()>.
If not set, the template used is:
!block example
$template .= "{company}\n" if $addr->{"${pre}company"};
$template .= <<EOF;
{address}
{city}, {state} {zip}
{country} -- {phone_day}
!endblock
LI1: MV_SHIP_MODIFIERS
Used in C<shipping()> in C<lib/Vend/Ship.pm>.
LI1: MV_STATE_REQUIRED
Used in C<sub _multistate()> in C<lib/Vend/Order.pm>.
LI1: MV_STATE_TABLE
Used in C<sub tax_vat()> in C<lib/Vend/Interpolate.pm>. Specifies an alternate
table with tax information by state. If undefined, the subroutine uses C<'state'>.
LI1: MV_STATE_TAX_FIELD
Used in C<sub tax_vat()> in C<lib/Vend/Interpolate.pm>. Specifies an alternate
field with tax information by state. If undefined the subroutine uses C<'tax'>.
LI1: MV_TAX_CATEGORY_FIELD
Used in C<sub tax_vat()> in C<lib/Vend/Interpolate.pm>. If undefined,
the subroutine uses C<'tax_category'>.
LI1: MV_TAX_TYPE_FIELD
Used in C<sub tax_vat()> in C<lib/Vend/Interpolate.pm>. Specifies an alternate
field with tax information by state. If undefined the subroutine uses C<'tax_name'>.
LI1: MV_TREE_TABLE
Used in C<lib/UI/pages/admin/menu_editor.html>, C<lib/UI/pages/admin/menu_loader.html>
and C<lib/Vend/Menu.pm>. It allows one to specify another table other that C<'tree'>.
LI1: MV_USERDB_REMOTE_USER
Used in C<sub check_security()> in C<lib/Vend/Util.pm>. Enabling this variable
allows anyone logged in to override all existing ALCs.
LI1: MV_VALID_PROVINCE
Used in C<sub _state_province()> in C<lib/Vend/Order.pm>. Allows you to supply
an alternate string to override the standard province validation.
LI1: MV_VALID_STATE
Used in C<sub _state_province()> C<lib/Vend/Order.pm>. Allows you to supply
an alternate string to override the standard State validation.
LI1: MV_ZIP_REQUIRED
Used in C<sub _multizip()> in C<lib/Vend/Order.pm>.
LI1: ORDER_VIEW_LARGE
Used in C<lib/UI/pages/admin/order.html>. It allows one to select not to build huge
lists of orders every time you access the orders tab.
The default is C<0>.
LI1: PAGE_TITLE_NAME
Used in C<lib/UI/ContentEditor.pm>. It allows you to override the page title in preview mode.
If not configured, the page title will be C<'page_title'>.
LI1: PUBLISH_NO_PAGE_ROOT
Used in C<lib/UI/ui.cfg>. It allows one to prevent any publishing of pages in the admin
to the root of pages directory.
LI1: PUBLISH_QUIT_ON_RCS_ERROR
Used in C<lib/UI/ui.cfg>. It allows one to not publish new pages in the admin
if the page cannot be succesfully checked into RCS.
LI1: PUBLISH_TO_PREVIEWS
Used in C<lib/UI/ui.cfg>. It allows one to publish new pages in the admin
into a preview directory.
LI1: RESTORE_COMMAND_MYSQL
Used in C<code/UI_Tag/xfer_catalog.coretag>. It allows one to override the command that is
used create tables under mysql.
The default is C<'mysql'>.
LI1: RESTORE_COMMAND_PG
Used in C<code/UI_Tag/xfer_catalog.coretag>. It allows one to override the command that is
used create tables under PostgresSQL.
The default is C<'createdb %s'>.
LI1: SERVER_NAME
Used in C<code/UI_Tag/xfer_catalog.coretag>, C<foundation/etc/ship_notice>,
C<lib/UI/pages/admin/transfer_catalog.html>, C<lib/Vend/Server.pm> and C<scripts/makecat.PL>.
It specifies the domain name of your catalog.
LI1: TAXCOUNTRY
Used in C<sub fly_tax()> in C< foundation/include/checkout/tax_popup> and
C<lib/Vend/Interpolate.pm>. Allows you to supply an alternate
string of valid countries to override the standard Country validation.
LI1: THEME_IMG_DIR
It allows you to specify the location of the images in the foundation
specified themes.
LI1: UI_ACCESS_KEY_LIMIT
Used in C<code/UI_Tag/list_keys.coretag> and C<lib/UI/Primitive.pm>. It allows you to
define the number of keys returned. By default 500 (primary) keys are returned.
LI1: UI_ACCESS_TABLE
It allows you to specify the UserDB file to be used for access to the admin.
It is set to C<'access'> by C<catalog_before.cfg>.
LI1: UI_BACKUP_TABLES
Used by C<lib/UI/pages/admin/dbdownload.html>. It specifies the tables to be
backed up by C<lib/UI/pages/admin/dbdownload.html>
It is set in variable.txt to:
C<'affiliate area cat country inventory locale merchandising options
order_returns orderline pricing products state survey transactions
tree userdb variants'>
LI1: UI_COMPONENT_DIR
Used by C<lib/UI/pages/admin/content_publish.html> and C<lib/UI/ContentEditor.pm>.
By default, it is set to C<'templates/components'> in variable.txt
LI1: UI_DBCONFIG
Used in C<lib/UI/pages/admin/gentable.html>. If defined it adds the option C<'Config'>
to gentable.html in the admin.
LI1: UI_ERROR_PAGE
Used in C<code/UI_Tag/flex_select.coretag>. IT allows one to override
the admin error page from C<'admin/error'>.
LI1: UI_IMG
Used in C<lib/UI/pages/admin/content_push.html>, C<lib/UI/pages/admin/customer_mailing.html>,
C<lib/UI/pages/admin/help.html>, C<lib/UI/pages/admin/order.html>,
C<lib/UI/pages/include/templates/ui_type1>, C<lib/UI/pages/include/templates/ui_type2>,
C<lib/UI/pages/include/templates/ui_type3>, C<lib/UI/pages/include/templates/ui_type5>, and
C<lib/UI/vars/UI_STD_HEAD>.
It specifies where the images for the admin are kept. It is set in C<lib/UI/vars/UI_STD_HEAD>.
LI1: UI_LARGE_TABLE
Used in C<code/UI_Tag/flex_select.coretag> and C<lib/UI/pages/admin/pref_select.html>.
It specifies that flex-select should not use ra=all if UI_LARGE_TABLE is set.
LI1: UI_META_LINK
Used in C<lib/UI/pages/admin/menu_editor.html>, C<lib/UI/pages/admin/preferences.html>,
and C<lib/Vend/Table/Editor.pm>. It determines whether edit metadata links are enabled by default.
It is set to 1 by default in variables.txt.
LI1: UI_META_SELECT
Used in C<code/UI_Tag/flex_select.coretag>.
LI1: UI_META_TABLE
Allows you to specify an alternate table where metadata is kept.
LI1: UI_SECURE
Used in C<lib/UI/pages/admin/flex_select.html>, C<code/UI_Tag/flex_select.coretag>,
C<lib/UI/pages/admin/menu_editor.html>, C<lib/UI/pages/admin/order.html>,
C<lib/UI/vars/UI_STD_HEAD>, C<lib/Vend/Table/Editor.pm>.
If set, it determines whether or not to force UI into secure mode.
LI1: UI_TEMPLATE_DIR
Used by C<lib/UI/pages/admin/content_publish.html> and C<lib/UI/ContentEditor.pm>.
t specifies the directory where the admin templates are kept.
It is set to C<'templates'> by default in variables.txt.
LI1: UPS_COUNTRY_REMAP
Used in C<code/UserTag/ups_query.tag> and C<lib/Vend/Ship/QueryUPS.pm>.
!block example
# Remap Monaco to France for UPS
{{CMD[jump="icconfig.html#variable"]Variable}} UPS_COUNTRY_REMAP MC=FR
!endblock
LI1: UPS_ORIGIN
Used in C<code/UserTag/fedex_query.tag>, C<lib/UI/pages/admin/ship_edit.html>,
C<lib/Vend/Ship/QueryUPS.pm>.
It sets a default value for the shipping origin.
LI1: UPS_QUERY_MODULO
Used in C<code/UserTag/ups_query.tag> and C<lib/Vend/Ship/QueryUPS.pm>.
If shipping aggregation is used, it allows you to override the
weight in which aggregation occurs. If not set, aggregation occurs at 150.
N:Copyright 2002-2004 Interchange Development Group. Freely redistributable under terms of the GNU General Public License.