date_default_timezone_set('Europe/Kiev');
$CACHE_DIRECTORY = './cache/'; // Директория для кеширования метриков
$URL_METRIC = 'https://www.mama-tato.com.ua/metric/'; // URL, где располагается скрипт метриков
$default_time_zone = 2; // Временная зона по умолчанию
$default_font = './includes/fonts/SMALLF/12'; // Путь к файлу шрифта (ttf)
$default_text_color = '000000'; // Цвет текста на линеечке (RGB)
$metric_width = 406; // Ширина метрика, в пикс.
$metric_height = 90; // Высода метрика, в пикс.
$ERROR_MSG = 'Помилка виклику метрика www.mama-tato.com.ua'; // Сообщение при ошибке
$METRIC_CONFIG = array(
'SHOW_WEEKS' => true, // показывать = true или не показывать = false недели на линеечке
'SHOW_COUNTDOWN_9_MONTHS' => true, // показывать = true или не показывать = false обратный отсчет 9 недель
// Показывать (=true) / не показывать (=false) выпадающий список годов
'SHOW_YEARS_LIST' => true,
// Выбранный по умолчанию год в списке: число (например, 1999),
// или выражение (например, (date('Y') - 1) - прошлый год)
'DEFAULT_YEAR' => (date('Y') - 1),
// Интервал допустимых годов: от ... до ... ( date('Y') - текущий год )
'YEARS_RANGE_FROM' => 1970,
'YEARS_RANGE_TO' => (date('Y') + 3),
// разрешить (=true)/запретить (=false) только текстовый отсчет (без картинок)
'TEXT_COUNTER_ENABLED' => true,
'TEXT_COUNTER_WIDTH' => 406, // ширина текстового метрика
'TEXT_COUNTER_HEIGHT' => 30 // высота текстового метрика
);
/**
* Если MySQL не используется, то нужно записать 'enabled' => false, иначе 'enabled' => true.
* Использование MySQL позволяет вводить пользователям произвольный текст на линеечках.
* Если при выполнении скрипта соединение с БД не возможно,
* то на время выполнения автоматически считается 'enabled' => false.
*/
$MYSQL_CONFIG = array(
'enabled' => true,
'host' => 'localhost',
'user' => 'africa_mt_madm',
'password' => 'A80PgwJYp',
'database' => 'africa_mt_migration', // название БД
'metric_table' => 'metric_table' // название таблицы
);
$WRITE_LOG = true; // писать/не писать лог-файл
$WRITE_LOG_FROM_CACHE = false; // писать, если метрик берется из кэша
$LOG_FILE_PATH = './metric_log.txt'; // путь к лог-файлу
/**
* Изображения линеечек (должны быть в папке /images/lines)
*/
$arLines = array(
1 => 'lm6.gif',
2 => 'lm13.gif',
3 => 'lm15.gif',
4 => 'Line.gif',
5 => 'Line_2.gif',
6 => 'Line_3.gif',
7 => 'Line_4.gif',
8 => 'Line_5.gif',
9 => 'Line_6.gif',
10 => 'Line_7.gif',
11 => 'Line_8.gif',
12 => 'Line_9.gif',
13 => 'Line_10.gif',
14 => 'Line_11.gif',
15 => 'Line_12.gif',
16 => 'Line_13.gif',
17 => 'Line_14.gif',
18 => 'Line_15.gif',
19 => 'Line_16.gif',
20 => 'Line_17.gif',
21 => 'Line_18.gif',
22 => 'ltypea1_s.gif',
23 => 'sl1.gif',
24 => 'sl2.gif',
25 => 'sl3.gif',
26 => 'sl4.gif',
27 => 'sl5.gif',
28 => 'sl6.gif',
29 => 'sl7.gif',
30 => 'sl8.gif',
31 => 'sl9.gif',
32 => 'sl10.gif'
);
/**
* Изображения бегунков (должны быть в папке /images/begunki)
*/
$arBegunki = array(
1 => 'boy.gif',
2 => 'girl.gif',
3 => 'd_typea1.gif',
4 => 'd_typea2.gif',
5 => 'indicator_1.gif',
6 => 'indicator_3.gif',
7 => 'indicator_4.gif',
8 => 'indicator_5.gif',
9 => 'indicator_6.gif',
10 => 'indicator_7.gif',
11 => 'indicator_8.gif',
12 => 'indicator_9.gif',
13 => 'indicator_10.gif',
14 => 'indicator_11.gif',
15 => 'indicator_12.gif',
16 => 'indicator_13.gif',
17 => 'indicator_14.gif',
18 => 'indicator_15.gif',
19 => 'indicator_16.gif',
20 => 'indicator_17.gif',
21 => 'indicator_18.gif',
22 => 'indicator_19.gif',
23 => 'indicator_20.gif',
24 => 'indicator_21.gif',
25 => 'indicator.gif',
26 => 'nr1.gif',
27 => 'nr2.gif',
28 => 'nr3.gif',
29 => 'nr4.gif',
30 => 'nr5.gif',
31 => 'nr6.gif',
32 => 'nr7.gif',
33 => 'nr8.gif',
34 => 'nr9.gif',
35 => 'nr10.gif',
36 => 'nr11.gif',
37 => 'nr12.gif',
38 => 'nr13.gif',
39 => 'nr14.gif',
40 => 'nr15.gif',
41 => 'nr16.gif',
42 => 'nr17.gif',
43 => 'nr18.gif',
44 => 'nr19.gif',
45 => 'nr20.gif'
);
/**
* Подписи
*/
$arPodpisi = array(
1 => 'Моєму хлопчику',
2 => 'Моїй дівчинці',
3 => 'Ми разом вже',
4 => 'Вагітність'
);
/**
* Временные зоны
*/
$arTimeZones = array(
'-12' => '(GMT - 12 часов) Enitwetok, Kwajalien',
'-11' => '(GMT - 11 часов) Midway Island, Самоа',
'-10' => '(GMT - 10 часов) Гавайї',
'-9' => '(GMT - 9 часов) Аляска',
'-8' => '(GMT - 8 часов) Тихоокеанский час (США & Канада)',
'-7' => '(GMT - 7 часов) Mountain Time (США & Канада)',
'-6' => '(GMT - 6 часов) Центральний час (США & Канада), Мехико',
'-5' => '(GMT - 5 часов) Східний час (США & Канада), Богота, Лима, Кито',
'-4' => '(GMT - 4 часа) Атлантичний час (Канада), Каракас, Ла Паз',
'-3.5' => '(GMT - 3,5 часа) Ньюфаундланд',
'-3' => '(GMT - 3 часа) Бразилія, Буенос-Айрес, Джоржтаун, Фолклендскі острови',
'-2' => '(GMT - 2 часа) Середня Атлантика, Ascention Is., О. Св. Елени',
'-1' => '(GMT - 1 час) Азорскі о-ви, о-ви Капе-Верди',
'0' => '(GMT) Касабланка, Дублін, Эдинбург, Лондон, Лісбон, Монровіа',
'1' => '(GMT + 1 час) Берлін, Брюссель, Копенгаген, Мадрид, Париж, Рим',
'2' => '(GMT + 2 часа) Калінінград, Південна Африка, Варшава',
'3' => '(GMT + 3 часа) Багдад, Ріад, Москва, Найробі',
'3.5' => '(GMT + 3,5 часа) Тегеран',
'4' => '(GMT + 4 часа) Абу-Дабі, Баку, Мускат, Тбілісі',
'4.5' => '(GMT + 4,5 часа) Кабул',
'5' => '(GMT + 5 часов) Екатеринбург, Ісламабад, Карачі, Ташкент',
'5.5' => '(GMT + 5 часов) Бомбей, Калькутта, Мадрас, Делі',
'6' => '(GMT + 6 часов) Алма-Ата, Колумбія, Дакра',
'7' => '(GMT + 7 часов) Бангкок, Ханой, Джакарта',
'8' => '(GMT + 8 часов) Пекин, Гон Конг, Perth, Сінгапур, Тайпей',
'9' => '(GMT + 9 часов) Осака, Саппоро, Сеул, Токіо, Якутск',
'9.5' => '(GMT + 9,5 часов) Аделаіда, Дарвін',
'10' => '(GMT + 10 часов) Мельбурн, Папуа Новая Гвінея, Сідней, Владивосток',
'11' => '(GMT + 11 часов) Магадан, Новая Каледоіия, Соломонові острови',
'12' => '(GMT + 12 часов) Окланд, Веллінгтон, Фиджи, Маршаллові острови'
);
// месяца
$arMonths = array(
1 => 'Січень',
2 => 'Лютий',
3 => 'Березень',
4 => 'Квітень',
5 => 'Травень',
6 => 'Червень',
7 => 'Липень',
8 => 'Серпень',
9 => 'Вересень',
10 => 'Жовтень',
11 => 'Листопад',
12 => 'Грудень'
);
?>
require('includes/core.database.php');
$db = new dbMysql($MYSQL_CONFIG['host'], $MYSQL_CONFIG['user'], $MYSQL_CONFIG['password'], $MYSQL_CONFIG['database']);
function clear_cache() {
$idaynow = date('d');
$ar_remove = array();
if ($dh=opendir($GLOBALS['CACHE_DIRECTORY'])) {
while(($fname = readdir($dh)) !== false) {
$fpath = $GLOBALS['CACHE_DIRECTORY'].'/'.$fname;
if($fname != '.' && $fname != '..' && is_file($fpath)) {
$arStat = stat($fpath);
if($arStat) {
$idayfile = date('d',$arStat[9]);
if($idayfile != $idaynow) $ar_remove[] = $fpath;
}
}
}
closedir($dh);
}
foreach ($ar_remove as $fpath) {
@unlink($fpath);
}
}
// вывод radio
function out_radio($fname,$val,&$arr,$ssplit)
{
$out='';
foreach($arr as $k=>$v)
{
$out.=''.$ssplit;
}
return $out;
}
// вывод select-цвета
function out_select_color($fname,$val,&$arr,$s_add='',$finvers=FALSE)
{
$out='';
return $out;
}
// вывод select
function out_select($fname,$val,&$arr,$s_add='')
{
$out='';
return $out;
}
// вывод цифровой последовательности в select
function out_num_select($fname,$val,$from,$to,$s_add='')
{
$out='';
return $out;
}
/**
* запись лога
*/
function write_log($action, $text = '') {
if (!$GLOBALS['WRITE_LOG'] || ($action == 'CACHE' && !$GLOBALS['WRITE_LOG_FROM_CACHE'])) {
return;
}
$fp = @fopen($GLOBALS['LOG_FILE_PATH'], 'a');
if ($fp) {
$referer = (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '-');
$line = date("m.d.y H:i:s").' '.$_SERVER['REMOTE_ADDR'].' '.$action.' '.$text.' '.$referer."\n";
@fwrite($fp, $line);
@fclose($fp);
}
}
/**
* Соединение с базой
*/
function sql_connect() {
global $MYSQL_CONFIG;
if (isset($MYSQL_CONFIG) && $MYSQL_CONFIG['enabled']) {
if(@mysql_connect($MYSQL_CONFIG['host'], $MYSQL_CONFIG['user'], $MYSQL_CONFIG['password'])) {
if (@mysql_select_db($MYSQL_CONFIG['database'])) {
return true;
}
$MYSQL_CONFIG['enabled'] = false;
}
}
return false;
}
/**
* Проверка существования таблицы (создание, если табл. нет)
*/
function test_metric_table() {
global $MYSQL_CONFIG;
$r = @mysql_query("SELECT COUNT(*) FROM ".$MYSQL_CONFIG['metric_table']);
if (!$f = @mysql_fetch_row($r)) {
mysql_query("CREATE TABLE ".$MYSQL_CONFIG['metric_table']." (
id int(10) unsigned NOT NULL auto_increment,
dtcreate datetime NOT NULL default '0000-00-00 00:00:00',
dtlastreq datetime NOT NULL default '0000-00-00 00:00:00',
iattr int(10) unsigned NOT NULL default '0',
irule tinyint(3) unsigned NOT NULL default '0',
ibegun tinyint(3) unsigned NOT NULL default '0',
sdate date NOT NULL default '0000-00-00',
itzone tinyint(4) NOT NULL default '0',
ipodp tinyint(4) NOT NULL default '0',
spodp varchar(64) NOT NULL default '',
sip varchar(15) NOT NULL default '',
PRIMARY KEY (id)
)");
}
}
function sql_get($query) {
if ($result = @mysql_query($query)) {
return @mysql_fetch_assoc($result);
}
return false;
}
?>