Category Archives: Web

Web

Без www в нашите адреси чрез htaccess

Идеята е да се премахне "www." от всеки адрес т.е. когато се отвори http://www.example.com да редиректне към http://example.com

Ето няколко причини защо да не се ползва "www":

1. По- къси адреси
2. Предотвратяване възможността за дублирано съдържание

.htaccess метод за редирект от www.example.com -> example.com

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

.htaccess метод за редирект от example.com -> www.example.com

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Инсталиране на Opencart 1.4.9.5 (May 10, 2011) и добавяне на Български Език

Малка статия за инсталиране на Opencart с Български език . За хората които незнаят какво е това с едно изречение ще кажа: OpenCart е Open Source Онлайн магазин.

Статията е проста за изпълнението. Единствено трябва да се изпълняват стъпките :)  ( е има неща които не са написани сигурно, но се подразбира, че се знаят). Успех :)

# Инсталиране на Opencart 1.4.9.5 (May 10, 2011)

1. Изтегляне и разархивиране на пакета

wget http://opencart.googlecode.com/files/opencart_v1.4.9.5.zip
unzip opencart_v1.4.9.5.zip

2. Сетване не по- долу изброените права на съответните директории

chmod 0777 image/
chmod 0777 image/cache/
chmod 0777 image/data/
chmod 0777 system/cache/
chmod 0777 system/logs/
chmod 0777 download/
chmod 0777 config.php
chmod 0777 admin/config.php

3. Отваря се инсталацията т.е. http://example.com/
въвежда се MySQL user , pass, database и table префикс, admin pass и админ email

4. Изтрива се директорията install

rm -fr install

# Opencart 1.4.9.5 и добавяне на Български Език

5. Изтегляме Българския Lang файл

Линк на сайта е: http://www.opencart.com/index.php?route=extension/extension/info&extension_id=623&filter_username=containR

За да се изтегли:

wget 'http://www.opencart.com/index.php?route=extension/extension/download&extension_download_id=4321' -O bg.zip

6. Разархивира се сваления файл и съдържанието му се кача съответно в "admin\language" и "catalog\language" .

