[url=http://www.simplemachines.org/community/index.php?topic=183574.0][BETA] Ultimate profile mod[/url]
Arkadaslar modun orjinali yukarıda sanırım Tr çevirisi yok benden olsun ben çok begendim bakalım nasıl birşey
bu demosu
[url=http://jovant.guruserve.com/test-forum/index.php?action=profile;u=1]View the profile of JovanT[/url]

bu da benim localde denediğim birkaç görüntü,profile resim ekleyebiliyoruz,html kodu eklenebiliyor,video eklenebiliyor,flash eklenebiliyor.eksileri nedir pek bilemeyeceğim şimdi ama deneyip göreceğim localde.

Önce forumseçeneklerinden aktif edelim


Admin panelinden görüntüsü


Üyenin profiline tıklanınca görülen şekli


Üyenin profilini kontrol edeceği düzenleyeceği panel


Profile yorum eklenebiliyor,yorumlar üye onaylı olabiliyor,çok fena güzel özellikleri var her temaya rahatlıkla uyarlanabilecek tarzda sadece profile dosyasını editlemekte,default temadan,o da birçok temada mevcut değil zaten
[size=13pt]Manuel Kurulum(bunu yaptıktan sonra çıkartıp ana dizine at paketini çıkartıp ana dizine atacağız)
Manuel kurulumu arkadaslar,denedim sorunsuz çalısıyor.paket çözmleyiciler hepsi kafayı yemiş,benbi paket atıyorum o bana smf galeriyi çevirip veriyor tek tek okuyarak yaptım,modu kurduktan sonra admin panelinden etkinleştirmeniz gerekmektedir.ekteki dosyaları çıkartıp ana dizine atıyoruz database.php yi çalıstırıp siliyoruz
------------------------------------
Düzenlenecek dosya languages/Modifications.turkish.php
bul
[code]?>[/code]
üzerine ekle
[code]$txt['ultimate_profile'] = 'Özel Profil';[/code]

düzenlenecek dosya sources/ModSettings.php
bul
[code]);

// By default do the basic settings.
$_REQUEST['sa'] = isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']]) ? $_REQUEST['sa'] : 'basic';
$context['sub_action'] = $_REQUEST['sa'];[/code]
değiştir
[code]'ultprofile' => 'ModifyUltProfileSettings',
);

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

bul
[code]);

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

değiştir
[code]'ultprofile' => 'ModifyUltProfileSettings',
);

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

bul
[code]'layout' => array(
'title' => $txt['mods_cat_layout'],
'href' => $scripturl . '?action=featuresettings;sa=layout;sesc=' . $context['session_id'],
),[/code]

sonrasına ekle
[code]'ultprofile' => array(
'title' => $txt['ultimate_profile'],
'href' => $scripturl . '?action=featuresettings;sa=ultprofile;sesc=' . $context['session_id'],
),[/code]

bul
[code]function ModifyKarmaSettings()[/code]

üstüne ekle
[code]function ModifyUltProfileSettings()
{
global $txt, $scripturl, $context, $settings, $sc;

loadLanguage('UltimateProfile');

$config_vars = array(
array('check[/swf2][swf3]profile_enable_all'),
'',
array('check[/swf2][swf3]profile_enable_pictures'),
array('text[/swf2][swf3]profile_pictures_path'),
array('text[/swf2][swf3]profile_pictures_url'),
array('int[/swf2][swf3]profile_pictures_number'),
array('int[/swf2][swf3]profile_pictures_width'),
'',
array('check[/swf2][swf3]profile_allow_customize'),
array('check[/swf2][swf3]profile_allow_mediabox'),
);

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

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

prepareDBSettingContext($config_vars);
}
[/code]


sources/Profile.php düzenlenecek dosya
bul
[code]loadLanguage('Profile');
loadTemplate('Profile');[/code]
bununla değiştir
[code]loadLanguage('Profile');
loadLanguage('UltimateProfile');
loadTemplate('Profile');[/code]

bul
[code]'forumProfile' => array(array('profile_extra_any[/swf2][swf3]profile_extra_own'), array('profile_extra_any')),[/code]
sonrasına ekle
[code]'customized' => array(array('profile_extra_any[/swf2][swf3]profile_extra_own'), array('profile_extra_any')),
'pictures' => array(array('profile_view_any[/swf2][swf3]profile_view_own'), array('profile_view_any')),
'comment' => array(array('profile_view_any[/swf2][swf3]profile_view_own'), array('profile_view_any')),
'buddies' => array(array('profile_view_any[/swf2][swf3]profile_view_own'), array('profile_view_any')),
'report' => array(array('profile_view_any[/swf2][swf3]profile_view_own'), array('profile_view_any')),[/code]

