FIRST MEMBER


Зарегистрирован: May 2001
Место проживания: Earth
Публикаций: 341
Статус:  |
Sergey_pol
Забыл... сорри.... сейчас найду....
RomaniS добавил 30-12-2002 в 22:48:14:
Надеюсь разберешься 
Тебе необходимые переменные поставить сможешь 
calendar.php
PHP:
<?
// Календарь
require ("months.inc.php");
//print $REQUEST_URI;
$calendar_path = '/calendar';
if (ereg("^$calendar_path/?$",$REQUEST_URI,$path))
{
include ("calendar/years.inc.php");
}
else if (ereg("^$calendar_path/([0-9]+)/?$",$REQUEST_URI,$path))
{
$year = $path[1];
include ("calendar/year.inc.php");
}
else if (ereg("^$calendar_path/([0-9]+)/([0-9]+)/?$",$REQUEST_URI,$path))
{
$year = $path[1];
$month = $path[2];
include ("calendar/month.inc.php");
}
else if (ereg("^$calendar_path/([0-9]+)/([0-9]+)/([0-9]+)/?$",$REQUEST_URI,$path))
{
$year = $path[1];
$month = $path[2];
$day = $path[3];
include ("calendar/day.inc.php");
}
else
{
header ("Location:$calendar_path/");
}
?>
months.inc.php
PHP:
<?
$months = array
(
'01' => 'Январь',
'02' => 'Февраль',
'03' => 'Март',
'04' => 'Апрель',
'05' => 'Май',
'06' => 'Июнь',
'07' => 'Июль',
'08' => 'Август',
'09' => 'Сентябрь',
'10' => 'Октябрь',
'11' => 'Ноябрь',
'12' => 'Декабрь'
);
$day_in_month = array
(
"01"=>"31",
"02"=>"28",
"03"=>"31",
"04"=>"30",
"05"=>"31",
"06"=>"30",
"07"=>"31",
"08"=>"31",
"09"=>"30",
"10"=>"31",
"11"=>"30",
"12"=>"31"
);
?>
day.inc.php
PHP:
<?
//материалы за день
if ($day > 31)
{
header ("Location:$calendar_path/");
exit();
}
$tpl = new TemplatePower('calendar-day','NO_INCLUDE');
$tpl->prepare();
$material_date = "$day/$month/$year";
$tpl->assign('year', $year);
$tpl->assign('month', $month);
$tpl->assign('day', $day);
$tpl->assign('calendar_path', $calendar_path);
$tpl->assign('current_time',date("H:i"));
$tpl->assign('current_date',date("d/m/Y"));
$tpl->assign('month_name_breaked',
ereg_replace ('([^ ])', ' \1 <br>', strtolower($months[$month])));
$materials = new materials();
$materials_list = $materials->materials_list (1,true,
"DATE_FORMAT(material_date,'%d/%m/%Y') = '$material_date' AND
material_file != 'index' AND material_publish = '1'",'material_anons','','',true);
$prev_material = $materials->materials_list (1,true,
"DATE_FORMAT(material_date,'%d/%m/%Y') < '$material_date' AND
material_file != 'index' AND material_publish = '1'",'material_anons','','1',true);
if ($prev_material)
{
$tpl->assign ('prev_day_link',$calendar_path.'/'.(date ('Y/m/ d',strtotime($prev_material[0]['material_date']))) .'/');
}
if ($materials_list)
{
foreach ($materials_list as $material)
{
$tpl->newBlock('material');
$tpl->assign ('material_title',$material['material_title']);
$tpl->assign ('material_anons',$material['material_anons']);
$tpl->assign("material_time" , date("H:i",strtotime($material['material_date'])) );
$tpl->assign("material_date" , date("d/m/Y",strtotime($material['material_date'])) );
$tpl->assign ('material_url', '/'. $material['material_rubrics']['0']['rubric_full_pa th'].$material['material_cur_file'].$site['material_url_ext'] );
$tpl->assign ('rubric_name',
strtolower($material['material_rubrics'][0]['rubri c_name']));
$tpl->assign ('rubric_url',
'/'. $material['material_rubrics'][0]['rubric_full_path ']);
$tpl->assign ('rubric_class',
isset($material['material_rubrics'][0]['rubric_pro perties']['rubric_class']) ?
$material['material_rubrics'][0]['rubric_propertie s']['rubric_class'] :'');
$tpl->assign ('material_url',$site['url'].'/'.
$material['material_rubrics'][0]['rubric_full_path '].
$material['material_cur_file'].$site['material_url_ext']);
}
}
$tpl->printToScreen();
?>
month.inc.php
PHP:
<?
// Календарь за месяц
if (!isset($months[$month]))
{
header ("Location:$calendar_path/");
exit();
}
$tpl = new TemplatePower('calendar-month','NO_INCLUDE');
$tpl->prepare();
$tpl->assign('current_time',date("H:i"));
$tpl->assign('current_date',date("d/m/Y"));
$tpl->assign('year', $year);
$tpl->assign('month', $month);
$tpl->assign('calendar_path', $calendar_path);
$tpl->assign('month_name_breaked',
ereg_replace ('([^ ])', ' \1 <br>', strtolower($months[$month])));
$materials = new materials();
$materials_list = $materials->materials_list (1,true,
"DATE_FORMAT(material_date,'%m.%Y') = '$month.$year' AND
material_file != 'index' AND material_publish = '1'",'','','',true);
$prev_month = $materials->materials_list (1,true,
"DATE_FORMAT(material_date,'%m.%Y') < '$month.$year' AND
material_file != 'index' AND material_publish = '1'",'','','1',true);
if ($prev_month)
{
$tpl->assign ('prev_month_link',$calendar_path.'/'.(date ('Y/m',strtotime($prev_month[0]['material_date']))).'/');
}
if ($materials_list)
{
foreach ($materials_list as $material)
{
$dates[date('d/m/Y',strtotime($material['material_date']))]=1;
}
foreach ($dates as $material_date => $val)
{
$tpl->newBlock ('month_day');
$tpl->assign ('material_date',$material_date);
foreach ($materials_list as $material)
{
if (date('d/m/Y',strtotime($material['material_date'])) == $material_date)
{
$tpl->newBlock ('material');
$tpl->assign ('material_title',$material['material_title']);
$tpl->assign("material_time" , date("H:i",strtotime($material['material_date'])) );
$tpl->assign ('material_url', '/'. $material['material_rubrics']['0']['rubric_full_pa th'].$material['material_cur_file'].$site['material_url_ext'] );
$tpl->assign ('rubric_name',
strtolower($material['material_rubrics'][0]['rubri c_name']));
$tpl->assign ('rubric_url',
'/'. $material['material_rubrics'][0]['rubric_full_path ']);
$tpl->assign ('rubric_class',
isset($material['material_rubrics'][0]['rubric_pro perties']['rubric_class']) ?
$material['material_rubrics'][0]['rubric_propertie s']['rubric_class'] :'');
$tpl->assign ('material_url',$site['url'].'/'.
$material['material_rubrics'][0]['rubric_full_path '].
$material['material_cur_file'].$site['material_url_ext']);
}
}
}
}
$tpl->printToScreen();
?>
year.inc.php
PHP:
<?
// Список месяцев года
$tpl = new TemplatePower('calendar-year','NO_INCLUDE');
$tpl->prepare();
$tpl->assign('current_time',date("H:i"));
$tpl->assign('current_date',date("d/m/Y"));
$years = sql2table
("
SELECT DISTINCT YEAR(material_date) AS year
FROM ".$site['material_table']."
ORDER BY YEAR(material_date)
");
if ($years)
{
foreach ($years as $year_pos => $year_disp)
{
$tpl->newBlock ('year');
if ($year_disp['year'] == $year)
{
$tpl->newBlock ('current_year');
$tpl->assign ('year',$year_disp['year']);
}
else
{
$tpl->newBlock ('target_year');
$tpl->assign ('year',$year_disp['year']);
$tpl->assign ('year_url',$calendar_path.'/'.$year_disp['year'].'/');
}
}
}
$days = sql2table
("
SELECT DISTINCT DATE_FORMAT(material_date,'%Y-%m-%d') AS year_day
FROM ".$site['material_table']."
WHERE YEAR(material_date) = '$year'
");
if ($days)
{
foreach ($days as $day)
{
$year_months[date('m',strtotime($day['year_day'])) ] = 1;
$year_days[$day['year_day']] =1;
// print "<br> - ".$day['year_day'].'-'.date('m',strtotime($day['year_day']));
}
}
for ($month=0 ; $month < 12 ; $month++)
{
if ($month%3 == 0) $tpl->newBlock ('months_row');
$tpl->newBlock ('month');
$pmonth = ($month < 9) ? '0'.($month+1):$month+1;
$tpl->assign ('month_name', $months[$pmonth]);
$tpl->assign ('month_url', $calendar_path.'/'.$year.'/'.$pmonth.'/');
$tpl->newBlock('row');
//День недели первого дня
$week_day = date("w",strtotime("$year-$pmonth-01"));
if ($week_day == 0) $week_day=7;
if ($week_day !=1 )
{
for ($i =0; $i < $week_day-1; $i++)
{
$tpl->newBlock('cell');
$tpl->newBlock('cell_blank');
}
}
for ($cur_day = 1; $cur_day <= $day_in_month[$pmonth]; $cur_day++)
{
$week_day = date("w",strtotime("$year-$pmonth-$cur_day"));
$pday = ($cur_day < 10) ? '0'.$cur_day:$cur_day;
$exists = false;
if (isset($year_days["$year-$pmonth-$pday"]))
{
$tpl->newBlock('cell');
$tpl->newBlock('cell_ref');
$tpl->assign ('day_url',$calendar_path."/$year/$month/$pday/");
$tpl->assign ('day', $cur_day );
}
else
{
$tpl->newBlock('cell');
$tpl->newBlock('cell_empty');
$tpl->assign ('day', $cur_day );
}
if ($week_day == 0 && $cur_day != $day_in_month[$pmonth])
{
$tpl->newBlock('row');
}
}
$week_day = date("w",strtotime("$year-$pmonth-".$day_in_month[$pmonth]));
if ($week_day != 0)
{
for ($i =0; $i < 7 - $week_day; $i++)
{
$tpl->newBlock('cell');
$tpl->newBlock('cell_blank');
}
}
}
$tpl->printToScreen();
?>
years.inc.php
PHP:
<?
// Список лет календаря
$year = retr_sql
("
SELECT YEAR(material_date) AS year
FROM ".$site['material_table']."
ORDER BY YEAR(material_date) DESC
");
header ("Location:$calendar_path/$year/");
?>
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|