|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Класс работы с календарями событий - модуля Unicalendar
|
|
|
|
*
|
|
|
|
* @autor Repellent
|
|
|
|
* @package AVE.cms
|
|
|
|
* @subpackage module_unicalendar
|
|
|
|
* @filesource
|
|
|
|
*/
|
|
|
|
|
|
|
|
class Unicalendar
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* ФУНКЦИИ ПУБЛИЧНОЙ ЧАСТИ
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Вывод календаря событий
|
|
|
|
* @param string $tpl_dir - путь к папке с шаблонами модуля
|
|
|
|
* @param int $id - идентификатор календаря
|
|
|
|
*/
|
|
|
|
|
|
|
|
function unicalendarShow($tpl_dir, $id)
|
|
|
|
{
|
|
|
|
global $AVE_DB, $AVE_Template;
|
|
|
|
$sql = $AVE_DB->Query("
|
|
|
|
SELECT *
|
|
|
|
FROM " . PREFIX . "_module_unicalendar
|
|
|
|
WHERE id = '" . $id . "'
|
|
|
|
");
|
|
|
|
$unicalendars = array();
|
|
|
|
while ($row = $sql->FetchAssocArray())
|
|
|
|
{
|
|
|
|
array_push($unicalendars, $row);
|
|
|
|
}
|
|
|
|
foreach ( $unicalendars as $k=>$v )
|
|
|
|
{
|
|
|
|
$uevents = $v['uca_events'];
|
|
|
|
$urubric_id = $v['uca_rubric_id'];
|
|
|
|
$udoc_id = $v['uca_doc_id'];
|
|
|
|
}
|
|
|
|
// Если выбрали вывести все документы из заданной рубрики - документы с Id=1 (Главная) и 404 страница - выводиться не будут!
|
|
|
|
if ($uevents !='' && $uevents == '1'){
|
|
|
|
$sql = $AVE_DB->Query("
|
|
|
|
SELECT Id, document_alias, document_title, document_published, document_meta_description
|
|
|
|
FROM " . PREFIX . "_documents
|
|
|
|
WHERE rubric_id = '" . $urubric_id . "' AND Id !=1 && Id != '".PAGE_NOT_FOUND_ID."'
|
|
|
|
");
|
|
|
|
$results = array();
|
|
|
|
while ($row = $sql->FetchAssocArray())
|
|
|
|
{
|
|
|
|
array_push($results, $row);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// Если выбрали вывести выбранные документы из заданной рубрики
|
|
|
|
if ($uevents !='' && $uevents == '2'){
|
|
|
|
$sql = $AVE_DB->Query("
|
|
|
|
SELECT Id, document_alias, document_title, document_published, document_meta_description
|
|
|
|
FROM " . PREFIX . "_documents
|
|
|
|
WHERE rubric_id = '" . $urubric_id . "' AND Id !=1 && Id != '".PAGE_NOT_FOUND_ID."' AND $udoc_id
|
|
|
|
");
|
|
|
|
$results = array();
|
|
|
|
while ($row = $sql->FetchAssocArray())
|
|
|
|
{
|
|
|
|
array_push($results, $row);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
$AVE_Template->assign('unicalendars', $unicalendars);
|
|
|
|
$AVE_Template->assign('results', $results);
|
|
|
|
$AVE_Template->display($tpl_dir . 'unicalendar.tpl');
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* ФУНКЦИИ АДМИНИСТРАТИВНОЙ ЧАСТИ
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Вывод списка календарей
|
|
|
|
*
|
|
|
|
* @param string $tpl_dir - путь к папке с шаблонами модуля
|
|
|
|
*/
|
|
|
|
function unicalendarList($tpl_dir)
|
|
|
|
{
|
|
|
|
global $AVE_DB, $AVE_Template;
|
|
|
|
|
|
|
|
$unicalendars = array();
|
|
|
|
|
|
|
|
$limit = 20;
|
|
|
|
$start = get_current_page() * $limit - $limit;
|
|
|
|
|
|
|
|
$sql = $AVE_DB->Query("
|
|
|
|
SELECT SQL_CALC_FOUND_ROWS
|
|
|
|
u.*,
|
|
|
|
COUNT(u.id) AS uca_count
|
|
|
|
FROM
|
|
|
|
" . PREFIX . "_module_unicalendar AS u
|
|
|
|
GROUP BY u.id
|
|
|
|
ORDER BY u.id ASC
|
|
|
|
LIMIT " . $start . "," . $limit . "
|
|
|
|
");
|
|
|
|
|
|
|
|
$sql_num = $AVE_DB->Query("SELECT FOUND_ROWS()");
|
|
|
|
$num = $sql_num->GetCell();
|
|
|
|
|
|
|
|
while($row = $sql->FetchAssocArray())
|
|
|
|
{
|
|
|
|
array_push($unicalendars, $row);
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($num > $limit)
|
|
|
|
{
|
|
|
|
$page_nav = "<li><a href=\"index.php?do=modules&action=modedit&mod=unicalendar&moduleaction=1&page={s}&cp=" . SESSION . "\">{t}</a></li>";
|
|
|
|
$page_nav = get_pagination(ceil($num / $limit), 'page', $page_nav);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
$page_nav = '';
|
|
|
|
}
|
|
|
|
|
|
|
|
$AVE_Template->assign('page_nav', $page_nav);
|
|
|
|
|
|
|
|
if (!empty($_REQUEST['alert']))
|
|
|
|
{
|
|
|
|
$AVE_Template->assign('alert', htmlspecialchars(stripslashes($_REQUEST['alert'])));
|
|
|
|
}
|
|
|
|
$AVE_Template->assign('unicalendars', $unicalendars);
|
|
|
|
$AVE_Template->assign('formaction', 'index.php?do=modules&action=modedit&mod=unicalendar&moduleaction=new&sub=save&cp=' . SESSION);
|
|
|
|
$AVE_Template->assign('content', $AVE_Template->fetch($tpl_dir . 'admin_unicalendar_list.tpl'));
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Создание календаря
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
function unicalendarNew()
|
|
|
|
{
|
|
|
|
if (isset($_REQUEST['sub']) && $_REQUEST['sub'] == 'save')
|
|
|
|
{
|
|
|
|
global $AVE_DB;
|
|
|
|
$cont = true;
|
|
|
|
$alert = '';
|
|
|
|
if (empty($_POST['uca_title']))
|
|
|
|
{
|
|
|
|
$alert = '&alert=empty_uca_title';
|
|
|
|
$cont = false;
|
|
|
|
}
|
|
|
|
if ($cont)
|
|
|
|
{
|
|
|
|
$AVE_DB->Query("
|
|
|
|
INSERT
|
|
|
|
INTO " . PREFIX . "_module_unicalendar
|
|
|
|
SET
|
|
|
|
id = '',
|
|
|
|
uca_title = '" . $_POST['uca_title'] . "',
|
|
|
|
uca_events = '" . $_POST['uca_events'] . "',
|
|
|
|
uca_rubric_id = '" . $_POST['uca_rubric_id'] . "',
|
|
|
|
uca_doc_id = '" . $_POST['uca_doc_id'] . "',
|
|
|
|
uca_link = '" . $_POST['uca_link'] . "',
|
|
|
|
uca_day = '" . $_POST['uca_day'] . "',
|
|
|
|
uca_scroll = '" . $_POST['uca_scroll'] . "',
|
|
|
|
uca_descript = '" . $_POST['uca_descript'] . "'
|
|
|
|
");
|
|
|
|
}
|
|
|
|
header('Location:index.php?do=modules&action=modedit&mod=unicalendar&moduleaction=1'. $alert);
|
|
|
|
exit;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Удаление календаря
|
|
|
|
*
|
|
|
|
* @param int $unicalendar_id - идентификатор календаря
|
|
|
|
*/
|
|
|
|
function unicalendarDelete($unicalendar_id)
|
|
|
|
{
|
|
|
|
global $AVE_DB;
|
|
|
|
$AVE_DB->Query("DELETE FROM " . PREFIX . "_module_unicalendar WHERE id = '" . $unicalendar_id . "'");
|
|
|
|
header('Location:index.php?do=modules&action=modedit&mod=unicalendar&moduleaction=1&cp=' . SESSION);
|
|
|
|
exit;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
?>
|