function sendToTwitter (obj, sText, sTag){
var sTwit = sText.replace(/(\s)+/g, '+');
var hashTag = '+%23'+sTag;
location.href = 'http://twitter.com/home/?status='+sTwit+hashTag;
return false;
}
function sendToFacebook (obj, sUrl){
location.href = 'http://www.facebook.com/sharer.php?u='+sUrl;
return false;
}
function sendToVkontakte (obj, sUrl){
location.href = 'http://vkontakte.ru/share.php?url='+sUrl;
return false;
}
и, соответственно, html-код:
<a title=»Добавить в Twitter» href=»http://twitter.com/home?status=RT @idea2ru Книга: http://idea2.ru/blog/clever_mind/708.html» target=»_blank» rel=»nofollow»></a>
<a title=»Добавить в Facebook» href=»http://www.facebook.com/sharer.php?u=http://idea2.ru/blog/clever_mind/708.html» target=»blank» rel=»nofollow»></a>
<a title=»Добавить в ВКонтакте» href=»http://vkontakte.ru/share.php?url=http://idea2.ru/blog/clever_mind/708.html» target=»blank» rel=»nofollow»></a>
разработка
facebook, javascript, twitter, vkontakte
function sendToBuzz(obj, sText, sUrl){
location.href = 'http://www.google.com/reader/link?url='+sUrl+'&title='+sText+'&srcURL='+DIR_WEB_ROOT;
return false;
}
или html-код
<a title=»в Buzz» rel=»nofollow» href=»http://www.google.com/reader/link?url=http://idea2.ru/blog/clever_mind/708.html&title=Книга&srcURL=http://idea2.ru» target=»_blank» onfocus=»blur();»><img src=»buzz_it.png» alt=»" /></a>
разработка
Buzz, google, javascript
//Don't supply a map to GDirections()
var direction = new GDirections();
//Make sure {getPolyline:true} is given to the load function
direction.load("here to there", {getPolyline:true});
GEvent.addListener(direction,
"load",
function(){ map.addOverlay(direction.getPolyline()); }
);
разработка
GDirections, getPolyline, google, javascript, Map, маркер. GMap
function var_dump(arr,level) {
var dumped_text = "";
if(!level) level = 0;
//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j<level+1;j++) level_padding += " ";
if(typeof(arr) == 'object') { //Array/Hashes/Objects
for(var item in arr) {
var value = arr[item];
if(typeof(value) == 'object') {
dumped_text += level_padding + "'" + item + "' ...\n";
dumped_text += var_dump(value,level+1);
} else {
dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
}
}
} else { //Stings/Chars/Numbers etc.
dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;
}
разработка
javascript, var_dump
Используя javascript geolocation framework можно (после подтверждения со стороны пользователя) приблизительно определить положение пользователя. (IE эту возможность не поддерживает)
читать подробности
разработка
geolocation, javascript
везде предлагается использовать функцию DATEDIFF()
но когда мне потребовалось высчитать разницу между датами в днях – у меня это почему-то не вышло 
пришлось изобрести велосипед (аж две штуки):
1. (UNIX_TIMESTAMP(`date2`)-UNIX_TIMESTAMP(`date1`))/86400)
2. (TO_DAYS(`date2`) - TO_DAYS(`date1`))
например, узнать сколько прошло дней от даты `date1`:
(TO_DAYS(NOW()) - TO_DAYS(`date1`))
вот собственно и всё
разработка
SQL, дата, программирование, разница

Здесь я уже писал, как ардуина может читать RSS-ленту. Используя тот же принцип можно сделать следующий шаг и научить ардуину вести свой блог 
Далее…
идеи, разработка
Arduino, CraftDuino, livestreet, python, блог, идея, модуль, плата, управлять

Нам всем не хватает идеальности и я решил восполнить это факт маленьким модулем
Пока он делает только одно – отображает круг друзей в профиле пользователя.
Надеюсь это только начало!
Далее…
идеи, разработка
iFace, livestreet, moowheel, дерево, друг, идеальный, идея, интерфейс, круг, модуль
Использовать у себя 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
разработка
gravatar, livestreet
Комментарии