Chris@76: Chris@76:
Chris@76:

'; Chris@76: Chris@76: if ($context['user']['is_admin']) Chris@76: echo ' Chris@76: Chris@76:
Chris@76: Chris@76: Chris@76: Chris@76: Chris@76:
Chris@76:
'; Chris@76: Chris@76: echo $txt['admin_center'], ' Chris@76:

Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['hello_guest'], ' ', $context['user']['name'], '! Chris@76: ', sprintf($txt['admin_main_welcome'], $txt['admin_center'], $txt['help'], $txt['help']), ' Chris@76:
Chris@76:
Chris@76: '; Chris@76: Chris@76: // Is there an update available? Chris@76: echo ' Chris@76:
'; Chris@76: Chris@76: echo ' Chris@76:
'; Chris@76: Chris@76: // Display the "live news" from simplemachines.org. Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:

Chris@76: ', $txt['help'], ' ', $txt['live'], ' Chris@76:

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
', $txt['lfyi'], '
Chris@76:
Chris@76: Chris@76:
Chris@76:
'; Chris@76: Chris@76: // Show the user version information from their server. Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:

Chris@76: ', $txt['support_title'], ' Chris@76:

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['support_versions'], ':
Chris@76: ', $txt['support_versions_forum'], ': Chris@76: ', $context['forum_version'], '
Chris@76: ', $txt['support_versions_current'], ': Chris@76: ??
Chris@76: ', $context['can_admin'] ? '' . $txt['version_check_more'] . '' : '', '
'; Chris@76: Chris@76: // Display all the members who can administrate the forum. Chris@76: echo ' Chris@76:
Chris@76: ', $txt['administrators'], ': Chris@76: ', implode(', ', $context['administrators']); Chris@76: // If we have lots of admins... don't show them all. Chris@76: if (!empty($context['more_admins_link'])) Chris@76: echo ' Chris@76: (', $context['more_admins_link'], ')'; Chris@76: Chris@76: echo ' Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76:
'; Chris@76: Chris@76: echo ' Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76:
'; Chris@76: Chris@76: // The below functions include all the scripts needed from the simplemachines.org site. The language and format are passed for internationalization. Chris@76: if (empty($modSettings['disable_smf_js'])) Chris@76: echo ' Chris@76: Chris@76: '; Chris@76: Chris@76: // This sets the announcements and current versions themselves ;). Chris@76: echo ' Chris@76: Chris@76: '; Chris@76: } Chris@76: Chris@76: // Show some support information and credits to those who helped make this. Chris@76: function template_credits() Chris@76: { Chris@76: global $context, $settings, $options, $scripturl, $txt; Chris@76: Chris@76: // Show the user version information from their server. Chris@76: echo ' Chris@76: Chris@76:
Chris@76:
Chris@76:

Chris@76: ', $txt['support_title'], ' Chris@76:

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76: ', $txt['support_versions'], ':
Chris@76: ', $txt['support_versions_forum'], ': Chris@76: ', $context['forum_version'], '', $context['can_admin'] ? ' ' . $txt['version_check_more'] . '' : '', '
Chris@76: ', $txt['support_versions_current'], ': Chris@76: ??
'; Chris@76: Chris@76: // Display all the variables we have server information for. Chris@76: foreach ($context['current_versions'] as $version) Chris@76: echo ' Chris@76: ', $version['title'], ': Chris@76: ', $version['version'], '
'; Chris@76: Chris@76: echo ' Chris@76:
Chris@76: Chris@76:
Chris@76: '; Chris@76: Chris@76: // Point the admin to common support resources. Chris@76: echo ' Chris@76:
Chris@76:

Chris@76: ', $txt['support_resources'], ' Chris@76:

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

', $txt['support_resources_p1'], '

Chris@76:

', $txt['support_resources_p2'], '

Chris@76:
Chris@76: Chris@76:
'; Chris@76: Chris@76: // Display latest support questions from simplemachines.org. Chris@76: echo ' Chris@76:
Chris@76:

Chris@76: ', $txt['help'], ' ', $txt['support_latest'], ' Chris@76:

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
', $txt['support_latest_fetch'], '
Chris@76:
Chris@76: Chris@76:
'; Chris@76: Chris@76: // The most important part - the credits :P. Chris@76: echo ' Chris@76:
Chris@76:

Chris@76: ', $txt['admin_credits'], ' Chris@76:

Chris@76:
Chris@76:
Chris@76: Chris@76:
'; Chris@76: Chris@76: foreach ($context['credits'] as $section) Chris@76: { Chris@76: if (isset($section['pretext'])) Chris@76: echo ' Chris@76:

', $section['pretext'], '

