News:

SMF 2.1.4 has been released! Take it for a spin! Read more.

Main Menu

User Control Panel ( User CP ) V3.0

Started by Alan S, April 28, 2007, 12:59:54 PM

Previous topic - Next topic

Marcus Forsberg

#400
BTW, did you make the icons your self?
If so, could you create a icon whit a cup, or something else suitable for awards?

And also, I would like a icon for SMF Gallery, like a album ors omething.

It would be were nice of you.

Alan S

I didnt create the icons themseleves , they are from crystalxp.net , If you look through the pages in this thread , someone posted a icon for awards
Quote from: Eliana Tamerin on August 23, 2008, 04:10:10 PM
SMF 7 is where it gets good. That has time travel. You can go back and post before the guy who flamed you. :P

MissyNL

hello,

I have installed User Controle Panel MOD and something took my attention.
see the attached files :D

When i click on the Buddy Icon in the User Controlepanel i can add a friend, but when i click Buddy in the standard view mode, i only see my buddy and i can not add a friend.

Does someone know what it is? 

Thanks!

Sorry for my poor English, but i think it's probably better then your Dutch :)

perplexed

hi lafemme

I think it has to do with the ultimate profile mod as it treats buddies differently

Here is my post from earlier in this topic which might help you.

Quote from: quiteperplexed on March 06, 2008, 05:53:59 AM
hi

I have ultimate profile mod installed with this and the buddies work differently, so the buddies link on the User CP was taking me to the wrong place.

I changed the code in usercp.template.php from
<a href="', $scripturl, '?action=profile;u=', $ID_MEMBER, ';sa=editBuddies"><img border="0" src="',$settings['images_url'],'/usercp/kdmconfig.png" width="80" height="80"></a></td>


to
<a href="', $scripturl, '?action=buddies;sa=editBuddies"><img border="0" src="',$settings['images_url'],'/usercp/kdmconfig.png" width="80" height="80"></a></td>

and that works with no errors in the log.  I just want to make sure that I've done it correctly or if I should have done it another way, please let me know

Thanks

This is what I am using now, and no one replied to correct me, so I guess it's ok :)

MissyNL

Hi quiteperplexed,

it works great! The only thing is that it deletes the add buddy part, and that is what i do not want :)  I want to add the Add Buddy part to my standard view to :D

Anyway.. thanks for your post :D
Sorry for my poor English, but i think it's probably better then your Dutch :)

perplexed

yeah I don't think you can do that if you are using UP.  Adding buddy is done differently, that's the problem.

MissyNL

Quote from: Alan S on April 06, 2008, 03:51:44 PM
Quote from: quiteperplexed on April 06, 2008, 12:23:31 PM
try something like this


http://www.yoursite.com/forum/index.php?action=profile;u=;sa=pictures


If thats the actual code of the link to the pictures , In the usercp.template.php the link you would add would be

http://www.yoursite.com/forum/index.php?action=profile;u=' , $ID_MEMBER , ';sa=pictures

That would make the link recognise which user it is and take them to that users gallery.

I Have tried it, and with the ID Member did not work.. so left it blank and it worked :)
Sorry for my poor English, but i think it's probably better then your Dutch :)

MissyNL

Hi, again :D

I now have added new links in the panel, but is it possible to choose your own order of how it is shown? Because it is no not so organised.  Thanks!
Sorry for my poor English, but i think it's probably better then your Dutch :)

Marcus Forsberg

Swedish translation:

$txt['usercp'] = 'KPanelen';
$txt['usercp_account_info'] = 'Konto Information';
$txt['usercp_account_info_summary'] = 'Här kan du ändra kontoinformation, såsom lösenord, e-postadress och andra viktiga detaljer.';
$txt['usercp_look_and_layout'] = 'Utseende- och layoutinställningar';
$txt['usercp_look_and_layout_summary'] = 'Klicka här för att ställa in hur forumet ser ut för dig.';
$txt['usercp_my_theme'] = 'Mitt Tema';
$txt['usercp_my_theme_summary'] = 'Denhär sidan låter dig välja vilket tema du vill ha på sidan.';
$txt['usercp_my_profile'] = 'Min Profil';
$txt['usercp_my_profile_summary'] = 'Klicka här för att ändra hur din profil ser ut för andra medlemar.';
$txt['usercp_my_stats'] = 'Min Statistik';
$txt['usercp_my_stats_summary'] = 'Här kan du se hur många inlägg du skrivit, samt annan aktivitetsinformation.';
$txt['usercp_my_posts'] = 'Mina Poster';
$txt['usercp_my_posts_summary'] = 'Här kan du se alla inlägg du skrivit sedan du blev medlem.';
$txt['usercp_my_notifications'] = 'Mina underrättelser';
$txt['usercp_my_notifications_summary'] = 'På denhär sidan kan du ändra inställnigarna för dina underrätelser.';
$txt['usercp_buddies'] = 'Kompisar';
$txt['usercp_buddies_summary'] = 'Här kan du lägga till kompisar.';
$txt['usercp_message_options'] = 'Alternativ för Privata meddelanden';
$txt['usercp_message_options_summary'] = 'På denhär sidan kan du ändra inställnigarna för dina personliga meddelanden.';
$txt['usercp_search'] = 'Sök';
$txt['usercp_search_summary'] = 'Här söker du efter inlägg i forumet.';
$txt['usercp_contact_admin'] = 'Kontakta Admin';
$txt['usercp_contact_admin_summary'] = 'Förvirrad? Eller har du nått att påpeka? Kontakta admin på denna sida';
$txt['usercp_guest'] = 'Ledsen Gäst , du har inte tillåtelse att visa Kontrollpanelen. Var god och';
$txt['usercp_login'] = 'logga in';
$txt['usercp_or'] = 'eller';
$txt['usercp_register'] = 'bli medlem';
$txt['usercp_copyright'] = 'Användar KP V2.0 | Skapad av Alan S';
$txt['usercp_welcome'] = 'Välkommen ';
$txt['usercp_delete_account'] = 'Radera mitt konto';
$txt['usercp_delete_account_summary'] = 'Trött på sidan? Använd detta alternativ för att radera ditt konto.';
$txt['usercp_error'] = 'Error!';
$txt['usercp_enable'] = 'Aktivera Användar Kontroll Panelen';
$txt['usercp_disabled'] = 'Användar Kontroll Panelen inaktiverad';
$txt['usercp_clickhere'] = 'Klicka här för att gå till ';
$txt['usercp_profile'] = 'Profil sidan';
$txt['usercp_field1image'] = 'Eget KP fält 1 Bild';
$txt['usercp_field1url'] = 'URL';
$txt['usercp_field1maintext'] = 'Huvudtext ( ex. Mina Poster )';
$txt['usercp_field1summary'] = 'Beskrivning';
$txt['usercp_field1enable'] = 'Aktivera eget KP fält 1';
$txt['usercp_field2image'] = 'Eget KP fält 2 Bild';
$txt['usercp_field2url'] = 'URL';
$txt['usercp_field2maintext'] = 'Huvudtext ( ex. Mina Poster )';
$txt['usercp_field2summary'] = 'Beskrivning';
$txt['usercp_field2enable'] = 'Aktivera eget KP fält 2';
$txt['usercp_field3image'] = 'Eget KP fält 3 Bild';
$txt['usercp_field3url'] = 'URL';
$txt['usercp_field3maintext'] = 'Huvudtext ( ex. Mina Poster )';
$txt['usercp_field3summary'] = 'Beskrivning';
$txt['usercp_field3enable'] = 'Aktivera eget KP fält 3';
$txt['usercp_field4image'] = 'Eget KP fält 4 Bild';
$txt['usercp_field4url'] = 'URL';
$txt['usercp_field4maintext'] = 'Huvudtext ( ex. Mina Poster )';
$txt['usercp_field4summary'] = 'Beskrivning';
$txt['usercp_field4enable'] = 'Aktivera eget KP fält 4';
$txt['usercp_usepm'] = 'Använd PM istället för mail vid Kontakta Admin';
$txt['usercp_adminid'] = 'Skriv admin's ID här ( Kolla på länken i din profil för att hitta den , ?action=profile;u=x )';
$txt['usercp_switchview'] = 'Tillåt medlemar att använda den vanliga profilen istället.';
$txt['usercp_enablecontactadmin'] = 'Aktivera Kontakta Admin';

