+80.16
Рейтинг
207.74
Сила

Степан Танасийчук

Блок "Похожие топики" для livestreet 0.31

Блок, похожие статьи

Доброго времени суток. Решил тут на своем сайте сделать блок — «Похожие статьи». Посмотрел поиском, но нашел только платный аналог. Поэтому сделал свой блок на основе тегов.
Читать дальше →

Доработка главного меню и кнопки "Написать"

Не знаю как остальным, а меня очень напрягала в шаблоне «New» одна деталь: когда нажимаешь кнопку «Написать», она сама пропадает, а в главном меню активизируется пункт «Блоги». Меня это очень сильно путало в навигации. Гораздо логичнее было бы сделать так, чтобы под создание и просмотр своих топиков и блогов был отдельный раздел в меню.

Реализовал я это следующим образом:
Читать дальше →

VideoParser видео с других сайтов

Есть необходимость вставлять видео с wipido.com, там есть код:
<iframe src="http://www.wipido.com/main/video/external/3jkABmzP7Vac" style="border:none; width:480px;height:320px;overflow:hidden;" scrolling="no" border="0" frameborder="0"></iframe>


Пробовал редактировать \classes\modules\sys_text\Text.class.php

// Теги которые необходимо вырезать из текста вместе с контентом
                $this->oJevix->cfgSetTagCutWithContent(array('script', 'iframe', 'style'));

убирал 'iframe' но не помогло… знаю что еще нужно добавить разрешенние параметров scrolling border frameborder, но не знаю как.

Еще пробовал редактировать парсер. Под youtube прописал код по аналогии рутуба:

/**
                 * wipido.com/
                 */             
                $sText = preg_replace('/<video>http:\/\/(?:www\.|)wipido.com\/tracks\/\d+.html\?v=([a-zA-Z0-9_\-]+)<\/video>/Ui', '<OBJECT width="480" height="320"><param name="wmode" value="opaque"></param><PARAM <u>name="allowFullScreen" value="true"></PARAM><PARAM name="flashVars" value="uid=662118"</u>></PARAM><EMBED src="http://www.wipido.com/main/video/external/$1" type="application/x-shockwave-flash" wmode="opaque" width="480" height="320" <u></embed>allowFullScreen="true" flashVars="uid=662118"</u>></embed></param></EMBED></OBJECT>', $sText);  

но тоже не работает… И мне не знакомы подчеркнутые строчки (т.к. делал я по аналогии рутуба).

Помогите пожалуйста. Блог завел осталось лишь необходимость в видео с этого сайта…

Руководство по созданию плагина для v.0.4 на примере "Лента друзей"

Предисловие

Что такое плагины — читайте здесь.
По мотивам этого, выполняю обещание — привожу руководство как подобное сделать в виде плагина. Всех тонкостей в одной заметке не расскажешь, но основное постараюсь изложить.

Примечание. Долго не публиковал этот материал, держал в черновиках — на случай «мало-ли-что-измениться». Но думаю, кардинальных изменений в механизме плагинов в ближайшем релизе уже не будет.

Пошаговая схема:

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

молитва чайника или снова о силе и рейтинге.

тьфу, тьфу. чтоб не сглазить :)

Не прими господи за флудогенерацию,
Прими за ценную информацию,
Не флудим господи, а спрашиваем.
Не ради рейтинга, ради блага всеобщего,
Не спеши гуру силу использовать,
надоумь чайника RTMF-ом, Авось он и образумится.
Так изыди непонимание, останься чистое знание,
да не пойди во вред силе моей и рейтингу.
Аминь.

а теперь о силе и рейтинге…
как я понимаю святая святых движка это сила и рейтинг, собственно, то на чем держится вся идеология, однако облазил весь сайт в поисках внятного объяснения что это такое ине нашел ответа (
пришлось собирать по крохам информацию…

итак:
сразу после региcтрации и сила и рейтинг пользователя равны 0.

Сила должна зависить от активности пользователя и от оценки его работ(топиков, комментов) другими юзерами. А дельта голосования за коммент, топик, блог, юзера должна зависить от силы голосующего. Как то так :) (орт)

степень влияния рейтинга коммента на рейтинг автора самая низкая(десятые и сотые доли) т.е. даже 100 негативных оценок за коммент не могут существенно повлиять на рейтинг. Кстати 100 оценок комменту это уже много :), на той же Хабре редкость 100 голосов за коммент. Следущим по степени влияния должен быть топик, и самый большой вклад должен давать непосредственно голос за/против пользователя. (орт)

при создании личного блога автоматом ставиться порог рейтинга -1000 — получается он всегда может постить в личный :) (ort)

в. дайте определение Силе и рейтингу
о. пиписько мерство + доступ к фичам, таким как создание собственного коллективного блога и т.п.
рейтинг — по сути твой статус в сети, чем выше тем ты «круче»
сила — твоя степень влияние в сети на происходящее (ort)

в. а зачем вообще рейтинг раздвоен на два показателя?
о. чтобы при отрицательном рейтинге можно было влиять на что то за счет силы
прошу уточнение… а как это происходит?

В. на что влияет сила?
О. Сила влияет на то как сильно будет влиять голос пользователи при голосовании за что либо. (орт)

В. как уменьшается сила?
О. сила уменьшается при голосовании в «минус» (орт)

