$error_msg_array = array(); // Text captcha class $text_captcha = new captcha(6, 15, 25, 9, 30); // Array of valid periods for the unread cutoff $unread_cutoff_periods = array(UNREAD_MESSAGES_DISABLED => gettext("Disable unread messages"), THIRTY_DAYS_IN_SECONDS => gettext("30 Days"), SIXTY_DAYS_IN_SECONDS => gettext("60 Days"), NINETY_DAYS_IN_SECONDS => gettext("90 Days"), HUNDRED_EIGHTY_DAYS_IN_SECONDS => gettext("180 Days"), YEAR_IN_SECONDS => gettext("1 year")); // Array of valid periods for the sitemap frequency $sitemap_freq_periods = array(DAY_IN_SECONDS => gettext("Once a day"), WEEK_IN_SECONDS => gettext("Once a Week")); // Array of valid Google Adsense ad user account types $adsense_user_type_array = array(ADSENSE_DISPLAY_NONE => gettext("No-one (disabled)"), ADSENSE_DISPLAY_ALL_USERS => gettext("All Users"), ADSENSE_DISPLAY_GUESTS => gettext("Guests only")); // Array of valid Google Adsense ad page types $adsense_page_type_array = array(ADSENSE_DISPLAY_TOP_OF_ALL_PAGES => gettext("Top of every page"), ADSENSE_DISPLAY_TOP_OF_MESSAGES => gettext("Top of messages"), ADSENSE_DISPLAY_BOTTOM_OF_ALL_PAGES => gettext("Bottom of every page"), ADSENSE_DISPLAY_BOTTOM_OF_MESSAGES => gettext("Bottom of messages"), ADSENSE_DISPLAY_ONCE_AFTER_NTH_MSG => gettext("Once only after the nth post"), ADSENSE_DISPLAY_AFTER_EVERY_NTH_MSG => gettext("After every nth post"), ADSENSE_DISPLAY_AFTER_RANDOM_MSG => gettext("Once after a random post")); $mail_functions_array = array(MAIL_FUNCTION_PHP => gettext("Use PHP mail function"), MAIL_FUNCTION_SMTP => gettext("Use SMTP Server"), MAIL_FUNCTION_SENDMAIL => gettext("Use Sendmail")); // Array of valid attachment thumbnail methods. $attachment_thumbnail_methods = array(ATTACHMENT_THUMBNAIL_IMAGEMAGICK => gettext("Use Imagemagick"), ATTACHMENT_THUMBNAIL_PHPGD => gettext("Use PHP GD library")); // Get the global forum settings $forum_global_settings = forum_get_global_settings(); // Submit code. if (isset($_POST['save']) || isset($_POST['confirm_unread_cutoff']) || isset($_POST['cancel_unread_cutoff'])) { $valid = true; if (isset($_POST['cancel_unread_cutoff'])) { unset($_POST['messages_unread_cutoff']); } if (isset($_POST['forum_name']) && strlen(trim($_POST['forum_name'])) > 0) { $new_forum_settings['forum_name'] = trim($_POST['forum_name']); } else { $error_msg_array[] = gettext("You must supply a forum name"); $valid = false; } if (isset($_POST['forum_desc']) && strlen(trim($_POST['forum_desc'])) > 0) { $new_forum_settings['forum_desc'] = trim($_POST['forum_desc']); } else {
function forum_get_global_setting($setting_name, $callback = null, $default = null) { $forum_global_settings = forum_get_global_settings(); if (!is_array($forum_global_settings) || !isset($forum_global_settings[$setting_name])) { return $default; } if (function_exists($callback) && is_callable($callback)) { return $callback($forum_global_settings[$setting_name]) ? $forum_global_settings[$setting_name] : $default; } else { if (is_scalar($callback)) { return mb_strtoupper($forum_global_settings[$setting_name]) == mb_strtoupper($callback); } } return $forum_global_settings[$setting_name]; }
function forum_get_settings_by_fid($fid, $include_global_settings = true) { if (!($db_forum_get_settings_by_fid = db_connect())) { return false; } if (!is_numeric($fid)) { return false; } $forum_settings_array = array('fid' => $fid); $sql = "SELECT WEBTAG, ACCESS_LEVEL FROM FORUMS WHERE FID = '{$fid}'"; if (!($result = db_query($sql, $db_forum_get_settings_by_fid))) { return false; } list($webtag, $access_level) = db_fetch_array($result, DB_RESULT_NUM); $forum_settings_array['webtag'] = $webtag; $forum_settings_array['access_level'] = $access_level; $sql = "SELECT SNAME, SVALUE FROM FORUM_SETTINGS WHERE FID = '{$fid}'"; if (!($result = db_query($sql, $db_forum_get_settings_by_fid))) { return false; } while ($forum_data = db_fetch_array($result)) { $forum_settings_array[$forum_data['SNAME']] = $forum_data['SVALUE']; } $sql = "SELECT FORUM_SETTINGS.SVALUE AS TIMEZONE, TIMEZONES.GMT_OFFSET, "; $sql .= "TIMEZONES.DST_OFFSET FROM FORUM_SETTINGS FORUM_SETTINGS "; $sql .= "LEFT JOIN TIMEZONES ON (TIMEZONES.TZID = FORUM_SETTINGS.SVALUE) "; $sql .= "WHERE FORUM_SETTINGS.SNAME = 'forum_timezone' "; $sql .= "AND FID = '{$fid}'"; if (!($result = db_query($sql, $db_forum_get_settings_by_fid))) { return false; } list($timezone, $gmt_offset, $dst_offset) = db_fetch_array($result, DB_RESULT_NUM); $forum_settings_array['forum_timezone'] = $timezone; $forum_settings_array['forum_gmt_offset'] = $gmt_offset; $forum_settings_array['forum_dst_offset'] = $dst_offset; if ($include_global_settings === true) { $forum_global_settings = forum_get_global_settings(); return array_merge($forum_global_settings, $forum_settings_array); } return $forum_settings_array; }