re-work coupons to allow multiple coupon types
[bse.git] / site / cgi-bin / bse.cfg
1 [site]
2 name=SomeSite
3 ; url should not include a trailing /
4 url=http://your.site.base
5 secureurl=$(url)
6
7 [basic]
8 randomdata = /dev/urandom
9 access_control=0
10 file_handlers=flv
11 preload_template=preload.tmpl
12
13 [paths]
14 ; the following needs to be set to a path writable by the BSE processes
15 ; set [paths].siteroot
16 downloads = $(siteroot)/uploads
17 siteuser_images = $(downloads)
18 dynamic_cache=$(siteroot)/cache
19 backgroundlogs=$(siteroot)/backlogs
20 public_html=$(siteroot)/htdocs
21 public_files=$(public_html)/managed_assets
22 images=$(public_html)/managed_assets
23 data=$(siteroot)/data
24 templates=$(siteroot)/templates
25 cgi-bin=$(siteroot)/cgi-bin
26 util=$(siteroot)/util
27
28 [uri]
29 images=/managed_assets
30 public_files=/managed_assets/
31
32 [pregenerate]
33
34 ; the following are required by the system - don't modify them
35 user/editbooking.tmpl = user,user/base_editbooking.tmpl
36 user/bookingdetail.tmpl = user,user/base_bookingdetail.tmpl
37 user/cancelbooking.tmpl = user,user/base_cancelbooking.tmpl
38 user/bookinglist.tmpl = user,user/base_bookinglist.tmpl
39 user/orderdetail.tmpl = user,user/base_orderdetail.tmpl
40 user/orderdetaila.tmpl = user,user/base_orderdetail.tmpl
41 user/alreadyblacklisted.tmpl = user,user/alreadyblacklisted_base.tmpl
42 user/blacklistdone.tmpl = user,user/blacklistdone_base.tmpl
43 user/cantunsub.tmpl = user,user/cantunsub_base.tmpl
44 user/confirmed.tmpl = user,user/confirmed_base.tmpl
45 user/confsent.tmpl = user,user/confsent_base.tmpl
46 user/confsent_nop.tmpl = user,user/confsent_nop_base.tmpl
47 user/email_conferror.tmpl = user,user/email_conferror_base.tmpl
48 user/logon.tmpl = user,user/logon_base.tmpl
49 user/lostemailsent.tmpl = user,user/lostemailsent_base.tmpl
50 user/lostpassword.tmpl = user,user/lostpassword_base.tmpl
51 user/lost_prompt.tmpl = user,user/base_lost_prompt.tmpl
52 user/nopassword.tmpl = user,user/nopassword_base.tmpl
53 user/options.tmpl = user,user/options_base.tmpl
54 user/options_saved.tmpl = user,user/options_saved_base.tmpl
55 user/options_delivery.tmpl = user,user/options_delivery_base.tmpl
56 user/options_images.tmpl = user,user/options_images_base.tmpl
57 user/register.tmpl = user,user/register_base.tmpl
58 user/toomany.tmpl = user,user/toomany_base.tmpl
59 user/toosoon.tmpl = user,user/toosoon_base.tmpl
60 user/unsuball.tmpl = user,user/unsuball_base.tmpl
61 user/unsubone.tmpl = user,user/unsubone_base.tmpl
62 user/userpage.tmpl = user,user/userpage_base.tmpl
63 user/userpage_wishlist.tmpl = user,user/base_userpage_wishlist.tmpl
64 user/userpage_files.tmpl = user,user/base_userpage_files.tmpl
65 user/userpage_orders.tmpl = user,user/base_userpage_orders.tmpl
66 user/wishlist.tmpl = user,user/base_wishlist.tmpl
67 user/bookseminar.tmpl = user,user/base_bookseminar.tmpl
68 user/bookconfirm.tmpl = user,user/base_bookconfirm.tmpl
69 user/bookcomplete.tmpl = user,user/base_bookcomplete.tmpl
70 user/redirect.tmpl = user,user/base_redirect.tmpl
71 interest/confirm.tmpl = interest,interest/confirm_base.tmpl
72 interest/askagain.tmpl = interest,interest/askagain_base.tmpl
73 interest/error.tmpl = interest,interest/error_base.tmpl
74 formmail/defquery.tmpl = formmail,formmail/defquery_base.tmpl
75 formmail/defdone.tmpl = formmail,formmail/defdone_base.tmpl
76 error.tmpl = error,error_base.tmpl
77 tellafriend/form.tmpl = user,tellafriend/base_form.tmpl
78 tellafriend/done.tmpl = user,tellafriend/base_done.tmpl
79
80 [user settings]
81 title = My $(site/name)
82
83 [interest settings]
84 title = $(site/name) Interest Registration
85
86 [formmail settings]
87 title = Send us a comment
88
89 [error settings]
90 title = Error
91 dynamic = 0
92
93 [messages]
94 user/notyourorder = Order $1 isn't your order
95 shop/fileitems = You have products in your cart that include downloadable files.  Please logon or register before checking out.
96 shop/logonrequired = This site requires that you be logged on to make a purchase.  Please logon or register before checking out.
97
98 [downloads]
99 ; if true, an order must be marked paid for before the user can download
100 ; the files attached to the products
101 ;must_be_paid = yes
102 ; if true, an order must be marked filled before the user can download the
103 ; files attached to the products
104 ;must_be_filled = yes
105
106 [children of 5]
107 template=common/sidebar.tmpl
108 template_dirs=sidebar
109
110 [extra tags]
111 siteUrl = $(site/url)
112 siteName = $(site/name)
113 ; You can add any static tag definitions you like here
114 ; salesEmail = someone@yoursite.com
115 ; salesPhoneNo = 61 2 9999 8888
116
117 [datadump]
118 # where to email the data dump
119 #to = someone@somewhere
120 # program to run to do the dump
121 # must take the same parameters as mysqldump
122 #mysqldump = /usr/local/mysql/bin/mysqldump
123
124 [subscriptions]
125 # if override is non-zero then the fields for the archiving and templates
126 # will be available when sending a subscription
127 override=1
128
129 [level names]
130 0=Your Site
131 1=Page Lev1
132 2=Page Lev2
133 3=Page Lev3
134 4=Page Lev4
135 5=Page Lev5
136
137 [articles]
138 shop=3
139
140 [shop]
141 payment_types=0,1,2
142 address1=First address line in configuration
143 address2=Second address line in configuration
144 address3=Third address line in configuration
145 enabled=1
146
147 [level 1]
148 template=common/default.tmpl
149
150 [level 2]
151 template=common/default.tmpl
152
153 [level 3]
154 template=common/default.tmpl
155
156 [level 4]
157 template=common/default.tmpl
158
159 [level 5]
160 template=common/default.tmpl
161
162 [catalogs]
163 template=catalog.tmpl
164
165 [products]
166 template=shopitem.tmpl
167
168 [templates]
169 admin/edit_2=admin/edit_1
170 admin/edit_3=admin/edit_1
171 admin/edit_4=admin/edit_1
172 admin/edit_5=admin/edit_1
173 admin/edit_img=admin/article_img
174 admin/edit_file=admin/filelist
175
176 ; this used to be handled via the edit target, but since CVS sucks
177 ; I won't rename the template
178 admin/users/view_orders=admin/users/edit_orders
179
180 [Global permissions]
181 change_body = 8
182 change_body_no_shop = 9
183 full_access = 0
184 full_access_no_shop = 3
185 shop_access = 1
186 shop_orders = 5
187 subscriptions = 4
188 users_and_groups = 6
189 confirm_members = 12
190 manage_members = 13
191
192 [Article permissions]
193 change_body_doc = 2
194 change_body_decendants = 10
195 full_access_doc = 7
196 full_access_decendants = 11
197
198 [permission change_body]
199 brief=Title & body (Site)
200 help=The user has permission to change only the title & body of all articles or products.
201 permissions=edit_field_edit_body,edit_field_edit_title,edit_save
202 descendants=1
203 articles=-1
204
205 [permission change_body_no_shop]
206 brief=Title & body except shop admin
207 help=The user has permission to change only the title & body of all 
208 articles except for the shop.
209 permissions=edit_field_edit_body,edit_field_edit_title,edit_save
210 descendants=1
211 articles=not(3)
212
213 [permission full_access]
214 brief=Full access (Site)
215 help=Full access to the article.  The user can modify all modifiable fields, delete and add articles at will.
216 permissions=edit_*,regen_*,bse_*,admin_*
217 descendants=1
218 articles=-1
219
220 [permission full_access_no_shop]
221 brief=Full access except shop admin
222 help=The user has complete access to all articles except for the shop.
223 permissions=edit_*,regen_*
224 descendants=1
225 articles=not(3)
226
227 [permission shop_access]
228 brief=Shop administration
229 help=The user has complete access to catalogs or products in the shop.
230 permissions=not(admin_*)
231 descendants=1
232 articles=3
233
234 [permission shop_orders]
235 brief=Shop orders management
236 help=The user can view the order list, order details, and mark orders filled.
237 permissions=shop_order_*
238 articles=-1
239
240 [permission subscriptions]
241 brief=Subscriptions management
242 help=The user can create, edit and send subscriptions.
243 permissions=subs_*
244 articles=-1
245
246 [permission users_and_groups]
247 brief=User/Group management
248 help=The user can manage users, groups and their permissions.
249 permissions=admin_*
250 articles=-1
251
252 [permission change_body_doc]
253 brief=Title & body (Article)
254 help=The user has permission to change only the title & body of this 
255 article or product.
256 permissions=edit_field_edit_body,edit_field_edit_title,edit_save
257
258 [permission change_body_decendants]
259 brief=Title & body (Article + Decendants)
260 help=The user has permission to change only the title & body of this article or product and it's decendants.
261 permissions=edit_field_edit_body,edit_field_edit_title,edit_save
262 descendants=1
263
264 [permission full_access_doc]
265 brief=Full access (Article)
266 help=Full access to the article.  The user can modify all modifiable 
267 fields for this article or product.
268 permissions=edit_*,regen_*
269
270 [permission full_access_decendants]
271 brief=Full access (Article + Decendants)
272 help=Full access to the article and it's decendants.  The user can modify all modifiable fields for this article or product.
273 permissions=edit_*,regen_*
274 descendants=1
275
276 [permission confirm_members]
277 brief=Confirm member email address
278 help=The user can manually mark a members email address as confirmed.
279 permissions=bse_members_confirm
280 articles=-1
281
282 [permission manage_members]
283 brief=Member management
284 help=The user can manage site members
285 permissions=bse_members_user_*,bse_members_group_*
286 articles=-1
287
288 [article flags]
289 A=Disallow browser caching (default, dynamic articles only)
290 B=Allow browser caching (dynamic articles only)
291 C=Don't index this article or it's descendants
292 D=Disable linking
293 F=Descendants inherit Always Dynamic
294 I=Index even if hidden
295 N=Don't index even if listed
296 R=Regenerate even if we're using JIT regen (dynamic pages only)
297 P=Link to parent
298
299 [article 1]
300 extra_templates=index.tmpl
301
302 [article 2]
303 extra_templates=index2.tmpl
304
305 [reports]
306 sales_summ_by_product=Sales Summary By Product
307 product_sales_over_time=Product Sales Over Time
308 monthly_sales=Monthly Sales
309 quarterly_sales=Quarterly Sales
310 weekly_sales=Weekly Sales
311 yearly_sales=Yearly Sales
312 total_sales=Total Sales
313 users_vs_orders=Users vs Orders
314 user_products=Products bought by User
315 bse_test=Test report
316 bse_recent_regos=Recent registrations
317 bse_coupon_orders=Shop: Orders by Coupon
318
319 [report sales_summ_by_product]
320 sql1=select pr.articleId as "Id", ar.title as "Product", count(*) as "Units" from article ar, product pr, order_item oi where ar.id = pr.articleId and pr.articleId = oi.productId group by pr.articleId, ar.title
321 sql1link1=<a href="/cgi-bin/admin/report.pl?s_show=1&r=product_sales_over_time&p1=${Id}">Sales Over Time</a>
322 sql1link2=<a href="/cgi-bin/admin/add.pl?id=${Id}">Edit</a>
323 sort1=-Units;By Unit from highest;order by 3 desc
324 sort2=+Units;By Unit;order by 3
325 sort3=+Product;Product name;order by 2
326 sort4=-Product;Reverse product name;order by 2 desc
327
328 [report product_sales_over_time]
329 sql1=select year(od.orderDate) as "Year", month(od.orderDate) as "Month", count(*) as 'Units' from order_item oi, orders od where oi.orderId = od.id and productId = ? group by year(od.orderDate), month(od.orderDate) order by 1 DESC, 2 DESC
330 sql1params=1
331 param1=product,Product
332 sort1=-Year;Reverse time order;order by 1 desc, 2 desc
333 sort2=+Year;Time order;order by 1 asc, 2 asc
334 sort3=-Units;By units desc;order by 3 desc
335 sort4=+Units;By units asc;order by 3 asc
336
337 [report weekly_sales]
338 sql1=select year(od.orderDate) as "Year", week(od.orderDate) as "Week", count(*) as 'Orders', format(sum(od.total)/100.0,2) as '$ Total', count(su.userId) as 'Logon Orders' from orders od left join bse_siteusers su on od.userId =su.userId group by year(od.orderDate), week(od.orderDate) order by 1 DESC, 2 DESC
339
340 [report monthly_sales]
341 sql1=select year(od.orderDate) as "Year", month(od.orderDate) as "Month", format(sum(od.total)/100.0,2) as 'Total', count(*) as 'Count', count(su.userId) as 'User Registered' from orders od left join bse_siteusers su on od.userId = su.userId group by year(od.orderDate), month(od.orderDate) order by 1 DESC, 2 DESC
342
343 [report quarterly_sales]
344 sql1=select year(od.orderDate) as "Year", quarter(od.orderDate) as "Quarter", format(sum(od.total)/100.0,2) as 'Total', count(*) as 'Count' from orders od group by year(od.orderDate), quarter(od.orderDate) order by 1 DESC, 2 DESC
345
346 [report yearly_sales]
347 sql1=select year(od.orderDate) as "Year", count(*) as "Orders",format(sum(od.total)/100.0,2) as '$ Total', count(su.userId) as 'Logon Orders' from orders od left join bse_siteusers su on od.userId = su.userId group by year(od.orderDate) order by 1 DESC
348
349 [report total_sales]
350 sql1=select count(*) as "Orders", format(sum(total)/100.0,2) as '$ Total', count(su.userId) as 'Logon Orders' from orders od left join bse_siteusers su on od.userId = su.userId
351
352 [report user_products]
353 sql1=select pr.title, count(*) as 'Count' from orders od, order_item oi, article pr, bse_siteusers su where oi.orderId = od.id and oi.productId = pr.id and su.userId = od.userId and su.id = ? group by pr.id
354 sql1params=1
355 param1=site_user,User
356
357 [report users_vs_orders]
358 sql1=select delivFirstName as "First Name", delivLastName as "Last Name", userId as "Logon", format(sum(total)/100.0,2) as '$ Total', count(*) as "Orders" from orders group by delivFirstName, delivLastName order by 5 DESC, 2
359
360 [report datatype product]
361 type=sql
362 sql=select ar.id as "id", ar.title as "label" from article ar, product pr where ar.id = pr.articleId order by 2
363 novalues=[ You don't have any products ]
364
365 [report bse_recent_regos]
366 sql1=<<SQL
367 select id, userId as "Logon", name1 as "First Name", name2 as "Last Name", whenRegistered as "When Registered"
368 from bse_siteusers
369 where whenRegistered > date_sub(now(), interval 7 day)
370 order by whenRegistered desc
371 SQL
372
373 [report bse_coupon_orders]
374 sql1=<<SQL
375 select o.id, o.billFirstName as "First Name", o.billLastName as "Last Name", format(o.total/100.0, 2) as "$ Total"
376 from orders o
377 where o.coupon_id = ?
378 SQL
379 sql1params=1
380 param1=used_coupon_code,Coupon Code
381
382 [report datatype article]
383 type=sql
384 sql=select id, concat(title, ' (', id, ')') as "label" from article
385
386 [report datatype site_user]
387 type=sql
388 sql=select id, userId as "label" from bse_siteusers
389 novalues=[ There are no registered users ]
390
391 [report bse_test]
392 sql1=select id, title from article where id = ?
393 hide=1
394 param1=article,Article
395 sql1params=1
396
397 [report datatype used_coupon_code]
398 type=sql
399 sql=<<SQL
400 select distinct c.id as "id", c.code as "label"
401 from bse_coupons c
402 where c.id in (select coupon_id from orders)
403 SQL
404
405 [valid child types]
406 Article=Article
407 Catalog=Catalog,Product
408 Product=
409
410 [protect link]
411 ; articles for which the link field should not be overwritten
412 ; the values are ignored, but you can include descriptions
413 1=home page
414 3=shop
415 6=formatting guide
416 7=RDF
417
418 [editor]
419 ;allow_thumbs=1
420 ;thumbs_class=BSE::Thumb::Imager
421 file_display=small
422
423 [site users]
424 display_name1=First Name
425 display_name2=Last Name
426 display_street=Street
427 display_postcode=Post code
428 display_telephone=Phone
429
430 [nonajax user agents]
431 ie4=MSIE 4
432 ie5=MSIE 5.01
433
434 [ajax user agents]
435 mozilla=^Mozilla/5\.0
436 ie5=MSIE 5.5
437 ie6=MSIE 6
438 ie7=MSIE 7
439 ie8=MSIE 8
440 safari=Safari
441 khtml=KHTML
442 opera=Opera
443
444 [ajax definitions]
445 includes=<<INLINE
446 inline:<script type="text/javascript" src="/js/prototype.js"></script>
447 <script type="text/javascript" src="/js/scriptaculous.js"></script>
448 <script type="text/javascript" src="/js/scriptoverride.js"></script>
449 INLINE
450 jquerydebug=<<INLINE
451 inline:<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js"></script>
452 <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/mustache.js/0.8.1/mustache.js"></script>
453 <script type="text/javascript" src="/js/jquery.mustache.js"></script>
454 INLINE
455 jquery=<<INLINE
456 inline:<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
457 <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/mustache.js/0.8.1/mustache.min.js"></script>
458 <script type="text/javascript" src="/js/jquery.mustache.js"></script>
459 INLINE
460
461 [nuser controllers]
462 user=BSE::UI::User
463 redirect=BSE::UI::Redirect
464 shop=BSE::UI::Shop
465 search=BSE::UI::Search
466 page=BSE::UI::Page
467 tellafriend=BSE::UI::Tellafriend
468 default=shop
469
470 [nadmin controllers]
471 shopadmin=BSE::UI::AdminShop
472 modules=BSE::UI::AdminModules
473 log=BSE::UI::AdminAudit
474 importer=BSE::UI::AdminImporter
475 ipaddress=BSE::UI::AdminIPAddress
476
477 [includes]
478 00install=bse-install.cfg
479 10bsecfg_d=cfg/
480
481 [mail resources]
482 stylesheet=email/email.css,text/css,1
483
484 [targets]
485 tellafriend=/cgi-bin/nuser.pl/tellafriend/TARGET
486 tellafriend_n=/cgi-bin/nuser.pl/tellafriend
487
488 [thumb geometries]
489 editor=scale(200x200)
490 sadmingall=scale(120x120),dropshadow(),canvas(140x140,bgalpha:0),format(png)
491 search=scale(150x120)
492
493 [file handlers]
494 flv=BSE::FileHandler::FLV
495
496 [template descriptions]
497 common/default.tmpl=Default template
498
499 [nightly work]
500 bse_session_clean=1
501 bse_audit_log_clean=1
502
503 [undeletable articles]
504 1=home page
505 2=more home page
506 5=sidebar
507
508 [number money]
509 divisor=100
510 places=2
511
512 [coupon classes]
513 bse_simple=BSE::Coupon::Percent
514 bse_dollar=BSE::Coupon::Dollar
515 bse_prodpercent=BSE::Coupon::ProductPercent