Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Универсальный движек, почти универсальный 
:(
    Опции темы
GZep
Дата 26.4.2007, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 8
Всего: 32



Цитата(CyClon @  26.4.2007,  12:00 Найти цитируемый пост)
а не модулем. 

Это смотря что под "модулем" считать... Я, например, просто выношу эти строки кода в отдельный файл и подружаю его ядром...


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
BuShaRt
Дата 27.4.2007, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



 smile Я когда то писал CMS по принципу, все должно быть редактируемо на ходу от тимплетов до модулей...  Давно было очень, но идея мне нравиться до сихпор, такая вот CMS для, которую можно собрать в любой момент совершенно в любой комбинации... 

Если интересно, скину таки наработки, ходя они далеки от совершенства, но суть ясна наверна smile)

Ядро достаточно просто устроенно на мой взгляд ;)

index.php
Код

<?php
include_once 'all_connect.php';

if (empty($page)){  
    $page='new';
}

if (empty ($_POST['indexform'])) {
    GoIndex ($page);    
}
    
$filter_obj->field_validator('Логин', $_POST['login'], 'alphanumeric', 4, 15);     
$filter_obj->field_validator('Пароль', $_POST['password'], 'string', 4, 15);
    
if (!($row = $mysql_obj->CheckPass ($_POST['login'], $_POST['password']))) {
    $filter_obj->messages[] = 'Логин - пароль не совпадают.';    
}     

if ($filter_obj->messages) {    
    GoIndex ($page);         
}

GreatMemberSession($row['login'], $row['password'], $row['lvl']);    
header('Location: index.php?'.session_name().'='.session_id().'&page=rule');     
    
?>


all_connect.php
Код

<?php
include_once ("class/filter/filter.php")      ; $filter_obj = new filter ();
include_once ("class/WorkMySQL/WorkMySQL.php"); $mysql_obj = new WorkMySQL (); 

define('IP'  , $REMOTE_ADDR);
define('URL' , '<a href=index.php?page=id>name</a><br>');

include_once 'functions.php';
include_once 'workhtml.php';

session_register('login');
session_register('password');
session_register('loggedIn');
session_register('lvl'); 
?>


workhtml.php
Код

<?php
function print_HTML ($avt,$pagename) {

//Const and var:
$sh_menu     = file('html/menu.html');
$sh_index    = file('html/face.html');
$sh_login    = file('html/login.html');
$sh_pushform = file('html/pushform.html');
$files       = file('page/pages.txt');
$menu        = file('menu/menu.txt');
$filename=array(); $menutitle=array(); $MenuHTML=array();    
//---

//Great LoginBlock
$login = '';
if (!$avt) { $sh_login = $sh_pushform; }
foreach ( $sh_login as $val) {$login .= $val; }
//---

//Read page:
foreach ($files as $val) {
    $pagetext = '';
    $val = split ('@',$val);
    $val[1] = trim ($val[1]);
    $PageTitle = $val[2];
    if ($val[0]==$pagename) {
        if ($val[1]=='txt' or $val[1]=='html') {
            $file = file ('page/'.$pagename.'.'.$val[1]);
            foreach ($file as $val) {$pagetext .= $val;}
        } 
        if ($val[1]=='php') {
            include 'page/'.$pagename.'.'.$val[1];
        } 

    break;
    } else { $pagetext = 'Такой страници не существует'; $PageTitle = 'Ошибка'; }
}
//---
                                                
//Great MenuBlock
foreach ($menu as $val) {
    $val = split ('@',$val);
    $filename[] = $val[0];
    $$val[0] = file('menu/'.$val[0].'.txt');
    $menutitle[] = $val[1]; 
}                            
for($i=0; $i<count($filename); $i++) {
    $MenuTxt = '';
    $MenuHTML["$i"] = '';
    foreach ($$filename[$i] as $val) {
        $val = split ('@',$val);
        $url = str_replace ('id'  ,$val[1],URL);
        $url = str_replace ('name',$val[0],$url);
        $MenuTxt .= $url;
    }
    foreach ($sh_menu as $val) {
        $val = str_replace ('<MenuName>',$menutitle[$i],$val);
        $val = str_replace ('<MenuTxt>' ,$MenuTxt      ,$val);
        $MenuHTML["$i"] .= $val;
    }
}
//--- 

//Paste all block's menu in page
foreach ($sh_index as $val) {
    for($i=0; $i<count($filename); $i++) {
        $val = str_replace ('<'.$filename[$i].'>',$MenuHTML["$i"],$val);
    }
    $val = str_replace ('<pushform>',$login,$val);    
    $val = str_replace ('<printtitle>',$PageTitle,$val);
    $val = str_replace ('<login>',$_SESSION['login'],$val);
    $val = str_replace ('<PrintPage>',$pagetext,$val);
    print $val;
}
//---

}
?>


functions.php
Код

<?php
//****************************************
//заполнение сессии данными
//****************************************
function GreatMemberSession($login, $password, $lvl) {
    $_SESSION['login'] = $login;
    $_SESSION['password'] = $password;
    $_SESSION['loggedIn'] = true;
    $_SESSION['lvl'] = $lvl;
}

//****************************************
//Генерация странички    
//****************************************    
function GoIndex ($pages){
    
    //if Exit:
    if ($pages=='exit'){
        session_destroy();
        header("Location: index.php");
    }
    //---
    
    //if Error:
    if (isset ($filter_obj->messages)) {
        $filter_obj->ErrorLog ();
    }  
    //---
    
    //Print HTML and exit
    print_HTML($_SESSION['loggedIn'],$pages);
    exit;
    //---
}         
    
//****************************************
//**************************************** 

?>

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0415 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.