'; Chris@76: Chris@76: echo ' Chris@76:
'; Chris@76: Chris@76: foreach ($section['groups'] as $group) Chris@76: { Chris@76: if (isset($group['title'])) Chris@76: echo ' Chris@76:
Chris@76: ', $group['title'], ': Chris@76:
'; Chris@76: Chris@76: echo ' Chris@76:
', implode(', ', $group['members']), '
'; Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
'; Chris@76: Chris@76: if (isset($section['posttext'])) Chris@76: echo ' Chris@76:

', $section['posttext'], '

'; Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76:
'; Chris@76: Chris@76: // This makes all the support information available to the support script... Chris@76: echo ' Chris@76: Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: // This sets the latest support stuff. Chris@76: echo ' Chris@76: '; Chris@76: } Chris@76: Chris@76: // Displays information about file versions installed, and compares them to current version. Chris@76: function template_view_versions() Chris@76: { Chris@76: global $context, $settings, $options, $scripturl, $txt; Chris@76: Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:

Chris@76: ', $txt['admin_version_check'], ' Chris@76:

Chris@76:
Chris@76:
', $txt['version_check_desc'], '
Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: // The current version of the core SMF package. Chris@76: echo ' Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: // Now list all the source file versions, starting with the overall version (if all match!). Chris@76: echo ' Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76:
Chris@76: ', $txt['admin_smffile'], ' Chris@76: Chris@76: ', $txt['dvc_your'], ' Chris@76: Chris@76: ', $txt['dvc_current'], ' Chris@76:
Chris@76: ', $txt['admin_smfpackage'], ' Chris@76: Chris@76: ', $context['forum_version'], ' Chris@76: Chris@76: ?? Chris@76:
Chris@76: ', $txt['dvc_sources'], ' Chris@76: Chris@76: ?? Chris@76: Chris@76: ?? Chris@76:
Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: // Loop through every source file displaying its version - using javascript. Chris@76: foreach ($context['file_versions'] as $filename => $version) Chris@76: echo ' Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: // Default template files. Chris@76: echo ' Chris@76: Chris@76:
Chris@76: ', $filename, ' Chris@76: Chris@76: ', $version, ' Chris@76: Chris@76: ?? Chris@76:
Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76:
Chris@76: ', $txt['dvc_default'], ' Chris@76: Chris@76: ?? Chris@76: Chris@76: ?? Chris@76:
Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: foreach ($context['default_template_versions'] as $filename => $version) Chris@76: echo ' Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: // Now the language files... Chris@76: echo ' Chris@76: Chris@76:
Chris@76: ', $filename, ' Chris@76: Chris@76: ', $version, ' Chris@76: Chris@76: ?? Chris@76:
Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76:
Chris@76: ', $txt['dvc_languages'], ' Chris@76: Chris@76: ?? Chris@76: Chris@76: ?? Chris@76:
Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: foreach ($context['default_language_versions'] as $language => $files) Chris@76: { Chris@76: foreach ($files as $filename => $version) Chris@76: echo ' Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: '; Chris@76: } Chris@76: Chris@76: echo ' Chris@76: Chris@76:
Chris@76: ', $filename, '.', $language, '.php Chris@76: Chris@76: ', $version, ' Chris@76: Chris@76: ?? Chris@76:
'; Chris@76: Chris@76: // Finally, display the version information for the currently selected theme - if it is not the default one. Chris@76: if (!empty($context['template_versions'])) Chris@76: { Chris@76: echo ' Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76:
Chris@76: ', $txt['dvc_templates'], ' Chris@76: Chris@76: ?? Chris@76: Chris@76: ?? Chris@76:
Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: foreach ($context['template_versions'] as $filename => $version) Chris@76: echo ' Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: echo ' Chris@76: Chris@76:
Chris@76: ', $filename, ' Chris@76: Chris@76: ', $version, ' Chris@76: Chris@76: ?? Chris@76:
'; Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
Chris@76:
'; Chris@76: Chris@76: /* Below is the hefty javascript for this. Upon opening the page it checks the current file versions with ones Chris@76: held at simplemachines.org and works out if they are up to date. If they aren't it colors that files number Chris@76: red. It also contains the function, swapOption, that toggles showing the detailed information for each of the Chris@76: file categories. (sources, languages, and templates.) */ Chris@76: echo ' Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: } Chris@76: Chris@76: // Form for stopping people using naughty words, etc. Chris@76: function template_edit_censored() Chris@76: { Chris@76: global $context, $settings, $options, $scripturl, $txt, $modSettings; Chris@76: Chris@76: // First section is for adding/removing words from the censored list. Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:
Chris@76:

Chris@76: ', $txt['admin_censored_words'], ' Chris@76:

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

', $txt['admin_censored_where'], '

'; Chris@76: Chris@76: // Show text boxes for censoring [bad ] => [good ]. Chris@76: foreach ($context['censored_words'] as $vulgar => $proper) Chris@76: echo ' Chris@76:
=>
'; Chris@76: Chris@76: // Now provide a way to censor more words. Chris@76: echo ' Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76:
'; Chris@76: Chris@76: // This table lets you test out your filters by typing in rude words and seeing what comes out. Chris@76: echo ' Chris@76:
Chris@76:

