[PAID] Seating Chart/Registration System for LAN Parties

Started by gamerdude72, October 11, 2012, 10:17:49 AM

Previous topic - Next topic

gamerdude72

Message:
I am willing to pay for this, or hear suggestions for already-made paid or free mods.

Version
Home 2.0.2

Description
I would Like a mod that allows people to choose a seat, and confirm it, or prepay, and secure it. It would also allow them to be seen on a roster of some sort, and have a paid status on their profile. This would have to be either a drop down box for seat, or a php interactive pop up, that would allow people to select. If you have a better idea comment! I really like AWOL LAN's setup.

Permissions
Admins would be allow to change registration, change paid status, no one else. Paid and not-paid players may not change their seats once registered. A gamer who prepays may select any seat they want, if the seat they want hasn't been paid for.

Feature Set
There should be a registration page, that allows people to fill out information such as clan, gamer name preferred, first and last name, seat number, and give the option to prepay. Admins should be able to change all of this.

If you don't like something I've suggested, please comment, I really am flexible to how it works. Again see AWOL LAN's registration process (http://www.awollan.com/register.php [nofollow]) and Midwest LAN's Registration's process (http://www.midwestlan.com/index.php?func=sched&sev=15 [nofollow]).

The website this would be implemented on would be www.knfegaming.us [nofollow].

Arantor

You can now post links - it's only literally the first post that you can't post links in.

gamerdude72

I tried to edit my post, but the links say "Nonactive."

Edit. The number is 10. Could someone waive this, as I am not a spambot, and am willing to spend money.

Arantor

Yes, the links are non-active but anyone can still copy-paste them. (You actually need to get to 10 posts just to make them active, 25 for them to actually not be no-followed)

gamerdude72

Okay. Well I still need help with this. Has anyone heard of a mod that has been already developed for this purpose?

Arantor

No, there isn't a mod for this, nothing even close so someone's going to have to write this from scratch for you.


gamerdude72


TheListener

Quote from: gamerdude72 on October 11, 2012, 08:32:11 PM
There are errors when installing. So no.

http://puu.sh/1dMP3

All the error means is that a manual edit will be required on the particular file.

Are you familiar with the mods parser?

gamerdude72


TheListener

OK

Below every download link on the mods pages you will see:

Manual Install Instructions for SMF

For which there is a dropdown list below.

For this mod you will choose 2.0.2 from the list.

The link below shows the parse for the mod.

http://custom.simplemachines.org/mods/index.php?action=parse

Do you have notepad ++ installed on your computer?

gamerdude72


TheListener


Arantor

#13
(Not being funny but I shouldn't have to point this out to a support team member.)

Hey it is 3am here ya know and I been busy all night too.

:)

At least we got there eventually.


Arantor

And now you've edited my post, AND managed to remove the link I posted, so not content with getting the advice wrong, twice, you managed to screw it up a third time.

If it's late and you're aware that you might make mistakes like that, go to bed.

For reference, the link which I posted is http://custom.simplemachines.org/mods/index.php?action=parse;mod=1279;attach=171406;smf_version=2.0.2

DO NOT EDIT THIS POST.

TheListener

Whoops apologies for the accidental edit.

Not done on purpose.

(Darn fingers).

gamerdude72

I'm terrible at coding, this is why I posted it as paid. Is there any way someone could help me with this. This is a serious inquiry.

gamerdude72

<?php

/**
 * Simple Machines Forum (SMF)
 *
 * @package SMF
 * @author Simple Machines
 *
 * @copyright 2011 Simple Machines
 * @license http://www.simplemachines.org/about/smf/license.php BSD
 *
 * @version 2.0
 */

if (!defined('SMF'))
die('Hacking attempt...');

/* This file, unpredictable as this might be, handles basic administration.

void AdminMain()
- initialises all the basic context required for the admin center.
- passes execution onto the relevant admin section.
- if the passed section is not found it shows the admin home page.

void AdminHome()
- prepares all the data necessary for the administration front page.
- uses the Admin template along with the admin sub template.
- requires the moderate_forum, manage_membergroups, manage_bans,
  admin_forum, manage_permissions, manage_attachments, manage_smileys,
  manage_boards, edit_news, or send_mail permission.
- uses the index administrative area.
- can be found by going to ?action=admin.

void AdminSearch()
- allocates out all the search stuff.

void AdminSearchInternal()
- a complicated but relatively quick internal search.

void AdminSearchMember()
- pass through to manage members.

void DisplayAdminFile()
- get one of the admin information files from Simple Machines.

*/

