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

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

> Внимание!

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


4 Страниц V   1 2 3 > »   
Ответить в данную темуНачать новую тему
> 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
сообщение Jan 8 2011, 14:53
Сообщение #2


Живу на АС
Иконка группы

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

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




Спасибо за такие слова, на самом деле никто ничего не запрещает.
Бета системы написана, обещал я ее выпустить к новому году, но так как не нашлось ни одного дизайнера, который мог бы сверстать дефолтную тему, пришлось делать ее самому. Дизайнер из меня еще тот... (IMG:http://antislaed.net/style_emoticons/default/smile.gif)
Вот как только тему доделаю - сразу выложу для ознакомления.
Думаю, что до 15-го января справлюсь, хотя постараюсь пораньше конечно.
vitalik1972, Вас 2 раз(а) поблагодарили за это сообщение:
Vladimir56, wizard993
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
rAmantiK
сообщение Jan 11 2011, 14:18
Сообщение #3


Живу на АС
Иконка группы

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

Сообщений: 462
Регистрация:
23.5.2008
Из: Aktobe Kazahstan
Пользователь №: 3,888
Спасибо сказали: 51

Вставить ник




ЦИТАТА(vitalik1972 @ Jan 8 2011, 15:53 ) *
Спасибо за такие слова, на самом деле никто ничего не запрещает.
Бета системы написана, обещал я ее выпустить к новому году, но так как не нашлось ни одного дизайнера, который мог бы сверстать дефолтную тему, пришлось делать ее самому. Дизайнер из меня еще тот... (IMG:http://antislaed.net/style_emoticons/default/smile.gif)
Вот как только тему доделаю - сразу выложу для ознакомления.
Думаю, что до 15-го января справлюсь, хотя постараюсь пораньше конечно.

Ну вот млин... Нету... А Телетехника забыл? или меня ... (IMG:http://antislaed.net/style_emoticons/default/rolleyes.gif)
А я уже тут с jQuery балуюсь вовсю... (IMG:http://antislaed.net/style_emoticons/default/129.gif)
Портфолио на нем почти сделал... (IMG:http://antislaed.net/style_emoticons/default/happy.gif)
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение Jan 11 2011, 15:17
Сообщение #4


Живу на АС
Иконка группы

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

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




это и был камень в твой огород (IMG:http://antislaed.net/style_emoticons/default/smile.gif)
Вовка взялся, и руку себе сломал.
Тебе уж и боюсь предлагать то (IMG:http://antislaed.net/style_emoticons/default/smile.gif)
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
rAmantiK
сообщение Jan 12 2011, 08:59
Сообщение #5


Живу на АС
Иконка группы

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

Сообщений: 462
Регистрация:
23.5.2008
Из: Aktobe Kazahstan
Пользователь №: 3,888
Спасибо сказали: 51

Вставить ник




ЦИТАТА(vitalik1972 @ Jan 11 2011, 16:17 ) *
это и был камень в твой огород (IMG:http://antislaed.net/style_emoticons/default/smile.gif)
Вовка взялся, и руку себе сломал.
Тебе уж и боюсь предлагать то (IMG:http://antislaed.net/style_emoticons/default/smile.gif)

Да чтож вы все то руки ломаете то в коме... (IMG:http://antislaed.net/style_emoticons/default/wink.gif)
Чета пугает меня АС 4.5 (IMG:http://antislaed.net/style_emoticons/default/biggrin.gif)
А по поводу темы с удовольствием, только раскидать пару заказов надо...
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение Jan 12 2011, 09:45
Сообщение #6


Живу на АС
Иконка группы

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

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




Тогда жду тему
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
valek
сообщение Jan 21 2011, 15:31
Сообщение #7


Приблуда
Иконка группы

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

Сообщений: 26
Регистрация:
16.12.2007
Пользователь №: 1,654
Спасибо сказали: 5

Вставить ник




Ждёмсссс (IMG:http://antislaed.net/style_emoticons/default/smile.gif) _)
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
Vladimir56
сообщение Feb 21 2011, 08:29
Сообщение #8


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

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

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

Вставить ник




Здоровья вам, ребята!
Как там дела с темами для as 4.5 ?
Что-нибудь сдвигается?
А какое-нибудь новшество "пощупать"
можно?
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение Mar 6 2011, 21:21
Сообщение #9


Живу на АС
Иконка группы

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

Сообщений: 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
 
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
Immeasurability
сообщение Mar 11 2011, 10:45
Сообщение #10


Живу на АС
Иконка группы

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

Сообщений: 752
Регистрация:
11.12.2007
Из: Москва а так по всюду гы
Пользователь №: 1,591
Спасибо сказали: 154

Вставить ник




vitalik1972! главное не пере усложнить!
для меня это без разницы но АС полюбился большинству пользователей именно из за его легкости понимания кода!

если будет выбор между "сложным" АС и той же сложной к примеру джумлы для пользователей, то зачем выбирать что то сложное и не рентабельное (АС) альтернативой джумлы?

ЛИН У МЕНЯ В ХРОМЕ НА ЭТОМ ФОРУМЕ НЕ РАБОТАЕТ КНОПКА ЦИТИРОВАТЬ ВЫДЕЛЕННЫЙ ТЕКСТ!!!

ЦИТАТА
vitalik1972: Критика приветствуется

хотелось бы увидеть список модулей и возможностей альфа версии этак на анти_.рф не юзерабильно!
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение Mar 12 2011, 08:48
Сообщение #11


Живу на АС
Иконка группы

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

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




Immeasurability
Список модулей ограничен модулями news, pages, blogs,account.
Для меня сейчас главное доделать админку.
Инструкцию по написанию модулей я сделаю.
Я уверен, что теперь написание модулей будет гораздо более простым занятием, чем раньше.
При разработке АС 4.5 я несколько раз менял цели, которые преследовал.
Сначала это было внедрение шаблонизатора, я остановился на Smarty
Потом я понял, что нужно сделать из АС некий фреймворк, облегчающий написание модулей и блоков.
Теперь, когда фреймворк практически закончен, подделываю админку под те новые принципы, которые заложены в фреймворке.
Следующим шагом думаю сделать автоинсталляцию и обновление модулей и блоков с моего сайта, где будет находиться репозиторий модулей.
Очень жаль, что ты не участвуешь в данном процессе, твоя помощь была бы весьма актуальна.
vitalik1972, Вас 1 раз(а) поблагодарили за это сообщение:
Immeasurability
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение Mar 13 2011, 19:21
Сообщение #12


Живу на АС
Иконка группы

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

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




Народ, выпуск альфы АС 4.5 вступил в завершающую фазу. Осталось сверстать шаблон, который будет по дефолту в релизе.
У кого какие есть предложения?
Срок 2 дня, по окончании (если не будет предложений) выберу на свой вкус и сверстаю его.
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
Immeasurability
сообщение Mar 14 2011, 12:36
Сообщение #13


Живу на АС
Иконка группы

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

Сообщений: 752
Регистрация:
11.12.2007
Из: Москва а так по всюду гы
Пользователь №: 1,591
Спасибо сказали: 154

Вставить ник




vitalik1972 времени очень мало сам сижу по пять минут макс в день =(
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
rAmantiK
сообщение Mar 14 2011, 16:01
Сообщение #14


Живу на АС
Иконка группы

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

Сообщений: 462
Регистрация:
23.5.2008
Из: Aktobe Kazahstan
Пользователь №: 3,888
Спасибо сказали: 51

Вставить ник




ЦИТАТА(vitalik1972 @ Mar 13 2011, 20:21 ) *
Народ, выпуск альфы АС 4.5 вступил в завершающую фазу. Осталось сверстать шаблон, который будет по дефолту в релизе.
У кого какие есть предложения?
Срок 2 дня, по окончании (если не будет предложений) выберу на свой вкус и сверстаю его.

там все так же как и было либо переменные по другому идут?
Или тебе просто сверстанный html, а там уже сам все выставишь?
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
Immeasurability
сообщение Mar 14 2011, 16:44
Сообщение #15


Живу на АС
Иконка группы

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

Сообщений: 752
Регистрация:
11.12.2007
Из: Москва а так по всюду гы
Пользователь №: 1,591
Спасибо сказали: 154

Вставить ник




rAmantiK - Smarty...
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение Mar 14 2011, 18:03
Сообщение #16


Живу на АС
Иконка группы

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

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




Я уже нашел нормальный шаблон, сейчас верстаю его. Шаблон несложный, без изысков. Как раз для того, чтобы научиться верстать под АС 4.5
Если дадите хороший ХТМЛ, то я сам его сверстаю.

Сообщение отредактировал vitalik1972: Mar 14 2011, 18:03
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
Immeasurability
сообщение Mar 15 2011, 10:55
Сообщение #17


Живу на АС
Иконка группы

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

Сообщений: 752
Регистрация:
11.12.2007
Из: Москва а так по всюду гы
Пользователь №: 1,591
Спасибо сказали: 154

Вставить ник




vitalik1972 кста может твою версию называть не АС 4.5 а чтот типо ASV 1 =)
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение Mar 15 2011, 21:21
Сообщение #18


Живу на АС
Иконка группы

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

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




Объявим конкурс?
Ром, замути тему на новое название...

Новый щаблон сверстан, надеюсь что вам понравится.
Как и обещал, первый релиз будет в конце марта (сетап надо дописать)

Хочу с вами обсудить следующую тему: автоматическое обновление и установка модулей.
Тоесть:
В админке выбираете модули, блоки, виджеты (нововведение АС 4.5) которые вы хотите видеть у себя на сайте, жмете кнопку установить и модуль(читай блок, виджет и т.д.) обновляется, либо устанавливается у вас на сайте автоматически.
Никаких фтп, БД и прочее. Все через веб-фейс. Нравится?
Это будет в версии 4.6.
По плану она выйдет в мае 2011 года.


ЦИТАТА(Immeasurability @ Mar 15 2011, 11:55 ) *
vitalik1972 кста может твою версию называть не АС 4.5 а чтот типо ASV 1 =)


Дружище я тебя уважаю,честно.
И долго знаю.
Покажи хоть какой нибудь свой код, ну или на худой конец свой сайт!!!!

А может быть поделишься кодом своего движка?
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
Immeasurability
сообщение Mar 16 2011, 11:00
Сообщение #19


Живу на АС
Иконка группы

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

Сообщений: 752
Регистрация:
11.12.2007
Из: Москва а так по всюду гы
Пользователь №: 1,591
Спасибо сказали: 154

Вставить ник




100% законченного движка у меня нет =( я сейчас очень сильно поглощен дипломом и почти нет времени на разработки и доработки кода

единственная пока связь моя с моим двигом это то что я пишу диплом на тему моего же двига =)

могу лишь рассказать как реализованы части моего двига, имхо давно забросил опыт по представленнию моего кода общественности =) ну надоедо мне за него стоять горой!!!

1 советую сделать подобное моему ЧПУ

2 возможность использовать модулям возможности других модулей: у меня модули имеют три вида системные, пользовательские и глобальные администрации

3 у меня все загруженные файлы хранятся в БД не какого скана папок не происходит при просмотре списка загрузки файлов

4 все работа системы какой бы модуль не использовался бы идет через основной index
ЦИТАТА
<?php
$identify_start=array_sum(explode(' ',microtime()));
define('ACCESS',true);

require_once('functions/function-security.php');
require_once('configurations/configuration-global.php');
require_once('functions/function-session.php');
require_once('functions/function-global.php');
require_once('functions/function-system.php');
require_once('functions/function-url.php');
require_once('functions/function-html.php');

url_identify();
g_db_connect();
g_lang();
g_module();
?>


5 все файлы модуля находятся в папке самого модуля за исключения шаблонов темы, и скриптов они все в папке script...

6 все ходовые модули написаны таким образом что достаточно продублировать: папку, таблицу, и изменить в одном месте его название получается полноценный клон!

7 .htaccess файл
ЦИТАТА
Options -Indexes
Options +FollowSymlinks
RewriteEngine On

RewriteRule ^uploads/global/(.*)$ ?builder/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} !\.(css|js|jpe?g|gif|png|bmp)$
RewriteRule ^(.*)$ index.php?$1&%{QUERY_STRING} [L]


8 шаблонизатор у меня как и говорил раньше использует php код не каких преобразований {str}, дополнительно пару функций облегчающих работу с ним

9 у каждого шаблона конф файл в котором указываются список всех шаблонов, не каких физических проверок на наличие шаблона в директории не производится...
ЦИТАТА
<?php
if(!defined('ACCESS'))
die('illegal file access');

$global['template']['tools']='templates/_system/tools/';
$global['template']['swf']['button_image_url']='/templates/'.g_theme().'/images/swfupload/swfupload-upload.png';
$global['template']['swf']['button_width']=20;
$global['template']['swf']['button_height']=22;
$global['template']['array'][]='null.html';
$global['template']['array'][]='_open.html';
$global['template']['array'][]='_close.html';
$global['template']['array'][]='_warning.html';
$global['template']['array'][]='index.html';
$global['template']['array'][]='block.html';
$global['template']['array'][]='block-message.html';
$global['template']['array'][]='menu.html';
$global['template']['array'][]='template.html';
$global['template']['array'][]='template-view.html';
$global['template']['array'][]='template-upload-file.html';
$global['template']['array'][]='template-upload-image.html';
$global['template']['array'][]='template-content.html';
$global['template']['array'][]='template-content-view.html';
?>


10 что-то из основного части файла function-template.php
ЦИТАТА
function t($array,$arg=null){
global
$global;
include(t_prefix('template',$arg));
}
function t_menu($array,$arg=null){
global
$global;
include(t_prefix('menu',$arg));
}
function t_index($index,$arg=null){
global
$global;
include(t_prefix('index',$arg));
}
function t_block($array,$arg=null){
global
$global;
include(t_prefix('block',$arg));
}
function t_prefix($prefix,$arg=null){
global
$global;
static
$static;

$global_theme='templates/'.global_theme().'/';

if(!isset($static[$prefix][$arg])){
if($arg){
if($global['home']){
if(in_array($in_array=($prefix.'-home-'.$global['module'].'-'.$global['op'].'-'.$arg.'.html'),$global['template']['array']))
return($static[$prefix][$arg]=$global_theme.$in_array);
if(in_array($in_array=($prefix.'-home-'.$global['module'].'-'.$arg.'.html'),$global['template']['array']))
return($static[$prefix][$arg]=$global_theme.$in_array);
if(in_array($in_array=($prefix.'-home-'.$arg.'.html'),$global['template']['array']))
return($static[$prefix][$arg]=$global_theme.$in_array);
}

if(in_array($in_array=($prefix.'-'.$global['module'].'-'.$global['op'].'-'.$arg.'.html'),$global['template']['array']))
return($static[$prefix][$arg]=$global_theme.$in_array);
if(in_array($in_array=($prefix.'-'.$global['module'].'-'.$arg.'.html'),$global['template']['array']))
return($static[$prefix][$arg]=$global_theme.$in_array);
if(in_array($in_array=($prefix.'-'.$arg.'.html'),$global['template']['array']))
return($static[$prefix][$arg]=$global_theme.$in_array);

if(in_array($in_array=($prefix.'.html'),$global['template']['array']))
return($static[$prefix][$arg]=$global_theme.$in_array);

if(in_array($in_array=('null.html'),$global['template']['array']))
return($static[$prefix][$arg]=$global_theme.$in_array);
else
return($static[$prefix][$arg]='templates/_system/null.html');
}else{
if($global['home']){
if(in_array($in_array=($prefix.'-home-'.$global['module'].'-'.$global['op'].'.html'),$global['template']['array']))
return($static[$prefix][$arg]=$global_theme.$in_array);
if(in_array($in_array=($prefix.'-home-'.$global['module'].'.html'),$global['template']['array']))
return($static[$prefix][$arg]=$global_theme.$in_array);
if(in_array($in_array=($prefix.'-home'.'.html'),$global['template']['array']))
return($static[$prefix][$arg]=$global_theme.$in_array);
}

if(in_array($in_array=($prefix.'-'.$global['module'].'-'.$global['op'].'.html'),$global['template']['array']))
return($static[$prefix][$arg]=$global_theme.$in_array);
if(in_array($in_array=($prefix.'-'.$global['module'].'.html'),$global['template']['array']))
return($static[$prefix][$arg]=$global_theme.$in_array);
if(in_array($in_array=($prefix.'.html'),$global['template']['array']))
return($static[$prefix][$arg]=$global_theme.$in_array);

if(in_array($in_array=('null.html'),$global['template']['array']))
return($static[$prefix][$arg]=$global_theme.$in_array);
else
return($static[$prefix][$arg]='templates/_system/null.html');
}
}else
return($static[$prefix][$arg]);
}

function t_extract_array($if,$open=null,$close=null,$i=0){
$i++;
if($if)
if(is_array($if))
foreach($if as $foreach)
$return.=(is_array($open)?$open[$i]:null).t_extract_array($foreach,$open,$close,$i).(is_array($close)?$close[$i]:null);
else
$return=(is_array($open)?$open[$i]:null).$if.(is_array($close)?$close[$i]:null);
else
return(null);
return($return);
}
function t_extract($if,$open=null,$close=null,$else=null){
if($if)
if(is_array($if))
foreach($if as $foreach)
$return.=(is_array($open)?$open[0]:$open).t_extract_array($foreach,$open,$close,0).(is_array($close)?$close[0]:$close);
else
$return=(is_array($open)?$open[0]:$open).$if.(is_array($close)?$close[0]:$close);
elseif($else)
$return=$else;
else
return(null);
return($return);
}


Я бы не сказал что моя система супер пупер но в ней есть моменты которые просто интересны =)
если интересует определенная часть то спрашивай вышлю...
вполне возможно летом вынесу систему на твое обозрение а может и раньше как с дипломом свжется...

у меня моя система уже третей версии более шустрая с большими возможностями

Прикрепленный файл  else_01.jpg ( 49.87 Кб ) Кол-во загрузок: 28


единственный минус в том что я помешан на массивах в массивах массивов!!! =)))

некоторые части кода для переделки требуется разбирать несколько дней в обратном направлении для того чтобы изменить или дополнить а потом обратно собирать =) люблю я это дело...

кстати написал простенькую функции ses_access() позволяющая получить число доступа посетителя:
ЦИТАТА
function ses_access(){
if(ses_admin())
return(5);
elseif(ses_moder())
return(4);
elseif(ses_user())
return(3);
elseif(ses_bot())
return(2);
else
return(1);
}


ну очень пригодилась в модулях и их администрирования...
ЦИТАТА
$global['configuration'][$its]['access'][1]=0;
$global['configuration'][$its]['access'][2]=0;
$global['configuration'][$its]['access'][3]=1;
$global['configuration'][$its]['access'][4]=1;
$global['configuration'][$its]['access'][5]=1;

$global['configuration'][$its]['add_insert_status'][1]=0;
$global['configuration'][$its]['add_insert_status'][2]=0;
$global['configuration'][$its]['add_insert_status'][3]=0;
$global['configuration'][$its]['add_insert_status'][4]=0;
$global['configuration'][$its]['add_insert_status'][5]=1;

$global['configuration'][$its]['add_update_status'][1]=0;
$global['configuration'][$its]['add_update_status'][2]=0;
$global['configuration'][$its]['add_update_status'][3]=0;
$global['configuration'][$its]['add_update_status'][4]=0;
$global['configuration'][$its]['add_update_status'][5]=1;


ах да сделал я не знаю мож касяк у меня всего две основные глобальные $global,$db


ЦИТАТА
$global['configuration'][$its]['add_insert_status'][1]=0;

это настройка модуля новостей приобретает вид после инициализации
ЦИТАТА
$global['configuration'][news]['add_insert_status'][1]=0;

и говорит о том что если ses_access() посетителя сайта 1 то статус добавляемой новости будет 0 (пост Модерация...)


$its используется функцией загрузки конфигурации модуля притом в одно и тоже время можно работать со всеми НУЖНЫМИ настройками разных модулей

единственный минус в моей системе это почти не использование ООП =( ну не могу я пока смысл его использования если там же используются теже функции со временем после дипломки буду исправлять этот не дочет...
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
vitalik1972
сообщение Mar 16 2011, 18:43
Сообщение #20


Живу на АС
Иконка группы

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

Сообщений: 765
Регистрация:
10.6.2008
Из: Оренбург
Пользователь №: 4,176
Спасибо сказали: 211

Вставить ник




ООП рулит (IMG:http://antislaed.net/style_emoticons/default/smile.gif)
А глобальные переменные даже в элеаноре есть.
Правда в АС 4.5 нету (IMG:http://antislaed.net/style_emoticons/default/smile.gif)
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
GoogleBot
сообщение Mar 16 2011, 18:43
Сообщение #


Рекламные обьявления от Google













Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
Цитировать сообщение

4 Страниц V   1 2 3 > » 
Ответить в данную темуНачать новую тему

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

RSS Текстовая версия Сейчас: 17 May 2024 - 07:16
Хостинг предоставлен NetLevel.Ru   Eleanor CMS