perplexed

Quote from: Lafemme on April 24, 2008, 04:18:21 PM
Hi, again :D

I now have added new links in the panel, but is it possible to choose your own order of how it is shown? Because it is no not so organised.  Thanks!

you would have to edit the file and move them about into the order you want.

MissyNL

oh.. oke.. ehm.. wich file :D   i will also work on the dutch translation then
I can not code.. but i can translate for you guys... my way of saying thank you :D
Sorry for my poor English, but i think it's probably better then your Dutch :)


MissyNL

Ok.. i have looked.. but it's a bit complicated for me.. i think it's better if i leave it untouched :D Well.. thank you all for the support! and ehm.. quiteperplexed, please know i am not stalking you :D
Sorry for my poor English, but i think it's probably better then your Dutch :)


Alan S

Quote from: Lafemme on April 24, 2008, 04:18:21 PM
Hi, again :D

I now have added new links in the panel, but is it possible to choose your own order of how it is shown? Because it is no not so organised.  Thanks!

Well , you sort of can , UserCP field 1 will come first , followed by UserCP field 3 , so in the admin panel just change links etc to the order you want from 1 to 4
Quote from: MTF95 on April 25, 2008, 12:36:23 AM
Swedish translation:

$txt['usercp'] = 'KPanelen';
$txt['usercp_account_info'] = 'Konto Information';
$txt['usercp_account_info_summary'] = 'Här kan du ändra kontoinformation, såsom lösenord, e-postadress och andra viktiga detaljer.';
$txt['usercp_look_and_layout'] = 'Utseende- och layoutinställningar';
$txt['usercp_look_and_layout_summary'] = 'Klicka här för att ställa in hur forumet ser ut för dig.';
$txt['usercp_my_theme'] = 'Mitt Tema';
$txt['usercp_my_theme_summary'] = 'Denhär sidan låter dig välja vilket tema du vill ha på sidan.';
$txt['usercp_my_profile'] = 'Min Profil';
$txt['usercp_my_profile_summary'] = 'Klicka här för att ändra hur din profil ser ut för andra medlemar.';
$txt['usercp_my_stats'] = 'Min Statistik';
$txt['usercp_my_stats_summary'] = 'Här kan du se hur många inlägg du skrivit, samt annan aktivitetsinformation.';
$txt['usercp_my_posts'] = 'Mina Poster';
$txt['usercp_my_posts_summary'] = 'Här kan du se alla inlägg du skrivit sedan du blev medlem.';
$txt['usercp_my_notifications'] = 'Mina underrättelser';
$txt['usercp_my_notifications_summary'] = 'På denhär sidan kan du ändra inställnigarna för dina underrätelser.';
$txt['usercp_buddies'] = 'Kompisar';
$txt['usercp_buddies_summary'] = 'Här kan du lägga till kompisar.';
$txt['usercp_message_options'] = 'Alternativ för Privata meddelanden';
$txt['usercp_message_options_summary'] = 'På denhär sidan kan du ändra inställnigarna för dina personliga meddelanden.';
$txt['usercp_search'] = 'Sök';
$txt['usercp_search_summary'] = 'Här söker du efter inlägg i forumet.';
$txt['usercp_contact_admin'] = 'Kontakta Admin';
$txt['usercp_contact_admin_summary'] = 'Förvirrad? Eller har du nått att påpeka? Kontakta admin på denna sida';
$txt['usercp_guest'] = 'Ledsen Gäst , du har inte tillåtelse att visa Kontrollpanelen. Var god och';
$txt['usercp_login'] = 'logga in';
$txt['usercp_or'] = 'eller';
$txt['usercp_register'] = 'bli medlem';
$txt['usercp_copyright'] = 'Användar KP V2.0 | Skapad av Alan S';
$txt['usercp_welcome'] = 'Välkommen ';
$txt['usercp_delete_account'] = 'Radera mitt konto';
$txt['usercp_delete_account_summary'] = 'Trött på sidan? Använd detta alternativ för att radera ditt konto.';
$txt['usercp_error'] = 'Error!';
$txt['usercp_enable'] = 'Aktivera Användar Kontroll Panelen';
$txt['usercp_disabled'] = 'Användar Kontroll Panelen inaktiverad';
$txt['usercp_clickhere'] = 'Klicka här för att gå till ';
$txt['usercp_profile'] = 'Profil sidan';
$txt['usercp_field1image'] = 'Eget KP fält 1 Bild';
$txt['usercp_field1url'] = 'URL';
$txt['usercp_field1maintext'] = 'Huvudtext ( ex. Mina Poster )';
$txt['usercp_field1summary'] = 'Beskrivning';
$txt['usercp_field1enable'] = 'Aktivera eget KP fält 1';
$txt['usercp_field2image'] = 'Eget KP fält 2 Bild';
$txt['usercp_field2url'] = 'URL';
$txt['usercp_field2maintext'] = 'Huvudtext ( ex. Mina Poster )';
$txt['usercp_field2summary'] = 'Beskrivning';
$txt['usercp_field2enable'] = 'Aktivera eget KP fält 2';
$txt['usercp_field3image'] = 'Eget KP fält 3 Bild';
$txt['usercp_field3url'] = 'URL';
$txt['usercp_field3maintext'] = 'Huvudtext ( ex. Mina Poster )';
$txt['usercp_field3summary'] = 'Beskrivning';
$txt['usercp_field3enable'] = 'Aktivera eget KP fält 3';
$txt['usercp_field4image'] = 'Eget KP fält 4 Bild';
$txt['usercp_field4url'] = 'URL';
$txt['usercp_field4maintext'] = 'Huvudtext ( ex. Mina Poster )';
$txt['usercp_field4summary'] = 'Beskrivning';
$txt['usercp_field4enable'] = 'Aktivera eget KP fält 4';
$txt['usercp_usepm'] = 'Använd PM istället för mail vid Kontakta Admin';
$txt['usercp_adminid'] = 'Skriv admin's ID här ( Kolla på länken i din profil för att hitta den , ?action=profile;u=x )';
$txt['usercp_switchview'] = 'Tillåt medlemar att använda den vanliga profilen istället.';
$txt['usercp_enablecontactadmin'] = 'Aktivera Kontakta Admin';


