AntiSlaed CMS
Вход
Логин: Пароль:Забыли пароль?
Запомнить вас на этом компьютере?
Войти скрытым?

Здравствуйте, Гость ( Вход | Регистрация )

> Внимание!

Адрес нашего форума изменился, теперь мы доступны по адресу antislaed.net. Обновите ссылки и закладки, он больше не изменится.


> AntiSlaed 4.5, Эта прелесть - под запретом что-ли...
Vladimir56
сообщение Jan 8 2011, 13:34
Сообщение #1


Продвинутый юзверь
Иконка группы

Группа: Пользователи

Сообщений: 73
Регистрация:
28.2.2010
Из: Красноярск
Пользователь №: 10,130
Спасибо сказали: 6

Вставить ник




AntiSlaed 4.5...

Никто ничего не говорит на эту тему, запрещено?
Когда релиз? Что нового? Может уже 4.6 на подходе?
(это - где "старые модули уже на нее не поставишь...")

Такая прелесть, а информации мало, о такой системе
Кричать надо!!!
Раньше работал на многих CMS, от «убить» до ... , стар стал, но AntiSlaed это что-то.
Вы уже привыкли к этой системе, а между тем - назовите подобную - лаконично,
регулируема и изменяема, надежна (если руки не кривые и read.me читалось),
открытость. Тем, модов и т.д. more..., на форуме спецы - это элита CMS. (не шучу, вышел из этого возраста)
Понятно что заняты, некогда, семья, но постарайтесь писать больше о новом!

С НОВЫМ ГОДОМ ВСЕХ!
Прикрепленные файлы
Прикрепленный файл  AS45.png ( 106.81 Кб ) Кол-во загрузок: 159
 
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
 
Начать новую тему
Ответов
vitalik1972
сообщение Mar 6 2011, 21:21
Сообщение #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
Прикрепленные файлы
Прикрепленный файл  messages.jpg ( 105.43 Кб ) Кол-во загрузок: 52
 
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение

