YaRGuCi
Üye
-
- Katılım
- Mart 23, 2019
-
- Mesajlar
- 62
-
- Tepkime puanı
- 80
-
- Puanları
- 268
-
- Yaş
- 38
-
- Konum
- İSTANBUL - BAŞAKŞEHİR
Merhabalar sevgili arkadaşlar bugünkü konumuzda siz değerli kullanıcılarımıza DLE Teşekkür Modülü ve DLE Beğeni Eklentisi kurulumu hakkında ve modülün kendisi hakkında bilgi vermeye çalışacağım.
Modül Özellikleri :
1 ) AJAX kullanılmış - sayfayı yeniden yüklemeden teşekkür edebilir yada beğenebilirsiniz.
2 ) Makale yazarı kendi konusuna beğeni yada teşekkür edemez.
3 ) Misafir olarak sitenize giriş yapanlar teşekkür veya beğeni düğmesini kullanamazlar.
4 ) Önbellekleme yapmanızı tavsiye ederiz.
5 ) Teşekkür edenleri listeleme imkanına sahipsiniz.Yani; teşekkür eden herkesi görebilme imkanına sahipsiniz.
6 ) Profilinizde ne kadar teşekkür aldığınızı ve ne kadar teşekkür ettiğinizi de gösterme şansına sahipsiniz.
Modül Kurulumu:
Bir SQL Sorgusu oluşturuyoruz.
SQL Sorgu Kodu:
daha sonra;
engine/modules dosyasında thanks.php adında bir dosya oluşturuyoruz.Bu dosya içerisine aşağıdaki kodu ekliyoruz.
thanks.php kodu
daha sonra;
engine/cache dosyasına girip; thanks adında bir klasör oluşturup CHAMOD değerini 777 yapıyoruz.Daha sonra;
engine/ajax klasörüne girip thanks.php adında bir dosya oluşturuyoruz ve aşağıda vermiş olduğum kodu ekliyoruz.
thanks.php kodu:
daha sonra;
templates/temaisminiz/fullstory.tpl dosyasını açıp uygun bir alana aşağıda vermiş olduğum kodu ekleyiniz.
templates/temaisminiz/shortstory.tpl dosyasını açıp uygun bir alana aşağıda vermiş olduğum kodu ekleyiniz.
templates/temaisminiz/userinfo.tpl dosyasını açıp uygun bir alana aşağıda vermiş olduğum kodları ekleyiniz.
eklemeniz yeterli olacaktır.Kurulum aşaması bitmiştir.Güle güle kullanınız.
Modül Özellikleri :
1 ) AJAX kullanılmış - sayfayı yeniden yüklemeden teşekkür edebilir yada beğenebilirsiniz.
2 ) Makale yazarı kendi konusuna beğeni yada teşekkür edemez.
3 ) Misafir olarak sitenize giriş yapanlar teşekkür veya beğeni düğmesini kullanamazlar.
4 ) Önbellekleme yapmanızı tavsiye ederiz.
5 ) Teşekkür edenleri listeleme imkanına sahipsiniz.Yani; teşekkür eden herkesi görebilme imkanına sahipsiniz.
6 ) Profilinizde ne kadar teşekkür aldığınızı ve ne kadar teşekkür ettiğinizi de gösterme şansına sahipsiniz.
Modül Kurulumu:
Bir SQL Sorgusu oluşturuyoruz.
SQL Sorgu Kodu:
Kod:
CREATE TABLE `dle_thanks_post` (
`id` int(12) NOT NULL auto_increment,
`post_id` int(11) NOT NULL default '0',
`post_author` varchar(40) NOT NULL default '',
`user_id` int(11) NOT NULL default '0',
`user_name` varchar(40) NOT NULL default '',
`user_ip` varchar(16) NOT NULL default '',
`time` int(15) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE `user` (`post_id`, `user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1;
daha sonra;
engine/modules dosyasında thanks.php adında bir dosya oluşturuyoruz.Bu dosya içerisine aşağıdaki kodu ekliyoruz.
thanks.php kodu
Kod:
<?php
/*
============================================================
Modul Turkcelestirme: http://ircforumlari.com.tr
============================================================
Yazar : YaRGuCi
============================================================
*/
#****** Begenme/Tesekkur Etme Modulu ******#
if( $allow == "нет" ) {
#****** Begeni Modulu ******#
} elseif($short) {
$echo = file_get_contents( ENGINE_DIR . "/cache/thanks/post/{$news_id}.tmp" );
preg_match("#<!--num:(.+?)-->#ie", $echo, $n);
$num = ($n[1]) ? $n[1] : 0;
echo "Begenenler: {$num}";
#****** Profil c?k?s? ******#
} elseif($profile) {
$uid = $db->super_query("SELECT user_id FROM " . USERPREFIX . "_users WHERE name='{$profile}'");
$echo = file_get_contents( ENGINE_DIR . "/cache/thanks/user/{$uid['user_id']}.tmp" );
if($echo) {
$num = explode("|", $echo);
if($show=="set") echo $num[0];
else echo $num[1];
} else {
$set = $db->super_query("SELECT COUNT(id) AS num FROM " . PREFIX . "_thanks_post WHERE user_name='{$profile}'");
$get = $db->super_query("SELECT COUNT(id) AS num FROM " . PREFIX . "_thanks_post WHERE post_author='{$profile}'");
file_put_contents( ENGINE_DIR . "/cache/thanks/user/{$uid['user_id']}.tmp", "{$set['num']}|{$get['num']}", LOCK_EX );
if($show=="set") echo $set['num'];
else echo $get['num'];
}
#****** Tesekkur Modulu ******#
} else {
#****** Tum Haberler ******#
if(!defined('DATALIFEENGINE')) die("Hacking attempt!");
$button = "";
if($is_logged AND $member_id["name"]!=$login AND $ajaxThanks==false) {
$check = $db->super_query("SELECT id FROM " . PREFIX . "_thanks_post WHERE user_id='{$member_id['user_id']}' AND post_id='{$news_id}'");
if(!$check['id']) {
$button = <<<HTML
<script type="text/javascript">
<!--
function tanksForNews(nid) {
ShowLoading('');
$.post(dle_root + "engine/ajax/thanks.php",
{thanks:'tanksForNews', news_id:nid},
function(data){
HideLoading('');
$('#thx').html(data).fadeIn(200);
}
);
}
//-->
</script>
HTML;
}
}
$echo = file_get_contents( ENGINE_DIR . "/cache/thanks/post/{$news_id}.tmp" );
if(!$echo) {
$user = array();
$sql = $db->query("SELECT t.user_name, u.user_group FROM " . PREFIX . "_thanks_post AS t, " . USERPREFIX . "_users AS u WHERE t.user_name=u.name AND t.post_id='{$news_id}' ORDER by t.id ASC");
while ($row = $db->get_row($sql)) {
#****** Kontrol ******#
if( $config['allow_alt_url'] == "yes" ) {
$url = "/user/".urlencode($row['user_name']);
} else {
$url = "/index.php?subaction=userinfo&user=".urlencode($row['user_name']);
}
#****** Mini Profil ******#
if(intval($config['version_id']) >= 9) {
$group_prefix = $user_group[$row['user_group']]['group_prefix'];
$group_suffix = $user_group[$row['user_group']]['group_suffix'];
$miniprof = " onclick=\"ShowProfile('".urlencode($row['user_name'])."', '{$url}', '{$user_group[$member_id['user_group']]['admin_editusers']}'); return false;\"";
} else {
$group_prefix = "";
$group_suffix = "";
$miniprof = "";
}
$user[] = "<a href=\"{$url}\"{$miniprof}>".$group_prefix.$row['user_name'].$group_suffix."</a>";
}
$numUsers = $db->num_rows($sql);
$user_list = ($numUsers>0) ? implode(', ',$user) : "Henuz Bu Makaleyi Begenen Olmadi :(";
$echo = <<<HTML
<!--num:{$numUsers}-->
<div class="title_spoiler"><img id="image-thanks" style="border:medium none;vertical-align:middle;" alt="" src="/templates/{$config['skin']}/dleimages/spoiler-plus.gif" /> <a href="javascript:ShowOrHide('thanks')"><i class="fa fa-thumbs-up" aria-hidden="true"></i> Begen: {$numUsers}</a></div>
<div id="thanks" class="text_spoiler" style="display:none;">{$user_list}</div>
HTML;
file_put_contents(ENGINE_DIR . "/cache/thanks/post/{$news_id}.tmp", $echo, LOCK_EX);
}
echo "<div id=\"thx\">".$button.$echo."</div>";
}
?>
daha sonra;
engine/cache dosyasına girip; thanks adında bir klasör oluşturup CHAMOD değerini 777 yapıyoruz.Daha sonra;
engine/ajax klasörüne girip thanks.php adında bir dosya oluşturuyoruz ve aşağıda vermiş olduğum kodu ekliyoruz.
thanks.php kodu:
Kod:
<?php
/*
============================================================
Modul Turkcelestirme: http://ircforumlari.com.tr
============================================================
Yazar : YaRGuCi
============================================================
*/
if($_POST['thanks']=='tanksForNews') {
#****** AJAX *** start ******#
@session_start();
@error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE );
@ini_set ( 'display_errors', true );
@ini_set ( 'html_errors', false );
@ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE );
define('DATALIFEENGINE', true);
define('ROOT_DIR', substr(dirname( __FILE__ ), 0, -12));
define('ENGINE_DIR', ROOT_DIR . '/engine');
include ENGINE_DIR . '/data/config.php';
if( $config['http_home_url'] == "" ) {
$config['http_home_url'] = explode( "engine/ajax/thanks.php", $_SERVER['PHP_SELF'] );
$config['http_home_url'] = reset( $config['http_home_url'] );
$config['http_home_url'] = "http://" . $_SERVER['HTTP_HOST'] . $config['http_home_url'];
}
require_once ENGINE_DIR . '/classes/mysql.php';
require_once ENGINE_DIR . '/data/dbconfig.php';
require_once ENGINE_DIR . '/modules/functions.php';
include_once ROOT_DIR . '/language/' . $config['langs'] . '/website.lng';
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
@header( "Content-type: text/html; charset=" . $config['charset'] );
$user_group = get_vars( "usergroup" );
if( !$user_group ) {
$user_group = array ();
$db->query( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
while ( $row = $db->get_row() ) {
$user_group[$row['id']] = array ();
foreach ( $row as $key => $value ) {
$user_group[$row['id']][$key] = stripslashes($value);
}
}
set_vars( "usergroup", $user_group );
$db->free();
}
require_once ENGINE_DIR . '/modules/sitelogin.php';
if( !$is_logged ) $member_id['user_group'] = 5;
#****** AJAX *** stop ******#
$time = time()+($config['date_adjust']*60);
if($member_id['user_group'] == 5) die("Tesekkur edebilmeniz icin uye olmalisiniz.");
$news_id = intval($_POST['news_id']);
if($news_id<=0) die("Hata, sayfayi yenileyin ve tekrar deneyin.");
#****** Yazarin kendisine tesekkur yasagi konulamaz ******#
$autor = $db->super_query("SELECT p.autor, u.user_id FROM " . PREFIX . "_post AS p, " . USERPREFIX . "_users AS u WHERE p.autor=u.name AND p.id='{$news_id}'");
if($autor['autor']==$member_id['name']) die("<br/><b>Hile denemesi yapildi!</b><br/>");
#****** IP ile hile kontrolu yapin*** start ******#
$time_ip = $time-86400;
$user_ip = $db->safesql($_SERVER["REMOTE_ADDR"]);
$check_ip = $db->super_query("SELECT id FROM " . PREFIX . "_thanks_post WHERE post_id='{$news_id}' AND user_ip='{$user_ip}' AND time>='{$time_ip}'");
if($check_ip['id']) die("<br/><b>IP'niz, son 24 saat icinde zaten tesekkur edildi!</b><br/>");
#****** IP ile hile kontrolu yap?n *** stop ******#
#****** Kullanicinin oy verip vermedigini kontrol edin ******#
$check_user = $db->super_query("SELECT id FROM " . PREFIX . "_thanks_post WHERE post_id='{$news_id}' AND user_id='{$member_id['user_id']}'");
if($check_user['id']) die("<br/><b>Hile denemesi yap?ld?!</b><br/>");
$db->query("INSERT INTO " . PREFIX . "_thanks_post (`post_id`,`post_author`,`user_id`,`user_name`,`user_ip`,`time`) VALUES ('{$news_id}','{$autor['autor']}','{$member_id['user_id']}','{$member_id['name']}','{$user_ip}','{$time}')");
@unlink( ENGINE_DIR . "/cache/thanks/post/{$news_id}.tmp" );
@unlink( ENGINE_DIR . "/cache/thanks/user/{$autor['user_id']}.tmp" );
$ajaxThanks = true;
include_once ENGINE_DIR . '/modules/thanks.php';
}
?>
daha sonra;
templates/temaisminiz/fullstory.tpl dosyasını açıp uygun bir alana aşağıda vermiş olduğum kodu ekleyiniz.
Kod:
{include file="engine/modules/thanks.php?news_id={news-id}&login={login}&allow=[xfvalue_thanks]"}
templates/temaisminiz/shortstory.tpl dosyasını açıp uygun bir alana aşağıda vermiş olduğum kodu ekleyiniz.
Kod:
{include file="engine/modules/thanks.php?news_id={news-id}&allow=[xfvalue_thanks]&short=1"}
templates/temaisminiz/userinfo.tpl dosyasını açıp uygun bir alana aşağıda vermiş olduğum kodları ekleyiniz.
Kod:
<li><span class="grey2"><i class="fa fa-thumbs-up" aria-hidden="true"></i></span> Toplam Verdiğim Beğeni: {include file="engine/modules/thanks.php?profile={usertitle}&show=set"}</li>
<li><span class="grey2"><i class="fa fa-thumbs-o-up" aria-hidden="true"></i></span> Toplam Aldığım Beğeni: {include file="engine/modules/thanks.php?profile={usertitle}&show=get"}</li>
eklemeniz yeterli olacaktır.Kurulum aşaması bitmiştir.Güle güle kullanınız.