Thanks , will add to the main page
Quote from: Eliana Tamerin on August 23, 2008, 04:10:10 PM
SMF 7 is where it gets good. That has time travel. You can go back and post before the guy who flamed you. :P


MissyNL

Hi There,

i have the dutch translation if you like :D

$txt['usercp'] = 'Profiel beheren';
$txt['usercp_account_info'] = 'Mijn account informatie';
$txt['usercp_account_info_summary'] = 'Klik hier als je jouw accountgerelateerde informatie wilt wijzigen zoals gebruikersnaam, e-mail, password en andere instellingen.';
$txt['usercp_look_and_layout'] = 'Uiterlijk & Layout Opties';
$txt['usercp_look_and_layout_summary'] = 'Klik hier als je het uiterlijk van de forum wilt wijzigen naar jouw smaak. Er staan ook opties vermeld voor de Boards en berichten.';
$txt['usercp_my_theme'] = 'Mijn Thema';
$txt['usercp_my_theme_summary'] = 'Deze scherm zal jouw een opties geven waardoor jij je thema kan aanpassen, waardoor je elke keer als je inlogt jouw thema te zien krijgt.';
$txt['usercp_my_profile'] = 'Mijn profiel';
$txt['usercp_my_profile_summary'] = 'Klik hier als je het uiterlijk en layout van je profiel wilt wijzigen die iedereen tezien krijgt.';
$txt['usercp_my_stats'] = 'Mijn statestieken';
$txt['usercp_my_stats_summary'] = 'Hier kan je kijken hoeveel berichten je hebt geplaatst in het forum en andere gerelateerde info bekijken.';
$txt['usercp_my_posts'] = 'Mijn berichten';
$txt['usercp_my_posts_summary'] = 'Deze optie laat alle berichten zien die jij hebt geplaatst sinds dat jij jezelf hebt aangemeld op het forum.';
$txt['usercp_my_notifications'] = 'Mijn notificaties';
$txt['usercp_my_notifications_summary'] = 'Dit scherm laat jouw toe om de frequentie te wijzigen van het aantal notificaties jij ontvangt via de e-mail als je deelneemt aan een bepaalde topic.';
$txt['usercp_buddies'] = 'Mijn vrienden';
$txt['usercp_buddies_summary'] = 'Deze scherm laat jouw toe om te kijken welke vrienden jij hebt toegevoegd en om vrienden toe te voegen.';
$txt['usercp_message_options'] = 'Mijn bericht opties';
$txt['usercp_message_options_summary'] = 'Dit scherm laat jouw toe om jouw voorkeuren voor ontvangen Persoonlijke berichten te wijzigen en ook mensen invoeren om te negeren waar jij geen persoonlijke berichten van wilt ontvangen.';
$txt['usercp_search'] = 'Zoeken';
$txt['usercp_search_summary'] = 'Dit scherm heeft uitgebreide opties om naar berichten te zoeken die geplaatst zijn in het forum.';
$txt['usercp_contact_admin'] = 'Contact beheerder';
$txt['usercp_contact_admin_summary'] = 'Ben je verward? Heb je een vraag? Wil je iemand aangeven die zich niet aan de regels houdt? Contact de beheerder via dit scherm.';
$txt['usercp_guest'] = 'Sorry gast, je bent niet toegestaan om het Profiel Control Panel, Alstjeblieft';
$txt['usercp_login'] = 'Log in';
$txt['usercp_or'] = 'of';
$txt['usercp_register'] = 'Registreer';
$txt['usercp_copyright'] = 'User Cp V2.0 | Created By Alan S';
$txt['usercp_welcome'] = 'Welkom ';
$txt['usercp_delete_account'] = 'Verwijder mijn account';
$txt['usercp_delete_account_summary'] = 'Ben je de site beu? Gebruik deze optie om een verzoek in te dienen om je account te laten verwijderen.';
$txt['usercp_error'] = 'Fout!';
$txt['usercp_enable'] = 'Schakel User Control Panel in';
$txt['usercp_disabled'] = 'Schakel User Control Panel uit';
$txt['usercp_clickhere'] = 'Klik hier om te gaan naar ';
$txt['usercp_profile'] = 'Profiel scherm';
$txt['usercp_usepm'] = 'Gebruik een Persoonlijk Bericht i.p.v. e-mail om de beheerder te contacten.';
$txt['usercp_adminid'] = 'Vul hier het ID in van de beheerder. (Kijk in de link van jouw profiel om het ID te vinden. ?action=profile;u=x )';
$txt['usercp_switchview'] = 'Sta gebruikers om te schakelen naar standaard profiel mode.';
$txt['usercp_enablecontactadmin'] = 'Schakel Contact beheerder via UserCP in.';


