توسط این افزونه امکان ویرایش دیدگاه ها در پلتفرم شیترانیکس فراهم خواهد شد. توجه داشته باشید مراحل فایل 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("· <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> <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() ) { ?> · <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) { ?> · <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> <? } ?> · <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`;برچسب: افزونه شیرترانیکس، افزونه ویرایش دیدگاه شیرترانیکس
تمامی حقوق این سایت محفوظ است.