سخنی بخوانید :

موقعیت شما : » افزونه ویرایش دیدگاه شیرترانیکس
  • شناسه : 1104
  • ۱۳ام اسفند ۱۳۹۸
  • 573 بازدید
  • 8
  • آپدیت شد

افزونه ویرایش دیدگاه شیرترانیکس

توسط این افزونه امکان ویرایش دیدگاه ها در پلتفرم شیترانیکس فراهم خواهد شد. توجه داشته باشید مراحل فایل single_post را در فایل view هم انجام بدید. ۱٫ به دلیل این که کتابخانه jquery این نسخه خیلی قدیمیه شاید حدود ۳ الی ۴ سال پیش پس ابتدا فایل themes/YOUR THEME/html/header.php را باز کنید و کد زیر […]

توسط این افزونه امکان ویرایش دیدگاه ها در پلتفرم شیترانیکس فراهم خواهد شد.

افزونه ویرایش دیدگاه شیرترانیکس

توجه داشته باشید مراحل فایل single_post را در فایل view هم انجام بدید.

۱٫ به دلیل این که کتابخانه jquery این نسخه خیلی قدیمیه شاید حدود ۳ الی ۴ سال پیش پس ابتدا فایل themes/YOUR THEME/html/header.php را باز کنید و کد زیر را پیدا کنید :

<script type="text/javascript" src="<?= $C->SITE_URL.’themes/’.$C->THEME ?>/js/jquery-1.4.2.min.js">
</script>

سپس با کد زیر عوض کنید :

<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js">
</script>

اگر هم خواستید فایل جدید را روی هاستتان انتقال دهید اونش دیگه به من ربطی ندارد.
۲٫فایل fbloader.gif را دانلود و در پوشه themes/YOUR THEME/imgs قرار دهید.

۳٫فایل themes/YOUR THEME/js/inside_posts.js را باز کنید و در آخر فایل کد زیر را اضافه کنید :