If something is missing.. please let me know :D 
Sorry for my poor English, but i think it's probably better then your Dutch :)

chrisb

#417
Hi there,

We have been getting this error when we go into features & options on our screen

Fatal error: Cannot redeclare modifyusercpsettings() (previously declared in /home/cxtxtsju/public_html/forum/Sources/ModSettings.php:677) in /home/cxtxtsju/public_html/forum/Sources/ModSettings.php on line 777



Here is as below the mod settings code as well.Can anyone tells us what is going wrong his code here please

<?php
/**********************************************************************************
* ModSettings.php                                                                 *
***********************************************************************************
* SMF: Simple Machines Forum                                                      *
* Open-Source Project Inspired by Zef Hemel ([email protected])                    *
* =============================================================================== *
* Software Version:           SMF 1.1                                             *
* Software by:                Simple Machines (http://www.simplemachines.org)     *
* Copyright 2006 by:          Simple Machines LLC (http://www.simplemachines.org) *
*           2001-2006 by:     Lewis Media (http://www.lewismedia.com)             *
* Support, News, Updates at:  http://www.simplemachines.org                       *
***********************************************************************************
* This program is free software; you may redistribute it and/or modify it under   *
* the terms of the provided license as published by Simple Machines LLC.          *
*                                                                                 *
* This program is distributed in the hope that it is and will be useful, but      *
* WITHOUT ANY WARRANTIES; without even any implied warranty of MERCHANTABILITY    *
* or FITNESS FOR A PARTICULAR PURPOSE.                                            *
*                                                                                 *
* See the "license.txt" file for details of the Simple Machines license.          *
* The latest version can always be found at http://www.simplemachines.org.        *
**********************************************************************************/
if (!defined('SMF'))
die('Hacking attempt...');

/* This file is here to make it easier for installed mods to have settings
and options.  It uses the following functions:

void ModifyFeatureSettings()
// !!!

void ModifyFeatureSettings2()
// !!!

void ModifyBasicSettings()
// !!!

void ModifyLayoutSettings()
// !!!

void ModifyKarmaSettings()
// !!!

Adding new settings to the $modSettings array:
---------------------------------------------------------------------------
// !!!
*/

/* Adding options to one of the setting screens isn't hard.  The basic format for a checkbox is:
array('check', 'nameInModSettingsAndSQL'),

   And for a text box:
array('text', 'nameInModSettingsAndSQL')
   (NOTE: You have to add an entry for this at the bottom!)

   In these cases, it will look for $txt['nameInModSettingsAndSQL'] as the description,
   and $helptxt['nameInModSettingsAndSQL'] as the help popup description.

Here's a quick explanation of how to add a new item:

 * A text input box.  For textual values.
ie. array('text', 'nameInModSettingsAndSQL', 'OptionalInputBoxWidth',
&$txt['OptionalDescriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),

 * A text input box.  For numerical values.
ie. array('int', 'nameInModSettingsAndSQL', 'OptionalInputBoxWidth',
&$txt['OptionalDescriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),

 * A text input box.  For floating point values.
ie. array('float', 'nameInModSettingsAndSQL', 'OptionalInputBoxWidth',
&$txt['OptionalDescriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),

         * A large text input box. Used for textual values spanning multiple lines.
ie. array('large_text', 'nameInModSettingsAndSQL', 'OptionalNumberOfRows',
&$txt['OptionalDescriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),

 * A check box.  Either one or zero. (boolean)
ie. array('check', 'nameInModSettingsAndSQL', null, &$txt['descriptionOfTheOption'],
'OptionalReferenceToHelpAdmin'),

 * A selection box.  Used for the selection of something from a list.
ie. array('select', 'nameInModSettingsAndSQL', array('valueForSQL' => &$txt['displayedValue']),
&$txt['descriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),
Note that just saying array('first', 'second') will put 0 in the SQL for 'first'.

 * A password input box. Used for passwords, no less!
ie. array('password', 'nameInModSettingsAndSQL', 'OptionalInputBoxWidth',
&$txt['descriptionOfTheOption'], 'OptionalReferenceToHelpAdmin'),

For each option:
type (see above), variable name, size/possible values, description, helptext.
OR make type 'rule' for an empty string for a horizontal rule.
OR make type 'heading' with a string for a titled section. */

// This function passes control through to the relevant tab.
function ModifyFeatureSettings()
{
global $context$txt$scripturl$modSettings$sourcedir;

// You need to be an admin to edit settings!
isAllowedTo('admin_forum');

// All the admin bar, to make it right.
adminIndex('edit_mods_settings');
loadLanguage('Help');
loadLanguage('ModSettings');

// Will need the utility functions from here.
require_once($sourcedir '/ManageServer.php');

$context['page_title'] = $txt['modSettings_title'];
$context['sub_template'] = 'show_settings';

$subActions = array(
'invite' => 'ModifyInviteSettings',

'aeiou' => 'ModifyAeiouSettings', 'basic' => 'ModifyBasicSettings',
'layout' => 'ModifyLayoutSettings',
'karma' => 'ModifyKarmaSettings',
// --- Begin modification - SMFBlog ---
'usercp' => 'ModifyUserCPSettings',
// --- End modification ---

'chatroomButton' => 'ModifyChatroomButtonSettings',

'usercp' => 'ModifyUserCPSettings',

);

// By default do the basic settings.
$_REQUEST['sa'] = isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']]) ? $_REQUEST['sa'] : 'basic';
$context['sub_action'] = $_REQUEST['sa'];

// Load up all the tabs...
$context['admin_tabs'] = array(
'title' => &$txt['modSettings_title'],
'help' => 'modsettings',
'description' => $txt['smf3'],
'tabs' => array(
'basic' => array(
'title' => $txt['mods_cat_features'],
'href' => $scripturl '?action=featuresettings;sa=basic;sesc=' $context['session_id'],
),
'layout' => array(
'title' => $txt['mods_cat_layout'],
'href' => $scripturl '?action=featuresettings;sa=layout;sesc=' $context['session_id'],
),

'invite' => array(
'title' => $txt['invite_title'],
'href' => $scripturl '?action=featuresettings;sa=invite;sesc=' $context['session_id'],
),
                        
'chatroomButton' => array(
                                
'title' => $txt['chatroomButton_title'],
                                
'href' => $scripturl '?action=featuresettings;sa=chatroomButton;sesc=' $context['session_id'],
),
'karma' => array(
'title' => $txt['smf293'],
'href' => $scripturl '?action=featuresettings;sa=karma;sesc=' $context['session_id'],
),
'aeiou' => array(
'title' => $txt['aeiou'],
'href' => $scripturl '?action=featuresettings;sa=aeiou;sesc=' $context['session_id'],
'is_last' => true,
),
),
);

// Select the right tab based on the sub action.
if (isset($context['admin_tabs']['tabs'][$context['sub_action']]))
$context['admin_tabs']['tabs'][$context['sub_action']]['is_selected'] = true;

// Call the right function for this sub-acton.
$subActions[$_REQUEST['sa']]();
}

