@@ -0,0 +1,21 @@
<?php
/**
* @file class.CDummy.php
* Файл с классом CDummy который ничего не делает, а просто наследует от CObject
* Файл проекта kolos-cms.
*
* Создан 31.08.2011
*
* @author blade39 <blade39@kolosstudio.ru>
* @version 2.6
*/
/*Обязательно вставляем во все файлы для защиты от взлома*/
if( !defined('KS_ENGINE') ) {die("Hacking attempt!");}

class CDummy extends CObject
{
function __construct($tables = 'dummy')
{
parent::__construct($tables);
}
}
@@ -0,0 +1,59 @@
<?php
/**
* @file dummy/main.inc.php
* Главный файл модуля dummy
*
* Доступные переменные:
* $arModule - массив описывающий модуль
*
* @author blade39 <blade39@kolosstudio.ru>
* @version 2.6
* @since 31.08.2011
*/

/* Защита от взлома */
if (!defined("KS_ENGINE")) die("Hacking attempt!");

/* Глобальные переменные */
global $USER, $global_template, $smarty;

/* Идентификатор модуля */
$module = $arModule['directory'];
$access_level=$USER->GetLevel($module);
/* Проверка прав доступа пользователя */
if ($access_level >= 10) throw new CAccessError("SYSTEM_NOT_ACCESS_MODULE");

/* Установка директории с плагинами модуля для Смарти */
$smarty->plugins_dir[] = MODULES_DIR . "/" . $module . "/widgets/";

/* Путь к корню модуля */
$root_path = $this->GetSitePath($module);

if ($root_path != "/")
{
/* Добавляем элемент навигационной цепочки */
if ($this->GetConfigVar("dummy", "show_nav_chain",'1'))
CNNavChain::get_instance()->Add($arModule['name'],$root_path);
$sUrl = $root_path;
}
else
{
/* Модуль является модулем по умолчанию */
$sUrl = "/";
}

/* Определение виджета для подключения в качестве контента страницы */
if($this->IsPage() && $this->CurrentTextIdent()!='index')
{
/* Элемент каталога */
$res=$this->IncludeWidget($module,'dummy',$module_parameters);
}
else
{
/* Категория */
$module_parameters['type'] = 'category';
$res=$this->IncludeWidget($module,'dummy',$module_parameters);
}
/* Возвращаем результат работы */
$output['main_content'] = $res;

@@ -0,0 +1,103 @@
<?php
/**
* @file dummy/pages/index.php
* Файл обработки основных операций модуля dummy
* Файл проекта kolos-cms.
*
* @author blade39 <blade39@kolosstudio.ru>
* @version 2.6
* @since 31.08.2011
*/
/*Обязательно вставляем во все файлы для защиты от взлома*/
if( !defined('KS_ENGINE') ) {die("Hacking attempt!");}

require_once MODULES_DIR.'/main/libs/class.CModuleAdmin.php';

class CdummyAIindex extends CModuleAdmin
{
private $obDummy;
private $access_level;

function __construct($module='dummy',&$smarty,&$parent)
{
global $USER;
parent::__construct($module,$smarty,$parent);
$this->obDummy=new CDummy();
$this->access_level=10;
}

function EditForm($data=false)
{
return '';
}

/**
* Метод выполняет реализацию операции сохранения данных
*/
function Save($id)
{
$KS_URL=CUrlParser::get_instance();
if(!array_key_exists('update',$_REQUEST))
$KS_URL->Redirect("admin.php?".$KS_URL->GetUrl(Array('ACTION','type','CSC_id')));
else
$KS_URL->Redirect("admin.php?".$KS_URL->GetUrl('ACTION','CSC_id','CSC_catid').'&ACTION=edit'.$sAdd);
}

/**
* Метод выводит таблицу записей текстовых страниц
*/
function Table()
{
// Получаем полный список элементов и разделов
$arFilter=array();
if (class_exists('CFilterFrame'))
{
$obFilter=new CFilterFrame();
$obFilter->AddField(array('FIELD'=>'title','METHOD'=>'~'));
$arFilter=$obFilter->GetFilter();
$obFilter->SetSmartyFilter('filter');
$arTitles=array(
'title'=>$this->obModules->GetText('dummy'),
);
$this->smarty->assign('ftitles',$arTitles);
}
$arSortFields=Array('id','title','text_ident','date_add','date_edit','orderation','active','views_count');
//Определяем порядок сортировки записей
list($sOrderField,$sOrderDir)=$this->InitSort($arSortFields,$_REQUEST['order'],$_REQUEST['dir']);
$sNewDir=($sOrderDir=='desc')?'asc':'desc';
$arSort=array($sOrderField=>$sOrderDir);

$arResult=$this->obDummy->GetList($arSort,$arFilter);
$this->smarty->assign('dataList',$arResult);
$this->smarty->assign('order',Array('newdir'=>$sNewDir,'curdir'=>$sOrderDir,'field'=>$sOrderField));
return '';
}

function Run()
{
global $KS_URL;
//Проверка прав доступа
$this->access_level = $this->obUser->GetLevel($this->module);
if($this->access_level>0)
throw new CAccessError("DUMMY_NOT_MANAGE");
$action='';
$Id=0;
$data=false;
if(isset($_REQUEST['action'])) $action=$_REQUEST['action'];
if(isset($_REQUEST['id'])) $Id=intval($_REQUEST['id']);
switch($action)
{
case "edit":
$data=$this->obDummy->GetById($iId);
case "new":
$page=$this->EditForm($data);
break;
case "save":
$page=$this->Save($Id);
break;
default:
$page=$this->Table();
}
return $page;
}
}
@@ -0,0 +1,24 @@
<?php
/**
* Файл с описанием виджетов и параметром, указывающем на корректность виджетов
*
* @file dummy/widgets/.widgets.php
* @author BlaDe39 <blade39@kolosstudio.ru>
*
* @version 2.6
* @since 31.08.2011
*
*/
/*Обязательно вставляем во все файлы для защиты от взлома*/
if( !defined('KS_ENGINE') ) {die("Hacking attempt!");}

$arWidgets = array
(
"dummy" => array
(
"name" => "Пустой",
"descr" => "Виджет ничего не делает",
"has_widget" => 1,
"help" => ""
),
);
@@ -0,0 +1,29 @@
<?php
/**
* Файл виджета dummy. Виджет ничего не делает
*
* @file dummy/widgets/function.dummy.php
* @author BlaDe39 <blade39@kolosstudio.ru>
*
* @version 2.6
* @since 31.08.2011
*
*/
/*Обязательно вставляем во все файлы для защиты от взлома*/
if( !defined('KS_ENGINE') ) {die("Hacking attempt!");}

function smarty_function_dummy($params, &$smarty)
{
global $USER,$KS_MODULES;

$access_level=$USER->GetLevel('dummy');
if($access_level>8) throw new CAccessError("SYSTEM_NOT_ACCESS_MODULE");

return $KS_MODULES->RenderTemplate($smarty,'/dummy/dummy',$params['global_template'],$params['tpl']);
}

function widget_params_dummy()
{
return array('fields' => array());
}