// The main admin handling function.
function AdminMain()
{
global $txt$context$scripturl$sc$modSettings$user_info$settings$sourcedir$options$smcFunc$boarddir;

// Load the language and templates....
loadLanguage('Admin');
/** next x-Links **/
loadLanguage('xLinks');
loadTemplate('Admin''admin');

// No indexing evil stuff.
$context['robot_no_index'] = true;

require_once($sourcedir '/Subs-Menu.php');

// Some preferences.
$context['admin_preferences'] = !empty($options['admin_preferences']) ? unserialize($options['admin_preferences']) : array();

// Define all the menu structure - see Subs-Menu.php for details!
$admin_areas = array(
'forum' => array(
'title' => $txt['admin_main'],
'permission' => array('admin_forum''manage_permissions''moderate_forum''manage_membergroups''manage_bans''send_mail''edit_news''manage_boards''manage_smileys''manage_attachments'),
'areas' => array(
'index' => array(
'label' => $txt['admin_center'],
'function' => 'AdminHome',
'icon' => 'administration.gif',
),
'credits' => array(
'label' => $txt['support_credits_title'],
'function' => 'AdminHome',
'icon' => 'support.gif',
),
'news' => array(
'label' => $txt['news_title'],
'file' => 'ManageNews.php',
'function' => 'ManageNews',
'icon' => 'news.gif',
'permission' => array('edit_news''send_mail''admin_forum'),
'subsections' => array(
'editnews' => array($txt['admin_edit_news'], 'edit_news'),
'mailingmembers' => array($txt['admin_newsletters'], 'send_mail'),
'settings' => array($txt['settings'], 'admin_forum'),
),
),
'packages' => array(
'label' => $txt['package'],
'file' => 'Packages.php',
'function' => 'Packages',
'permission' => array('admin_forum'),
'icon' => 'packages.gif',
'subsections' => array(
'browse' => array($txt['browse_packages']),
'packageget' => array($txt['download_packages'], 'url' => $scripturl '?action=admin;area=packages;sa=packageget;get'),
'installed' => array($txt['installed_packages']),
'perms' => array($txt['package_file_perms']),
'options' => array($txt['package_settings']),
),
),
'search' => array(
'function' => 'AdminSearch',
'permission' => array('admin_forum'),
'select' => 'index'
),
),
),
'config' => array(
'title' => $txt['admin_config'],
'permission' => array('admin_forum'),
'areas' => array(
'corefeatures' => array(
'label' => $txt['core_settings_title'],
'file' => 'ManageSettings.php',
'function' => 'ModifyCoreFeatures',
'icon' => 'corefeatures.gif',
),
'featuresettings' => array(
'label' => $txt['modSettings_title'],
'file' => 'ManageSettings.php',
'function' => 'ModifyFeatureSettings',
'icon' => 'features.gif',
'subsections' => array(
'basic' => array($txt['mods_cat_features']),
'layout' => array($txt['mods_cat_layout']),
'karma' => array($txt['karma'], 'enabled' => in_array('k'$context['admin_features'])),
'sig' => array($txt['signature_settings_short']),
'profile' => array($txt['custom_profile_shorttitle'], 'enabled' => in_array('cp'$context['admin_features'])),
),
),
'securitysettings' => array(
'label' => $txt['admin_security_moderation'],
'file' => 'ManageSettings.php',
'function' => 'ModifySecuritySettings',
'icon' => 'security.gif',
'subsections' => array(
'general' => array($txt['mods_cat_security_general']),
'spam' => array($txt['antispam_title']),
'moderation' => array($txt['moderation_settings_short'], 'enabled' => substr($modSettings['warning_settings'], 01) == 1),
),
),
'languages' => array(
'label' => $txt['language_configuration'],
'file' => 'ManageServer.php',
'function' => 'ManageLanguages',
'icon' => 'languages.gif',
'subsections' => array(
'edit' => array($txt['language_edit']),
'add' => array($txt['language_add']),
'settings' => array($txt['language_settings']),
),
),
'serversettings' => array(
'label' => $txt['admin_server_settings'],
'file' => 'ManageServer.php',
'function' => 'ModifySettings',
'icon' => 'server.gif',
'subsections' => array(
'general' => array($txt['general_settings']),
'database' => array($txt['database_paths_settings']),
'cookie' => array($txt['cookies_sessions_settings']),
'cache' => array($txt['caching_settings']),
'loads' => array($txt['load_balancing_settings']),
),
),
'current_theme' => array(
'label' => $txt['theme_current_settings'],
'file' => 'Themes.php',
'function' => 'ThemesMain',
'custom_url' => $scripturl '?action=admin;area=theme;sa=settings;th=' $settings['theme_id'],
'icon' => 'current_theme.gif',
),
'theme' => array(
'label' => $txt['theme_admin'],
'file' => 'Themes.php',
'function' => 'ThemesMain',
'custom_url' => $scripturl '?action=admin;area=theme;sa=admin',
'icon' => 'themes.gif',
'subsections' => array(
'admin' => array($txt['themeadmin_admin_title']),
'list' => array($txt['themeadmin_list_title']),
'reset' => array($txt['themeadmin_reset_title']),
'edit' => array($txt['themeadmin_edit_title']),
),
), /** next x-Links **/
'xlinks' => array(
'label' => $txt['x-links_manage'],
'file' => 'xLinks.php',
'function' => 'xLinks',
'icon' => 'features.gif',
'subsections' => array(
'main' => array($txt['x-links_main']),
'add' => array($txt['x-links_add']),
),
),
'modsettings' => array(
'label' => $txt['admin_modifications'],
'file' => 'ManageSettings.php',
'function' => 'ModifyModSettings',
'icon' => 'modifications.gif',
'subsections' => array(
'general' => array($txt['mods_cat_modifications_misc']),
// Aeva - START
'aeva' => array(loadlanguage('Aeva') == false 'Aeva' $txt['aeva']),
'aevasites' => array(!isset($txt['aeva_sites']) ? 'Aeva Sites' $txt['aeva_sites']),
// Aeva - END
// Mod Authors for a "ADD AFTER" on this line. Ensure you end your change with a comma. For example:
// 'shout' => array($txt['shout']),
// Note the comma!! The setting with automatically appear with the first mod to be added.
),
),
),
),
'layout' => array(
'title' => $txt['layout_controls'],
'permission' => array('manage_boards''admin_forum''manage_smileys''manage_attachments''moderate_forum'),
'areas' => array(
'manageboards' => array(
'label' => $txt['admin_boards'],
'file' => 'ManageBoards.php',
'function' => 'ManageBoards',
'icon' => 'boards.gif',
'permission' => array('manage_boards'),
'subsections' => array(
'main' => array($txt['boardsEdit']),
'newcat' => array($txt['mboards_new_cat']),
'settings' => array($txt['settings'], 'admin_forum'),
),
),
'postsettings' => array(
'label' => $txt['manageposts'],
'file' => 'ManagePosts.php',
'function' => 'ManagePostSettings',
'permission' => array('admin_forum'),
'icon' => 'posts.gif',
'subsections' => array(
'posts' => array($txt['manageposts_settings']),
'bbc' => array($txt['manageposts_bbc_settings']),
'censor' => array($txt['admin_censored_words']),
'topics' => array($txt['manageposts_topic_settings']),
),
),
'managecalendar' => array(
'label' => $txt['manage_calendar'],
'file' => 'ManageCalendar.php',
'function' => 'ManageCalendar',
'icon' => 'calendar.gif',
'permission' => array('admin_forum'),
'enabled' => in_array('cd'$context['admin_features']),
'subsections' => array(
'holidays' => array($txt['manage_holidays'], 'admin_forum''enabled' => !empty($modSettings['cal_enabled'])),
'settings' => array($txt['calendar_settings'], 'admin_forum'),
),
),
'managesearch' => array(
'label' => $txt['manage_search'],
'file' => 'ManageSearch.php',
'function' => 'ManageSearch',
'icon' => 'search.gif',
'permission' => array('admin_forum'),
'subsections' => array(
'weights' => array($txt['search_weights']),
'method' => array($txt['search_method']),
'settings' => array($txt['settings']),
),
),
'smileys' => array(
'label' => $txt['smileys_manage'],
'file' => 'ManageSmileys.php',
'function' => 'ManageSmileys',
'icon' => 'smiley.gif',
'permission' => array('manage_smileys'),
'subsections' => array(
'editsets' => array($txt['smiley_sets']),
'addsmiley' => array($txt['smileys_add'], 'enabled' => !empty($modSettings['smiley_enable'])),
'editsmileys' => array($txt['smileys_edit'], 'enabled' => !empty($modSettings['smiley_enable'])),
'setorder' => array($txt['smileys_set_order'], 'enabled' => !empty($modSettings['smiley_enable'])),
'editicons' => array($txt['icons_edit_message_icons'], 'enabled' => !empty($modSettings['messageIcons_enable'])),
'settings' => array($txt['settings']),
),
),
'manageattachments' => array(
'label' => $txt['attachments_avatars'],
'file' => 'ManageAttachments.php',
'function' => 'ManageAttachments',
'icon' => 'attachment.gif',
'permission' => array('manage_attachments'),
'subsections' => array(
'browse' => array($txt['attachment_manager_browse']),
'attachments' => array($txt['attachment_manager_settings']),
'avatars' => array($txt['attachment_manager_avatar_settings']),
'maintenance' => array($txt['attachment_manager_maintenance']),
),
),
),
),
'portal' => array(
'title' => $txt['sp-adminCatTitle'],
'permission' => array('sp_admin''sp_manage_settings''sp_manage_blocks''sp_manage_articles''sp_manage_pages''sp_manage_shoutbox'),
'areas' => array(
'portalconfig' => array(
'label' => $txt['sp-adminConfiguration'],
'file' => 'PortalAdminMain.php',
'function' => 'sportal_admin_config_main',
'icon' => 'configuration.png',
'permission' => array('sp_admin''sp_manage_settings'),
'subsections' => array(
'information' => array($txt['sp-info_title']),
'generalsettings' => array($txt['sp-adminGeneralSettingsName']),
'blocksettings' => array($txt['sp-adminBlockSettingsName']),
'articlesettings' => array($txt['sp-adminArticleSettingsName']),
),
),
'portalblocks' => array(
'label' => $txt['sp-blocksBlocks'],
'file' => 'PortalAdminBlocks.php',
'function' => 'sportal_admin_blocks_main',
'icon' => 'blocks.png',
'permission' => array('sp_admin''sp_manage_blocks'),
'subsections' => array(
'list' => array($txt['sp-adminBlockListName']),
'add' => array($txt['sp-adminBlockAddName']),
'header' => array($txt['sp-positionHeader']),
'left' => array($txt['sp-positionLeft']),
'top' => array($txt['sp-positionTop']),
'bottom' => array($txt['sp-positionBottom']),
'right' => array($txt['sp-positionRight']),
'footer' => array($txt['sp-positionFooter']),
),
),
'portalarticles' => array(
'label' => $txt['sp-adminColumnArticles'],
'file' => 'PortalAdminArticles.php',
'function' => 'sportal_admin_articles_main',
'icon' => 'articles.png',
'permission' => array('sp_admin''sp_manage_articles'),
'subsections' => array(
'articles' => array($txt['sp-adminArticleListName']),
'addarticle' => array($txt['sp-adminArticleAddName']),
'categories' => array($txt['sp-adminCategoryListName']),
'addcategory' => array($txt['sp-adminCategoryAddName']),
),
),
'portalpages' => array(
'label' => $txt['sp_admin_pages_title'],
'file' => 'PortalAdminPages.php',
'function' => 'sportal_admin_pages_main',
'icon' => 'pages.png',
'permission' => array('sp_admin''sp_manage_pages'),
'subsections' => array(
'list' => array($txt['sp_admin_pages_list']),
'add' => array($txt['sp_admin_pages_add']),
),
),
'portalshoutbox' => array(
'label' => $txt['sp_admin_shoutbox_title'],
'file' => 'PortalAdminShoutbox.php',
'function' => 'sportal_admin_shoutbox_main',
'icon' => 'shoutbox.png',
'permission' => array('sp_admin''sp_manage_shoutbox'),
'subsections' => array(
'list' => array($txt['sp_admin_shoutbox_list']),
'add' => array($txt['sp_admin_shoutbox_add']),
),
),
),
),
'members' => array(
'title' => $txt['admin_manage_members'],
'permission' => array('moderate_forum''manage_membergroups''manage_bans''manage_permissions''admin_forum'),
'areas' => array(
'viewmembers' => array(
'label' => $txt['admin_users'],
'file' => 'ManageMembers.php',
'function' => 'ViewMembers',
'icon' => 'members.gif',
'permission' => array('moderate_forum'),
'subsections' => array(
'all' => array($txt['view_all_members']),
'search' => array($txt['mlist_search']),
),
),
'membergroups' => array(
'label' => $txt['admin_groups'],
'file' => 'ManageMembergroups.php',
'function' => 'ModifyMembergroups',
'icon' => 'membergroups.gif',
'permission' => array('manage_membergroups'),
'subsections' => array(
'index' => array($txt['membergroups_edit_groups'], 'manage_membergroups'),
'add' => array($txt['membergroups_new_group'], 'manage_membergroups'),
'settings' => array($txt['settings'], 'admin_forum'),
),
),
'permissions' => array(
'label' => $txt['edit_permissions'],
'file' => 'ManagePermissions.php',
'function' => 'ModifyPermissions',
'icon' => 'permissions.gif',
'permission' => array('manage_permissions'),
'subsections' => array(
'index' => array($txt['permissions_groups'], 'manage_permissions'),
'board' => array($txt['permissions_boards'], 'manage_permissions'),
'profiles' => array($txt['permissions_profiles'], 'manage_permissions'),
'postmod' => array($txt['permissions_post_moderation'], 'manage_permissions''enabled' => $modSettings['postmod_active']),
'settings' => array($txt['settings'], 'admin_forum'),
),
),
'regcenter' => array(
'label' => $txt['registration_center'],
'file' => 'ManageRegistration.php',
'function' => 'RegCenter',
'icon' => 'regcenter.gif',
'permission' => array('admin_forum''moderate_forum'),
'subsections' => array(
'register' => array($txt['admin_browse_register_new'], 'moderate_forum'),
'agreement' => array($txt['registration_agreement'], 'admin_forum'),
'reservednames' => array($txt['admin_reserved_set'], 'admin_forum'),
'settings' => array($txt['settings'], 'admin_forum'),
),
),
'ban' => array(
'label' => $txt['ban_title'],
'file' => 'ManageBans.php',
'function' => 'Ban',
'icon' => 'ban.gif',
'permission' => 'manage_bans',
'subsections' => array(
'list' => array($txt['ban_edit_list']),
'add' => array($txt['ban_add_new']),
'browse' => array($txt['ban_trigger_browse']),
'log' => array($txt['ban_log']),
),
),
'paidsubscribe' => array(
'label' => $txt['paid_subscriptions'],
'enabled' => in_array('ps'$context['admin_features']),
'file' => 'ManagePaid.php',
'icon' => 'paid.gif',
'function' => 'ManagePaidSubscriptions',
'permission' => 'admin_forum',
'subsections' => array(
'view' => array($txt['paid_subs_view']),
'settings' => array($txt['settings']),
),
),
'sengines' => array(
'label' => $txt['search_engines'],
'enabled' => in_array('sp'$context['admin_features']),
'file' => 'ManageSearchEngines.php',
'icon' => 'engines.gif',
'function' => 'SearchEngines',
'permission' => 'admin_forum',
'subsections' => array(
'stats' => array($txt['spider_stats']),
'logs' => array($txt['spider_logs']),
'spiders' => array($txt['spiders']),
'settings' => array($txt['settings']),
),
),
),
),
'maintenance' => array(
'title' => $txt['admin_maintenance'],
'permission' => array('admin_forum'),
'areas' => array(
'maintain' => array(
'label' => $txt['maintain_title'],
'file' => 'ManageMaintenance.php',
'icon' => 'maintain.gif',
'function' => 'ManageMaintenance',
'subsections' => array(
'routine' => array($txt['maintain_sub_routine'], 'admin_forum'),
'database' => array($txt['maintain_sub_database'], 'admin_forum'),
'members' => array($txt['maintain_sub_members'], 'admin_forum'),
'topics' => array($txt['maintain_sub_topics'], 'admin_forum'),
),
),
'scheduledtasks' => array(
'label' => $txt['maintain_tasks'],
'file' => 'ManageScheduledTasks.php',
'icon' => 'scheduled.gif',
'function' => 'ManageScheduledTasks',
'subsections' => array(
'tasks' => array($txt['maintain_tasks'], 'admin_forum'),
'tasklog' => array($txt['scheduled_log'], 'admin_forum'),
),
),
'mailqueue' => array(
'label' => $txt['mailqueue_title'],
'file' => 'ManageMail.php',
'function' => 'ManageMail',
'icon' => 'mail.gif',
'subsections' => array(
'browse' => array($txt['mailqueue_browse'], 'admin_forum'),
'settings' => array($txt['mailqueue_settings'], 'admin_forum'),
),
),
'reports' => array(
'enabled' => in_array('rg'$context['admin_features']),
'label' => $txt['generate_reports'],
'file' => 'Reports.php',
'function' => 'ReportsMain',
'icon' => 'reports.gif',
),
'logs' => array(
'label' => $txt['logs'],
'function' => 'AdminLogs',
'icon' => 'logs.gif',
'subsections' => array(
'errorlog' => array($txt['errlog'], 'admin_forum''enabled' => !empty($modSettings['enableErrorLogging']), 'url' => $scripturl '?action=admin;area=logs;sa=errorlog;desc'),
'adminlog' => array($txt['admin_log'], 'admin_forum''enabled' => in_array('ml'$context['admin_features'])),
'modlog' => array($txt['moderation_log'], 'admin_forum''enabled' => in_array('ml'$context['admin_features'])),
'banlog' => array($txt['ban_log'], 'manage_bans'),
'spiderlog' => array($txt['spider_logs'], 'admin_forum''enabled' => in_array('sp'$context['admin_features'])),
'tasklog' => array($txt['scheduled_log'], 'admin_forum'),
'pruning' => array($txt['pruning_title'], 'admin_forum'),
),
),
'repairboards' => array(
'label' => $txt['admin_repair'],
'file' => 'RepairBoards.php',
'function' => 'RepairBoards',
'select' => 'maintain',
'hidden' => true,
),
),
),
);

// Any files to include for administration?
if (!empty($modSettings['integrate_admin_include']))
{
$admin_includes explode(','$modSettings['integrate_admin_include']);
foreach ($admin_includes as $include)
{
$include strtr(trim($include), array('$boarddir' => $boarddir'$sourcedir' => $sourcedir'$themedir' => $settings['theme_dir']));
if (file_exists($include))
require_once($include);
}
}

// Let them modify admin areas easily.
call_integration_hook('integrate_admin_areas', array(&$admin_areas));

// Make sure the administrator has a valid session...
validateSession();

// Actually create the menu!
$admin_include_data createMenu($admin_areas);
unset($admin_areas);

// Nothing valid?
if ($admin_include_data == false)
fatal_lang_error('no_access'false);

// Build the link tree.
$context['linktree'][] = array(
'url' => $scripturl '?action=admin',
'name' => $txt['admin_center'],
);
if (isset($admin_include_data['current_area']) && $admin_include_data['current_area'] != 'index')
$context['linktree'][] = array(
'url' => $scripturl '?action=admin;area=' $admin_include_data['current_area'] . ';' $context['session_var'] . '=' $context['session_id'],
'name' => $admin_include_data['label'],
);
if (!empty($admin_include_data['current_subsection']) && $admin_include_data['subsections'][$admin_include_data['current_subsection']][0] != $admin_include_data['label'])
$context['linktree'][] = array(
'url' => $scripturl '?action=admin;area=' $admin_include_data['current_area'] . ';sa=' $admin_include_data['current_subsection'] . ';' $context['session_var'] . '=' $context['session_id'],
'name' => $admin_include_data['subsections'][$admin_include_data['current_subsection']][0],
);

// Make a note of the Unique ID for this menu.
$context['admin_menu_id'] = $context['max_menu_id'];
$context['admin_menu_name'] = 'menu_data_' $context['admin_menu_id'];

// Why on the admin are we?
$context['admin_area'] = $admin_include_data['current_area'];

// Now - finally - call the right place!
if (isset($admin_include_data['file']))
require_once($sourcedir '/' $admin_include_data['file']);

$admin_include_data['function']();
}

