Example #1
0
function EditOpinion($op_id, $message, $rating, $counter, $from = 'frl')
{
    @session_start();
    $objResponse = new xajaxResponse();
    $message = trim($message);
    if (!in_array($rating, array(-1, 0, 1))) {
        $objResponse->assign('rating_error', 'innerHTML', 'Вы не выбрали категорию отзыва');
    } elseif ($message == '') {
        $objResponse->script("opinionFormError('error_edit_msg_{$op_id}');");
    } elseif (strlen($message) > opinions::$opinion_max_length) {
        $objResponse->script("opinionMaxLengthError('edit_msg_{$op_id}', " . opinions::$opinion_max_length . ');');
    } else {
        $message = str_replace('&', '&', $message);
        $message = stripslashes($message);
        $message = change_q_x($message, FALSE, TRUE, '', false, false);
        $msg = opinions::GetMessageById($op_id);
        $old_rating = $msg['rating'];
        if (get_uid(0) == $msg['fromuser_id'] || hasPermissions('users')) {
            $error = opinions::Edit($msg['fromuser_id'], $op_id, $message, $rating, getRemoteIP(), hasPermissions('users'), get_uid(0));
        } else {
            $error = 'Ошибка';
        }
        if (!$error) {
            $msg = opinions::GetMessageById($op_id);
            if ($msg) {
                $user = new users();
                $user->GetUserByUID($_SESSION['page_user_id']);
                $objResponse->assign('opid_' . $op_id, 'innerHTML', opinions::printTheme($msg, $from, $counter, false));
                $ot = $old_rating == 1 ? 'plus' : ($old_rating == -1 ? 'minus' : 'neitral');
                $nt = $rating == 1 ? 'plus' : ($rating == -1 ? 'minus' : 'neitral');
                $objResponse->call('opinionChConuters', 'ops-' . $from . $ot, 'ops-' . $from . $nt);
                $block_class = 'ops-one-' . $nt;
                $objResponse->script("\$('opid_{$op_id}').removeClass('ops-one-plus').removeClass('ops-one-neitral').removeClass('ops-one-minus');");
                $objResponse->script("\$('opid_{$op_id}').addClass('{$block_class}')");
                $objResponse->script("opinionCheckMaxLengthStop('edit_msg_{$op_id}');");
            } else {
                $objResponse->script("alert('" . serialize($msg) . "')");
            }
        } else {
            $objResponse->script("alert('" . $error . "')");
        }
    }
    return $objResponse;
}