bul
[code]$context['profile_areas']['edit_profile']['areas']['forumProfile'] = '' . $txt['forumProfile'] . '';[/code]

sonrasına ekle
[code]$context['profile_areas']['edit_profile']['areas']['customized'] = '' . $txt['profile_customized'] . '';

if ($modSettings['profile_enable_pictures'] == 1)
$context['profile_areas']['edit_profile']['areas']['pictures'] = '' . $txt['profile_pictures'] . '';[/code]

bul
[code]'forumProfile' => array(array('profile_extra_any[/swf2][swf3]profile_extra_own'), array('profile_extra_any'), 'post'),[/code]
sonrasına ekle
[code]'customized' => array(array('profile_extra_any[/swf2][swf3]profile_extra_own'), array('profile_extra_any'), 'post'), [/code]

bul
[code]$context['profile_areas']['edit_profile']['areas']['editBuddies'] = '' . $txt['editBuddies'] . '';[/code]
değiştir
[code]$context['profile_areas']['edit_profile']['areas']['editBuddies'] = '' . $txt['editBuddies'] . '';[/code]
bul
[code]global $context, $memberContext, $txt, $modSettings, $user_info, $user_profile, $sourcedir, $db_prefix, $scripturl;[/code]
değiştir
[code]global $context, $memberContext, $txt, $modSettings, $user_info, $user_profile, $sourcedir, $db_prefix, $scripturl, $settings;[/code]

bul
[code]$context['member'] = &$memberContext[$memID];[/code]
sonrasına ekle
[code]// Which template should we use?
if (@$context['member']['options']['customized_private'] == 1 && @$modSettings['enable_buddylist'] == 1) {
if ($context['member']['is_reverse_buddy'] || allowedTo ('profile_extra_any') || $context['user']['is_owner'])
$view_customized = true;
else
$view_customized = false;
} else {
$view_customized = true;
}


if ((isset ($context['member']['options']['customized']) && $context['member']['options']['customized'] == 1) || $modSettings['profile_enable_all'] == 1) {
if ($view_customized) {
loadTemplate ('UltimateProfile');
$context['sub_template'] = 'summary2';
}
}

// For avatars: if we're always html resizing, assume it's too large.
if ($modSettings['avatar_action_too_large'] == 'option_html_resize' || $modSettings['avatar_action_too_large'] == 'option_js_resize') {
$avatar_width = !empty($modSettings['avatar_max_width_external']) ? ' width="' . $modSettings['avatar_max_width_external'] . '"' : '';
$avatar_height = !empty($modSettings['avatar_max_height_external']) ? ' height="' . $modSettings['avatar_max_height_external'] . '"' : '';
} else {
$avatar_width = '';
$avatar_height = '';
}


