Programming and Exciting Things

[php] regex проверка валиден e-mail

Published on 11.04.2011

Много бърза проверка дали въведеният от потребителя текст е валиден email адрес.

if (preg_match('/^[^\W][a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\@[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\.[a-zA-Z]{2,4}$/',$email)) {
	echo 'Valid email';
}

[php] извличане на analytics данни

Published on 08.04.2011

Google analytics е безпорно лидер в областта на уеб анализа и в повечето сайтове присъства. Та идеята е да използваме данните събирани от него и да ги показваме някъде по сайта с помощта на php.
Вариантите как да се направи са няколко, като най-лесният според мен е да използваме Google Analytics API Class, който е написан от Doug Tan. Може да се свали от тук или от тук.

Използването му е супер лесно
пример

include "googleanalytics.class.php";
try {
	$ga = new GoogleAnalytics('[email protected]','moqtaParola');
	$ga->setProfile('ga:80948129'); // ид то на сайта
	$ga->setDateRange('2010-01-08','2010-01-09');
	$report = $ga->getReport(
		array('dimensions'=>urlencode('ga:date'),
			'metrics'=>urlencode('ga:pageviews,ga:visits,ga:avgTimeOnSite,ga:uniquePageviews,ga:percentNewVisits,ga:avgTimeOnSite,ga:visitBounceRate,ga:avgTimeOnPage'),
			//'dimensions'=>urlencode('ga:keyword'),
			//'filters'=>urlencode('ga:country=@Bulgaria'),
			'sort'=>'-ga:pageviews'
			)
		);

	print "<pre>";
	print_r($report);
	print "</pre>";
} catch (Exception $e) { 
	print 'Error: ' . $e->getMessage(); 
}


Като горния пример ще върне


Array
(
    [20100108] => Array
        (
            [ga:pageviews] => 3570
            [ga:visits] => 785
            [ga:avgTimeOnSite] => 218.16305732484076
            [ga:uniquePageviews] => 2439
            [ga:percentNewVisits] => 45.85987261146497
            [ga:visitBounceRate] => 28.152866242038215
            [ga:avgTimeOnPage] => 61.48797127468582
        )

    [20100109] => Array
        (
            [ga:pageviews] => 2692
            [ga:visits] => 520
            [ga:avgTimeOnSite] => 213.27307692307693
            [ga:uniquePageviews] => 1777
            [ga:percentNewVisits] => 55.00000000000001
            [ga:visitBounceRate] => 30.57692307692308
            [ga:avgTimeOnPage] => 51.054327808471456
        )

)


Хубавото е че могат да се правят доста комбинации по отношение на "връщаните" данни.
А тук е Dimensions & Metrics Reference директно от Google.

Също така може да се разгледа и Data API - Google Analytics Data Export API

Revolt на Windows 7

Published on 13.02.2011

Класическата игра revolt се подкарва доста лесничко и под Windows 7. Към shourtcutа към играта просто се добавя параметърче -sli и като цяло трябва да изглежда като нещо такова

"C:\Program Files (x86)\Acclaim Entertainment\Revolt\revolt.exe" -sli 

Преброяване 2011

Published on 06.02.2011

И аз се включих в електронното преброяване, радостно е че поне през 2011г. някой се е сетил че Интернет може да послужи и за нещо добро и различно от това да си пасеш виртуалните овце. Това което ми направи приятно впечатление, е че поне този път на държавен сайт SSL сертификата е валиден, освен това сайтът ползва jquery а сървърчето е Microsoft-IIS/7.0 базирано. Иначе все още се чудя за какво са сложили google analytics (в началната страница както и да е но при попълването на данните какво ще отчита?!). Другото интересно нещо е че този сайт е идеалния кандидат за cloud решение, просто за изпълнение, след края на преброяването няма да се използва, което прави купуването на сървърно оборудване излишно, но трябва да се трошат пари няма как :D. Та с това свое действие смятам, че спестих някой друг лист хартия и малко работа на служителите, които ще обикалят напред назад в следващите няколко дни.

Kohana framework: 404

Published on 29.01.2011

Един малък hook за "пренаписване" ако урл адреса не е валиден или не е описан в routes.php hooks/error.php

&lt;?php 
defined('SYSPATH') or die('No direct access allowed');

Event::clear('system.404', array('Kohana', 'show_404'));
Event::add('system.404', 'my_404');

 // пренасочваме към предварително създадена страница
function my_404() {
    url::redirect('error/404');
} 
PS: горното е за Kohana 2.3.4