В. как увеличивается сила?
о. Сила растёт по похожему алгоритму с рейтингом. (iValera)
прошу уточнение… вопрос не в алгоритме, а в идее? каким образом у меня может подняться сила?

В. как изменятется рейтинг?
о. Рейтинг можно изменять: плюсовать и минусовать коменты, топики, самого пользователя. По рейтингу ведётся ТОП. На то как сильно будет расти и уменьшаться рейтинг при голосовании — влияет сила голосующего. (iValera)

в. каков принцип рейтинга в блоге?
о. вообще принцип прост: 1) вступаеш в блог 2) набираеш нужнок количество кармы (рейтинга) 3) спокойно пишешь в блог
уточнение — создатель блога может писать в него при любом рейтинге,
за возможность создания блога, возможности голосования и т.п. отвечает модуль ACL, который разруливать все возможности по рейтингу (орт)

пожалуй это все что я нашел с топиках о Этом.

в итоге вопросы про рейтинг ушли, остаются вопросы про силу… (смотрим выше)

upd.:
Сила это возможность действовать, создавать, если бы сила была отрицательной то по идее это был бы заблокированный аккаунт, «твоя степень влияния в сети на происходящее», опыт.
Рейтинг — это оценка действий пользователя, вектор силы, карма пользователя, при отрицательной карме его силу (действия) искусственно ограничивают. То как вашу деятельность воспринимают остальные участники сообщества.

при голосовании за комментарий в плюс немного увеличивается сила пользователя,
при голосовании за топик сила и рейтинг увеличиваются пропорционально силе голосующего, при голосовании за пользователя — влияние голоса еще сильнее.

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

Предлагаю обновленному сайту - обновленный редактор

Смотрим скрин

ие 6+, фф 3+, опера 9.6+, хром 3
Актуально как для 0.31, так и для 0.4

В архиве editor.tpl в корень скина, editor.png — в папку /images/, style.css — дописать в /css/style.css, в panel.js измененная функция putList, в файле insert.txt код вставки редактора в шаблон ActionTopic/add.tpl и ActionBlog/comment.tpl.

Модуль "Кошелек пользователя"+"Задания". Коллективный заказ.

По мотивам поста заказ модуля «кошелек пользователя» решил сделать свои существующие наработки модулем, раз это не только одному человеку надо.

Сейчас готов образец под конкретного заказчика, учитывающий прочие множественные доработки. Приведем структуру к дефолтному движку(сначала для 0,31, затем портируем для 0,4), учтя все пожелания по ТЗ. А его я предлагаю такое:

Техническое Задание:

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

Безболезненная интеграция uppod

Почти с самого мая 2009 (0.3) мы медленно и нехотя изменяем функционал милого локального сайтика mycrap.ru

Сейчас я расскажу о самом простом способе вставки видео в посты, которого здесь не находил. Изначально была сделана своя форма загрузки для видео на базе стандартного /include/ajax/uploadImg.php, которая загружала файл и выдавала в окно поста код uppod-плеера строчек в 5, при этом пользователи могли хулиганить изменяя размер плеера и подсовывая свои листы стилей.

Проще всего (не правильнее, а именно проще всего) поправить системный файл /classes/modules/sys_text/Text.class.php.


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

Использование плагинов в v.0.4

Безболезненное расширение функционала — достаточно проблематичный вопрос (под «безболезненностью» я понимаю весь спектр удобства для пользователей движка).

Я думаю, вы еще не забыли, что для добавления новых возможностей в версиях до 0.3.1 включительно используются Хаки и Модули. При этом установка любого стороннего творения дело достаточно хитрое и небезопасное, часто требующее ориентирования в архитектуре и особенностях движка. Для преодоления этих проблем в ядро v.0.4 была введена система плагинов:


К чему мы стремились создавая систему плагинов?

а) расширения функционала (плагины) можно просто установить и также просто убрать (а вдруг не понравилось), сложность этого процесса не зависит от количества расширений, разветвленности структуры их каталогов и т.д.;
б) установка внешних расширений (плагинов) не усложняет обновление основного ядра;


Для тех, кого заинтересовали подробности

Использование Gravatar

Использовать у себя Gravatar.com очень просто. Аватарка выдаётся по url-у с md5-хешем e-mail-а пользователя.
Итого:
в classes\modules\user\entity\User.entity.class.php
находим функцию
public function getProfileAvatarPath($iSize=100) {   
    	if ($this->getProfileAvatar()) { 	
        	return DIR_WEB_ROOT.DIR_UPLOADS_IMAGES.'/'.$this->getId().'/avatar_'.$iSize.'x'.$iSize.'.'.$this->getProfileAvatarType();
    	} else {
    		return DIR_STATIC_SKIN.'/images/avatar_'.$iSize.'x'.$iSize.'.jpg';
    	}
    }

и изменяем всего одну строчку:
public function getProfileAvatarPath($iSize=100) {   
    	if ($this->getProfileAvatar()) { 	
        	return DIR_WEB_ROOT.DIR_UPLOADS_IMAGES.'/'.$this->getId().'/avatar_'.$iSize.'x'.$iSize.'.'.$this->getProfileAvatarType();
    	} else {
		return "http://www.gravatar.com/avatar.php? gravatar_id=".md5( strtolower($this->getMail()) )."&size=".$iSize;
    	}
    }


К сожалению, в комментариях так просто получить аватарку не получится — так как там используется своя функция
getUserProfileAvatarPath($iSize=100)
из TopicComment.entity.class.php