function postcomment_edit(id,post_id,type){
// Ajax Edit Comment Plugin By Seyed Amirhosein Tavoosi {
$(‘#ecld_’+post_id).fadeIn(‘slow’);
$.post(siteurl+’ajax/comment_edit/r:’,’type=’+type+’&id=’+id+’&content=_comment_close_’
,function(data){
$(‘#comment_’+id).html(‘<textarea id="edit_’ + id + ‘" style="border:2px #ccc solid; border-radius:4px; width:90%; max-width:90%; min-width:90%; height:50px; max-height:200px;">’ + data + ‘</textarea>’);
$(‘#comment_edit_’+id).html("ثبت تغییرات");
$(‘#comment_edit_’+id).attr(‘onclick’, "postcomment_edit_save(‘" + id + "’,’" + post_id + "’,’" + type + "’)");
$(‘#close_’+id).html("&middot; <a href=javascript:; onclick=postcomment_edit_close(‘"+post_id+"’);>انصراف</a>");
$(‘#ecld_’+post_id).fadeOut(‘slow’);
});
// }    Blog : blog.tavousi.name
}
function postcomment_edit_save(id,post_id,type){
// Ajax Edit Comment Plugin By Seyed Amirhosein Tavoosi {
var content = document.getElementById("edit_"+id).value;
$(‘#ecld_’+post_id).fadeIn(‘slow’);
$.post(siteurl+’ajax/comment_edit/r:’,
‘type=’+type+’&id=’+id+’&content=’+content
,function(data){
if(data === ”) {
$(‘#edit_’+id).focus();
$(‘#ecld_’+post_id).fadeOut(‘slow’);return;
} else {
$(‘#comment_’+id).html(data);
$(‘#comment_edit_’+id).html("ویرایش دیدگاه");
$(‘#comment_edit_’+id).attr(‘onclick’, "postcomment_edit(‘" + id + "’,’" + post_id + "’,’" + type + "’)");
$(‘#close_’+id).html("");
$(‘#ecld_’+post_id).fadeOut(‘slow’);
posts_synchronize_single(post_id);
$(‘#last_’+id).html(" ( ویرایش : هم اکنون ) ");

}
});
// }    Blog : blog.tavousi.name
}
function postcomment_edit_close(post_id){
posts_synchronize_single(post_id);
}

۴٫حال به فولدر system\controllers بروید و فایلی با نام ajax_comment_edit.php و با محتویات زیر بسازید :

<?php
/// Ajax Edit Comment Plugin By @t | Kian-it.ir | Tavousi.name
/// P30search@gmail.com | tamirtavoosi@yahoo.com
error_reporting(E_ERROR | E_PARSE | E_CORE_ERROR);
if( $this->user->is_logged && $_POST[‘content’] && $_POST[‘id’] && $_POST[‘type’]) {
$comment_content=$_POST[‘content’];
$comment_id=$_POST[‘id’];
$data = array(
‘ ‘ => ”
);
$body = str_replace(array_keys($data), $data, $comment_content);
if(!empty($body)) {
if($comment_content == ‘[kian-it]’) {
print ‘افزونه ویرایش دیدگاه کاری از سید امیرحسین طاووسی – این اطلاعات در دیتابیس ذخیره نمی شود.’;}
else {
include ‘conf_main.php’;
/////////////////////////////////////
$db = mysql_connect($C->DB_HOST,$C->DB_USER,$C->DB_PASS)
or die("Could not connect: ".mysql_error());
mysql_select_db($C->DB_NAME,$db)
or die("Error in selecting the database:".mysql_error());
mysql_query("SET NAMES utf8");
/////////////////////////////////////
$this_user_id=$this->user->id;
if($_POST[‘type’] == ‘private’) {
$comment_id_info=mysql_fetch_array(mysql_query(‘SELECT * FROM posts_pr_comments WHERE `id`=’.$comment_id));
} else {
$comment_id_info=mysql_fetch_array(mysql_query(‘SELECT * FROM posts_comments WHERE `id`=’.$comment_id));
}
if($comment_content == ‘_comment_close_’)
{
print $comment_id_info[‘message’];
} else {
if($this_user_id == $comment_id_info[‘user_id’]) {
if($_POST[‘type’] == ‘private’) {
mysql_query(‘UPDATE `posts_pr_comments` SET `message`="’.$comment_content.’" , `update`="’.time().’" WHERE `id`=’.$comment_id);
} else {
mysql_query(‘UPDATE `posts_comments` SET `message`="’.$comment_content.’" , `update`="’.time().’" WHERE `id`=’.$comment_id);
}
print $comment_content;} else {print ‘Son Of The Bitch!’;
} } } } }

۵٫حال فایل themes/YOUR THEME/html/single_post.php را باز کنید و به دنبال کد زیر بگردید :

<b><?= $this->lang( $D->p->post_commentsnum==0?’post_viwcomments_0′:($D->p->post_commentsnum==1?’post_viwcomments_1′:($D->p->post_commentsnum<=$C->POST_LAST_COMMENTS?’post_viwcomments_all’:’post_viwcomments_last’)), array(‘#NUM#’=>min($C->POST_LAST_COMMENTS,$D->p->post_commentsnum) ) ) ?></b>

خوب حالا با کد زیر عوض کنید :

<b><?= $this->lang( $D->p->post_commentsnum==0?’post_viwcomments_0′:($D->p->post_commentsnum==1?’post_viwcomments_1′:($D->p->post_commentsnum<=$C->POST_LAST_COMMENTS?’post_viwcomments_all’:’post_viwcomments_last’)), array(‘#NUM#’=>min($C->POST_LAST_COMMENTS,$D->p->post_commentsnum) ) ) ?></b> &nbsp; <img src="<?= $C->SITE_URL.’themes/’.$C->THEME ?>/imgs/fbloader.gif" style="display:none;" id="ecld_<?= $D->p->post_tmp_id ?>" />

۶٫در همین فایل به دنبال کد زیر بگردید :

<p><?= nl2br($c->parse_text()) ?></p>

حال با کد زیر عوض کنید :

<p id="comment_<?= $c->comment_id ?>"><?= nl2br($c->parse_text()) ?></p>

۷٫باز هم در همین فایل به دنبال کد زیر بگردید :

<?php if( $c->if_can_delete() ) { ?>
&middot; <a onclick="postcomment_delete(‘<?= $c->post->post_tmp_id ?>’, <?= $c->comment_id ?>, ‘<?= $this->lang(‘post_delcomment_cnfrm’) ?>’);" href="javascript:;" onfocus="this.blur();"><?= $this->lang(‘post_delcomment_lnk’) ?></a>
<?php } ?>

حال با کد زیر عوض کنید :

<?php if( $c->if_can_delete() ) {
if($c->comment_user->id == $this->user->id) {
?>
&middot; <a onclick="postcomment_edit(‘<?= $c->comment_id ?>’,'<?= $D->p->post_tmp_id ?>’,'<?= $D->p->post_type ?>’)" href="javascript:;" onfocus="this.blur();" id="comment_edit_<?= $c->comment_id ?>">ویرایش دیدگاه</a> <span id="close_<?= $c->comment_id ?>"></span> <? } ?>
&middot; <a onclick="postcomment_delete(‘<?= $c->post->post_tmp_id ?>’, <?= $c->comment_id ?>, ‘<?= $this->lang(‘post_delcomment_cnfrm’) ?>’);" href="javascript:;" onfocus="this.blur();"><?= $this->lang(‘post_delcomment_lnk’) ?></a>
<?php } ?>

۸٫در همین فایل سینگل پست به دنبال کد زیر بگردید :

<?= post::parse_date($c->comment_date) ?>

خوب با کد زیر جایگزین کنید :

<?= post::parse_date($c->comment_date);
if(!empty($c->comment_update)) {
print ‘<span id=last_’.$c->comment_id.’> (ویرایش : ‘.post::parse_date($c->comment_update).’ ) </span>’; }
else {
if($c->comment_user->id == $this->user->id) {
print ‘<span id=last_’.$c->comment_id.’></span>’;
} }
?>

۹٫خوب در این مرحله فایل system/classes/class_postcomment.php را باز کنید و به دنبال کد زیر بگردید :

$this->comment_date        = intval($obj->date);

حالا کد زیر را بعد از کد بالا قرار دهید :

$this->comment_update        = intval($obj->update);

۱۰٫حال کد زیر را در فایل txt ذخیره و در دیتابیس ایمپورت کنید :

ALTER TABLE  `posts_comments` ADD  `update` VARCHAR( 500 ) NOT NULL AFTER  `date`;
ALTER TABLE  `posts_pr_comments` ADD  `update` VARCHAR( 500 ) NOT NULL AFTER  `date`;

برچسب: ،