// This function basically just redirects to the right save function.
function ModifyFeatureSettings2()
{
global $context$txt$scripturl$modSettings$sourcedir;

isAllowedTo('admin_forum');
loadLanguage('ModSettings');

// Quick session check...
checkSession();

require_once($sourcedir '/ManageServer.php');

$subActions = array(
'invite' => 'ModifyInviteSettings',

'aeiou' => 'ModifyAeiouSettings', 'basic' => 'ModifyBasicSettings',
'layout' => 'ModifyLayoutSettings',
'karma' => 'ModifyKarmaSettings',
// --- Begin modification - UserCP ---
'usercp' => 'ModifyUserCPSettings',
// --- End modification ---

'chatroomButton' => 'ModifyChatroomButtonSettings',

// --- Begin modification - UserCP ---
'usercp' => 'ModifyUserCPSettings',
// --- End modification ---

);

// Default to core (I assume)
$_REQUEST['sa'] = isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']]) ? $_REQUEST['sa'] : 'basic';

// Actually call the saving function.
$subActions[$_REQUEST['sa']]();
}

function 
ModifyBasicSettings()
{
global $txt$scripturl$context$settings$sc$modSettings;

$config_vars = array(
// Big Options... polls, sticky, bbc....
array('select''pollMode', array(&$txt['smf34'], &$txt['smf32'], &$txt['smf33'])),
'',
// Basic stuff, user languages, titles, flash, permissions...
array('check''allow_guestAccess'),
array('check''userLanguage'),
array('check''allow_editDisplayName'),
array('check''allow_hideOnline'),
array('check''allow_hideEmail'),
array('check''guest_hideContacts'),
array('check''titlesEnable'),
array('check''enable_buddylist'),
array('text''default_personalText'),
array('int''max_signatureLength'),
'',
// MCLegendII
array('text''arrange_mclegend'),
'',
// Badge abd stars
array('text''badge_ownline'),
'',
// Stats, compression, cookies.... server type stuff.
array('text''time_format'),
array('select''number_format', array('1234.00' => '1234.00''1,234.00' => '1,234.00''1.234,00' => '1.234,00''1 234,00' => '1 234,00''1234,00' => '1234,00')),
array('float''time_offset'),
array('int''failed_login_threshold'),
array('int''lastActive'),
array('check''trackStats'),
array('check''hitStats'),
array('check''enableErrorLogging'),
array('check''securityDisable'),
'',
// Related Topics
array('check''relatedTopicsEnabled'),
array('int''relatedTopicsCount'),
array('select''relatedMethod', array('fulltext' => &$txt['relatedFulltext'], 'custom' => &$txt['relatedCustom'])),

'',
// Reactive on email, and approve on delete
array('check''send_validation_onChange'),
array('check''approveAccountDeletion'),
'',
// Option-ish things... miscellaneous sorta.
array('check''allow_disableAnnounce'),
array('check''disallow_sendBody'),
array('check''modlog_enabled'),
array('check''queryless_urls'),
'',
array('check''sitemap_xml'),
array('int''sitemap_topic_count'),
array('check''sitemap_collapsible'),
'',
// Width/Height image reduction.
array('int''max_image_width'),
array('int''max_image_height'),
'',
// Topic Member Count Settings.
array('check''topiccountAllowGuests'),
array('check''topiccountMemberColorLink'),
array('int''topiccountWindowWidth'),
array('int''topiccountWindowHeight'),
array('check''topiccountDisableTableCache'),
array('int''topiccountTableCacheUpdate'),
array('int''topiccountMaxRepliesLimit'),
'',
// Reporting of personal messages?
array('check''enableReportPM'),
);

// Saving?
if (isset($_GET['save']))
{
// Fix PM settings.
$_POST['pm_spam_settings'] = (int) $_POST['max_pm_recipients'] . ',' . (int) $_POST['pm_posts_verification'] . ',' . (int) $_POST['pm_posts_per_hour'];
$save_vars $config_vars;
$save_vars[] = array('text''pm_spam_settings');

saveDBSettings($save_vars);

writeLog();
redirectexit('action=featuresettings;sa=basic');
}

// Hack for PM spam settings.
list ($modSettings['max_pm_recipients'], $modSettings['pm_posts_verification'], $modSettings['pm_posts_per_hour']) = explode(','$modSettings['pm_spam_settings']);
$config_vars[] = array('int''max_pm_recipients');
$config_vars[] = array('int''pm_posts_verification');
$config_vars[] = array('int''pm_posts_per_hour');

$context['post_url'] = $scripturl '?action=featuresettings2;save;sa=basic';
$context['settings_title'] = $txt['mods_cat_features'];

prepareDBSettingContext($config_vars);
}

