Архив

Архив ‘разработка’ категории

Кнопка для трансляции в Twitter, Facebook, vkontakte

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>

разработка , , ,

Кнопка для трансляции в Buzz

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&amp;title=Книга&amp;srcURL=http://idea2.ru» target=»_blank» onfocus=»blur();»><img src=»buzz_it.png» alt=»" /></a>

разработка , ,

GDirections без маркеров

Март 30th, 2010
//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()); }
);

разработка , , , , ,

var_dump на javascript

Март 30th, 2010

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

Март 4th, 2010

Используя javascript geolocation framework можно (после подтверждения со стороны пользователя) приблизительно определить положение пользователя. (IE эту возможность не поддерживает)
читать подробности

разработка ,

SQL разница между датами

Март 3rd, 2010

везде предлагается использовать функцию DATEDIFF()
но когда мне потребовалось высчитать разницу между датами в днях – у меня это почему-то не вышло :(
пришлось изобрести велосипед (аж две штуки):
1. (UNIX_TIMESTAMP(`date2`)-UNIX_TIMESTAMP(`date1`))/86400)
2. (TO_DAYS(`date2`) - TO_DAYS(`date1`))

например, узнать сколько прошло дней от даты `date1`:
(TO_DAYS(NOW()) - TO_DAYS(`date1`))

вот собственно и всё :)

разработка , , ,

LiveStreet и Arduino/CraftDuino

Январь 23rd, 2010


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

идеи, разработка , , , , , , , ,

Идеальный Интерфейс – Круг друзей :)

Январь 17th, 2010


Нам всем не хватает идеальности и я решил восполнить это факт маленьким модулем :)

Пока он делает только одно – отображает круг друзей в профиле пользователя.
Надеюсь это только начало! :) Далее…

идеи, разработка , , , , , , , , ,

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

Январь 10th, 2010

Использовать у себя 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

разработка ,

Программирование Arduino

Август 7th, 2009

серия статей про программирование Arduino/Freeduino:
http://www.robocraft.ru/blog/RoboCraft/41.html

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