0.00
Рейтинг
8.45
Сила
С чего вы взяли что я ною? Мне абсолютно пох на карму и пр. Мне не нравится другое — система рейтига. ЛС хорош всем, кроме этого самого важного момента. Возьмите тот же ньюс2.ру или дигг — никогда кучка виртуалов не сможет поднять топик на главную. А тут на раз два. Я считаю это ОГРОМНЫМ ЖИРНЫМ МИНУСОМ системы. Да, я понимаю у орта не десять рук и он не может одновременно заниматься сложной системой рейтига и оптимизацией быстродействия ЛС. Он выбрал приоритетом быстродействие и долбит это направление. Но проблема накрутки и отсутвия саморегуляции/самомодерации общества в ЛС, к сожалению, пока отсутствует. :(
А система рейтига в соц.сетях — это ВСЁ. Это и автомодерация в т.ч.
Абсолютно верно. Живой пример. Зарегал 8 виртуалов, чтобы показать орту легкость накрутки рейтинга. Получил -3 в карму. Теперь голосовать вообще не могу даже за комменты. Желания что-то делать нет никакого. Найду баг, исправлю молча. Сделаю модуль полезный, оставлю себе. Смысл? Говоришь и показываешь что система рейтига на ЛС полное говно — получаешь жирный минус, не отмыться.
Совершенно верно. Предлагаю исправить файл перевода.
Закомментировать пару строк в одном месте. :)
Не в Норвегии. =)
У меня — да. Если у вас mb стоит — возрадуйтесь! :)
// choice 1
function utf8_strlen($str) {
  $count = 0;
  for ($i = 0; $i < strlen($str); ++$i) {
    if ((ord($str[$i]) & 0xC0) != 0x80) {
      ++$count;
    }
  }
  return $count;
}

// choice 2
function utf8_strlen($str) {
  return preg_match_all('/[\x00-\x7F\xC0-\xFD]/', $str, $dummy);
}


Вроде работает…
Есть «костыль», как посчитать кол-во символов в мультибайтовой строке?
Но кроме того, что нет mb_string, нет и iconv, которой обходится отсутствие mb в ЛС. Вот и изголяюсь. (((
utf. наверное, есть. я всё дальше отхожу от кодинга (что радует), многое забывается…
function WinToUtf8($s) {
  $t = '';
  for ($i = 0, $m = strlen($s); $i < $m; $i++) {
    $c = ord($s[$i]);
    if ($c <= 127) { $t .= chr($c); continue; }
    if ($c >= 192 && $c <= 207) { $t .= chr(208) . chr($c - 48); continue; }
    if ($c >= 208 && $c <= 239) { $t .= chr(208) . chr($c - 48); continue; }
    if ($c >= 240 && $c <= 255) { $t .= chr(209) . chr($c - 112); continue; }
    if ($c == 184) { $t .= chr(209) . chr(209); continue; };
    if ($c == 168) { $t .= chr(208) . chr(129); continue; };
  }
  return $t;
}

function Utf8ToWin($fcontents) {
    $out = $c1 = '';
    $byte2 = false;
    for ($c = 0;$c < strlen($fcontents);$c++) {
        $i = ord($fcontents[$c]);
        if ($i <= 127) {
            $out .= $fcontents[$c];
        }
        if ($byte2) {
            $new_c2 = ($c1 & 3) * 64 + ($i & 63);
            $new_c1 = ($c1 >> 2) & 5;
            $new_i = $new_c1 * 256 + $new_c2;
            if ($new_i == 1025) {
                $out_i = 168;
            } else {
                if ($new_i == 1105) {
                    $out_i = 184;
                } else {
                    $out_i = $new_i - 848;
                }
            }
            $out .= chr($out_i);
            $byte2 = false;
        }
        if (($i >> 5) == 6) {
            $c1 = $i;
            $byte2 = true;
        }
    }
    return $out;
}


И прощай mb_string! :)
От жеж редиска! Ё!
Просто у мну нет мультибайтовых строк, т.к. хостер не дает, и я от них вообще избавился и всё работает. :)
Тогда вставляем проверку типа:
if (strstr ($sText, '<cut>')) {
Нашел косячок в 3-м варианте. Если длина текста меньше длины анонса, вылетает ошибка и в базу пишется пустое значение. Расширяем проверку:

if (BLOG_TOPIC_CUT > 0 and strlen($sText) > BLOG_TOPIC_CUT) {
Зависит от проекта, конечно. И от дизайна. Если хочется все ровно и красиво, неблогоподобно, тогда кату нет. :)
Основная идея — примерно одинаковые по длине анонсы. Кат же могут поставить как угодно и где угодно.
Не за что. :)
Да.
В том же файле в функции SubmitEdit нужно также заменить $sTextShort=$sText; на то, что описано выше. )