function 
ModifyLayoutSettings()
{
global $txt$scripturl$context$settings$sc;

$config_vars = array(
// Compact pages?
array('check''compactTopicPagesEnable'),
array('int''compactTopicPagesContiguous'null$txt['smf235'] . '<div class="smalltext">' str_replace(' ''&nbsp;''"3" ' $txt['smf236'] . ': <b>1 ... 4 [5] 6 ... 9</b>') . '<br />' str_replace(' ''&nbsp;''"5" ' $txt['smf236'] . ': <b>1 ... 3 4 [5] 6 7 ... 9</b>') . '</div>'),
'',
// Stuff that just is everywhere - today, search, online, etc.
array('select''todayMod', array(&$txt['smf290'], &$txt['smf291'], &$txt['smf292'])),
array('check''topbottomEnable'),
array('check''onlineEnable'),
array('check''enableVBStyleLogin'),
'',
// Pagination stuff.
array('int''defaultMaxMembers'),
'',
// This is like debugging sorta.
array('check''timeLoadPageEnable'),
array('check''disableHostnameLookup'),
'',
// Who's online.
array('check''who_enabled'),
'',
// Sitepreview service.
array('check''sitepreview_disabled'),
array('select''sitepreview_select', array($txt['sitepreview_art'],$txt['sitepreview_web'],$txt['sitepreview_snap'],$txt['sitepreview_iweb'],$txt['sitepreview_seekxl'],$txt['sitepreview_thumb'])),
array('select''sitepreview_bubble', array($txt['sitepreview_bubble_white'],$txt['sitepreview_bubble_grey'],$txt['sitepreview_bubble_black'])),
'',
// Avatar on board.
array('check''disable_avatar'),
array('int''board_avatar_width'),
array('int''board_avatar_height'),
array('check''display_childboards'),
'',

'',
// Board Viewers By HarzeM
array('check''enable_board_viewers'),
array('check''boardViewersGuestsMembers'),
array('check''boardViewersClickable'),
array('check''countChildPosts'),
);

// Saving?
if (isset($_GET['save']))
{
saveDBSettings($config_vars);
redirectexit('action=featuresettings;sa=layout');

loadUserSettings();
writeLog();
}

$context['post_url'] = $scripturl '?action=featuresettings2;save;sa=layout';
$context['settings_title'] = $txt['mods_cat_layout'];

prepareDBSettingContext($config_vars);
}

// Invite MOD
function ModifyInviteSettings()
{
global $sourcedir;
require_once($sourcedir '/Invite.php');
InviteSettings();
}


function 
ModifyChatroomButtonSettings()
{
global $txt$scripturl$context$settings$sc;

// WebsiteButton 1.0 Settings
$config_vars = array(
array('select''chatroomButton_ga', array(
=> &$txt['chatroom_disabled'],
=> &$txt['chatroom_enabled'],
)),
array('text''chatroomButton_url'),
);

// Saving?
if (isset($_GET['save']))
{
saveDBSettings($config_vars);
redirectexit('action=featuresettings;sa=chatroomButton');
}

        
$context['post_url'] = $scripturl '?action=featuresettings2;save;sa=chatroomButton';
        
$context['settings_title'] = isset($txt['chatroomButton_title']) ? $txt['chatroomButton_title'] : 'Chatroom';

prepareDBSettingContext($config_vars);
}
function 
ModifyKarmaSettings()
{
global $txt$scripturl$context$settings$sc;

$config_vars = array(
// Karma - On or off?
array('select''karmaMode'explode('|'$txt['smf64'])),
'',
// Who can do it.... and who is restricted by time limits?
array('int''karmaMinPosts'),
array('float''karmaWaitTime'),
array('check''karmaTimeRestrictAdmins'),
'',
// What does it look like?  [smite]?
array('text''karmaLabel'),
array('text''karmaApplaudLabel'),
array('text''karmaSmiteLabel'),
'',
array('check''karma_on_topic'),
array('int''karma_count_on_topic'),
array('check''karma_on_post'),
array('int''karma_count_on_post'),
);

// Saving?
if (isset($_GET['save']))
{
saveDBSettings($config_vars);
redirectexit('action=featuresettings;sa=karma');
}

$context['post_url'] = $scripturl '?action=featuresettings2;save;sa=karma';
$context['settings_title'] = $txt['smf293'];

prepareDBSettingContext($config_vars);
}

