1<?php
2// options.php -- HotCRP conference options
3// Placed in the public domain
4
5/*****************************************************************************
6 * HotCRP Settings
7 * Required for all installations.
8 * Set up this file before running HotCRP for the first time.
9 *****************************************************************************/
10
11global $Opt;
12
13// MANDATORY CONFIGURATION
14//
15//   dbName          Database name. NO SPACES ALLOWED.
16//   dbUser          Database user name. Defaults to $Opt["dbName"].
17//   dbPassword      Password for database user.
18
19$Opt["dbName"] = "FIXME";
20
21
22// GENERAL CONFIGURATION
23//
24//   include         Other configuration files to load. String or array of
25//                   strings. Wildcards are expanded (e.g., "conf/*.conf");
26//                   relative paths are interpreted based on HOTCRPDIR.
27//   multiconference, multiconferenceAnalyzer
28//                   Support multiple conferences from a single installation.
29//                   See README.md.
30
31
32// NAMES AND SITES
33//
34//   shortName       Short name of the conference, including the year or
35//                   number. Examples: "SIGCOMM 2007", "HotNets V".
36//   longName        Longer name of the conference. Example: "ACM SIGCOMM
37//                   2007 Conference".
38//   downloadPrefix  Prefix for downloaded files, such as papers; should
39//                   end in a dash. Example: "hotnets5-". Defaults to
40//                   $Opt["dbName"] plus a dash.
41//   paperSite       [OPTIONAL] URL for this HotCRP installation. Used in
42//                   emails. Default is derived from the access URL.
43//   conferenceSite  [OPTIONAL] Conference site URL (CFP, registration).
44
45
46// EMAIL
47//
48//   contactName     Full name for site contact (the person to contact about
49//                   site problems). Usually the PC chair(s).
50//   contactEmail    Email address for site contact.
51//   sendEmail       Boolean. If false, HotCRP will send no email. This should
52//                   almost always be set to true.
53//   emailFrom       "From:" header for email sent by HotCRP. Should be a
54//                   plausible email address for mail originating at the
55//                   conference server.
56//   emailSender     Envelope sender address for email sent by HotCRP. Usually
57//                   defaults to something like "www-data@yourservername".
58//                   This email address should be connected to a valid mailbox
59//                   or certain spam filters will reject email from HotCRP.
60//   emailCc         Default "Cc:" address for email sent by HotCRP to
61//                   reviewers and via the mail tool. (Does not apply to most
62//                   email automatically sent to submitters.) If not set, the
63//                   default Cc is $Opt["contactEmail"].
64//   emailReplyTo    If set, default "Reply-To:" address for email sent by
65//                   HotCRP.
66//   sendmailParam   Extra parameters to be passed to your mailer. The default
67//                   is derived from $Opt["emailSender"]. If your system's
68//                   mailer is not sendmail, you may need to change the
69//                   default value; see lib/mailer.php.
70//   internalMailer  Set to true to use HotCRP's replacement for PHP's weirdo
71//                   mail() function, false to use PHP's mail() function.
72//                   Defaults to false on Windows, true elsewhere. A
73//                   replacement for PHP's mail() is desired because of PHP
74//                   mail()'s confused handling of CRLF issues.
75//   postfixMailer   Set to true if your system mailer is UNIX Postfix and
76//                   HotCRP mail has garbled headers, particularly for long or
77//                   non-ASCII subject lines. (The symptom is that some mail
78//                   headers will appear as part of the message body.) It's
79//                   always safe to set postfixMailer to true, although the
80//                   resulting mails may not be standards compliant.
81
82$Opt["contactName"] = "Your Name";
83$Opt["contactEmail"] = "you@example.com";
84$Opt["sendEmail"] = true;
85$Opt["emailFrom"] = "you@example.com";
86$Opt["emailSender"] = null;
87
88
89// -------------------------------------------------------------------------
90// OTHER CONFIGURATION OPTIONS
91// -------------------------------------------------------------------------
92
93// USER ACCOUNTS
94//
95//   ldapLogin       If set, use LDAP to authenticate users. The ldapLogin
96//                   string must have the form "LDAP_URL DN_PATTERN", where
97//                   DN_PATTERN contains a "*" character to be replaced by
98//                   the username. Example: "ldaps://ldapserver/ uid=*,o=ORG"
99//   httpAuthLogin   If set, use HTTP authentication to authenticate users.
100//                   Requires additional web server configuration. A string
101//                   value is sent as a WWW-Authenticate header. The default
102//                   string is "Basic realm="HotCRP"".
103//   defaultEmailDomain Set to the default domain for account email addresses
104//                   when using httpAuthLogin.
105
106
107// USER PASSWORDS
108//
109//   safePasswords   Controls how passwords are stored in the database. If
110//                   false, passwords are stored in plaintext; if true, user-
111//                   chosen passwords are stored as cryptographic hashes with
112//                   random salts, which are less vulnerable to cracking.
113//                   True is the default. Randomly-generated passwords, such
114//                   as those generated for new accounts, are stored in
115//                   plaintext for usability reasons. Set safePasswords to 2
116//                   to opportunistically upgrade these passwords to hashes.
117//   chairHidePasswords  If true, then chairs cannot view or modify other
118//                   users' passwords. Defaults to false.
119//
120//   In PHP versions below 5.5, password hashing uses these settings:
121//   passwordHmacKey  Secret key used for password HMAC.
122//   passwordHmacKeyid  If a secret key is compromised, change
123//                   passwordHmacKeyid to switch keys. Defaults to 0.
124//   passwordHmacKey.ID  Secret key for passwordHmacKeyid==ID.
125
126$Opt["safePasswords"] = true;
127$Opt["passwordHmacKey"] = null;
128
129
130// PAPER STORAGE
131//
132//   noPapers        Set to true to collect abstracts only, not papers.
133//   docstore        Set to true to serve papers and other downloads from a
134//                   cache on the local filesystem. By default this cache is
135//                   created in the "docs" directory. You can also set
136//                   $Opt["docstore"] to a directory name.
137//   docstoreSubdir  Set to true (or a small number, like 3) if the document
138//                   store should use subdirectories. This can be useful if
139//                   you expect thousands of submissions.
140//   s3_bucket       Amazon S3 bucket name to store paper submissions.
141//   s3_key          Amazon AWS access key ID (used for S3).
142//   s3_secret       Amazon AWS secret access key (used for S3).
143//   dbNoPapers      Set to true to not store papers in the database.
144//                   Requires filestore, S3 storage, or both.
145
146
147// TIMES AND DATES
148//
149//   timezone        Server timezone. See http://php.net/manual/en/timezones
150//                   for a list. Defaults to America/New_York if you haven't
151//                   set a server-wide PHP timestamp in `php.ini`.
152//   time24hour      Set to true to use 24-hour timestamps, rather than the
153//                   default am/pm.
154//   dateFormat      Format for displaying short dates. Uses PHP date() syntax:
155//                   http://www.php.net/manual/en/function.date.php
156//                   Defaults to "j M Y H:i:s" [e.g., "1 Jan 2012 00:00:00"]
157//                   or "j M Y g:i:sa" [e.g., "1 Jan 2012 12:00:00am"].
158//   dateFormatLong  Format for displaying long dates. Defaults to
159//                   "l " + dateFormat [e.g., "Tuesday 1 Jan 2012 12:00:00am"].
160//   timestampFormat Format for displaying paper timestamps. Defaults to
161//                   dateFormat.
162//   dateFormatSimplifier Regular expression used to simplify dates. The
163//                   default removes ":00" from the ends of dates.
164//   dateFormatTimezone Timezone abbreviation used to print dates. Defaults to
165//                   the system's timezone abbreviation.
166
167
168// DISPLAY CUSTOMIZATION OPTIONS
169//
170//   favicon         Link to favicon. Default is images/review24.png.
171//   stylesheets     Array of additional stylesheet filenames/URIs to be
172//                   included after "style.css". Example: array("x.css").
173//   fontScript      HTML added to <head> before stylesheets.
174//   extraFooter     Extra HTML text shown at the bottom of every page, before
175//                   the HotCRP link. If set, should generally end with
176//                   " <span class='barsep'>|</span> ".
177//   assetsUrl       URL prefix for assets (stylesheets/, scripts/, images/).
178//                   Defaults to the conference installation.
179//   scriptAssetsUrl URL prefix for script assets. Defaults to assetsURL,
180//                   except for browsers known to ignore `crossorigin`, where
181//                   it defaults to the conference installation.
182//   jqueryUrl       URL for jQuery. Defaults to the local minified jquery.
183//   jqueryCdn       If true, use the jQuery CDN.
184//   redirectToHttps If set to true, then HotCRP will redirect all http
185//                   connections to https.
186//   allowLocalHttp  Only meaningful if redirectToHttps is set. If true, then
187//                   HotCRP will *not* redirect http connections that
188//                   originate from localhost.
189
190
191// BEHAVIOR OPTIONS
192//
193//   sortByLastName  Set to true to sort users by last name.
194//   smartScoreCompare Set to true if a search like "ovemer:>B" should search
195//                   for scores better than B (i.e., A), rather than scores
196//                   alphabetically after B (i.e., C or D).
197//   noFooterVersion Set to true to avoid a version comment in footer HTML.
198//   strictJavascript  If true, send Javascript with "use strict".
199//   hideManager     If set, PC members are not shown paper managers.
200//   disableCapabilities If set, emails to authors will not have a
201//                   token enabling them to view their papers without logging in.
202
203$Opt["smartScoreCompare"] = true;
204
205
206// EXTERNAL SOFTWARE CONFIGURATION
207//
208//   dbHost          Database host. Defaults to localhost.
209//   dsn             Database configuration string in the format
210//                   "mysql://DBUSER:DBPASSWORD@DBHOST/DBNAME".
211//                   The default is derived from $Opt["dbName"], etc.
212//   sessionName     Internal name used to distinguish conference sessions
213//                   running on the same server. NO SPACES ALLOWED. Defaults
214//                   to $Opt["dbName"].
215//   sessionLifetime Number of seconds a user may be idle before their session
216//                   is garbage collected and they must log in again. Defaults
217//                   to 86400 (24 hours). Should be less than or equal to the
218//                   system-wide setting for `session.gc_maxlifetime` in
219//                   the PHP initialization file, `php.ini`.
220//   sessionSecure   If true, then set the session cookie only on secure
221//                   connections. Defaults to false.
222//   sessionDomain   The domain scope for the session cookie. Defaults to the
223//                   server's domain. To share a cookie across subdomains,
224//                   prefix it with a dot: ".hotcrp.com".
225//   memoryLimit     Maximum amount of memory a PHP script can use. Defaults
226//                   to 128MB.
227//   pdftohtml       Pathname to pdftohtml executable (used only by the "banal"
228//                   paper format checker).
229//   banalLimit      Limit on number of parallel paper format checker
230//                   executions. Defaults to 8.
231//   zipCommand      Set to the path to the `zip` executable. Defaults to
232//                   `zip`.
233