<?php if(!defined("MCR")){ exit("Hacking Attempt!"); } class submodule{ private $core, $db, $cfg, $user, $lng; public function __construct($core){ $this->core = $core; $this->db = $core->db; $this->cfg = $core->cfg; $this->user = $core->user; $this->lng = $core->load_language('news'); } private function is_discus($nid=1){ $query = $this->db->query("SELECT COUNT(*) FROM `mcr_news` WHERE id='$nid' AND discus='1'"); if(!$query){ return false; } $ar = $this->db->fetch_array($query); if($ar[0]<=0){ return false; } return true; } public function content(){ if($_SERVER['REQUEST_METHOD']!='POST'){ $this->core->js_notify($this->core->lng['e_hack']); } if(!$this->core->is_access('sys_comment_edt') && !$this->core->is_access('sys_comment_edt_all')){ $this->core->js_notify($this->lng['com_perm_edit']); } $id = intval(@$_POST['id']); $nid = intval(@$_POST['nid']); if(!$this->is_discus($nid)){ $this->core->js_notify($this->lng['com_disabled']); } $sql_query = "SELECT `data` FROM `mcr_comments` WHERE uid='{$this->user->id}' AND id='$id' AND nid='$nid'"; if($this->core->is_access('sys_comment_edt_all')){ $sql_query = "SELECT `data` FROM `mcr_comments` WHERE id='$id' AND nid='$nid'"; } $query = $this->db->query($sql_query); if(!$query || $this->db->num_rows($query)<=0){ $this->core->js_notify($this->core->lng['e_hack']); } $ar = $this->db->fetch_assoc($query); $data = json_decode($ar['data']); $message = @$_POST['message']; $message_trim = trim($message); if(empty($message_trim)){ $this->core->js_notify($this->lng['com_msg_empty']); } $bb = $this->core->load_bb_class(); // Object $text_html = $bb->parse($message); $safe_text_html = $this->db->safesql($text_html); $text_bb = $this->db->safesql($message); $message_strip = trim(strip_tags($text_html, "<img><hr><iframe>")); if(empty($message_strip)){ $this->core->js_notify($this->lng['com_msg_incorrect']); } $newdata = array( "time_create" => $data->time_create, "time_last" => time() ); $safedata = $this->db->safesql(json_encode($newdata)); $sql_update = "UPDATE `mcr_comments` SET text_html='$safe_text_html', text_bb='$text_bb', `data`='$safedata' WHERE id='$id' AND nid='$nid' AND uid='{$this->user->id}'"; if($this->core->is_access('sys_comment_edt_all')){ $sql_update = "UPDATE `mcr_comments` SET text_html='$safe_text_html', text_bb='$text_bb', `data`='$safedata' WHERE id='$id' AND nid='$nid'"; } $update = $this->db->query($sql_update); if(!$update){ $this->core->js_notify($this->core->lng['e_sql_critical']); } // Последнее обновление пользователя $this->db->update_user($this->user); // Лог действия $this->db->actlog($this->lng['log_com_edit']." #$id", $this->user->id); $this->core->js_notify($this->lng['com_edit_success'], $this->core->lng['e_success'], true, $text_html); } } ?>