function 
ModifyAeiouSettings()
{
global $txt$scripturl$context$settings$sc$db_prefix$modSettings;

// If the mod is enabled and we're not saving, query for mod status information
if (!isset($_GET['save']) && $modSettings['aeiou_enable'])
{
// Current time
$time time();

// Get the delete band
$request db_query("
SELECT count(*)
FROM 
{$db_prefix}members
WHERE lastLogin < "
. ($time 1814400) ."
AND aeiou_email < "
. ($time 1814400) ."
AND aeiou_count > 1
AND posts <= "
. (int) $modSettings['aeiou_underposts']. "
"
__FILE____LINE__);
list($deletion) = mysql_fetch_row($request);

// Create an array for the bands, with default values of 0
$temp = array(=> 0=> 0=> (int) $deletion);

// Tidy up
unset($deletion);
mysql_free_result($request);

// Get the email bands
$request db_query("
SELECT count(*) as no, aeiou_count
FROM 
{$db_prefix}members
WHERE lastLogin < "
. ($time 1814400) ."
AND aeiou_email < "
. ($time 1814400) ."
AND aeiou_count < 2
AND is_activated < 10
AND is_activated != 0
AND is_activated != 4
GROUP BY aeiou_count
ORDER BY aeiou_count ASC
"
__FILE____LINE__);

// No further emails, if not set already, stop the mod until tomorrow
if(mysql_num_rows($request) == 0)
{
// If not already, tell the mod to stop
if(!empty($modSettings['aeiou_stop']))
aeiou_update(array('stop' => 1));
// Change the variable for the remainder of this page
$modSettings['aeiou_stop'] = 1;
}
else
{
// Store the bands in the array created earlier
while($row mysql_fetch_assoc($request))
$temp[$row['aeiou_count']] = $row['no'];
// Tidy up
unset($row);

// The mod is set as stopped, but we discovered some emails, so re-activate us
if(!empty($modSettings['aeiou_stop']))
{
aeiou_update(array('stop' => 0));
// Change the variable for the remainder of this page
$modSettings['aeiou_stop'] = 0;
$reactivated 1;
}
}

// Prepare rows for the stats table
$items = array();

// Last ran
$items['aeiou_last_ran'] = ($modSettings['aeiou_locktimestamp'] == 0) ? $txt['aeiou_never'] : timeformat($modSettings['aeiou_locktimestamp'], true) ;

$again = ($modSettings['aeiou_locktimestamp'] == 0) ? $time $modSettings['aeiou_locktimestamp'];
// But if reached daily limit or is stopped we will start/check again tomorrow
if($modSettings['aeiou_day_max'] <= $modSettings['aeiou_day_sent'] || $modSettings['aeiou_stop'] == 1)
{
$date explode('-'date('Y-m-d'$again));
$tomorrow mktime(000$date[1], $date[2], $date[0]) + (60*60*24);
$items['aeiou_starts_again'] = timeformat($tomorrowtrue);
unset($date$tomorrow);

}
elseif($modSettings['aeiou_hour_max'] <= $modSettings['aeiou_hour_sent'])
{
// Or reached hourly limit we will start/check again next hour
$date explode('-'date('Y-m-d-h'$again));
$nexthour mktime($date[3], 00$date[1], $date[2], $date[0]) + (60*60);
$items['aeiou_starts_again'] = timeformat($nexthourtrue);
unset($date$nexthour);
}
else
// Else Can start again from previous + 5mins
$items['aeiou_starts_again'] = timeformat($again 300true) ;

// Emailed today with max in parenthesis
$items['aeiou_sent_day'] = $modSettings['aeiou_day_sent']
.' <span style="font-weight:normal;font-style:italic">('.$txt['aeiou_max'].': '.$modSettings['aeiou_day_max'].')</span>';
// Emailed this hour with max in parenthesis
$items['aeiou_sent_hour'] = $modSettings['aeiou_hour_sent']
.' <span style="font-weight:normal;font-style:italic">('.$txt['aeiou_max'].': '.$modSettings['aeiou_hour_max'].')</span>';

// Now setup the stats about no.s of email etc
$items['aeiou_awaiting_total'] = $temp[0] + $temp[1];
$items['aeiou_awaiting_initial_email'] = $temp[0];
$items['aeiou_awaiting_final_email'] = $temp[1];
$items['aeiou_awaiting_deletion'] = $temp[2] . (empty($modSettings['aeiou_delete']) ? ' <span style="color:red">'.$txt['aeiou_disabled'].'</span>' '' ) ; 

// Reasons for inactive
if(!empty($modSettings['aeiou_stop']))
$status $txt['aeiou_nofurtheremails'];
elseif($modSettings['aeiou_day_max'] <= $modSettings['aeiou_day_sent'])
$status $txt['aeiou_reacheddailylimit'];
elseif($modSettings['aeiou_hour_max'] <= $modSettings['aeiou_hour_sent'])
$status $txt['aeiou_reachedhourlylimit'];

// Is the mod Active? (even if enabled, it might not be active)
// If the mod was stopped, but on loading this page, we discovered more emails, show as re-activated
if(!empty($reactivated))
$status '<span style="color:darkgreen">'.$txt['aeiou_reactivated'].'</span>';
elseif(empty($status))
$status '<span style="color:darkgreen">'.$txt['aeiou_active'].'</span>';
else
// Inactive 
$status '<span style="color:maroon">'.$txt['aeiou_stopped'].'</span> - '$status;

// Header of the stats chunk and status
$chunk '<table cellpadding="1" cellspacing="0" border="0" width="100%" class="tborder">
<tr class="titlebg"><td colspan="2">'
.$txt['aeiou_status'].': '.$status.'</td></tr>';

// Now build the chunk of html of our stats
foreach($items as $string => $value)
{
// Less emphasis on the sub-totals
$italic = ($string == 'aeiou_awaiting_initial_email' || $string == 'aeiou_awaiting_final_email') ? ;
// Add more rows to the existing chunk
$chunk .= '<tr class="windowbg"><td'.($italic ' style="font-weight:normal;font-style:italic"' '').' >'.$txt[$string].':</td><td'.($italic ' style="font-weight:normal;font-style:italic"' '').'>'.$value.'</td></tr>';
}
$chunk .= '</table><br />';


// Now for the last 10 people emailed
$request db_query("
SELECT ID_MEMBER, memberName, aeiou_email, aeiou_count
FROM 
{$db_prefix}members
WHERE aeiou_email != 0
ORDER BY aeiou_email DESC
LIMIT 10
"
__FILE____LINE__);

$chunk2 '<table cellpadding="1" cellspacing="0" border="0" width="100%" class="tborder">
<tr class="titlebg"><td colspan="3">'
.$txt['aeiou_last10emailed'].'</td></tr>';
if(mysql_num_rows($request) == 0)
$chunk2 .= '<tr class="windowbg"><td colspan="3">'.$txt['aeiou_never'].'</td></tr>';
else
{
// Add each user as a row in the table
while($row mysql_fetch_assoc($request))
$chunk2 .= '<tr class="windowbg"><td><a href="'.$scripturl.'?action=profile;u='.$row['ID_MEMBER'].'">'.$row['memberName'].'</a></td><td style="font-weight:normal;">'.timeformat($row['aeiou_email'], true).'</td><td style="font-weight:normal;">'$txt['aeiou_'.( ($row['aeiou_count'] == 1) ? 'initial' 'final' )].'</td></tr>';
}
$chunk2 .= '</table><br />';

}
else
// If the mod is not enabled, don't show either as chunks.  use a space to prevent it being shown as a delimiter
$chunk $chunk2 ' ';

// Compile/Build some language strings/add to
// Avoids using html in the language files
$temp = array('initial_subject' => 'subject''initial_message' => 'message''final_subject' => 'subject''final_message' => 'message');
$add '<div class="smalltext">'.$txt['aeiou_email_desc1'].'<br />'.$txt['aeiou_email_desc2'].'<br />'.$txt['aeiou_email_desc3'].'</div>';
foreach($temp as $a => $b)
{
// Add the descriptions to the txt string
$txt['aeiou_'.$a] .= $add;
// Use the default message if we don't have a custom one saved
if(empty($modSettings['aeiou_'.$a]))
$modSettings['aeiou_'.$a] = !empty($txt['aeiou_default_'.$b]) ? $txt['aeiou_default_'.$b] : '' ;
}
// Tidy up
unset($temp$add$a);

// More descriptions to add with html
$temp = array('delete''underposts''hour_max''day_max''chunksize');
foreach($temp as $a)
$txt['aeiou_'.$a] .= '<div class="smalltext">'.$txt['aeiou_'.$a.'_desc'] .'</div>';

// Now the warning chunk.  Comprises of 4 parts.
$txt['aeiou_warning'] .= '<div class="smalltext">'$txt['aeiou_warning2'] .'<br />'.$txt['aeiou_warning3'].'<br />'.$txt['aeiou_warning4'].'</div>';

// The important array
$config_vars = array(
$chunk,
array('check''aeiou_enable'),
array('text''aeiou_initial_subject''30" style="width:95%'),
array('large_text''aeiou_initial_message''5" style="width:95%'),
array('text''aeiou_final_subject''30" style="width:95%'),
array('large_text''aeiou_final_message''5" style="width:95%'),
'',
array('check''aeiou_delete'),
array('int''aeiou_underposts'),
'',
$txt['aeiou_warning'],
array('int''aeiou_hour_max'),
array('int''aeiou_day_max'),
array('int''aeiou_chunksize'),
$chunk2,
);

// Saving?
if (isset($_GET['save']))
{
saveDBSettings($config_vars);
redirectexit('action=featuresettings;sa=aeiou');
}

$context['post_url'] = $scripturl '?action=featuresettings2;save;sa=aeiou';
$context['settings_title'] = $txt['aeiou_title'];

prepareDBSettingContext($config_vars);
}

