Перейти к контенту

OverHerz

Пользователи
  • Число публикаций

    1 179
  • Регистрация

  • Последнее посещение

Личная информация

  • ICQ
    945802

Недавние посетители профиля

6 882 просмотра профиля

Достижения OverHerz

  1. не нужно там ничего менять, хуки перехешируются иногда и все слетает. Нужно открыть сам хук (xml) и там исправить, после установить исправленный.
  2. OverHerz

    Мод "Спасибо"

    не видел, мне быстрее свой за 15 минут накатать, чем искать
  3. OverHerz

    Мод "Спасибо"

    накатал скрипт, который спасибки переводит в репутацию алгоритм 1) заполняет таблицу index - в ней содержится сама репутация 2) заполняет cache - в ней содержится суммарная информация о постах, т.е обновляет счетчик постов 3) обновляет профили пользователей залить в корень и запустить thanks.php
  4. function frq_nick(nick) { frq_put_to_editor('[b][member="'+nick+'"][/b], '); }
  5. ну это как посмотреть, тормоза они не из-за скриптов, а из-за того, что их неправильно пишут. Тот же ajax пахать не будет, если вырубить яваскрипт. Произвести 15 замен на странице не такая серьезная задача. есть еще dom php, но там уже другие грабли но в любом случае разбор тысяч постов не выход, поэтому я сделал как побыстрее
  6. конкретно я бы это сделал через javascript-фреймворки, в данном случае prototype, ибо они работают как раз с DOM-деревом и позволяют в это же дерево вставлять что угодно. Плюс все это бы обрабатывалось бы на компе пользователя, а не на сервере. Код страницы естественно почти не меняется, но нам это и не нужно. Нужно лишь нагенерировать яваскрипт-код. alert работает, значит и все остальное тоже будет работать. Хотя придется помучаться )
  7. совсем даже наоборот. Вы мне нравитесь хотя бы за то, что пишите моды моды я уже давно не пишу. Пишу я последнее время закрытые веб 2.0 системы, и естественно не бесплатно )
  8. ну быдлокод, он как говорится не в задаче, а в голове. Не важно для чего ты пишешь, важно как... Да и не в foreach vs while дело. вот как в самом движке [quote name='OverHerz' timestamp='1281871055' post='371479'] смысл тут городить что-то свое... и в итоге имеем баг - в базу кладется не число, а строка, которая естественно не меняется при смене часового пояса и у разных людей. В итоге имеем кашу. Я хоть с поясом +1 зайду будет 7:10, что с +10, все равно будет 7:10, хотя время у меня не 7, а 13 уже.
  9. причем тут это? у вас и то и то вместе. У вас там и explode и implode и strpos и foreach (который, кстати, работает гораздо медленее while) и str_replace. Вот о чем я. Допустим, что на форуме будет 100 человек, на каждой странице по 15 постов, 1500 циклов умноженное на размер $parts (размер которого 3, т.е имеем в итоге 4500 циклов) просто с ничего. Я же оставил одни str_replace, снизив нагрузку в десятки раз. Я прекрасно знаю, что такое нагрузка, приходилось и по 500 тыс записей в 6-мерных OLAP массивах обрабатывать. Поэтому я такие косяки сразу вижу. Вообщем это не выход для совместимости со скинами. ну если у современных кодеров это так называется, то мне грустно вы на форуме одна чтоли сидите? )) Я прям не знаю, вы про системы с высокой нагрузкой в первый раз чтоли слышите? Имеем 200 пользователей, которые читают форум, на каждой странице по 15 постов - вот вам и 3000 циклов (в котором еще и foreach, т.е имеем все 9000 циклов). Я понимаю, что на локалке все быстро работает с одним пользователем. Просто если каждый так будет хуки писать, то форум в итоге ляжет. тут вопрос в юзабельности, отдельной строкой удобнее пользоваться, чем рядом из 6-8 кнопок, в которой глаза разбегаются. Я бы вообще сделал так - когда наводишь мышкой на аватар, всплывают эти кнопки. Они по сути не нужны, пока человек только читает. форум умрет как раз не на выборке, а когда будет все это по второму кругу гонять, разбирать, складывать, заменять я уж молчу про косяк с date в цитатах - в IPB по-умолчанию используется timestamp, который учитывает часовой пояс пользователя. Иначе каша получается с датами (про косяк IPB пока забудем, исправят как-нибудь)
  10. я же исправил к тому же убрал разбор ul, я представляю, что будет, если будет одновременно разбираться скажем 1000 постов - лишняя нагрузка на сервер Палыч, критика еще никому не мешала
  11. каким образом, если даже кнопок под собой нету? весь IPB на свистелках построен, к тому же я имел ввиду не только свистелки, но и использование якорей, которые там нафиг не нужны
  12. что за убогое разворачивание скрытых данных? Так намного лучше function frq_toggle(id) { if(frq_hide_fields == 1) { Effect.toggle('frq_uf_'+id, 'appear'); } if(frq_hide_warn == 1 && $('frq_wp_'+id)) { Effect.toggle('frq_wp_'+id, 'appear'); } } Плюс там еще бага есть onclick='frq_toggle({$author['pid']}) здесь явно надо $contentid ставить, иначе айдишники повторяются таким образом получим правильные айдишники и браузер не будет скакать с места (что бесит) ($this->settings['frq_on_info'] == "1") ? "<li><a href='' title='{$this->settings['frq_alt_info']}' class='frq_info' onclick='frq_toggle({$contentid});return false;'><img alt='{$this->settings['frq_alt_info']}' src='{$this->settings['img_url']}/{$this->settings['frq_icon_info']}' ></a></li>" : ""; $display = ($this->settings['frq_hide_fields'] == "1") ? "style='display:none;'" : ""; $code = str_replace("class='user_fields", "id='frq_uf_{$contentid}' {$display} class='user_fields", $code); $display = ($this->settings['frq_hide_warn'] == "1") ? "style='display:none;'" : ""; $code = str_replace("class='warn_panel", "id='frq_wp_{$contentid}' {$display} class='warn_panel", $code); + нельзя цитировать себя самого, что тоже бесит, я это исправил
  13. FatCat, кто-то явно преувеличивает , переписывать 500кб - это переписывать 20тыс строк кода ) чтоб столько написать не быдлокода, надо 2 недели не спать
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.