+60.64
450 читателей, 105 топиков

Создание URL блога для людей

Опубликую идею которую в идеале стоило бы допинать полностью, но я надеюсь, что она будет услышана Ort-ом и реализована в виде родной возможности. А суть очень проста — избавить пользователей от написания URL при создании общего блога.
Читать дальше →

Как вынести количество публикаций каждого пользователя на страницу пользователей

Данный топик — расширенный ответ на вопрос, заданный в этом топике т.к. мне уже не первый раз задают этот вопрос.

Нужно в файле сущности пользователя \classes\modules\user\entity\User.entity.class.php (например, после 453 строки) дописать метод:
/**
 * Возвращает количество созданных пользователем топиков и комментариев
 *
 * @return int
 */
public function getPublicationsCount() {
  $iCountTopicUser = $this->Topic_GetCountTopicsPersonalByUser($this->getId(), 1);
  $iCountCommentUser = $this->Comment_GetCountCommentsByUserId($this->getId(), 'topic');
  return $iCountTopicUser + $iCountCommentUser;
}


Читать дальше →

Прогресс-бар для силы в профиле пользователя

Доброго времени суток.



Навеяно вот этим топиком.

У себя на сайте я реализовал это нижеописанным методом. На грандиозность кода не претендую, может кто что подправит :)

Читать дальше →

Скрываем закрытые блоги из общего списка

Итак, у нас на сайте есть открытые и закрытые блоги. Появилось много желающих скрывать их из общего списка.

Сейчас общий список выглядит так: localhost/blogs/

Задача убрать закрытый блог из списка.

Читать дальше →

Хак: Выполнение PHP кода на статических страницах

Иногда бывает полезно выполнить на статической странице PHP код (различные сервисы, mini-tools, и т.д.). В WordPress для этого есть специальный плагин, а для полюбившегося LiveStreet сделал так:

Читать дальше →

Модернизация профиля: Часть 1. Скрываем профиль от посторонних

в процессе модернизации своего профиля реализовал несколько фишечек.
По заявка фишка номер раз: Скрываем профиль от посторонних глаз.

Читать дальше →

Конвертафция путей в MySQL дампе для переноса на новый сервер

convert_paths.php
<?php

// старый путь
$old = '/var/www/looksochi/data/www/somesite.ru/';
// новый путь
$new = '/sites/rebirth/somesite.ru/';

// исходный дамп
$input = fopen('dump.sql','r');
// выходной файл
$output = fopen('dump_new.sql','w');

function rs($r){
    global $old, $new;
    return $r[1].( $r[2] + (strlen($new)-strlen($old)) ).$r[3];
}

while(($s = fgets($input)) !== false){

    $s = preg_replace_callback('#(s\:)(\d+)(\:\x5C"'.preg_quote($old,'#').')#ms', 'rs', $s);

    $s = str_replace($old, $new, $s);

    fwrite($output, $s);
}

fclose($input);
fclose($output);


$
php -f convert_paths.php

Алгоритм начисления силы и рейтинга

Намедни решил сделать кое какие расчеты, для которых нужны данные о начислениях силы и рейтинга в ЛС.
Открыл исходники и для наглядности построил графики зависимости количества начисляемого рейтинга и силы от силы проголосовавшего.

Вот что получилось:
Собственно по оси Y количество чего-то, которое получит юзер за Ваш голос, а по X количество силы голосующего. Значения каждой функции ограничено снизу и сверху. На графике не все точки, а лишь диапазон от 0 до 550, впрочем этого достаточно, чтобы увидеть перепады в приросте веса голоса, полные ограничения указаны ниже.


min = 0,004
max = 0,5

Читать дальше →

HTTPS авторизация и регистрация

Периодически в личных сообщениях у меня интересуются можно ли с помощью плагина «HTTPS Detect» сделать так, чтобы авторизация и регистрация на сайте осуществлялись по HTTPS протоколу, а дальнейшая работа — по HTTP (а некоторые готовы даже платить деньги). В принципе, плагин в данном случае играет вспомогательную роль поддержки HTTPS протокола, а непосредственно для решения задачи необходимо выполнить следующие действия:
1) изменить все ссылки на страницы "/login" и "/registration" на HTTPS версию (независимо от протокола входа), а ссылки на остальные страницы — на HTTP версию;
2) организовать переадресацию со страниц "/login" и "/registration" на HTTPS версию, а со всех остальных страниц — на HTTP версию;
3) заблокировать работу AJAX авторизации и регистрации.

Читать дальше →

Дополнительные данные о пользователе под топиком

Добре, господа!

Значит надо мне вывести под топиком дополнительные данные по автору. Аватарку например и плюсик голосования. Для этого надо, чтоб в шаблонах topic.tpl и topic_list.tpl появились данные о нем. С topic.tpl все получилось сразу. В ActionBlog.class.php в функциях вывода топика из коллективного и личного блогов добавил:

$myUser=$this->User_getUserById($oTopic->getUserId());
$this->Viewer_Assign('myUser',$myUser);

И имею в шаблоне юзера, а стало быть и все данные по нему. Например аватару:

<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$oTopic->getUserLogin()}/">
<img src="{$myUser->getProfileAvatarPath(24)}" alt="avatar" class="avatar" />
</a>

Со списком топиков же такой финт не проходит. В функции вывода списка топиков все формируется иначе. И как там выделить и правильно передать в шаблон я не соображу. В принципе, в шаблоне доступно $oTopic->getUserLogin() или $oTopic->getUserId() Только куда плясать дальше не совсем понятно.

Можно конечно так:

<img src="http://futurin.ru/uploads/images/{$oTopic->getUserId()}/avatar_24x24.gif"/>

Но костыль явно нерабочий как только расширение у файла станет отличным от gif.

Поможите, люди добрые ;)