// --- Begin modification - UserCP ---
function ModifyUserCPSettings()
{
global $txt$scripturl$context$settings$sc;

$config_vars = array(
array('check''usercp_enable'),
           array (
'check''usercp_enablecontactadmin'),
           array(
'check''usercp_switchview'),
           array(
'check''usercp_usepm'),
           array(
'int''usercp_adminid'),
            
'',
             array(
'text''usercp_field1image'),
             array(
'text''usercp_field1url'),
             array(
'text''usercp_field1maintext'),
             array(
'text''usercp_field1summary'),
             array(
'check''usercp_field1enable'),
             
'',
             array(
'text''usercp_field2image'),
             array(
'text''usercp_field2url'),
             array(
'text''usercp_field2maintext'),
             array(
'text''usercp_field2summary'),
             array(
'check''usercp_field2enable'),
             
'',
             array(
'text''usercp_field3image'),
             array(
'text''usercp_field3url'),
             array(
'text''usercp_field3maintext'),
             array(
'text''usercp_field3summary'),
             array(
'check''usercp_field3enable'),
             
'',
             array(
'text''usercp_field4image'),
             array(
'text''usercp_field4url'),
             array(
'text''usercp_field4maintext'),
             array(
'text''usercp_field4summary'),
             array(
'check''usercp_field4enable'),
             
'',
   
);

// Saving?
if (isset($_GET['save']))
{
saveDBSettings($config_vars);
redirectexit('action=featuresettings;sa=usercp');
}

$context['post_url'] = $scripturl '?action=featuresettings2;save;sa=usercp';
$context['settings_title'] = $txt['usercp'];

prepareDBSettingContext($config_vars);
}
// --- End modification ---

// --- Begin modification - UserCP ---
function ModifyUserCPSettings()
{
global $txt$scripturl$context$settings$sc;
 
$config_vars = array(
array('check''usercp_enable'),
           array (
'check''usercp_enablecontactadmin'),
           array(
'check''usercp_switchview'),
           array(
'check''usercp_usepm'),
           array(
'int''usercp_adminid'),
            
'',
             array(
'text''usercp_field1image'),
             array(
'text''usercp_field1url'),
             array(
'text''usercp_field1maintext'),
             array(
'text''usercp_field1summary'),
             array(
'check''usercp_field1enable'),
             
'',
             array(
'text''usercp_field2image'),
             array(
'text''usercp_field2url'),
             array(
'text''usercp_field2maintext'),
             array(
'text''usercp_field2summary'),
             array(
'check''usercp_field2enable'),
             
'',
             array(
'text''usercp_field3image'),
             array(
'text''usercp_field3url'),
             array(
'text''usercp_field3maintext'),
             array(
'text''usercp_field3summary'),
             array(
'check''usercp_field3enable'),
             
'',
             array(
'text''usercp_field4image'),
             array(
'text''usercp_field4url'),
             array(
'text''usercp_field4maintext'),
             array(
'text''usercp_field4summary'),
             array(
'check''usercp_field4enable'),
             
'',
 
);
 
// Saving?
if (isset($_GET['save']))
{
saveDBSettings($config_vars);
redirectexit('action=featuresettings;sa=usercp');
}
 
$context['post_url'] = $scripturl '?action=featuresettings2;save;sa=usercp';
$context['settings_title'] = $txt['usercp'];
 
prepareDBSettingContext($config_vars);
}
// --- End modification ---
}
?>



We have checked the coding again and we are now getting this to work on our forum and we find this mod is good for our members


perplexed

redeclare means declare again, meaning you can't say it twice basically.  Look at the bottom of your file and you will see you have the same identical user cp mod code at line 677 and 777.

// --- Begin modification - UserCP ---
function ModifyUserCPSettings()
{
global $txt, $scripturl, $context, $settings, $sc;

$config_vars = array(
array('check', 'usercp_enable'),
           array ('check', 'usercp_enablecontactadmin'),
           array('check', 'usercp_switchview'),
           array('check', 'usercp_usepm'),
           array('int', 'usercp_adminid'),
            '',
             array('text', 'usercp_field1image'),
             array('text', 'usercp_field1url'),
             array('text', 'usercp_field1maintext'),
             array('text', 'usercp_field1summary'),
             array('check', 'usercp_field1enable'),
             '',
             array('text', 'usercp_field2image'),
             array('text', 'usercp_field2url'),
             array('text', 'usercp_field2maintext'),
             array('text', 'usercp_field2summary'),
             array('check', 'usercp_field2enable'),
             '',
             array('text', 'usercp_field3image'),
             array('text', 'usercp_field3url'),
             array('text', 'usercp_field3maintext'),
             array('text', 'usercp_field3summary'),
             array('check', 'usercp_field3enable'),
             '',
             array('text', 'usercp_field4image'),
             array('text', 'usercp_field4url'),
             array('text', 'usercp_field4maintext'),
             array('text', 'usercp_field4summary'),
             array('check', 'usercp_field4enable'),
             '',

);

// Saving?
if (isset($_GET['save']))
{
saveDBSettings($config_vars);
redirectexit('action=featuresettings;sa=usercp');
}

$context['post_url'] = $scripturl . '?action=featuresettings2;save;sa=usercp';
$context['settings_title'] = $txt['usercp'];

prepareDBSettingContext($config_vars);
}
// --- End modification ---


remove one instance of that duplicate code from the bottom of your file

Kindred

It means that you installed the mod twice.

The code that Perplexed points out is causing the error, but chances are you have other duplicate code as well.  You'll have to go through the mod and check all the changes to make sure you don't have more duplicates.
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

Advertisement: