![]() |
![]() |
ВходЗдравствуйте, Гость ( Вход | Регистрация )
|
![]() |
![]()
Сообщение
#1
|
|
Продвинутый юзверь ![]() Группа: Пользователи Сообщений: 73 Регистрация: 28.2.2010 Из: Красноярск Пользователь №: 10,130 Спасибо сказали: 6 Вставить ник ![]() |
AntiSlaed 4.5...
Никто ничего не говорит на эту тему, запрещено? Когда релиз? Что нового? Может уже 4.6 на подходе? (это - где "старые модули уже на нее не поставишь...") Такая прелесть, а информации мало, о такой системе Кричать надо!!! Раньше работал на многих CMS, от «убить» до ... , стар стал, но AntiSlaed это что-то. Вы уже привыкли к этой системе, а между тем - назовите подобную - лаконично, регулируема и изменяема, надежна (если руки не кривые и read.me читалось), открытость. Тем, модов и т.д. more..., на форуме спецы - это элита CMS. (не шучу, вышел из этого возраста) Понятно что заняты, некогда, семья, но постарайтесь писать больше о новом! С НОВЫМ ГОДОМ ВСЕХ!
Прикрепленные файлы
|
|
|
![]() |
![]()
Сообщение
#2
|
|
Живу на АС ![]() Группа: Пользователи Сообщений: 765 Регистрация: 10.6.2008 Из: Оренбург Пользователь №: 4,176 Спасибо сказали: 211 Вставить ник ![]() |
Написания модуля для админки АС 4.5
Хочу привести код модуля админки для модуля "Сообщения" Интересен он будет только программистам АС, на их аудиторию и рассчитываю. Код модуля admin/modules/messages.php КОД if (!defined("ADMIN_FILE") || !CUser::isAdminGod()) die("Illegal File Access"); require_once ('function/models/CMessageModel.php'); require_once ('function/CLister.php'); class CAMessages extends CModule { private $model; public $data; function getMenu() { return array( "home" => array("link" => CApp::$admin_file . ".php?name=messages", "title" => _HOME), "add" => array("link" => CApp::$admin_file . ".php?name=messages&op=add", "title" => _ADD,'id' => 'messages_edit_0'), ); } public function __construct() { parent::__construct(); $this->model = new CMessageModel(); } function indexAction() { $this->head(); $this->title(_MESSAGES); $this->topMenu("home"); $this->tpl->display("messages.tpl"); $this->foot(); } function getListAction() { $num = (int) CApp::$request->getParam('num',1); $lister = new CLister($this->model, array( array('field' => 'mid', 'name' => '#'), array('field' => 'title', 'name' => 'Заголовок'), array('field' => 'view', 'name' => 'Кто видит'), ) ); $lister->adminList($num); } function editAction() { if (CApp::$request->isPostRequest()) { //Сохраняем данные $this->model->save(); CApp::$request->redirect(CApp::$admin_file . '.php?name=messages'); } else { $id = CApp::$request->getParam('id'); $this->data = $this->model->getRecord($id); require_once 'admin/modules/form/CMessageForm.php'; $form = new CMessageForm ( $this ); $this->tpl->assign ( "form", $form->getHtml () ); echo $this->tpl->fetch ( 'messages-edit.tpl' ); } } function deleteAction() { $mid = CApp::$request->getParam('id'); if ($mid) $this->model->delete($mid); } } $mod = new CAMessages; $mod->Run($op); Шаблон КОД {literal} <script type="text/javascript"> $(document).ready(function(){ var pagenum=1; $.post({/literal}"{$admin_file}.php"{literal},{name: "messages",op: "getList"},function(data){ $("#messages_content").empty().append(data); }); $("a[id^='messages_edit_']").live("click",function(){ var id = this.id.split("_"); $.growl("Работа с БД"); $.get({/literal}"{$admin_file}.php"{literal},{name: "messages",op: "edit",id: id[2]},function(data){ $("#messages_content").empty().append(data); }); return false; }); $("a[id^='messages_delete_']").live("click",function(){ var id = this.id.split("_"); $.growl("Работа с БД"); $.post({/literal}"{$admin_file}.php"{literal},{name: "messages",op: "delete",id: id[2]},function(data){ $.post({/literal}"{$admin_file}.php"{literal},{name: "messages",op: "getList",num: pagenum},function(data){ $("#messages_content").empty().append(data); }); }); return false; }); $("a[id^='messages_num_']").live("click",function(){ var num = this.id.split("_"); pagenum = num[2]; $.growl("Работа с БД","Читаю записи"); $.post("{/literal}{$admin_file}{literal}.php",{name: 'messages',op: "getList",num: num[2]},function(data){ $.growl("Работа с БД","Записи обновлены"); $("#messages_content").empty().append(data); }); return false; }); }); </script> {/literal} <div id="messages_preview"></div> <div id="messages_content">Загрузка...</div> Класс формы редактирования КОД <?php require_once 'function/CAppForm.php'; require_once 'function/form/CFormElementText.php'; require_once 'function/form/CFormElementTextArea.php'; require_once 'function/form/CFormElementSelect.php'; require_once 'function/form/CFormElementButton.php'; require_once 'function/form/CFormElementCheckBox.php'; require_once 'function/form/CFormElementHidden.php'; class CMessageForm extends CAppForm { public function __construct($module){ parent::__construct(); $this->setName('MessagesEditForm'); $this->setAction(CApp::$config->admin_file . '.php?name=messages'); $title = new CFormElementText(); $title->setLabel(_TITLE) ->setRequired(true) ->setAttrib('value',$module->data['title']) ->setAttrib('id','title') ->setAttrib('name','title') ->setAttrib('class', 'text medium'); $content = new CFormElementTextArea(); $content->setLabel(_CONTENT) ->setRequired(true) ->setAttrib('value',$module->data['content']) ->setAttrib('id','messcontent') ->setAttrib('name','messcontent') ->setAttrib('class','text medium'); $language = new CFormElementSelect(); $language->setLabel(_LANGUAGE) ->setRequired(true) ->setAttrib('selected',$module->data['mlanguage']) ->setAttrib('id','lang') ->setAttrib('name','lang') ->setAttrib('class','text medium') ->setOption('1','Все') ->setOption('2','Russian') ->setOption('3','English'); $expire = new CFormElementText(); $expire->setLabel(_EXPIRATION) ->setRequired(true) ->setAttrib('value',$module->data['expire']) ->setAttrib('id','expire') ->setAttrib('name','expire') ->setAttrib('class', 'text medium'); $view = new CFormElementSelect(); $view->setLabel(_VIEWPRIV) ->setRequired(true) ->setAttrib('id','view') ->setAttrib('name','view') ->setAttrib('class','text medium') ->setAttrib('selected',$module->data['view']) ->setOption('1',_MVALL) ->setOption('2',_MVANON) ->setOption('3',_MVUSERS) ->setOption('4',_MVADMIN); $active = new CFormElementCheckBox(); $active->setLabel(_ACTIVATE2) ->setAttrib('name','active') ->setAttrib('value',1) ->setAttrib('checked',$module->data['active']); $op = new CFormElementHidden(); $op->setAttrib('name','op') ->setAttrib('value','edit'); $mid = new CFormElementHidden(); $mid->setAttrib('name','mid') ->setAttrib('value',$module->data['mid']); $submit = new CFormElementButton(); $submit->setAttrib('id','save') ->setAttrib('class','classy') ->setAttrib('value',_SAVECHANGES); $this->addElements(array($title,$content,$language,$expire,$view,$active,$op,$mid,$submit)); } } Класс модели (работа с БД) КОД <?php require_once 'function/CModel.php'; class CMessageModel extends CModel { public $status; public function __construct() { parent::__construct ('_message',''); } public function getList($offset) { $res = CApp::$db->findAll('_message','mid,title,view'); $rows = CApp::$db->sql_fetchrowset($res); foreach ($rows as &$row) { if ($row['view'] == 1) $row['view'] = _MVALL; if ($row['view'] == 2) $row['view'] = _MVANON; if ($row['view'] == 3) $row['view'] = _MVUSERS; if ($row['view'] == 4) $row['view'] = _MVADMIN; } return $rows; } public function getListCount() { $q = "SELECT count(mid) FROM " . CApp::$db->prefix . "_message"; list ( $count ) = CApp::$db->sql_fetchrow ( CApp::$db->sql_query ( $q ) ); return $count; } public function getRecord($where) { if (!$where) { return array('mid' => 0,'title' => 'Заголовок','content' => 'cont', 'expire'=>0,'active' => 0, 'view' => 0,'mlanguage' => 0); } $res = CApp::$db->select($this->table,'mid,title,content,expire,active,view,mlanguage',"mid=$where"); return CApp::$db->sql_fetchassoc($res); } public function save() { $mid = CApp::$request->getParam('mid'); if (!$mid) { CApp::$db->insert($this->table,array('title' => "'".CApp::$request->getParam('title')."'", 'content' => "'".CApp::$request->getParam('messcontent')."'", 'expire' => CApp::$request->getParam('expire'), 'active' => CApp::$request->getParam('active'), 'view' => CApp::$request->getParam('view'), 'mlanguage' => CApp::$request->getParam('lang'))); } else { CApp::$db->update($this->table,array('title' => "'".CApp::$request->getParam('title')."'", 'content' => "'" . CApp::$request->getParam('messcontent')."'", 'expire' => CApp::$request->getParam('expire'), 'active' => CApp::$request->getParam('active'), 'view' => CApp::$request->getParam('view'), 'mlanguage' => CApp::$request->getParam('lang')), 'mid = '.$mid,true); } } public function delete($id) { CApp::$db->delete($this->table,'mid='.$id); } } ?> Жду комментариев. Критика приветствуется. Сообщение отредактировал vitalik1972: Mar 6 2011, 21:24
Прикрепленные файлы
|
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 6 June 2025 - 17:52 |