Chris@76: ', $txt['censor_test'], ' Chris@76:

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

Chris@76: Chris@76: Chris@76:

Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76: Chris@76:
Chris@76:
Chris@76:
'; Chris@76: } Chris@76: Chris@76: // Maintenance is a lovely thing, isn't it? Chris@76: function template_not_done() Chris@76: { Chris@76: global $context, $settings, $options, $txt, $scripturl; Chris@76: Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:

Chris@76: ', $txt['not_done_title'], ' Chris@76:

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76: ', $txt['not_done_reason']; Chris@76: Chris@76: if (!empty($context['continue_percent'])) Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:
', $context['continue_percent'], '%
Chris@76:
 
Chris@76:
Chris@76:
'; Chris@76: Chris@76: if (!empty($context['substep_enabled'])) Chris@76: echo ' Chris@76:
Chris@76: ', $context['substep_title'], ' Chris@76:
Chris@76:
', $context['substep_continue_percent'], '%
Chris@76:
 
Chris@76:
Chris@76:
'; Chris@76: Chris@76: echo ' Chris@76:
Chris@76:
Chris@76: ', $context['continue_post_data'], ' Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76:
Chris@76: '; Chris@76: } Chris@76: Chris@76: // Template for showing settings (Of any kind really!) Chris@76: function template_show_settings() Chris@76: { Chris@76: global $context, $txt, $settings, $scripturl; Chris@76: Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: if (!empty($context['settings_insert_above'])) Chris@76: echo $context['settings_insert_above']; Chris@76: Chris@76: echo ' Chris@76:
Chris@76:
'; Chris@76: Chris@76: // Is there a custom title? Chris@76: if (isset($context['settings_title'])) Chris@76: echo ' Chris@76:
Chris@76:

Chris@76: ', $context['settings_title'], ' Chris@76:

Chris@76:
'; Chris@76: Chris@76: // Have we got some custom code to insert? Chris@76: if (!empty($context['settings_message'])) Chris@76: echo ' Chris@76:
', $context['settings_message'], '
'; Chris@76: Chris@76: // Now actually loop through all the variables. Chris@76: $is_open = false; Chris@76: foreach ($context['config_vars'] as $config_var) Chris@76: { Chris@76: // Is it a title or a description? Chris@76: if (is_array($config_var) && ($config_var['type'] == 'title' || $config_var['type'] == 'desc')) Chris@76: { Chris@76: // Not a list yet? Chris@76: if ($is_open) Chris@76: { Chris@76: $is_open = false; Chris@76: echo ' Chris@76: Chris@76:
Chris@76: Chris@76: '; Chris@76: } Chris@76: Chris@76: // A title? Chris@76: if ($config_var['type'] == 'title') Chris@76: { Chris@76: echo ' Chris@76:
Chris@76:

Chris@76: ', ($config_var['help'] ? '' . $txt['help'] . '' : ''), ' Chris@76: ', $config_var['label'], ' Chris@76:

Chris@76:
'; Chris@76: } Chris@76: // A description? Chris@76: else Chris@76: { Chris@76: echo ' Chris@76:

Chris@76: ', $config_var['label'], ' Chris@76:

'; Chris@76: } Chris@76: Chris@76: continue; Chris@76: } Chris@76: Chris@76: // Not a list yet? Chris@76: if (!$is_open) Chris@76: { Chris@76: $is_open = true; Chris@76: echo ' Chris@76:
Chris@76: Chris@76:
Chris@76:
'; Chris@76: } Chris@76: Chris@76: // Hang about? Are you pulling my leg - a callback?! Chris@76: if (is_array($config_var) && $config_var['type'] == 'callback') Chris@76: { Chris@76: if (function_exists('template_callback_' . $config_var['name'])) Chris@76: call_user_func('template_callback_' . $config_var['name']); Chris@76: Chris@76: continue; Chris@76: } Chris@76: Chris@76: if (is_array($config_var)) Chris@76: { Chris@76: // First off, is this a span like a message? Chris@76: if (in_array($config_var['type'], array('message', 'warning'))) Chris@76: { Chris@76: echo ' Chris@76: Chris@76: ', $config_var['label'], ' Chris@76: '; Chris@76: } Chris@76: // Otherwise it's an input box of some kind. Chris@76: else Chris@76: { Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: // Some quick helpers... Chris@76: $javascript = $config_var['javascript']; Chris@76: $disabled = !empty($config_var['disabled']) ? ' disabled="disabled"' : ''; Chris@76: $subtext = !empty($config_var['subtext']) ? '
' . $config_var['subtext'] . '' : ''; Chris@76: Chris@76: // Show the [?] button. Chris@76: if ($config_var['help']) Chris@76: echo ' Chris@76: ', $txt['help'], '', $subtext, ($config_var['type'] == 'password' ? '
' . $txt['admin_confirm_password'] . '' : ''), ' Chris@76: '; Chris@76: else Chris@76: echo ' Chris@76: ', $subtext, ($config_var['type'] == 'password' ? '
' . $txt['admin_confirm_password'] . '' : ''), ' Chris@76: '; Chris@76: Chris@76: echo ' Chris@76: ', Chris@76: $config_var['preinput']; Chris@76: Chris@76: // Show a check box. Chris@76: if ($config_var['type'] == 'check') Chris@76: echo ' Chris@76: '; Chris@76: // Escape (via htmlspecialchars.) the text box. Chris@76: elseif ($config_var['type'] == 'password') Chris@76: echo ' Chris@76:
Chris@76: '; Chris@76: // Show a selection box. Chris@76: elseif ($config_var['type'] == 'select') Chris@76: { Chris@76: echo ' Chris@76: '; Chris@76: } Chris@76: // Text area? Chris@76: elseif ($config_var['type'] == 'large_text') Chris@76: echo ' Chris@76: '; Chris@76: // Permission group? Chris@76: elseif ($config_var['type'] == 'permissions') Chris@76: theme_inline_permissions($config_var['name']); Chris@76: // BBC selection? Chris@76: elseif ($config_var['type'] == 'bbc') Chris@76: { Chris@76: echo ' Chris@76:
Chris@76: ', $txt['bbcTagsToUse_select'], ' Chris@76:
    '; Chris@76: Chris@76: foreach ($context['bbc_columns'] as $bbcColumn) Chris@76: { Chris@76: foreach ($bbcColumn as $bbcTag) Chris@76: echo ' Chris@76:
  • Chris@76: ', $bbcTag['show_help'] ? ' (?)' : '', ' Chris@76:
  • '; Chris@76: } Chris@76: echo '
Chris@76: Chris@76:
'; Chris@76: } Chris@76: // A simple message? Chris@76: elseif ($config_var['type'] == 'var_message') Chris@76: echo ' Chris@76: ', $config_var['var_message'], '
'; Chris@76: // Assume it must be a text box. Chris@76: else Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: echo isset($config_var['postinput']) ? ' Chris@76: ' . $config_var['postinput'] : '', Chris@76: ''; Chris@76: } Chris@76: } Chris@76: Chris@76: else Chris@76: { Chris@76: // Just show a separator. Chris@76: if ($config_var == '') Chris@76: echo ' Chris@76: Chris@76:
Chris@76:
'; Chris@76: else Chris@76: echo ' Chris@76:
Chris@76: ' . $config_var . ' Chris@76:
'; Chris@76: } Chris@76: } Chris@76: Chris@76: if ($is_open) Chris@76: echo ' Chris@76:
'; Chris@76: Chris@76: if (empty($context['settings_save_dont_show'])) Chris@76: echo ' Chris@76:
Chris@76:
Chris@76: Chris@76:
'; Chris@76: Chris@76: if ($is_open) Chris@76: echo ' Chris@76:
Chris@76: Chris@76: '; Chris@76: Chris@76: echo ' Chris@76: Chris@76: Chris@76: Chris@76:
'; Chris@76: Chris@76: if (!empty($context['settings_post_javascript'])) Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: if (!empty($context['settings_insert_below'])) Chris@76: echo $context['settings_insert_below']; Chris@76: } Chris@76: Chris@76: // Template for showing custom profile fields. Chris@76: function template_show_custom_profile() Chris@76: { Chris@76: global $context, $txt, $settings, $scripturl; Chris@76: Chris@76: // Standard fields. Chris@76: template_show_list('standard_profile_fields'); Chris@76: Chris@76: echo ' Chris@76:
'; Chris@76: Chris@76: // Custom fields. Chris@76: template_show_list('custom_profile_fields'); Chris@76: } Chris@76: Chris@76: // Edit a profile field? Chris@76: function template_edit_profile_field() Chris@76: { Chris@76: global $context, $txt, $settings, $scripturl; Chris@76: Chris@76: // All the javascript for this page - quite a bit! Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:
Chris@76:

Chris@76: ', $context['page_title'], ' Chris@76:

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['custom_edit_general'], ' Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['custom_edit_name'], ': Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['custom_edit_desc'], ': Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['custom_edit_profile'], ':
Chris@76: ', $txt['custom_edit_profile_desc'], ' Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['custom_edit_registration'], ': Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['custom_edit_display'], ': Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76: ', $txt['custom_edit_placement'], ': Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['help'], ' Chris@76: ', $txt['custom_edit_enclose'], ':
Chris@76: ', $txt['custom_edit_enclose_desc'], ' Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76:
Chris@76:
Chris@76: ', $txt['custom_edit_input'], ' Chris@76:
Chris@76:
Chris@76: ', $txt['custom_edit_picktype'], ': Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['custom_edit_max_length'], ':
Chris@76: ', $txt['custom_edit_max_length_desc'], ' Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['custom_edit_dimension'], ': Chris@76:
Chris@76:
Chris@76: ', $txt['custom_edit_dimension_row'], ': Chris@76: ', $txt['custom_edit_dimension_col'], ': Chris@76:
Chris@76:
Chris@76: ', $txt['custom_edit_bbc'], ' Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['help'], ' Chris@76: ', $txt['custom_edit_options'], ':
Chris@76: ', $txt['custom_edit_options_desc'], ' Chris@76:
Chris@76:
Chris@76:
'; Chris@76: Chris@76: foreach ($context['field']['options'] as $k => $option) Chris@76: { Chris@76: echo ' Chris@76: ', $k == 0 ? '' : '
', ''; Chris@76: } Chris@76: echo ' Chris@76: Chris@76: [', $txt['custom_edit_options_more'], '] Chris@76:
Chris@76:
Chris@76:
Chris@76: ', $txt['custom_edit_default'], ': Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76:
Chris@76:
Chris@76: ', $txt['custom_edit_advanced'], ' Chris@76:
Chris@76:
Chris@76: ', $txt['help'], ' Chris@76: ', $txt['custom_edit_mask'], ':
Chris@76: ', $txt['custom_edit_mask_desc'], ' Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76: Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['custom_edit_privacy'], ': Chris@76: ', $txt['custom_edit_privacy_desc'], ' Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['custom_edit_can_search'], ':
Chris@76: ', $txt['custom_edit_can_search_desc'], ' Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['custom_edit_active'], ':
Chris@76: ', $txt['custom_edit_active_desc'], ' Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76:
Chris@76:
Chris@76: '; Chris@76: Chris@76: if ($context['fid']) Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: echo ' Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76:
'; Chris@76: Chris@76: // Get the javascript bits right! Chris@76: echo ' Chris@76: '; Chris@76: } Chris@76: Chris@76: // Results page for an admin search. Chris@76: function template_admin_search_results() Chris@76: { Chris@76: global $context, $txt, $settings, $options, $scripturl; Chris@76: Chris@76: echo ' Chris@76:
Chris@76:

Chris@76: Chris@76:
Chris@76: Chris@76: Chris@76: Chris@76:
Chris@76:
Chris@76:  ', sprintf($txt['admin_search_results_desc'], $context['search_term']), ' Chris@76:

Chris@76:
Chris@76:
Chris@76: Chris@76:
'; Chris@76: Chris@76: if (empty($context['search_results'])) Chris@76: { Chris@76: echo ' Chris@76:

', $txt['admin_search_results_none'], '

'; Chris@76: } Chris@76: else Chris@76: { Chris@76: echo ' Chris@76:
    '; Chris@76: foreach ($context['search_results'] as $result) Chris@76: { Chris@76: // Is it a result from the online manual? Chris@76: if ($context['search_type'] == 'online') Chris@76: { Chris@76: echo ' Chris@76:
  1. Chris@76:

    Chris@76: ', $result['messages'][0]['subject'], ' Chris@76:
    ', $result['category']['name'], '  /  Chris@76: ', $result['board']['name'], ' / Chris@76:

    Chris@76:

    Chris@76: ', $result['messages'][0]['body'], ' Chris@76:

    Chris@76:
  2. '; Chris@76: } Chris@76: // Otherwise it's... not! Chris@76: else Chris@76: { Chris@76: echo ' Chris@76:
  3. Chris@76: ', $result['name'], ' [', isset($txt['admin_search_section_' . $result['type']]) ? $txt['admin_search_section_' . $result['type']] : $result['type'] , ']'; Chris@76: Chris@76: if ($result['help']) Chris@76: echo ' Chris@76:

    ', $result['help'], '

    '; Chris@76: Chris@76: echo ' Chris@76:
  4. '; Chris@76: } Chris@76: } Chris@76: echo ' Chris@76:
'; Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
Chris@76: Chris@76:
Chris@76:
'; Chris@76: } Chris@76: Chris@76: // Turn on and off certain key features. Chris@76: function template_core_features() Chris@76: { Chris@76: global $context, $txt, $settings, $options, $scripturl; Chris@76: Chris@76: echo ' Chris@76: Chris@76:
'; Chris@76: if ($context['is_new_install']) Chris@76: { Chris@76: echo ' Chris@76:
Chris@76:

Chris@76: ', $txt['core_settings_welcome_msg'], ' Chris@76:

Chris@76:
Chris@76:
Chris@76: ', $txt['core_settings_welcome_msg_desc'], ' Chris@76:
'; Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:

Chris@76: ', $txt['core_settings_title'], ' Chris@76:

Chris@76:
'; Chris@76: Chris@76: $alternate = true; Chris@76: foreach ($context['features'] as $id => $feature) Chris@76: { Chris@76: echo ' Chris@76:
Chris@76: Chris@76:
Chris@76: ', $feature['title'], ' Chris@76: Chris@76:

', ($feature['enabled'] && $feature['url'] ? '' . $feature['title'] . '' : $feature['title']), '

Chris@76:

', $feature['desc'], '

Chris@76:
Chris@76: Chris@76: Chris@76:
Chris@76:
Chris@76: Chris@76:
'; Chris@76: Chris@76: $alternate = !$alternate; Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
Chris@76: Chris@76: Chris@76: Chris@76:
Chris@76:
Chris@76:
Chris@76:
'; Chris@76: Chris@76: // Turn on the pretty javascript if we can! Chris@76: echo ' Chris@76: '; Chris@76: } Chris@76: Chris@76: // Add a new language Chris@76: function template_add_language() Chris@76: { Chris@76: global $context, $settings, $options, $txt, $scripturl; Chris@76: Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:
Chris@76:

Chris@76: ', $txt['add_language'], ' Chris@76:

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['add_language_smf'], ' Chris@76: Chris@76: '; Chris@76: Chris@76: if (!empty($context['smf_error'])) Chris@76: echo ' Chris@76:
', $txt['add_language_error_' . $context['smf_error']], '
'; Chris@76: Chris@76: echo ' Chris@76: Chris@76:
Chris@76:
Chris@76: ', $context['browser']['is_ie'] ? ' ' : '', ' Chris@76: Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76: '; Chris@76: Chris@76: // Had some results? Chris@76: if (!empty($context['smf_languages'])) Chris@76: { Chris@76: echo ' Chris@76:
', $txt['add_language_smf_found'], '
Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: foreach ($context['smf_languages'] as $language) Chris@76: echo ' Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: echo ' Chris@76: Chris@76:
', $txt['name'], '', $txt['add_language_smf_desc'], '', $txt['add_language_smf_version'], '', $txt['add_language_smf_utf8'], '', $txt['add_language_smf_install'], '
', $language['name'], '', $language['description'], '', $language['version'], '', $language['utf8'] ? $txt['yes'] : $txt['no'], '', $txt['add_language_smf_install'], '
'; Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:
'; Chris@76: } Chris@76: Chris@76: // Download a new language file? Chris@76: function template_download_language() Chris@76: { Chris@76: global $context, $settings, $options, $txt, $scripturl, $modSettings; Chris@76: Chris@76: // Actually finished? Chris@76: if (!empty($context['install_complete'])) Chris@76: { Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:

Chris@76: ', $txt['languages_download_complete'], ' Chris@76:

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76: ', $context['install_complete'], ' Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76:
'; Chris@76: return; Chris@76: } Chris@76: Chris@76: // An error? Chris@76: if (!empty($context['error_message'])) Chris@76: echo ' Chris@76:
Chris@76:

', $context['error_message'], '

Chris@76:
'; Chris@76: Chris@76: // Provide something of an introduction... Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:
Chris@76:

Chris@76: ', $txt['languages_download'], ' Chris@76:

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

Chris@76: ', $txt['languages_download_note'], ' Chris@76:

Chris@76:
Chris@76: ', $txt['languages_download_info'], ' Chris@76:
Chris@76:
Chris@76: Chris@76:
'; Chris@76: Chris@76: // Show the main files. Chris@76: template_show_list('lang_main_files_list'); Chris@76: Chris@76: // Now, all the images and the likes, hidden via javascript 'cause there are so fecking many. Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:

Chris@76: ', $txt['languages_download_theme_files'], ' Chris@76:

Chris@76:
Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: foreach ($context['files']['images'] as $theme => $group) Chris@76: { Chris@76: $count = 0; Chris@76: echo ' Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: $alternate = false; Chris@76: foreach ($group as $file) Chris@76: { Chris@76: echo ' Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: '; Chris@76: $alternate = !$alternate; Chris@76: } Chris@76: } Chris@76: Chris@76: echo ' Chris@76: Chris@76:
Chris@76: ', $txt['languages_download_filename'], ' Chris@76: Chris@76: ', $txt['languages_download_writable'], ' Chris@76: Chris@76: ', $txt['languages_download_exists'], ' Chris@76: Chris@76: ', $txt['languages_download_copy'], ' Chris@76:
Chris@76: * ', isset($context['theme_names'][$theme]) ? $context['theme_names'][$theme] : $theme, ' Chris@76:
Chris@76: ', $file['name'], '
Chris@76: ', $txt['languages_download_dest'], ': ', $file['destination'], ' Chris@76:
Chris@76: ', ($file['writable'] ? $txt['yes'] : $txt['no']), ' Chris@76: Chris@76: ', $file['exists'] ? ($file['exists'] == 'same' ? $txt['languages_download_exists_same'] : $txt['languages_download_exists_different']) : $txt['no'], ' Chris@76: Chris@76: Chris@76:
'; Chris@76: Chris@76: // Do we want some FTP baby? Chris@76: if (!empty($context['still_not_writable'])) Chris@76: { Chris@76: if (!empty($context['package_ftp']['error'])) Chris@76: echo ' Chris@76:
Chris@76: ', $context['package_ftp']['error'], ' Chris@76:
'; Chris@76: Chris@76: echo ' Chris@76:
Chris@76:

Chris@76: ', $txt['package_ftp_necessary'], ' Chris@76:

Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:

', $txt['package_ftp_why'],'

Chris@76:
Chris@76:
', $txt['package_ftp_server'], ': Chris@76:
Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76:
Chris@76: Chris@76:
'; Chris@76: } Chris@76: Chris@76: // Install? Chris@76: echo ' Chris@76:
Chris@76: Chris@76: Chris@76:
Chris@76:
Chris@76:
Chris@76:
'; Chris@76: Chris@76: // The javascript for expand and collapse of sections. Chris@76: echo ' Chris@76: '; Chris@76: } Chris@76: Chris@76: // Edit some language entries? Chris@76: function template_modify_language_entries() Chris@76: { Chris@76: global $context, $settings, $options, $txt, $scripturl; Chris@76: Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:
Chris@76:

Chris@76: ', $txt['edit_languages'], ' Chris@76:

Chris@76:
'; Chris@76: Chris@76: // Not writable? Chris@76: if ($context['lang_file_not_writable_message']) Chris@76: echo ' Chris@76:
Chris@76:

', $context['lang_file_not_writable_message'], '

Chris@76:
'; Chris@76: Chris@76: echo ' Chris@76:
Chris@76: ', $txt['edit_language_entries_primary'], ' Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $context['primary_settings']['name'], ' Chris@76:
Chris@76:
Chris@76: ', $txt['languages_character_set'], ': Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['languages_locale'], ': Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['languages_dictionary'], ': Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['languages_spelling'], ': Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['languages_rtl'], ': Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76:
Chris@76:
Chris@76: Chris@76: '; Chris@76: Chris@76: // English can't be deleted. Chris@76: if ($context['lang_id'] != 'english') Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: echo ' Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76:

Chris@76: ', $txt['edit_language_entries'], ' Chris@76:

Chris@76:
Chris@76:
Chris@76: ', $txt['edit_language_entries_file'], ': Chris@76: Chris@76: Chris@76: Chris@76:
'; Chris@76: Chris@76: // Is it not writable? Chris@76: if (!empty($context['entries_not_writable_message'])) Chris@76: echo ' Chris@76:
Chris@76: ', $context['entries_not_writable_message'], ' Chris@76:
'; Chris@76: Chris@76: // Already have some? Chris@76: if (!empty($context['file_entries'])) Chris@76: { Chris@76: echo ' Chris@76:
Chris@76: Chris@76:
Chris@76:
'; Chris@76: Chris@76: $cached = array(); Chris@76: foreach ($context['file_entries'] as $entry) Chris@76: { Chris@76: // Do it in two's! Chris@76: if (empty($cached)) Chris@76: { Chris@76: $cached = $entry; Chris@76: continue; Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
Chris@76: ', $cached['key'], ' Chris@76:
Chris@76:
Chris@76: ', $entry['key'], ' Chris@76:
Chris@76:
Chris@76: Chris@76: Chris@76:
Chris@76:
Chris@76: Chris@76: Chris@76:
'; Chris@76: $cached = array(); Chris@76: } Chris@76: Chris@76: // Odd number? Chris@76: if (!empty($cached)) Chris@76: echo ' Chris@76: Chris@76:
Chris@76: ', $cached['key'], ' Chris@76:
Chris@76:
Chris@76:
Chris@76:
Chris@76: Chris@76: Chris@76:
Chris@76:
Chris@76:
'; Chris@76: Chris@76: echo ' Chris@76:
Chris@76: '; Chris@76: Chris@76: echo ' Chris@76:
Chris@76: Chris@76:
'; Chris@76: } Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:
'; Chris@76: } Chris@76: Chris@76: // This little beauty shows questions and answer from the captcha type feature. Chris@76: function template_callback_question_answer_list() Chris@76: { Chris@76: global $txt, $context; Chris@76: Chris@76: echo ' Chris@76:
Chris@76: ', $txt['setup_verification_question'], ' Chris@76:
Chris@76:
Chris@76: ', $txt['setup_verification_answer'], ' Chris@76:
'; Chris@76: Chris@76: foreach ($context['question_answers'] as $data) Chris@76: echo ' Chris@76: Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: Chris@76:
'; Chris@76: Chris@76: // Some blank ones. Chris@76: for ($count = 0; $count < 3; $count++) Chris@76: echo ' Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: Chris@76:
'; Chris@76: Chris@76: echo ' Chris@76:
Chris@76:
'; Chris@76: Chris@76: // The javascript needs to go at the end but we'll put it in this template for looks. Chris@76: $context['settings_post_javascript'] .= ' Chris@76: // Create a named element dynamically - thanks to: http://www.thunderguy.com/semicolon/2005/05/23/setting-the-name-attribute-in-internet-explorer/ Chris@76: function createNamedElement(type, name, customFields) Chris@76: { Chris@76: var element = null; Chris@76: Chris@76: if (!customFields) Chris@76: customFields = ""; Chris@76: Chris@76: // Try the IE way; this fails on standards-compliant browsers Chris@76: try Chris@76: { Chris@76: element = document.createElement("<" + type + \' name="\' + name + \'" \' + customFields + ">"); Chris@76: } Chris@76: catch (e) Chris@76: { Chris@76: } Chris@76: if (!element || element.nodeName != type.toUpperCase()) Chris@76: { Chris@76: // Non-IE browser; use canonical method to create named element Chris@76: element = document.createElement(type); Chris@76: element.name = name; Chris@76: } Chris@76: Chris@76: return element; Chris@76: } Chris@76: Chris@76: var placeHolder = document.getElementById(\'add_more_question_placeholder\'); Chris@76: Chris@76: function addAnotherQuestion() Chris@76: { Chris@76: var newDT = document.createElement("dt"); Chris@76: Chris@76: var newInput = createNamedElement("input", "question[]"); Chris@76: newInput.type = "text"; Chris@76: newInput.className = "input_text"; Chris@76: newInput.size = "50"; Chris@76: newInput.setAttribute("class", "verification_question"); Chris@76: newDT.appendChild(newInput); Chris@76: Chris@76: newDD = document.createElement("dd"); Chris@76: Chris@76: newInput = createNamedElement("input", "answer[]"); Chris@76: newInput.type = "text"; Chris@76: newInput.className = "input_text"; Chris@76: newInput.size = "50"; Chris@76: newInput.setAttribute("class", "verification_answer"); Chris@76: newDD.appendChild(newInput); Chris@76: Chris@76: placeHolder.parentNode.insertBefore(newDT, placeHolder); Chris@76: placeHolder.parentNode.insertBefore(newDD, placeHolder); Chris@76: } Chris@76: document.getElementById(\'add_more_link_div\').style.display = \'\'; Chris@76: '; Chris@76: } Chris@76: Chris@76: // Repairing boards. Chris@76: function template_repair_boards() Chris@76: { Chris@76: global $context, $txt, $scripturl; Chris@76: Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:

', Chris@76: $context['error_search'] ? $txt['errors_list'] : $txt['errors_fixing'] , ' Chris@76:

Chris@76:
Chris@76:
Chris@76: Chris@76:
'; Chris@76: Chris@76: // Are we actually fixing them, or is this just a prompt? Chris@76: if ($context['error_search']) Chris@76: { Chris@76: if (!empty($context['to_fix'])) Chris@76: { Chris@76: echo ' Chris@76: ', $txt['errors_found'], ': Chris@76:
    '; Chris@76: Chris@76: foreach ($context['repair_errors'] as $error) Chris@76: echo ' Chris@76:
  • Chris@76: ', $error, ' Chris@76:
  • '; Chris@76: Chris@76: echo ' Chris@76:
Chris@76:

Chris@76: ', $txt['errors_fix'], ' Chris@76:

Chris@76:

Chris@76: ', $txt['yes'], ' - ', $txt['no'], ' Chris@76:

'; Chris@76: } Chris@76: else Chris@76: echo ' Chris@76:

', $txt['maintain_no_errors'], '

Chris@76:

Chris@76: ', $txt['maintain_return'], ' Chris@76:

'; Chris@76: Chris@76: } Chris@76: else Chris@76: { Chris@76: if (!empty($context['redirect_to_recount'])) Chris@76: { Chris@76: echo ' Chris@76:

Chris@76: ', $txt['errors_do_recount'], ' Chris@76:

Chris@76:
Chris@76: Chris@76: Chris@76:
'; Chris@76: } Chris@76: else Chris@76: { Chris@76: echo ' Chris@76:

', $txt['errors_fixed'], '

Chris@76:

Chris@76: ', $txt['maintain_return'], ' Chris@76:

'; Chris@76: } Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76:
'; Chris@76: Chris@76: if (!empty($context['redirect_to_recount'])) Chris@76: { Chris@76: echo ' Chris@76: '; Chris@76: } Chris@76: } Chris@76: Chris@76: ?>