// Prepare the buddy list.
if (isset ($modSettings['enable_buddylist']) && $modSettings['enable_buddylist'] == '1') {
$buddies = array();
$request = db_query ('SELECT BUDDY_ID FROM ' . $db_prefix . 'buddies
WHERE ID_MEMBER = ' . $context['member']['id'] . ' AND approved = 1
ORDER BY position ASC, time_updated DESC
LIMIT 0, 6', __FILE__, __LINE__);
while ($row = mysql_fetch_assoc ($request))
$buddies[] = $row['BUDDY_ID'];

loadMemberData ($buddies);
foreach ($buddies as $buddy) {
$user_data = $user_profile[$buddy];
$user_data['avatar_image'] = $user_data['avatar'] == '' ? ($user_data['ID_ATTACH'] > 0 ? '' : '') : (stristr($user_data['avatar'], 'http://') ? '' : '');
$user_data['is_online'] = (!empty($user_data['showOnline']) || allowedTo('moderate_forum')) && $user_data['isOnline'] > 0;

if ($buddy != $memID)
$context['member']['buddies_data'][$buddy] = $user_data;
}
}

// Profile pictures.
if ($modSettings['profile_enable_pictures'] == 1) {
$request = db_query ('SELECT ID_PICTURE, time, title, filename
FROM ' . $db_prefix . 'profile_pictures
WHERE ID_MEMBER = ' . $memID . '
ORDER BY RAND() LIMIT 6', __FILE__, __LINE__);
while ($picture = mysql_fetch_assoc ($request)) {
$context['pictures'][] = array (
'ID_PICTURE' => $picture['ID_PICTURE'],
'title' => $picture['title'],
'url' => $scripturl . '?action=profile;u=' . $memID . ';sa=pictures;view=' . $picture['ID_PICTURE'],
'thumb' => $modSettings['profile_pictures_url'] . '/' . $memID . '_' . $picture['time'] . '_thumb.' . get_extension ($picture['filename']),
'time' => timeformat ($picture['time']),
);
}

if (@$context['member']['options']['pictures_budd_only'] == 1 && @$modSettings['enable_buddylist'] == 1) {
if ($context['member']['is_reverse_buddy'] || allowedTo ('profile_extra_any') || $context['user']['is_owner'])
$context['can_view_pics'] = true;
else
$context['can_view_pics'] = false;
} else
$context['can_view_pics'] = true;
}


// Prepare and load comments.
$request = db_query('SELECT COUNT(*)
FROM ' . $db_prefix . 'profile_comments
WHERE COMMENT_MEMBER_ID = "' . $memID . '"', __FILE__, __LINE__);
list ($commentCount) = mysql_fetch_row ($request);
mysql_free_result ($request);

$maxComments = 10; // hard-coded; should this be configurable?

// Make sure the starting place makes sense and construct our friend the page index.
$context['start'] = (int)$_REQUEST['start'];
$context['page_index'] = constructPageIndex($scripturl . '?action=profile;u=' . $memID, $context['start'], $commentCount, $maxComments, false);
$context['current_page'] = $context['start'] / $maxComments;
$context['current_member'] = $memID;
$context['can_delete'] = allowedTo('profile_extra_any') || ($context['user']['is_owner'] && allowedTo('profile_extra_own'));

$request = db_query ('SELECT com.ID_COMMENT, com.ID_MEMBER, com.comment, com.time, mem.realName, mem.showOnline,
IFNULL(lo.logTime, 0) AS isOnline, IFNULL(a.ID_ATTACH, 0) AS ID_ATTACH, a.filename, a.attachmentType, mem.avatar
FROM ' . $db_prefix . 'profile_comments as com
LEFT JOIN ' . $db_prefix . 'members AS mem ON (com.ID_MEMBER = mem.ID_MEMBER)
LEFT JOIN ' . $db_prefix . 'log_online AS lo ON (lo.ID_MEMBER = com.ID_MEMBER)
LEFT JOIN ' . $db_prefix . 'attachments AS a ON (a.ID_MEMBER = com.ID_MEMBER)
WHERE com.COMMENT_MEMBER_ID = ' . $memID . '
ORDER BY ID_COMMENT DESC
LIMIT ' . $context['start'] . [/swf2][swf3] . $maxComments, __FILE__, __LINE__);

while ($row = mysql_fetch_assoc ($request)) {

censorText($row['comment']);

$row['is_online'] = (!empty($row['showOnline']) || allowedTo('moderate_forum')) && $row['isOnline'] > 0;

$context['comments'][] = array (
'body' => parse_bbc ($row['comment']),
'author' => array (
'realName' => $row['realName'],
'ID_MEMBER' => $row['ID_MEMBER'],
'avatar' => $row['avatar'] == '' ? ($row['ID_ATTACH'] > 0 ? '' : '') : (stristr($row['avatar'], 'http://') ? '' : ''),
'online' => array (
'is_online' => $row['is_online'],
'text' => &$txt[$row['is_online'] ? 'online2' : 'online3'],
'href' => $scripturl . '?action=pm;sa=send;u=' . $row['ID_MEMBER'],
'link' => '' . $txt[$row['is_online'] ? 'online2' : 'online3'] . '',
'image_href' => $settings['images_url'] . '/' . ($row['is_online'] ? 'useron' : 'useroff') . '.gif',
'label' => &$txt[$row['is_online'] ? 'online4' : 'online5']
),
),
'time' => timeformat ($row['time']),
'delete' => $scripturl . '?action=profile;u=' . $memID . ';sa=comment;delete=' . $row['ID_COMMENT'] . ';sesc=' . $context['session_id'],
);

}
mysql_free_result ($request);[/code]
bul
[code]// Recursive function to retrieve avatar files
function getAvatars($directory, $level)[/code]
üstüne ekle
[code]function customized($memID)
{
global $context, $modSettings, $sourcedir, $db_prefix, $func;

// filter bad HTML...
require_once $sourcedir . '/InputFilter.php';
$allowed_tags = array ('b[/swf2][swf3]i[/swf2][swf3]u[/swf2][swf3]a[/swf2][swf3]p[/swf2][swf3]br[/swf2][swf3]span[/swf2][swf3]style[/swf2][swf3]div[/swf2][swf3]img[/swf2][swf3]hr[/swf2][swf3]table[/swf2][swf3]tr[/swf2][swf3]td[/swf2][swf3]object[/swf2][swf3]embed[/swf2][swf3]param[/swf2][swf3]ul[/swf2][swf3]ol[/swf2][swf3]li');
$allowed_attribs = array ('href[/swf2][swf3]title[/swf2][swf3]id[/swf2][swf3]class[/swf2][swf3]style[/swf2][swf3]align[/swf2][swf3]type[/swf2][swf3]src[/swf2][swf3]height[/swf2][swf3]width[/swf2][swf3]alt[/swf2][swf3]valign[/swf2][swf3]border[/swf2][swf3]cellspacing[/swf2][swf3]cellpading[/swf2][swf3]colspan[/swf2][swf3]name[/swf2][swf3]value');
$myFilter = new InputFilter($allowed_tags, $allowed_attribs, 0, 0);

// HTML&CSS customization field
$request = db_query ('SELECT value FROM ' . $db_prefix . 'themes
WHERE ID_MEMBER = "' . $memID . '" AND variable = "css"', __FILE__, __LINE__);
while ($row = mysql_fetch_assoc ($request)) {
$html = $myFilter->process (un_htmlspecialchars ($row['value']));
db_query ('UPDATE ' . $db_prefix . 'themes SET
value = SUBSTRING(\'' . addslashes (htmlspecialchars ($html)) . '\', 1, 65534)
WHERE ID_MEMBER = "' . $memID . '" AND variable = "css"', __FILE__, __LINE__);
}

// MediaBox field
$request = db_query ('SELECT value FROM ' . $db_prefix . 'themes
WHERE ID_MEMBER = "' . $memID . '" AND variable = "media"', __FILE__, __LINE__);
while ($row = mysql_fetch_assoc ($request)) {
$html = $myFilter->process (un_htmlspecialchars ($row['value']));
db_query ('UPDATE ' . $db_prefix . 'themes SET
value = SUBSTRING(\'' . addslashes (htmlspecialchars ($html)) . '\', 1, 65534)
WHERE ID_MEMBER = "' . $memID . '" AND variable = "media"', __FILE__, __LINE__);
}

// Just this and nothing more thanks to the SMF's powerful template system :)
$context['show_spellchecking'] = !empty($modSettings['enableSpellChecking']) && function_exists('pspell_new');
loadThemeOptions($memID);
}

function buddies($memID)
{
global $modSettings, $context, $db_prefix, $user_profile, $scripturl;

// For avatars: if we're always html resizing, assume it's too large.
if ($modSettings['avatar_action_too_large'] == 'option_html_resize' || $modSettings['avatar_action_too_large'] == 'option_js_resize') {
$avatar_width = !empty($modSettings['avatar_max_width_external']) ? ' width="' . $modSettings['avatar_max_width_external'] . '"' : '';
$avatar_height = !empty($modSettings['avatar_max_height_external']) ? ' height="' . $modSettings['avatar_max_height_external'] . '"' : '';
} else {
$avatar_width = '';
$avatar_height = '';
}

if (isset ($modSettings['enable_buddylist']) && $modSettings['enable_buddylist'] == '1') {
$buddies = array();
$request = db_query ('SELECT BUDDY_ID FROM ' . $db_prefix . 'buddies
WHERE ID_MEMBER = ' . $context['member']['id'] . ' AND approved = 1
ORDER BY position ASC, time_updated DESC', __FILE__, __LINE__);
while ($row = mysql_fetch_assoc ($request))
$buddies[] = $row['BUDDY_ID'];

loadMemberData($buddies);
foreach ($buddies as $buddy) {
$user_data = $user_profile[$buddy];
$user_data['avatar_image'] = $user_data['avatar'] == '' ? ($user_data['ID_ATTACH'] > 0 ? '' : '') : (stristr($user_data['avatar'], 'http://') ? '' : '');
$user_data['is_online'] = (!empty($user_data['showOnline']) || allowedTo('moderate_forum')) && $user_data['isOnline'] > 0;

if ($buddy != $memID)
$context['member']['buddies_data'][$buddy] = $user_data;
}
}
}

function pictures($memID)
{
global $sourcedir;

require_once $sourcedir . '/ProfilePictures.php';
PicturesController($memID);
}

function get_extension ($filename)
{
return substr (strrchr ($filename, '.'), 1);
}

function is_buddy ($memID, $buddyID)
{
global $db_prefix, $buddy_list, $modSettings;

// when buddy list if off, everybody is your friend ;)
if (!isset ($modSettings['enable_buddylist']) || $modSettings['enable_buddylist'] == '0')
return true;

if (!is_array ($buddy_list)) {
$request = db_query ('SELECT buddy_list FROM ' . $db_prefix . 'members WHERE ID_MEMBER = ' . $memID, __FILE__, __LINE__);
list ($buddy_list) = mysql_fetch_row ($request);

$buddy_list = explode (',', $buddy_list);
}

if (in_array ($buddyID, $buddy_list))
return true;
else
return false;
}

function comment($memID)
{
global $context, $db_prefix, $txt, $sourcedir;

// guests ar not allowed to comment
is_not_guest();

if (isset ($_GET['add'])) {
if (!$_POST['comment'])
fatal_error ($txt['profile_comment_field'], false);

checkSession('post');

// only buddies can post comments?
loadThemeOptions($memID);
if (isset ($context['member']['options']['comments_budd_only']) && $context['member']['options']['comments_budd_only'] == 1) {
if (!is_buddy ($memID, $context['user']['id']) && !allowedTo('profile_extra_any'))
fatal_error ($txt['profile_comments_buddies_only'], false);
}


$request = db_query ('INSERT INTO ' . $db_prefix . 'profile_comments SET
ID_MEMBER = "' . $context['user']['id'] . '",
comment = \'' . htmlspecialchars ($_POST['comment']) . '\',
time = "' . time() . '",
COMMENT_MEMBER_ID = "' . $memID . '"', __FILE__, __LINE__);

// should we notify user?
if (@$context['member']['options']['comments_notif_disable'] != 1) {
require_once $sourcedir . '/Subs-Post.php';
sendpm (array('to' => array($memID), 'bcc' => array()), sprintf ($txt['profile_notif_com_subject'], $context['user']['username']), sprintf ($txt['profile_notif_com_body'], $context['user']['username']), false, array ('id' => 0, 'name' => $txt['profile_notif_com_user'], 'username' => $txt['profile_notif_com_user']));
}

redirectexit('action=profile;u=' . $memID);

} elseif (isset ($_GET['delete'])) {
checkSession('get');

$allowed = false;

if (allowedTo('profile_extra_any'))
$allowed = true;
elseif ($context['user']['is_owner'] && allowedTo('profile_extra_own')) {
// Are you deleting comment that is on your own profile?
$request = db_query ('SELECT COMMENT_MEMBER_ID FROM ' . $db_prefix . 'profile_comments WHERE ID_COMMENT = "' . (int)$_GET['delete'] . '"', __FILE__, __LINE__);
list ($user_id) = mysql_fetch_row ($request);

if ($context['user']['id'] == $user_id)
$allowed = true;
}

if ($allowed)
db_query ('DELETE FROM ' . $db_prefix . 'profile_comments WHERE ID_COMMENT = "' . (int)$_GET['delete'] . '"', __FILE__, __LINE__);

redirectexit ('action=profile;u=' . $memID);

} else {
redirectexit ('action=profile;u=' . $memID);

}

}

function report($memID)
{
global $context, $txt, $scripturl, $db_prefix, $user_info, $ID_MEMBER, $modSettings, $sourcedir, $language;

is_not_guest();

if ($memID == $ID_MEMBER)
fatal_lang_error('profile_report_own', false);

if (isset($_POST['sc']) || isset($_POST['submit'])) {
checkSession();
spamProtection('spam');

$reporterName = un_htmlspecialchars($user_info['name']) . ($user_info['name'] != $user_info['username'] && $user_info['username'] != '' ? ' (' . $user_info['username'] . ')' : '');
require_once($sourcedir . '/Subs-Post.php');

// Find all of this forum's administrators.
$request = db_query("
SELECT ID_MEMBER, emailAddress, lngfile
FROM {$db_prefix}members
WHERE ID_GROUP = 1 OR FIND_IN_SET(1, additionalGroups)
AND notifyTypes != 4
ORDER BY lngfile", __FILE__, __LINE__);

// Send every moderator an email.
while ($row = mysql_fetch_assoc($request))
{
loadLanguage('UltimateProfile', empty($row['lngfile']) || empty($modSettings['userLanguage']) ? $language : $row['lngfile'], false);

// Send it to the administrator.
sendmail($row['emailAddress'], $txt['profile_report_subject'] . ': ' . $context['member']['name'],
sprintf($txt['profile_report_email1'], $context['member']['name']) . $txt['profile_report_email2'] . ' ' . (empty($ID_MEMBER) ? $txt['guest'] . ' (' . $user_info['ip'] . ')' : $reporterName) . ' ' . $txt['profile_report_email3'] . ":\n\n" .
$scripturl . '?action=profile;u=' . $context['member']['id'] . "\n\n" .
$txt['profile_report_comment'] . ":\n" .
$_POST['comment'] . "\n\n" .
$txt[130], $user_info['email']);
}
mysql_free_result($request);
redirectexit();
}

$context['sub_template'] = 'report_profile';
}[/code]

duzenlenecek dosya index.php
bul
[code]'buddy' => array('Subs-Members.php[/swf2][swf3]BuddyListToggle'),[/code]
sonrasına ekle
[code]'buddies' => array('Buddies.php[/swf2][swf3]BuddiesMain'),[/code]

duzenlenecek dosya: tema/Profile.template.php

bul
[code]if (!empty($context['profile_areas']))[/code]

değiştir
[code]if (!empty($context['profile_areas']) && $context['sub_template'] !== 'summary2')[/code]

bul
[code]// Can they add this member as a buddy?
if (!empty($context['can_have_buddy']) && !$context['user']['is_owner'])
echo '
  [', $txt['buddy_' . ($context['member']['is_buddy'] ? 'remove' : 'add')], ']';[/code]

değiştir
[code]// Can they add this member as a buddy?
if (!empty($context['can_have_buddy']) && !$context['user']['is_owner'])
echo '
  [', $txt['buddy_add'], ']';[/code]

bul
[code]// Template for showing theme settings. Note: template_options() actually adds the theme specific options.
function template_theme()[/code]
üstüne ekle
[code]// Template for profile specific options - about me, interests, customization...
function template_customized()
{
global $context, $settings, $options, $scripturl, $modSettings, $txt;

// The main containing header.
echo '











  
', $txt['profile_customized'] , '

', $txt['profile_customized_info'], '

';

echo '





















';
if ($modSettings['profile_enable_pictures'] == 1)
echo '



';
echo '






';

echo '



';

if ($modSettings['profile_allow_mediabox'] == 1)
echo '



';

if ($modSettings['profile_allow_customize'] == 1)
echo '







';

// Show the standard "Save Settings" profile button.
template_profile_save();

echo '

', $txt['profile_customize_enable'], '




', $txt['profile_customize_private'], '



', $txt['profile_comments_disable'], '



', $txt['profile_comments_budd_only'], '



', $txt['profile_comments_notif_disable'], '



', $txt['profile_pictures_budd_only'], '








', $txt['profile_about'], ':
', $txt['profile_about_desc'], '



';

if ($context['show_spellchecking'])
echo '
';

echo '


';

// Load the spell checker?
if ($context['show_spellchecking'])
echo '
';

echo '

', $txt['profile_interests'], ':
', $txt['profile_interests_desc'], '



';

if ($context['show_spellchecking'])
echo '
';

echo '




', $txt['profile_media'], ':
', $txt['profile_media_desc'], '













', $txt['profile_css'], ':
', $txt['profile_css_desc'], '








';

echo '
';

if ($context['show_spellchecking'])
echo '
';
}

function template_report_profile()
{
global $context, $settings, $options, $txt, $scripturl;

echo '







', $txt['profile_report_text1'], '

', $txt['profile_report_text2'], '

', $txt['profile_report_text3'], ':



';
}

function template_buddies()
{
global $context, $settings, $txt, $scripturl;

echo '








  
', $context['member']['name'] ,' - ', $txt['profile_buddies'] ,'

';

if (isset ($context['member']['buddies_data'])) {
$i = 1;
foreach ($context['member']['buddies_data'] as $buddy_id => $data) {
if ($i == 1)
echo '
';
echo '
';
if ($i == 3)
echo '
';

$i++;
if ($i == 4) $i = 1;
}
} else
echo ' ';

echo '

', $data['avatar_image'],'

' , $data['realName'] , '

', $settings['use_image_buttons'] ? '' . $txt[$data['is_online'] ? 'online2' : 'online3'] . '' : $txt[$data['is_online'] ? 'online2' : 'online3'], $settings['use_image_buttons'] ? ' ' . $txt[$data['is_online'] ? 'online2' : 'online3'] . '' : '[/swf2][swf3]
', $txt['profile_buddies_no'] ,'

';
}[/code]

sonunda bitti editleme sıra geldi ekte verdiğim dosyaları uygulamaya.ekte verdiğim dosyaların hepsini forum ana dizinine atıp üzerine yazdırıyoruz. daha sonra database.php yi çalıtırıyoruz nasıl mı?
[url]www.site.com/database.php[/url] birkereye mahsus.dahs onra database.php yi hosttan siliyoruz



Alttaki pakette hafif bir çeviri düzenlemesi olmustur :)
SEO4SMF kurulu olanlar yorumları silme sorunu yaşarsa aşağıdaki düzenlemeyi yapmanız gerekmektedir
[quote author=bayGaReZ.oRg link=topic=20602.msg180680#msg180680 date=1203567669]
[size=14pt]Yorumları Silememe Sorununa Çözüm!..

Bunu Yapıcam Diye Bütün gece uyumadım, Hata alanların ve almayanların sitesini tek tek inceledim ve sonuca ulaştım.. :-*

Öncelikle Modu Kurun.. Daha Sonra Profile.php yi açın ve bulun:

[code] 'delete' => $scripturl . '?action=profile;u=' . $memID . ';sa=comment;delete=' . $row['ID_COMMENT'] . ';sesc=' . $context['session_id'],[/code]

Aşağıdaki ile değiştirin:

[code] 'delete' => '',
[/code]

Burada sitenizinismi.com yerine gerekli düzenlemeyi yapmayı unutmayın..

Daha sonra UltimateProfile.template.php dosyasını açın ve bulun:

[code] if ($context['can_delete'])
echo '


', $txt['profile_comment_delete'] ,'

';[/code]

Bununla Değiştirin:

[code] if ($context['can_delete'])
echo '


', $comment['delete'], '', $txt['profile_comment_delete'] ,'

';[/code]

Hepsi Bu Kadar... Şimdi Diyorsunuz ki neden silemiyorduk :) Hemen Söylüyorum:

Seo'dan.. :Z

selametle..
Alıntıdır:bayGaReZ

Mod : [url=http://rapidshare.com/files/106116761/oezel_profil_mod.zip.html]RapidShare: 1-Click Webhosting[/url]

Manuel kuranların indireceği dosya : [url=http://rapidshare.com/files/106116923/ana_dizine_at_manuel_kuranlar.zip.html]RapidShare: 1-Click Webhosting[/url]

Beğeniler: 0
Favoriler: 0
İzlenmeler: 1802
favori
like
share
turke_soldat Tarih: 09.12.2008 11:19
uzun zamandır arıyordum teşekkürler..

manuel kuranlar için dosyaların linki kırık acil yardım edermisiniz
recep38 Tarih: 29.08.2008 09:38
eksik yapmısım arkadasım dogru valla modsettings.php de hicbirsey yapmamısım kodlara bakınca anladım canavar valla mübarek şimdi
gozaimasu Tarih: 28.08.2008 20:46
gozaimasu Tarih: 28.08.2008 20:45
saol
recep38 Tarih: 28.08.2008 20:43
yalnız dostum ben milletinkini aktif edemedim herkes kendi aktif ederse oluyor ikincisi admin panelinde oyle bi secenek cıkmadı dostum herseyi tam yaptım
recep38 Tarih: 28.08.2008 20:40
allah varya senden bin kere razı olsun kardes ellerine saglık kardesim minnettarım sana
coder73 Tarih: 03.07.2008 04:38
ben şahsen uzun süre smf kullandım ve böyle birşey günlerce aradım ve bulamadım...gerçekten emeğine sağilık ve teşekkürler...sırf bu modu bulamadım diye vbulletine geçtim desem....:85:
aitheroslethe Tarih: 12.06.2008 19:38
teşeküler
zeminkat Tarih: 20.05.2008 10:51
tam aradığım buydu (: