Foren / National / Turkish / Fikirler / Sayfalarda üye bilgileri

Sayfalarda üye bilgilerini görüntüleme

Aragorn-pc
#1 13. Mai 2013, 13:28

Merhabalar;

Cotonti'de sayfa bölgesinde üye bilgilerini gösteren eklenti yada modifikasyon varmı ? Yapılabilir mi yada yapmak için ne tür yol izlenmeli. Ben core olarak eklemeye çalişiyorum fakat page.tpl 'de göstermiyor.. Gerekli birşey aslında, cotonti sadece forumsal değil sayfasal ağırlaklara yönelmiş durumda şuan.

 

Bir de farklı konu açmak istemedim forum kategorilerinde bazı kategorilere giriş yaptığımda @=

Warning: Illegal string offset 'fs_lt_date' in

 hatayı alıyorum,fonksiyonel olarak bir problem yok fakat sayfa üstünde bu hata çıkıyor bazı kategoriler de.

.# Aragorn-pc // Turkish Information Technology's Underground World
Aragorn-pc.org
http://www.kankayizz.biz
http://www.sanalarsiv.gen.tr
http://www.osmanli-devleti.net
Prosed.NET Seditio SedBlog Themes Sharing
Gökhan YILDIZ
#2 14. Mai 2013, 06:06

1. sorunun cevabı için şöyle bir öneri sunabilirim sana. İster eklenti olarak yaparsın istersen de page.inc.php içine çekebilirsin. system klasörü içindeki header.php dosyasını incelersen eğer kullanıcı bilgilerini çeken kodları şu şekilde olduğunu görebilirsin.

if ($usr['id'] > 0)
	{
		$out['adminpanel'] = (cot_auth('admin', 'any', 'R')) ? cot_rc_link(cot_url('admin'), $L['Administration']) : '';
		$out['loginout_url'] = cot_url('login', 'out=1&' . cot_xg());
		$out['loginout'] = cot_rc_link($out['loginout_url'], $L['Logout']);
		$out['profile'] = cot_rc_link(cot_url('users', 'm=profile'), $L['Profile']);

		$t->assign(array(
			'HEADER_USER_NAME' => $usr['name'],
			'HEADER_USER_ADMINPANEL' => $out['adminpanel'],
			'HEADER_USER_ADMINPANEL_URL' => cot_url('admin'),
			'HEADER_USER_LOGINOUT' => $out['loginout'],
			'HEADER_USER_LOGINOUT_URL' => $out['loginout_url'],
			'HEADER_USER_PROFILE' => $out['profile'],
			'HEADER_USER_PROFILE_URL' => cot_url('users', 'm=profile'),
			'HEADER_USER_MESSAGES' => $usr['messages']
		));

		/* === Hook === */
		foreach (cot_getextplugins('header.user.tags') as $pl)
		{
			include $pl;
		}
		/* ===== */

		$t->parse('HEADER.USER');
	}
	else
	{
		$out['guest_username'] = $R['form_guest_username'];
		$out['guest_password'] = $R['form_guest_password'];
		$out['guest_register'] = cot_rc_link(cot_url('users', 'm=register'), $L['Register']);
		$out['guest_cookiettl'] = $cfg['forcerememberme'] ? $R['form_guest_remember_forced']
			: $R['form_guest_remember'];

		$t->assign(array (
			'HEADER_GUEST_SEND' => cot_url('login', 'a=check&' . $sys['url_redirect']),
			'HEADER_GUEST_USERNAME' => $out['guest_username'],
			'HEADER_GUEST_PASSWORD' => $out['guest_password'],
			'HEADER_GUEST_REGISTER' => $out['guest_register'],
			'HEADER_GUEST_REGISTER_URL' => cot_url('users', 'm=register'),
			'HEADER_GUEST_COOKIETTL' => $out['guest_cookiettl']
		));

		/* === Hook === */
		foreach (cot_getextplugins('header.guest.tags') as $pl)
		{
			include $pl;
		}
		/* ===== */

		$t->parse('HEADER.GUEST');
	}

 

Bu kodları page.inc.php dosyasına göre düzenleyip, düzenlediğin etiketleri page.tpl içinde istediğin yere çekebilirsin. Veya login.php içinde session ile tutulan kullanıcı id'sini page.inc.php içine çekip yeni bir sorgu ile session da tutulan id yi kullanarak kullanıcıların verilerinden istediğini çekebilirsin.

2. soruna geldiğim zaman geçersiz karakterden bahsetiyor yani güvenlik önlemine takılan bir karakter. Girdiğin kategorilerin başlığında veya açıklama kısmında tek tırnak (') gibi bir karakter mevcut mu? 

Gökhan YILDIZ
Aragorn-pc
#3 14. Mai 2013, 07:56

Bilgilerin ve yardımların için teşekkür ederim o şekilde bir eklentim mevcut zaten ama yalınş anladın galiba, üye bilgileri derken page.tpl de user_name,user_location,user_country,user-occupatıon, gibi sql sorgularını çekmek istiyorum ama page.inc.php ye modifikasyon yaptığımda user_country de flag_00 gösteriyor time zone ----- 00 gösteriyor ve kullanıcı adı harici hiç göstermiyor.

 

 

.# Aragorn-pc // Turkish Information Technology's Underground World
Aragorn-pc.org
http://www.kankayizz.biz
http://www.sanalarsiv.gen.tr
http://www.osmanli-devleti.net
Prosed.NET Seditio SedBlog Themes Sharing
Gökhan YILDIZ
#4 14. Mai 2013, 08:40

Kullanıcı id hariç göstermemesinin sebebi o sayfaya sadece id ile kullanıcı adının çekilmiş olmasından kaynaklanıyor. page.inc.php içinde kullanıcı adının nasıl çekildiğini önce incele. Daha sonra aynı yöntemle kullanıcı tablosuna erişip diğer verileri çekeceksin. Bu konuda örnek istiyorsan modules/users/inc/users.main.php dosyasını incelemeni öneririm. Kullanıcı profilinde olabilecek bütün detaylar bu sayfada çekiliyor. Benzer örnekleri kullanabilirsin.

Gökhan YILDIZ
Aragorn-pc
#5 14. Mai 2013, 09:18
$t->assign(array(
	'USERS_TITLE' => cot_breadcrumbs($title, $cfg['homebreadcrumb']),
	'USERS_SUBTITLE' => $L['use_subtitle'],
	'USERS_CURRENTFILTER' => $f,
	'USERS_TOP_CURRENTPAGE' => $currentpage,
	'USERS_TOP_TOTALPAGE' => $totalpage,
	'USERS_TOP_MAXPERPAGE' => $cfg['users']['maxusersperpage'],
	'USERS_TOP_TOTALUSERS' => $totalusers,
	'USERS_TOP_PAGNAV' => $pagenav['main'],
	'USERS_TOP_PAGEPREV' => $pagenav['prev'],
	'USERS_TOP_PAGENEXT' => $pagenav['next'],
	'USERS_TOP_FILTER_ACTION' => cot_url('users', 'f=search'),
	'USERS_TOP_FILTERS_COUNTRY' => $countryfilters,
	'USERS_TOP_FILTERS_MAINGROUP' => $maingrpfilters,
	'USERS_TOP_FILTERS_GROUP' => $grpfilters,
	'USERS_TOP_FILTERS_SEARCH' => cot_inputbox('text', 'y', $y, array('size' => 8, 'maxlength' => 8)),
	'USERS_TOP_FILTERS_SUBMIT' => cot_inputbox('submit', 'submit', $L['Search']),
	'USERS_TOP_PM' => 'PM',
));

 

bu kısmı page.inc.php ye eklediğimde USERS_TOP kısmını PAGE_TOP olarak yapıp da denedim USERS_TOP olarak da denedim fakat dediğim gibi sadece country ve time zone yi çıkartıyor bu seferde 00 olarak gösteriyor ama modifikasyonda hata veya sql çakışması yaşamıyorum. Çıkmamasının sebebini de çözmüş veye anlamış değilim neden çıkartmaz bu şekilde diye.

.# Aragorn-pc // Turkish Information Technology's Underground World
Aragorn-pc.org
http://www.kankayizz.biz
http://www.sanalarsiv.gen.tr
http://www.osmanli-devleti.net
Prosed.NET Seditio SedBlog Themes Sharing
Gökhan YILDIZ
#6 14. Mai 2013, 10:01

Bu şekil deneme yapabilirsin. Mantık bu şekilde. (Kodları test etmedim.)

 

$userinfo = $db->query("SELECT user_country, user_timezone, user_birthdate FROM cot_users WHERE ".$pag['page_ownerid']."");
foreach ($userinfo->fetchAll() as $info)
{
	$country	= $info['user_country'];
	$timezone 	= $info['user_timezone'];
	$birthdate	= $info['user_birthdate'];
}
$t->assign(cot_generate_usertags($info, 'PAGE_USER_INFO'));
$t->assign(array(
	'PAGE_USER_COUNTRY' 	=> $country,
	'PAGE_USER_TIMEZONE' 	=> $timezone,
	'PAGE_USER_BIRTHDATE' 	=> $birthdate
));

 

Gökhan YILDIZ