// The main administration section.
function AdminHome()
{
global $sourcedir$forum_version$txt$scripturl$context$user_info$boardurl$modSettings$smcFunc;

// You have to be able to do at least one of the below to see this page.
isAllowedTo(array('admin_forum''manage_permissions''moderate_forum''manage_membergroups''manage_bans''send_mail''edit_news''manage_boards''manage_smileys''manage_attachments'));

// Find all of this forum's administrators...
require_once($sourcedir '/Subs-Membergroups.php');
if (listMembergroupMembers_Href($context['administrators'], 132) && allowedTo('manage_membergroups'))
{
// Add a 'more'-link if there are more than 32.
$context['more_admins_link'] = '<a href="' $scripturl '?action=moderate;area=viewgroups;sa=members;group=1">' $txt['more'] . '</a>';
}

// Load the credits stuff.
require_once($sourcedir '/Who.php');
Credits(true);

// This makes it easier to get the latest news with your time format.
$context['time_format'] = urlencode($user_info['time_format']);

$context['current_versions'] = array(
'php' => array('title' => $txt['support_versions_php'], 'version' => PHP_VERSION),
'db' => array('title' => sprintf($txt['support_versions_db'], $smcFunc['db_title']), 'version' => ''),
'server' => array('title' => $txt['support_versions_server'], 'version' => $_SERVER['SERVER_SOFTWARE']),
);
$context['forum_version'] = $forum_version;

// Get a list of current server versions.
require_once($sourcedir '/Subs-Admin.php');
$checkFor = array(
'gd',
'db_server',
'mmcache',
'eaccelerator',
'phpa',
'apc',
'memcache',
'xcache',
'php',
'server',
);
$context['current_versions'] = getServerVersions($checkFor);

$context['can_admin'] = allowedTo('admin_forum');

$context['sub_template'] = $context['admin_area'] == 'credits' 'credits' 'admin';
$context['page_title'] = $context['admin_area'] == 'credits' $txt['support_credits_title'] : $txt['admin_center'];

// The format of this array is: permission, action, title, description, icon.
$quick_admin_tasks = array(
array('''credits''support_credits_title''support_credits_info''support_and_credits.png'),
array('admin_forum''featuresettings''modSettings_title''modSettings_info''features_and_options.png'),
array('admin_forum''maintain''maintain_title''maintain_info''forum_maintenance.png'),
array('manage_permissions''permissions''edit_permissions''edit_permissions_info''permissions.png'),
array('admin_forum''theme;sa=admin;' $context['session_var'] . '=' $context['session_id'], 'theme_admin''theme_admin_info''themes_and_layout.png'),
array('admin_forum''packages''package''package_info''packages.png'),
array('manage_smileys''smileys''smileys_manage''smileys_manage_info''smilies_and_messageicons.png'),
array('moderate_forum''viewmembers''admin_users''member_center_info''members.png'),
);

$context['quick_admin_tasks'] = array();
foreach ($quick_admin_tasks as $task)
{
if (!empty($task[0]) && !allowedTo($task[0]))
continue;

$context['quick_admin_tasks'][] = array(
'href' => $scripturl '?action=admin;area=' $task[1],
'link' => '<a href="' $scripturl '?action=admin;area=' $task[1] . '">' $txt[$task[2]] . '</a>',
'title' => $txt[$task[2]],
'description' => $txt[$task[3]],
'icon' => $task[4],
'is_last' => false
);
}

if (count($context['quick_admin_tasks']) % == 1)
{
$context['quick_admin_tasks'][] = array(
'href' => '',
'link' => '',
'title' => '',
'description' => '',
'is_last' => true
);
$context['quick_admin_tasks'][count($context['quick_admin_tasks']) - 2]['is_last'] = true;
}
elseif (count($context['quick_admin_tasks']) != 0)
{
$context['quick_admin_tasks'][count($context['quick_admin_tasks']) - 1]['is_last'] = true;
$context['quick_admin_tasks'][count($context['quick_admin_tasks']) - 2]['is_last'] = true;
}

// Lastly, fill in the blanks in the support resources paragraphs.
$txt['support_resources_p1'] = sprintf($txt['support_resources_p1'],
'http://wiki.simplemachines.org/',
'http://wiki.simplemachines.org/smf/features2',
'http://wiki.simplemachines.org/smf/options2',
'http://wiki.simplemachines.org/smf/themes2',
'http://wiki.simplemachines.org/smf/packages2'
);
$txt['support_resources_p2'] = sprintf($txt['support_resources_p2'],
'http://www.simplemachines.org/community/',
'http://www.simplemachines.org/redirect/english_support',
'http://www.simplemachines.org/redirect/international_support_boards',
'http://www.simplemachines.org/redirect/smf_support',
'http://www.simplemachines.org/redirect/customize_support'
);
}

// Get one of the admin information files from Simple Machines.
function DisplayAdminFile()
{
global $context$modSettings$smcFunc;

@ini_set('memory_limit''32M');

if (empty($_REQUEST['filename']) || !is_string($_REQUEST['filename']))
fatal_lang_error('no_access'false);

$request $smcFunc['db_query']('''
SELECT data, filetype
FROM {db_prefix}admin_info_files
WHERE filename = {string:current_filename}
LIMIT 1'
,
array(
'current_filename' => $_REQUEST['filename'],
)
);

if ($smcFunc['db_num_rows']($request) == 0)
fatal_lang_error('admin_file_not_found'true, array($_REQUEST['filename']));

list ($file_data$filetype) = $smcFunc['db_fetch_row']($request);
$smcFunc['db_free_result']($request);

// !!! Temp.
// Figure out if sesc is still being used.
if (strpos($file_data';sesc=') !== false)
$file_data '
if (!(\'smfForum_sessionvar\' in window))
window.smfForum_sessionvar = \'sesc\';
strtr($file_data, array(';sesc=' => ';\' + window.smfForum_sessionvar + \'='));

$context['template_layers'] = array();
// Lets make sure we aren't going to output anything nasty.
@ob_end_clean();
if (!empty($modSettings['enableCompressedOutput']))
@ob_start('ob_gzhandler');
else
@ob_start();

// Make sure they know what type of file we are.
header('Content-Type: ' $filetype);
echo $file_data;
obExit(false);
}

// This allocates out all the search stuff.
function AdminSearch()
{
global $txt$context$smcFunc$sourcedir;

isAllowedTo('admin_forum');

// What can we search for?
$subactions = array(
'internal' => 'AdminSearchInternal',
'online' => 'AdminSearchOM',
'member' => 'AdminSearchMember',
);

$context['search_type'] = !isset($_REQUEST['search_type']) || !isset($subactions[$_REQUEST['search_type']]) ? 'internal' $_REQUEST['search_type'];
$context['search_term'] = isset($_REQUEST['search_term']) ? $smcFunc['htmlspecialchars']($_REQUEST['search_term'], ENT_QUOTES) : '';

$context['sub_template'] = 'admin_search_results';
$context['page_title'] = $txt['admin_search_results'];

// Keep track of what the admin wants.
if (empty($context['admin_preferences']['sb']) || $context['admin_preferences']['sb'] != $context['search_type'])
{
$context['admin_preferences']['sb'] = $context['search_type'];

// Update the preferences.
require_once($sourcedir '/Subs-Admin.php');
updateAdminPreferences();
}

if (trim($context['search_term']) == '')
$context['search_results'] = array();
else
$subactions[$context['search_type']]();
}

// A complicated but relatively quick internal search.
function AdminSearchInternal()
{
global $context$txt$helptxt$scripturl$sourcedir;

// Try to get some more memory.
@ini_set('memory_limit''128M');

// Load a lot of language files.
$language_files = array(
'Help''ManageMail''ManageSettings''ManageCalendar''ManageBoards''ManagePaid''ManagePermissions''Search',
'Login''ManageSmileys',
);
loadLanguage(implode('+'$language_files));

// All the files we need to include.
$include_files = array(
'ManageSettings''ManageBoards''ManageNews''ManageAttachments''ManageCalendar''ManageMail''ManagePaid''ManagePermissions',
'ManagePosts''ManageRegistration''ManageSearch''ManageSearchEngines''ManageServer''ManageSmileys''PortalAdminMain',
);
foreach ($include_files as $file)
require_once($sourcedir '/' $file '.php');

/* This is the huge array that defines everything... it's a huge array of items formatted as follows:
0 = Language index (Can be array of indexes) to search through for this setting.
1 = URL for this indexes page.
2 = Help index for help associated with this item (If different from 0)
*/

$search_data = array(
// All the major sections of the forum.
'sections' => array(
),
'settings' => array(
array('COPPA''area=regcenter;sa=settings'),
array('CAPTCHA''area=securitysettings;sa=spam'),
),
);

// Go through the admin menu structure trying to find suitably named areas!
foreach ($context[$context['admin_menu_name']]['sections'] as $section)
{
foreach ($section['areas'] as $menu_key => $menu_item)
{
$search_data['sections'][] = array($menu_item['label'], 'area=' $menu_key);
if (!empty($menu_item['subsections']))
foreach ($menu_item['subsections'] as $key => $sublabel)
{
if (isset($sublabel['label']))
$search_data['sections'][] = array($sublabel['label'], 'area=' $menu_key ';sa=' $key);
}
}
}

// Add SimpleDesk functions
$settings_search = array(
array('shd_modify_display_options''area=helpdesk_options;sa=display'),
array('shd_modify_posting_options''area=helpdesk_options;sa=posting'),
array('shd_modify_admin_options''area=helpdesk_options;sa=admin'),
array('shd_modify_standalone_options''area=helpdesk_options;sa=standalone'),
array('shd_modify_actionlog_options''area=helpdesk_options;sa=actionlog'),
array('shd_modify_notifications_options''area=helpdesk_options;sa=notifications'),
);

call_integration_hook('shd_hook_hdadminoptssrch', array(&$settings_search));

$search_entries count($settings_search);

// This is a special array of functions that contain setting data - we query all these to simply pull all setting bits!
$settings_search += array(
$search_entries =>
array('ModifyCoreFeatures''area=corefeatures'),
array('ModifyBasicSettings''area=featuresettings;sa=basic'),
array('ModifyLayoutSettings''area=featuresettings;sa=layout'),
array('ModifyKarmaSettings''area=featuresettings;sa=karma'),
array('ModifySignatureSettings''area=featuresettings;sa=sig'),
array('ModifyGeneralSecuritySettings''area=securitysettings;sa=general'),
array('ModifySpamSettings''area=securitysettings;sa=spam'),
array('ModifyModerationSettings''area=securitysettings;sa=moderation'),
array('ModifyGeneralModSettings''area=modsettings;sa=general'),
// Mod authors if you want to be "real freaking good" then add any setting pages for your mod BELOW this line!
array('ModifyAevaSettings''area=modsettings;sa=aeva'),
array('ManageAttachmentSettings''area=manageattachments;sa=attachments'),
array('ManageAvatarSettings''area=manageattachments;sa=avatars'),
array('ModifyCalendarSettings''area=managecalendar;sa=settings'),
array('EditBoardSettings''area=manageboards;sa=settings'),
array('ModifyMailSettings''area=mailqueue;sa=settings'),
array('ModifyNewsSettings''area=news;sa=settings'),
array('GeneralPermissionSettings''area=permissions;sa=settings'),
array('ModifyPostSettings''area=postsettings;sa=posts'),
array('ModifyBBCSettings''area=postsettings;sa=bbc'),
array('ModifyTopicSettings''area=postsettings;sa=topics'),
array('EditSearchSettings''area=managesearch;sa=settings'),
array('EditSmileySettings''area=smileys;sa=settings'),
array('ModifyGeneralSettings''area=serversettings;sa=general'),
array('ModifyDatabaseSettings''area=serversettings;sa=database'),
array('ModifyCookieSettings''area=serversettings;sa=cookie'),
array('ModifyCacheSettings''area=serversettings;sa=cache'),
array('ModifyLanguageSettings''area=languages;sa=settings'),
array('ModifyRegistrationSettings''area=regcenter;sa=settings'),
array('ManageSearchEngineSettings''area=sengines;sa=settings'),
array('ModifySubscriptionSettings''area=paidsubscribe;sa=settings'),
array('ModifyPruningSettings''area=logs;sa=pruning'),
);

// We are more than "real freaking good" Grudge. ;P
$settings_search array_merge($settings_search, array(
array('sportal_admin_general_settings''area=portalconfig;sa=generalsettings'),
array('sportal_admin_block_settings''area=portalconfig;sa=blocksettings'),
array('sportal_admin_article_settings''area=portalconfig;sa=articlesettings'),
));

foreach ($settings_search as $setting_area)
{
// Get a list of their variables.
$config_vars $setting_area[0](true);

foreach ($config_vars as $var)
if (!empty($var[1]) && !in_array($var[0], array('permissions''switch')))
$search_data['settings'][] = array($var[(isset($var[2]) && in_array($var[2], array('file''db'))) ? 1], $setting_area[1]);
}

$context['page_title'] = $txt['admin_search_results'];
$context['search_results'] = array();

$search_term strtolower($context['search_term']);
// Go through all the search data trying to find this text!
foreach ($search_data as $section => $data)
{
foreach ($data as $item)
{
$found false;
if (!is_array($item[0]))
$item[0] = array($item[0]);
foreach ($item[0] as $term)
{
$lc_term strtolower($term);
if (strpos($lc_term$search_term) !== false || (isset($txt[$term]) && strpos(strtolower($txt[$term]), $search_term) !== false) || (isset($txt['setting_' $term]) && strpos(strtolower($txt['setting_' $term]), $search_term) !== false))
{
$found $term;
break;
}
}

if ($found)
{
// Format the name - and remove any descriptions the entry may have.
$name = isset($txt[$found]) ? $txt[$found] : (isset($txt['setting_' $found]) ? $txt['setting_' $found] : $found);
$name preg_replace('~<(?:div|span)\sclass="smalltext">.+?</(?:div|span)>~'''$name);

$context['search_results'][] = array(
'url' => (substr($item[1], 04) == 'area' $scripturl '?action=admin;' $item[1] : $item[1]) . ';' $context['session_var'] . '=' $context['session_id'] . ((substr($item[1], 04) == 'area' && $section == 'settings' '#' $item[0][0] : '')),
'name' => $name,
'type' => $section,
'help' => shorten_subject(isset($item[2]) ? strip_tags($helptxt[$item2]) : (isset($helptxt[$found]) ? strip_tags($helptxt[$found]) : ''), 255),
);
}
}
}
}

// All this does is pass through to manage members.
function AdminSearchMember()
{
global $context$sourcedir;

require_once($sourcedir '/ManageMembers.php');
$_REQUEST['sa'] = 'query';

$_POST['membername'] = $context['search_term'];

ViewMembers();
}

// This file allows the user to search the SM online manual for a little of help.
function AdminSearchOM()
{
global $context$sourcedir;

$docsURL 'docs.simplemachines.org';
$context['doc_scripturl'] = 'http://docs.simplemachines.org/index.php';

// Set all the parameters search might expect.
$postVars = array(
'search' => $context['search_term'],
);

// Encode the search data.
foreach ($postVars as $k => $v)
$postVars[$k] = urlencode($k) . '=' urlencode($v);

// This is what we will send.
$postVars implode('&'$postVars);

// Get the results from the doc site.
require_once($sourcedir '/Subs-Package.php');
$search_results fetch_web_data($context['doc_scripturl'] . '?action=search2&xml'$postVars);

// If we didn't get any xml back we are in trouble - perhaps the doc site is overloaded?
if (!$search_results || preg_match('~<' '\?xml\sversion="\d+\.\d+"\sencoding=".+?"\?' '>\s*(<smf>.+?</smf>)~is'$search_results$matches) != true)
fatal_lang_error('cannot_connect_doc_site');

$search_results $matches[1];

// Otherwise we simply walk through the XML and stick it in context for display.
$context['search_results'] = array();
loadClassFile('Class-Package.php');

// Get the results loaded into an array for processing!
$results = new xmlArray($search_resultsfalse);

// Move through the smf layer.
if (!$results->exists('smf'))
fatal_lang_error('cannot_connect_doc_site');
$results $results->path('smf[0]');

// Are there actually some results?
if (!$results->exists('noresults') && !$results->exists('results'))
fatal_lang_error('cannot_connect_doc_site');
elseif ($results->exists('results'))
{
foreach ($results->set('results/result') as $result)
{
if (!$result->exists('messages'))
continue;

$context['search_results'][$result->fetch('id')] = array(
'topic_id' => $result->fetch('id'),
'relevance' => $result->fetch('relevance'),
'board' => array(
'id' => $result->fetch('board/id'),
'name' => $result->fetch('board/name'),
'href' => $result->fetch('board/href'),
),
'category' => array(
'id' => $result->fetch('category/id'),
'name' => $result->fetch('category/name'),
'href' => $result->fetch('category/href'),
),
'messages' => array(),
);

// Add the messages.
foreach ($result->set('messages/message') as $message)
$context['search_results'][$result->fetch('id')]['messages'][] = array(
'id' => $message->fetch('id'),
'subject' => $message->fetch('subject'),
'body' => $message->fetch('body'),
'time' => $message->fetch('time'),
'timestamp' => $message->fetch('timestamp'),
'start' => $message->fetch('start'),
'author' => array(
'id' => $message->fetch('author/id'),
'name' => $message->fetch('author/name'),
'href' => $message->fetch('author/href'),
),
);
}
}
}

// This function decides which log to load.
function AdminLogs()
{
global $sourcedir$context$txt$scripturl;

// These are the logs they can load.
$log_functions = array(
'errorlog' => array('ManageErrors.php''ViewErrorLog'),
'adminlog' => array('Modlog.php''ViewModlog'),
'modlog' => array('Modlog.php''ViewModlog'),
'banlog' => array('ManageBans.php''BanLog'),
'spiderlog' => array('ManageSearchEngines.php''SpiderLogs'),
'tasklog' => array('ManageScheduledTasks.php''TaskLog'),
'pruning' => array('ManageSettings.php''ModifyPruningSettings'),
);

$sub_action = isset($_REQUEST['sa']) && isset($log_functions[$_REQUEST['sa']]) ? $_REQUEST['sa'] : 'errorlog';
// If it's not got a sa set it must have come here for first time, pretend error log should be reversed.
if (!isset($_REQUEST['sa']))
$_REQUEST['desc'] = true;

// Setup some tab stuff.
$context[$context['admin_menu_name']]['tab_data'] = array(
'title' => $txt['logs'],
'help' => '',
'description' => $txt['maintain_info'],
'tabs' => array(
'errorlog' => array(
'url' => $scripturl '?action=admin;area=logs;sa=errorlog;desc',
'description' => sprintf($txt['errlog_desc'], $txt['remove']),
),
'adminlog' => array(
'description' => $txt['admin_log_desc'],
),
'modlog' => array(
'description' => $txt['moderation_log_desc'],
),
'banlog' => array(
'description' => $txt['ban_log_description'],
),
'spiderlog' => array(
'description' => $txt['spider_log_desc'],
),
'tasklog' => array(
'description' => $txt['scheduled_log_desc'],
),
'pruning' => array(
'description' => $txt['pruning_log_desc'],
),
),
);

require_once($sourcedir '/' $log_functions[$sub_action][0]);
$log_functions[$sub_action][1]();
}

?>


And It can't find


// Load the language and templates....
loadLanguage('Admin');
loadTemplate('Admin', 'admin');

Arantor

That's because you have something else in your file from another mod.

In your case the equivalent code would be to find:
loadLanguage('Admin');
/** next x-Links **/
loadLanguage('xLinks');
loadTemplate('Admin', 'admin');


And insert it either before or after that, whichever the instructions tell you.

Though I'm not really convinced this is what you want anyway. It creates a page where you can ask people questions and it puts the results into a post on the forum.

gamerdude72

#19
Yeah I tried it. Don't think it will handle what I'm looking for. Thanks, though.

Edit: Still looking for coder or existing system.

Advertisement: