When the eagle cries

A joke, destiny or … ?

Искам там!

At the end of 2011

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

Но пък от няколко дена насам се присещам, че някак си ми липсва. Да записвам някъде разни неща – дребни, мисли, etc.

Та така. Наново.

Изтрих всички постове и започнах from scratch. Точно навреме – краят на една година и началото на друга. Е к’во пък. Голям праз.

Писна ми бе, ей. По цял ден да слушам лигави Коледни песнички. Я се стегнете, бе, 1-2 – ок, ядва се, ама то постоянно. Чак ми се повръща вече. Да живеят Napalm Death и  Borgir.

Какво стана през изминалата година…ами в общи линии – простотии.

1) Убедих се колко мазен, темерут, нагъл може да бъде БЪЛГАРСКИЯТ ШЕФ / РАБОТОДАТЕЛ/!

2) Изпрограмирах неща, които никога не съм и предполагал, че ще ми се наложи. Сложни.

3) Остригах се – почти нула номер и така смятам да е вече.

4) Започнах да нося ризи и панталони. Харесва ми, което е странно. Още по-странно е, че се чувствам странно в маратонки.

5) Измислих някои доста интересни манджици, ама за тях нататък. И без това искам да си запиша рецептите.

6) Българина е животно. Стадно. Овче. Никога не е доволен. Вечно мързелив, а иска. Никога не знае как. Нито може инак.

7) Подрастващото поколение са банда курви, пияници, наркомани, глупаци, чалгаджии. С малки изключения. Тежко ни.

8) Започнах отново да ходя на уроци по пеене.

9) Запознах се с много нови и яки хора.

10) Скоро ще настане и МОЯТ час, когато своя удар ще направя и АЗ 🙂

11) Той Ачо знае.

12) Липсват ми разни стари муцуни. И муцунки. Ама на, няма ги.

13) Опре ли до пари – приятели нямаш. Да го знаете.

14) Обивам чичо Джак.

15) Попрекалих.

О, да!

eval + str_replace calculate formulas

<?php
$replaces = array(‘$a’, ‘$b’);
$with = array(2, 4);
$formula = „return (($a * $a) + ($b * $b));“;
$formula = str_replace($replaces, $with, $formula);

echo eval($formula);
?>

jQuery collect select menus to post action

Представете си следната ситуация – имате страница с N на брой списъци (select). Имаме функционалност, която на промяна на даден елемент изпраща пост заявка към сървърния скрипт, а трябва да изпратим като асоцииран масив или обект всички текущи избрани елементи.

Разбира се, ако N <= 5 може и въобще да не ни интересува за някакъв по-удобен начин за събиране на данните, но представете си че имате 20+ елемента 🙂

Ами…let’s do it:

function submitSelectData() {
    var selects = new Array();
    var values = new Array();

    $("select").each(function() {
        selects.push($(this).attr("name"));
        $(this, "option:selected").each(function() {
            values.push($(this).val());
        });
    });

    $.post("/script.php", {names: selects, vals: values}, function(response) {
        alert(response);
    });
}

$("select").change(function() {
    submitSelectData();
}); 

script.php:

<?php
$data = array();
$data = array_combine($_POST['names'], $_POST['values']);
echo '<pre>' . print_r($data, 1). '</pre>';
exit;
?>

Така винаги имаме точно предадени асоциирани (не забравяйте array_combine()), на всеки key(N) елемент отговаря value(N).

Бърза валидация на e-mail адрес

Има два начина, и двата лесни. Единият е с test() функцията, другият е с ereg.

var testRegex = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var emailAddress = $.trim($("#email").val());

if(testRegex.test(emailAddress) == false) {
    alert("Грешен e-mail адрес");
} else {
    alert("Валиден e-mail адрес");
}

Този модел поддържа всички латински букви от A-Z (малки и големи), числата от 0 до 9, точка, тире и подчертаващо тире.
И последно TLD разширението се изисква да е между 2 и 4 символа.