39 #ifdef ENABLE_CACHE_FILE
42 #ifdef ENABLE_CACHE_MYSQL
57 #ifdef ENABLE_CACHE_FILE
60 #ifdef ENABLE_CACHE_MYSQL
169 memcpy(new->order, add->order,
sizeof(add->order));
170 memcpy(new->fields, add->fields,
sizeof(add->fields));
171 new->title = add->title;
173 new->iceserver = add->iceserver;
174 new->cookie_life = add->cookie_life;
175 new->rss_items = add->rss_items;
176 new->dir_per_line = add->dir_per_line;
177 new->cache = add->cache;
178 new->cache_setup = add->cache_setup;
183 memcpy(new->order, add->order,
sizeof(add->order));
185 memcpy(new->order, base->order,
sizeof(base->order));
188 memcpy(new->fields, add->fields,
sizeof(add->fields));
190 memcpy(new->fields, base->fields,
sizeof(base->fields));
192 new->title = (add->sets &
CF_TITLE) ? add->title : base->title;
193 new->css = (add->sets &
CF_CSS) ? add->css : base->css;
194 new->iceserver = (add->sets &
CF_ICES) ? add->iceserver : base->iceserver;
195 new->cookie_life = (add->sets &
CF_CKLF) ? add->cookie_life : base->cookie_life;
196 new->rss_items = (add->sets &
CF_RSS) ? add->rss_items : base->rss_items;
197 new->dir_per_line = (add->sets &
CF_DPL) ? add->dir_per_line : base->dir_per_line;
200 new->cache = add->cache;
201 new->cache_setup = add->cache_setup;
203 new->cache = base->cache;
204 new->cache_setup = base->cache_setup;
208 new->options = base->options | add->options;
209 new->options &= ~(base->options_not | add->options_not);
211 new->options_not = base->options_not | add->options_not;
212 new->options_not &= ~(base->options | add->options);
223 static const struct {
244 static unsigned short sort_or_fields(cmd_parms *cmd,
unsigned char * restrict list,
const char *optstr)
247 register unsigned short i = 0, j;
249 while (optstr[0] && (i <
SB_MAX)) {
250 r = ap_getword_conf(cmd->temp_pool, &optstr);
251 for (j=0;
options[j].string; j++) {
252 if (!strcasecmp(r,
options[j].
string)) {
263 static const char *
sort_order(cmd_parms *cmd,
void *d,
const char *optstr)
272 static const char *
set_fields(cmd_parms *cmd,
void *d,
const char *optstr)
291 static const char *
basic_config(cmd_parms *cmd,
void *d,
const char *optstr)
296 while (optstr[0] !=
'\0') {
298 unsigned short flag = 0;
299 r = ap_getword_conf(cmd->temp_pool, &optstr);
305 }
else if (*r ==
'+') {
310 if (strcmp(r,
"On") == 0) {
313 }
else if (strcmp(r,
"Off") == 0) {
316 }
else if (strcmp(r,
"Stream") == 0) {
318 }
else if (strcmp(r,
"Download") == 0) {
320 }
else if (strcmp(r,
"Search") == 0) {
322 #ifdef ENABLE_OUTPUT_ARCHIVE
323 }
else if (strcmp(r,
"Tarball") == 0) {
326 }
else if (strcmp(r,
"Rss") == 0) {
360 static const char *
set_cache_uri(cmd_parms *cmd,
void *d,
const char *optstr)
365 for (i = 0; (ret != 0) && (
cache_setups[i] != NULL); i++)
386 if ((optstr == NULL) || (optstr[0] ==
'\0'))
478 static const char *
set_display(cmd_parms *cmd,
void *d,
const char *optstr)
481 if (strcmp(optstr,
"RSS") == 0) {
489 else if (strcmp(optstr,
"HTML") == 0) {
501 "can be : On/Off +/-Stream +/-Download +/-Search +/-Rss"),
503 "can be : title album artist track disc length bitrate filetype genre filename date uri"),
505 "can be : title album artist track disc length bitrate filetype genre filename date"),
507 "Set the cache configuration string"),
509 "Set the root title of the page."),
511 "Set the icecast server address : [server.domain.org]:8000"),
513 "Set the default CSS file"),
515 "Set the lifetime (in seconds) of the cookie sent for custom playlists"),
517 "Set the default display returned by the module (HTML or RSS)"),
519 "Set the number of directories per line in the directory listing"),