7. Настройки на езика от административния панел (http://example.com/admin/):

От административния панел на магазина se изберa System -> Localisations -> Languages -> Insert.
Попълват се полетата:
Language Name: Bulgarian
Code: BG
Locale: bg.UTF-8,BG,bulgarian
Image: bg.png
Directory: bulgarian
Filename: bulgarian
Status: Enabled
Sort Order: 1

8. Сетване, че ще се ползва Българският lang файл

System -> Settings -> Locale
Language: Bulgarian
Administration Language: Bulgarian

PS: Езиковата версия е за Opencart 1.4.9.1, но работи без проблем(поне аз не видях такъв)

VN:F [1.9.22_1171]
Rating: 5.0/5 (3 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Какво е ezSQL и как да го ползваме

Какво е ezSQL?

ezSQL е Open Source PHP клас за връзка с бази данни. Негов автор е Justin Vincent. Този клас поддържа следните бази данни: МySQL, Oracle8, SQLite (PHP).

Защо да ползваме ezSQL?
1. С него се пести време при писането на PHP код.
2. Поддържа кеширане на SELECT заявките.
3. Напълно безплатен, с възможност да се ползва абсолютно във всички възможни проекти.
4. Има възможност за debug .
5. Класа ezSQL поддържа Smarty.
6. Много малък и простичък клас които е напълно функционален и лесен за редактиране при необходимост :)
7. Използването на DB абстрактен слой позволява лесното мигриране от една DB към  друга. Пример: Необходимо е мигриране от Oracle към MySQL. В този случай единственото необходимо нещо да се направи е include на подходящия допълнителен клас към ezSQL.
8. За мен WordPress е сериозен пример за добър проект писан от добри PHP разработчици и именно това дава една положителна точка на ezSQL , понеже DB класа на WordPress "wpdb" е базиран на ezSQL.
9. Чрез ezSQL се пести доста код.

За да не изпадам в излишна теория и обща информация ще започна с примерите(в този случай примерите са най- добрата документация):

Първо трябва да се изтегли ezSQL класа от официалния сайт на Justin Vincent-> Сайт на ezSQL

След като се изтегли е необходимо в нашия пример да се включи( (include) ядрото на ezSQL (ez_sql_core.php) и след това базата с която ще се работи(в случая е MySQL: (ez_sql_mysql.php) ):

include_once "../shared/ez_sql_core.php";
include_once "ez_sql_mysql.php";
$db = new ezSQL_mysql('db_user','db_password','db_name','db_host');

Сега вече можем да правим примера.

1. Простa INSERT/UPDATE заявка:

$db->query("INSERT INTO users (id, name, email) VALUES (NULL,'Ribok','[email protected]')");

или

$db->query("UPDATE users SET name = 'Ribok' WHERE id = 4");

2. SELECT заявка за извеждане на един ред:

$user = $db->get_row("SELECT name, email FROM users WHERE id = 4");

echo $user->name;
echo $user->email;

3. Бързо асоцииране на променлива с резултат от просто select с един ред:

$var = $db->get_var("SELECT count(*) FROM users");

echo $var;

4. SELECT заявка и извеждане на многобройни редове:

$results = $db->get_results("SELECT name, email FROM users");

foreach ( $results as $user )
{
echo $user->name;
echo $user->email;
}

5. Select заявка за конкретна колона:

foreach ( $db->get_col("SELECT name,email FROM users",0) as $name )
{
echo $name;
}

6. Изследване на заявките, чрез DEBUG(Активира се по- следния начин):

$db->debug();

7. Активиране на кеширането на заявки:

$db->cache_timeout = 24;
$db->cache_dir = '/tmp/ezsql_cache';
$db->use_disk_cache = true;
$db->cache_queries = true;

Времето се измерва в часове, но ако желаете да бъде в секунди е необходимо да се направи малка корекция.
Във файл "ez_sql_core.php" ,  ред "317" се заменя:

if ( (time() -- filemtime($cache_file)) > ($this->cache_timeout*3600) )

със:

if ( (time() -- filemtime($cache_file)) > ($this->cache_timeout) )

PS0: Ако някои има някакви допълнения или коментари може да ги сподели.

PS1: В никакъв случай не твърдя, че това е най- страхотния клас, защото има и други добри като AdoDB които е с доста дълга история. Идеята на това ръководство е да бъде в полза на някои търсещ или ползващ такъв клас :).

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Български социални мрежи на обща тематика

Със Captcha:

http://www.predpriemach.net/
http://rssbg.net
http://moiat.com/

Без Captcha:

http://svejo.net
http://ping.bg
http://nishto.net
http://lubimi.com
http://osveji.com
http://sports-bg.com
http://www.bghot.net
http://www.trohi.com
http://www.ezitura.com
http://novoto.net
http://feedscraft.com
http://nakafe.net
http://lubimo.net
http://svejo.itplace.info
http://bgbox.info/
http://dao.bg
http://www.twist.bg
http://griji.com
http://it.linkovete.com
http://web-bg.com
http://www.bgseo.net
http://www.mrejo.net
http://nachalo.net
http://www.hubavden.com
http://www.zdravei.net
http://ezotera.info
http://diggbg.com
http://www.relacia.com
http://www.renebu.com
http://markirai.com
http://www.free-network.info
http://elada.info/

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Замунда -- Нов информационен блог за p2p

Днес стартирахме нов проект с име "Замунда" -- www.zamunda.bz

Идеята на проекта е да предостави информация за технологията p2p , за торентите , новини около торентите както и полезни връзки.

Хубавото на полезните връзки е, че в списък са подредени едни от най- големите български и чуждестранни торент тракери. Много ми допада и новинарската част понеже не се налага да чета всички информационни и новинарски сайтове за да съм в крак с новините за торентите, а само този понеже е специализиран за целта.
О сигурно възниква въпроса защо точно "Замунда" и няма ли да го бъркат хората със замунда.нет. Избрах замунда понеже за България  това е синоним на торент и по този начин смятам, че с името "Замунда" ще доближа потребителя до същността на сайта-блог, а именно да бъде информационен сайт за торентите.

Искрено се надявам проектът да ви допадне  И НЕ ЗАБРАВЯЙТЕ, ЧЕ РАЗПРОСТРАНЕНИЕТО НА МАТЕРИАЛИ С АВТОРСКИ И СРОДНИ ПРАВА Е НАПЪЛНО НЕЗАКОННО!
Искрено се надявам информационния блог да ви допадне.

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Помагало -- Нов проект за ученици и студенти помагалото.ком

Днес стартирахме нов проект за Ученици и Студенти по Икономика-- pomagaloto.com . Идеята ни е да предоставим колкото се може по- пълна информация в икономическа насока на всеки нуждаещ се потребител. Този проект ще бъде подходящ и за счетоводители и собственици на фирми понеже ще публикуваме новини и важни документи за тях като публикуване на гфо , примерни договори и други.

Общо взето в този проект ще включваме помагала за икономика или с други думи казано: помагало по икономика. Ще добавяме ежедневно полезни връзки което да ви помогне в още един аспект. Дизайна още е в етап разработка, но скоро ще стартира с нов дизайн.  Това е за сега. :)

Помагало за всеки бъдещ и настоящ икономист- www.pomagalo.com

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Публикуване на Годишен Финансов Отчет ( ГФО ) -- Нов Проект

Днес стартирахме нов проект за "Публикуване на Годишен Финансов Отчет ( ГФО ) "  -- www.gfobulgaria.com .

Всички фирми, които се пререгистрират до 31 май на 2010 година, са длъжни да публикуват отчетите си до 30 юни на същата година, а тези фирми, които се пререгистрират през периода 01 юни – 31 декември – в тримесечен срок от пререгистрация на фирмата.

Посочените срокове за обявяване на ГФО в Търговски регистър се прилагат до изтичането на срока за пререгистрация – 31.12.2010г.

Доста често задавани въпроси

Защо да публикувам отчетите си ?

Според закона за счетоводството следните фими са задължени да публикуват годишните си финансови отчети:
1.      Търговски предприятия по смисъла на Търговския закон, подлежащи на независим финансов одит (чл. 38, ал. 1 Зсчет), които не са пререгистрирани до 31 май 2009 г. в Търговския регистър при Агенция по вписванията;
2.      Юридически лица, които не са търговци и които НЕ са определени за осъществяване на общественополезна дейност;
3.      Неперсонифицирани дружества (Граждански дружества по смисъла на Закона за задълженията и договорите);
4.      Чуждестранни лица, осъществяващи стопанска дейност на територията на страната чрез място на стопанска дейност и търговските представителства;
5.  Юридическите лица с нестопанска цел, определени за осъществяване на общественополезна дейност -- чрез заявяване за вписване и предоставянето им в Централния регистър при Министерството на правосъдието при условията и по реда на Закона за юридическите лица с нестопанска цел;

Ако вече сте регистрирали или пререгистрирали вашата фирма, не трябва да забравяте, че всяка година имате задължение да публикувате (oбявите) своите годишни финансови отчети в търговския регистър.

Какви са санкциите при не публикуване ?

Глоба от 1500 до 2000 лева за виновното лице, а за юридическо лице или едноличен търговец -- имуществена санкция от 2000 до 5000 лева, като при повторно нарушение, санкцията е в двоен размер.

ПУБЛИКАЦИЯТА НА ОТЧЕТИТЕ Е ЗАДЪЛЖИТЕЛНА И НЕ ЗАВИСИ ОТ ВИДА НА ДРУЖЕСТВОТО И ДАЛИ Е ИЗВЪРШВАЛО ДЕЙНOСТ

Чрез нашия сайт Вие можете бързо, удобно и лесно да изпълнените изискванията за задължително публикуване на годишните си финансови отчети съгласно чл. 40 ал. 1 и 2 от Закона за счетоводство.

Офисът на ГФО България се намира в гр. Добрич. или " Гфо Добрич "- Публикуване на гфо

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Връщане към старата версия на Twitter

Преминах към новата версия на Twitter, но нещо се  бъгна при мен. Освен хедъра нищо друго не ми зарежда. Реших да се прехвърля към старата версия, но уви бутона "LeavePreview" не работи :). Страхотно. Ако и на вас ви се случи това може да преминете към старата версия на Twitter с този директен линк:

http://twitter.com/account/use_phx?setting=false&format=html

Ако ли пък ви работи бутона ето къде се намира бутона "Leave Preview"

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Frame busting техника

Идеята на тази техника е да защитите своята страница от включването и във iframe.

Ето я и самата техника :

<script>if (top!=self) top.location.href=self.location.href</script>

С други думи когато се зареди страница защитена с Frame busting се зарежда в нов прозорец  като скача над iframe-а.

Забелязах, че българският сайт bgtop.net я ползват:
Ето част от сорса на индекса им:


<body onload="if (self != top) top.location = self.location">

За повече информация:
http://www.owasp.org/index.php/Clickjacking

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)