Сообщений в этой теме
Vladimir56   AntiSlaed 4.5   Jan 8 2011, 13:34
vitalik1972   Спасибо за такие слова, на самом деле никто ничего...   Jan 8 2011, 14:53
rAmantiK   ЦИТАТА(vitalik1972 @ Jan 8 2011, 15:53 ) ...   Jan 11 2011, 14:18
vitalik1972   это и был камень в твой огород Вовка взялся, и ру...   Jan 11 2011, 15:17
rAmantiK   ЦИТАТА(vitalik1972 @ Jan 11 2011, 16:17 )...   Jan 12 2011, 08:59
vitalik1972   Тогда жду тему   Jan 12 2011, 09:45
valek   Ждёмсссс _)   Jan 21 2011, 15:31
Vladimir56   Здоровья вам, ребята! Как там дела с темами дл...   Feb 21 2011, 08:29
Immeasurability   vitalik1972! главное не пере усложнить! дл...   Mar 11 2011, 10:45
vitalik1972   Immeasurability Список модулей ограничен модулями...   Mar 12 2011, 08:48
vitalik1972   Народ, выпуск альфы АС 4.5 вступил в завершающую ф...   Mar 13 2011, 19:21
rAmantiK   ЦИТАТА(vitalik1972 @ Mar 13 2011, 20:21 )...   Mar 14 2011, 16:01
Immeasurability   vitalik1972 времени очень мало сам сижу по пять ми...   Mar 14 2011, 12:36
Immeasurability   rAmantiK - Smarty...   Mar 14 2011, 16:44
vitalik1972   Я уже нашел нормальный шаблон, сейчас верстаю его....   Mar 14 2011, 18:03
Immeasurability   vitalik1972 кста может твою версию называть не АС ...   Mar 15 2011, 10:55
vitalik1972   Объявим конкурс? Ром, замути тему на новое названи...   Mar 15 2011, 21:21
Immeasurability   RE: AntiSlaed 4.5   Mar 16 2011, 11:00
vitalik1972   ООП рулит А глобальные переменные даже в элеаноре...   Mar 16 2011, 18:43
Immeasurability   =)   Mar 16 2011, 21:42
Immeasurability   по ходу нужды пришлось прибегнуть к ООП! сдец ...   Mar 17 2011, 18:03
vitalik1972   Плохому актеру всегда что-то мешает ээ, танцору   Mar 17 2011, 19:55
Immeasurability   мне то не мешает денверу чтот мешает =)))   Mar 18 2011, 10:05
vitalik1972   Поставь вертриго   Mar 18 2011, 11:06
Immeasurability   идею сделал у себя одну может интересно будет...   Mar 18 2011, 11:54
vitalik1972   а ты проверял версию пхп, на которой пишешь? а то...   Mar 18 2011, 18:41
Immeasurability   ЦИТАТАа то мож у тебя в денвере пхп4 стоит еще? p...   Mar 18 2011, 18:53
vitalik1972   классы массивов... жжошь!!! Можно еще...   Mar 18 2011, 18:54
Vladimir56   ЦИТАТА(vitalik1972 @ Mar 18 2011, 21:54 )...   Mar 19 2011, 21:23
vitalik1972   int - это псевдокласс и int32 иже с ним   Mar 20 2011, 08:53
Immeasurability   ЦИТАТАImmeasurability вот сколько читаю твои пост...   Mar 21 2011, 14:49
vitalik1972   Учи ООП. В 4.5 ты со своими идеями будешь незамени...   Mar 21 2011, 22:00
Immeasurability   уже выучил, осталось тонкости понять...   Mar 21 2011, 22:23
vitalik1972   Движок дополнен новым классом шаблонизатора, ну и ...   Mar 22 2011, 21:44
Vladimir56   Ребята извините, перебиваю, исторический момент...   Mar 31 2011, 00:51
vitalik1972   Vladimir56 Не думаю, что твои восторги оправданы....   Mar 31 2011, 06:22
Vladimir56   ЦИТАТА(vitalik1972 @ Mar 31 2011, 10:22 )...   Mar 31 2011, 09:16
vitalik1972   Сегодня вечером выложим на форум, скачаете.   Mar 31 2011, 10:57
obilion   Здарова пацаны=) Я вижу Вы не померли еще Може...   Mar 31 2011, 12:07
vitalik1972   Сверстай тему для киви   Mar 31 2011, 14:56
obilion   А что энто за фрукт такой? И с чем его едят?) Как ...   Mar 31 2011, 15:36
vitalik1972   Сегодня вечером скачаете. Часикам к 9-10 по Москве...   Mar 31 2011, 16:13
DjSalamander   ЦИТАТА(obilion @ Сегодня, 11:07 )Может чего ...   Mar 31 2011, 16:31
obilion   ЦИТАТА(DjSalamander @ Mar 31 2011, 15:31 ...   Apr 7 2011, 10:22
vitalik1972   Или довести до ума дефолный мой. Я ж все таки не д...   Mar 31 2011, 17:41
rAmantiK   КОДКак же верстать, не видя движка и шаблонизатора...   Mar 31 2011, 17:57
Immeasurability   почему в нельзя сортировать (Лучшие Популярные) в ...   Apr 2 2011, 15:33
vitalik1972   Кто то сможет перевести на русский язык это бред?   Apr 2 2011, 15:55
Immeasurability   перевожу =))) у тебя в новостях также как и в АС ...   Apr 2 2011, 16:17
vitalik1972   ЧУДО!!! СЛУЧИЛОСЬ ЧУДО!!! ...   Apr 2 2011, 16:19
Immeasurability   +) !   Apr 2 2011, 17:46
vitalik1972   Покажи сайт... Или это просто картинки? Прикольны...   Apr 2 2011, 20:43
Immeasurability   ЦИТАТАИли это просто картинки? это сайт ЦИТАТАПри...   Apr 2 2011, 21:28
vitalik1972   Ты видимо обиделся? Я просто не предполагал что та...   Apr 2 2011, 22:03
Immeasurability   не, я не обиделся! сайт пока не могу показать...   Apr 2 2011, 22:13
vitalik1972   Высылай. мыло знаешь мое? v.ivanov@orb.enforta.com...   Apr 2 2011, 22:16
Immeasurability   решил что так должно быть правильней! иначе по...   Apr 3 2011, 14:14
vitalik1972   Ты мне двиг обещался выслать. Все жду...   Apr 3 2011, 14:22
Immeasurability   отправил! если что не понятно спрашивай! ...   Apr 3 2011, 15:40
vitalik1972   Immeasurability ты маньяк!!! И это т...   Apr 4 2011, 06:09
Immeasurability   а что здесь сложного? я просто беру и вижу что кив...   Apr 4 2011, 08:19
DjSalamander   нравится мне. как вы пыпыськами меритесь   Apr 4 2011, 09:18
Immeasurability   ЦИТАТАнравится мне. как вы пыпыськами меритесь я ...   Apr 4 2011, 09:24
vitalik1972   Immeasurability - Что мы делаем сегодня вечером...   Apr 4 2011, 09:39
Immeasurability   ЦИТАТАImmeasurability - Что мы делаем сегодня ве...   Apr 4 2011, 09:59
Immeasurability   ЦИТАТАданный кусочек файла кофнигурации модуля нов...   Apr 4 2011, 11:21
vitalik1972   Смени ник "Изобретатель велосипедов"   Apr 4 2011, 12:09
Immeasurability   ЦИТАТАСмени ник "Изобретатель велосипедов...   Apr 4 2011, 12:15
vitalik1972   Незнание порождает индуский код и ошибки. И тольк...   Apr 4 2011, 12:44
Immeasurability   ЦИТАТАНезнание порождает индуский код и ошибки. о...   Apr 4 2011, 12:46
vitalik1972   Я понимаю твое желание поставить последний пост, н...   Apr 4 2011, 13:21
Immeasurability   ты слишком долго программируешь! ищи не баги а...   Apr 4 2011, 13:37
DjSalamander   ок, скажу Виталию штоб тебе в ЛС материалы скинул,...   Apr 7 2011, 13:44
vitalik1972   О каких материалах идет речь? Почти все шаблоны оп...   Apr 7 2011, 19:27
666666   Ну и где же ваше чюдо ?   Jun 22 2011, 16:37
DjSalamander   читаем форум. качаем Альфу   Jun 22 2011, 19:29


Ответить в данную темуНачать новую тему

2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
 

RSS Текстовая версия Сейчас: 6 June 2025 - 17:52
Хостинг предоставлен NetLevel.Ru   Eleanor CMS