Ускорителят на частици в Церн
Posted on | September 10, 2008 | No Comments
iТъи като спекулациите са много: дали ше се появи черна дупка | дали не
, и тък като не ми се задълбава на тая тема поради простата причина че има милион пъти по умни глави от мен да бистрят водата на езерото в тази тема ще слагам главно хомуристичния образ на деня 10.09.2008 който беше обладан изцяло от думичките “Церн”+ “Ускорител на частици” – на много езици
) . следващите снимкии филмчета най-вероятно ще бъдат под надслов “Цеци“, като цеци няма нищо общо с българското такова име
.
Фейсбок(Facebook) АПИ(API) – за ъплоад на снимки
Posted on | August 5, 2008 | No Comments
След дълга липса на писания в този блог поради липсата на свободно време реших да запечатамедин код които ми отне 3 часа от живота и както винаги се оказва проблемът е бил в — ( 2-те тиренца )
.
Идеята на този класс е да може някои девел. за напред ако има проблем с ъплоад на снимки в фейсбоок да го види да си го копне – да попълни липсващите параметри и наий-вече да му спести работа
.
Лиценза е гну, държа само да се спомене че е моя работа …
ето го и кода
-
<?php
-
/**
-
* @author Elin Ahmedov
-
* @category facebook image upload api
-
* @copyright GNU
-
* @since 06.08.2008
-
* @version 0.1
-
*/
-
require_once './client/facebook.php';
-
class fbPhotoUpload
-
{
-
private $namespace = array();
-
-
/**
-
* class constructor
-
* @return fbPhotoUpload
-
*/
-
-
public function fbPhotoUpload()
-
{
-
return $this;
-
}
-
-
/**
-
* setting external variables
-
*
-
* @param string $name
-
* @param string $value
-
*/
-
-
public function setVars( $name, $value )
-
{
-
$this->namespace[$name] = $value;
-
}
-
-
/**
-
* collecting arguments for later signature generation
-
*
-
* @param string $sig__name
-
* @param string $sig__value
-
*/
-
-
private function collect__sig__( $sig__name, $sig__value )
-
{
-
$this->namespace['__sig__'][$sig__name] = $sig__value;
-
}
-
-
/**
-
* signature generation
-
*
-
* @param string $text
-
* @return string
-
*/
-
-
private function set__sig__( $text )
-
{
-
$sig = '';
-
ksort( $this->namespace['__sig__'] );
-
foreach( $this->namespace['__sig__'] as $name=>$value )
-
$sig .= $name.'='.$value;
-
$this->namespace['__sig__']['sig'] = md5( $sig.$this->namespace['__secret__'] );
-
return preg_replace( '/__sig__/i', $this->namespace['__sig__']['sig'], $text );
-
}
-
-
/**
-
* create top headers
-
*
-
*/
-
-
private function setReqsHeaders()
-
{
-
$this->namespace['headers'] = "POST ".$this->namespace['request_file']." HTTP/1.1\r\n";
-
$this->namespace['headers'] .= "Host: ".$this->namespace['domain']."\r\n";
-
$this->namespace['headers'] .= "User-Agent: Facebook Photo API PHP5 Client 1.0 ".phpversion()."\r\n";
-
$this->namespace['headers'] .= "Connection: close\r\n";
-
$this->namespace['headers'] .= "Content-type: multipart/form-data, boundary=".$this->namespace['boundary']."\r\n";
-
$this->namespace['headers'] .= "Content-Length: __cont_lenght__\r\n";
-
$this->namespace['headers'] .= "MIME-version: 1.0\r\n\r\n";
-
$this->namespace['headers'] = preg_replace( '/__cont_lenght__/i', strlen( $this->namespace['add.headers'] ), $this->namespace['headers'] ).$this->namespace['add.headers'];
-
}
-
-
/**
-
* create additional headers
-
*
-
* @param string $content
-
*/
-
-
private function setAdditonalHeaders( $content )
-
{
-
preg_match( '/(?P<fname>[^\/]*?(?P<fext>[^\.]*))$/i', $this->namespace['file_name'], $matches );
-
$this->namespace['add.headers'] = '–'.$this->namespace['boundary']."\r\n";
-
$this->namespace['add.headers'] .= "Content-Disposition: form-data; name=\"method\"\r\n\r\n";
-
$this->namespace['add.headers'] .= "facebook.photos.upload\r\n";
-
$this->namespace['add.headers'] .= '–'.$this->namespace['boundary']."\r\n";
-
$this->collect__sig__( 'method', 'facebook.photos.upload' );
-
$this->namespace['add.headers'] .= "Content-Disposition: form-data; name=\"v\"\r\n\r\n";
-
$this->namespace['add.headers'] .= "1.0\r\n";
-
$this->namespace['add.headers'] .= '–'.$this->namespace['boundary']."\r\n";
-
$this->collect__sig__( 'v', '1.0' );
-
$this->namespace['add.headers'] .= "Content-Disposition: form-data; name=\"api_key\"\r\n\r\n";
-
$this->namespace['add.headers'] .= $this->namespace['__api_key__']."\r\n";
-
$this->namespace['add.headers'] .= '–'.$this->namespace['boundary']."\r\n";
-
$this->collect__sig__( 'api_key', $this->namespace['__api_key__'] );
-
$this->namespace['add.headers'] .= "Content-Disposition: form-data; name=\"session_key\"\r\n\r\n";
-
$this->namespace['add.headers'] .= $this->namespace['__session_key__']."\r\n";
-
$this->namespace['add.headers'] .= '–'.$this->namespace['boundary']."\r\n";
-
$this->collect__sig__( 'session_key', $this->namespace['__session_key__'] );
-
$this->namespace['add.headers'] .= "Content-Disposition: form-data; name=\"call_id\"\r\n\r\n";
-
$this->namespace['add.headers'] .= $this->namespace['call_id']."\r\n";
-
$this->namespace['add.headers'] .= '–'.$this->namespace['boundary']."\r\n";
-
$this->collect__sig__( 'call_id', $this->namespace['call_id'] );
-
$this->namespace['add.headers'] .= "Content-Disposition: form-data; name=\"caption\"\r\n\r\n";
-
$this->namespace['add.headers'] .= $this->namespace['__caption__']."\r\n";
-
$this->namespace['add.headers'] .= '–'.$this->namespace['boundary']."\r\n";
-
$this->collect__sig__( 'caption', $this->namespace['__caption__'] );
-
$this->namespace['add.headers'] .= "Content-Disposition: form-data; name=\"aid\"\r\n\r\n";
-
$this->namespace['add.headers'] .= $this->namespace['__aid__']."\r\n";
-
$this->collect__sig__( 'aid', $this->namespace['__aid__'] );
-
$this->namespace['add.headers'] .= '–'.$this->namespace['boundary']."\r\n";
-
$this->namespace['add.headers'] .= "Content-Disposition: form-data; name=\"sig\"\r\n\r\n";
-
$this->namespace['add.headers'] .= "__sig__\r\n";
-
$this->namespace['add.headers'] .= '–'.$this->namespace['boundary']."\r\n";
-
$this->namespace['add.headers'] .= "Content-Disposition: form-data; filename=\"".$matches['fname']."\"\r\n";
-
$this->namespace['add.headers'] .= "Content-Type: image/".$matches['fext']."\r\n";
-
$this->namespace['add.headers'] .= "Content-Transfer-Encoding: binary\r\n\r\n";
-
$this->namespace['add.headers'] .= "$content\r\n";
-
$this->namespace['add.headers'] .= '–'.$this->namespace['boundary']."–\r\n";
-
$this->namespace['add.headers'] = $this->set__sig__( $this->namespace['add.headers'] );
-
-
}
-
-
/**
-
*
-
* @param string $url
-
* @return string
-
*/
-
-
public function upload( $url )
-
{
-
$this->namespace['domain'] = 'api.facebook.com';
-
$this->namespace['request_file'] = '/restserver.php';
-
$this->namespace['file_name'] = $url;
-
$this->namespace['call_id'] = microtime( true );
-
$this->namespace['boundary'] = md5( $this->namespace['call_id'] );
-
$content = file_get_contents( $this->namespace['file_name'] );
-
$this->setAdditonalHeaders( $content );
-
$this->setReqsHeaders();
-
// print "——————————————-\n";
-
// print $this->namespace['headers'];
-
// print "——————————————-\n";
-
$fh = fsockopen( $this->namespace['domain'], 80, $er1, $er2, 30 );
-
fwrite( $fh, $this->namespace['headers'] );
-
$answer = '';
-
while ( !feof( $fh ) )
-
$answer .= fgets( $fh, 1024 );
-
fclose( $fh );
-
// print $answer;
-
// print "——————————————-\n";
-
return '{my_fimages_ok}';
-
}
-
-
private function __destruct()
-
{
-
unset( $this );
-
}
-
}
-
header( 'Content-type: text/plain' );
-
$appapikey = 'your_api_key';
-
$appsecret = 'your_api_secret';
-
$facebook = new Facebook($appapikey, $appsecret);
-
$user_id = $facebook->require_login();
-
$fbphu = new fbPhotoUpload;
-
$fbphu->setVars( '__api_key__', $appapikey );
-
$fbphu->setVars( '__secret__', $appsecret );
-
$fbphu->setVars( '__session_key__', $facebook->api_client->session_key );
-
$fbphu->setVars( '__aid__', '__album_id__' );
-
$fbphu->setVars( '__caption__', '__image_title__' );
-
print $fbphu->upload( 'http://'__image_address__ );
-
?>
За бирарията на езерото Ариана София
Posted on | June 23, 2008 | No Comments
Преди седмица решаваме да се поразмърдаме малко, решаваме че ще е а бирарията на езерото “Ариана“. На мястото сме около 9 вечерта, препълнено е, аз си поръвам супичка моита приятелка и неината приятелка решават да си поръчат нещо голямо, спират се на артикул които не помня как се казваше вече. Поръчваме си и гокгато полъчката пристига започват изненадите. 1-во доставката не одговаря на поръчаното, 2-ро сервитиора ни моли да изядеме неговата грешка, ха на дали, все пак няма да дам 20 – лв. за нещо което не съм си поръчвал а тои казва “Аиде да си го изядете”, що за сервитиор, след още 30 мин. чакане най-накрая поръчката ни пристига с малки промени по нея защото се оказва че няма свински ребърца и трябва да допълнят поръчката с кюфтета .. ха 1 свиско ребърце = 1 кюфте .. и това не е всичко, кухнята е отвратителна на вкус за парите които и искат … порцията е далеч от грамажа които е обявен гордо ( !1 кг.! ) и накрая НЕ ХОДЕТЕ В БИРАРИЯТА НЕ СИ ЗАСЛУЖАВА ДА ПЛАТИТЕ 2 х цената на градски билет за да можете да ядете скара която на вкус наподобява далечна кварталска кръчма, за мен това посещение беше огромна грешка която ще ми послужи за добър урок.
Религия, Цвят, Пол ?
Posted on | June 23, 2008 | No Comments
Женски проблеми?, Религиозни конфликти?, Дискриминация?! няма такова нещо всичко това е в малката човешка тъпа главичка и изчезва чак в края, там кадето нищо не остава
Нов дизайн
Posted on | June 15, 2008 | No Comments
Тъй, изцяло променен дизаин, хтмл елементите са подредени по по спецялен начин,допълнително сео съм включил тоест: менютата реално са в края като съдържание .. така търсачките стигат директно до текстовото съдържание което е по важното за тях.
Добавен е модул за времето в момента, трябва да се разшири до + 3-дневна прогноза но това по нататък. Сега съм седнал да вградя гоогле мапс за да могат хората да се ориентират по добре в маршрута до Белоградчик. Надявам се новия дизаин да се хареса на всички. въпроси, желания и т.н. тук
Платен отпуск за обучение – интересна информация
Posted on | June 5, 2008 | No Comments
http://www.az.government.bg/Legislation/KT.html
след което ctrl+f “Платен отпуск за обучение” и се стига до
Чл. 169. (Изм. – ДВ, бр. 100 от 1992 г.) (1) (Изм. – ДВ, бр. 25 от 2001 г., в сила от 31.03.2001 г.) Работник или служител, който учи в средно или висше училище без откъсване от производството със съгласието на работодателя, има право на платен отпуск в размер 25 работни дни за всяка учебна година.
(2) (Изм. – ДВ, бр. 100 от 1992 г., изм. – ДВ, бр. 25 от 2001 г., в сила от 31.03.2001 г.) Отпускът по ал. 1 се ползва независимо от всички останали видове отпуски. Той може да се ползва наведнъж или на части и не се предоставя на работник или служител, който повтаря учебната година по неуважителни причини.
(3) (Изм. – ДВ, бр. 100 от 1992 г.) Учащите се по ал. 1 имат право еднократно и на платен отпуск от 30 работни дни за подготовка и явяване на зрелостен или държавен изпит, включително и за подготовка и защита на дипломна работа, дипломен проект или дисертация.
(4) (Изм. – ДВ, бр. 100 от 1992 г., изм. и доп. – ДВ, бр. 25 от 2001 г., в сила от 31.03.2001 г.) За подготовка на дисертационен труд за получаване на научна степен “доктор” работниците и служителите, зачислени на задочна или на докторантура на самостоятелна подготовка, имат право еднократно на 6 месеца платен отпуск, а за подготовка на дисертационен труд за получаване на научна степен “доктор на науките” – 12 месеца. Това право се ползва със съгласието на работодателя.
(5) (Изм. – ДВ, бр. 100 от 1992 г., доп. – ДВ, бр. 25 от 2001 г., в сила от 31.03.2001 г.) Работниците и служителите, които учат във вечерни учебни заведения със съгласието на работодателя, освен тези, които работят при намален работен ден от 7 или по-малко часа, се освобождават 1 час по-рано от работа всеки учебен ден.
Една страхотна окуражаваща реч на Steve Jobs
Posted on | May 20, 2008 | 2 Comments
Елица Тодорова – Вода
Posted on | May 16, 2008 | No Comments
Докато писах допреди малко един js ми потрябва html от youtube , влизам в Г пи6а youtube, разбира се цъкам на първия резултат и попадам на следния линк http://www.youtube.com/watch?v=xTP9Ysl6yKA . Оказа се че съм пропуснал да чуя една страхотна песен още повече българска .. все пак по добре късно от колкото никога.
Име на изпълните: Елица Тодорова
Песен: Вода
п.с. Страхотна си, давай все така
Малката синя точка
Posted on | May 14, 2008 | No Comments
Подобрения по галерията
Posted on | May 12, 2008 | No Comments
Има някои подобрения които съм направил по-галерията.
Структурирани албуми
Албумите са по структурирани, тоест подредени са в категории и подкатегории с имената на авторите на съответните албуми.
mod_rewrite
мода- за пренаписване на урл-тата е пуснат, тоест в адрес бара ще се виждат по приятелски урл-та, пример: Белоградчик фото галерия първо езика след което идва Белоградчик. Приемам идеи евентуално за пипане и по кода на глаерията .
Tags: gallery.belogradchik.biz > Белоградчик фото галерия > Подобрения по галерията



