Dayver |
|
---|---|
А для полноты информации об изменениях и заявленом применении на практике привожу два админовских пхп файлах из которых венесен xhtml
<?PHP /** * Administration panel * * @package Cotonti * @version 0.1.0 * @author Neocrome, Cotonti Team * @copyright Copyright (c) Cotonti Team 2008-2009 * @license BSD */ (defined('SED_CODE') && defined('SED_ADMIN')) or die('Wrong URL.'); list($usr['auth_read'], $usr['auth_write'], $usr['isadmin']) = sed_auth('admin', 'any'); sed_block($usr['auth_read']); $enabled[0] = $L['Disabled']; $enabled[1] = $L['Enabled']; $id = sed_import('id', 'G', 'TXT'); $po = sed_import('po', 'G', 'TXT'); $c = sed_import('c', 'G', 'TXT'); $p = sed_import('p', 'G', 'TXT'); $l = sed_import('l', 'G', 'TXT'); $o = sed_import('o', 'P', 'TXT'); $w = sed_import('w', 'P', 'TXT'); $u = sed_import('u', 'P', 'TXT'); $s = sed_import('s', 'G', 'ALP', 24); /* === Hook for the plugins === */ $extp = sed_getextplugins('admin.main'); if(is_array($extp)) { foreach($extp as $k => $pl) { include_once($cfg['plugins_dir'].'/'.$pl['pl_code'].'/'.$pl['pl_file'].'.php'); } } $sys['inc'] = (empty($m)) ? 'admin.home' : "admin.$m"; $sys['inc'] = (empty($s)) ? $sys['inc'] : $sys['inc'].".$s"; $sys['inc'] = $cfg['system_dir'].'/core/admin/'.$sys['inc'].'.inc.php'; if(!file_exists($sys['inc'])) { sed_die(); } $allow_img['0']['0'] = "<img src=\"images/admin/deny.gif\" alt=\"\" />"; $allow_img['1']['0'] = "<img src=\"images/admin/allow.gif\" alt=\"\" />"; $allow_img['0']['1'] = "<img src=\"images/admin/deny_locked.gif\" alt=\"\" />"; $allow_img['1']['1'] = "<img src=\"images/admin/allow_locked.gif\" alt=\"\" />"; $lincif_conf = sed_auth('admin', 'a', 'A'); $lincif_page = sed_auth('page', 'any', 'A'); $lincif_user = sed_auth('users', 'a', 'A'); $t = new XTemplate(sed_skinfile('admin.inc', false, true)); $t -> assign(array( "ADMINMENU_URL" => sed_url('admin'), "ADMINMENU_CONF_URL" => sed_url('admin', "m=config"), "ADMINMENU_PAGE_URL" => sed_url('admin', "m=page"), "ADMINMENU_FORUMS_URL" => sed_url('admin', "m=forums"), "ADMINMENU_USERS_URL" => sed_url('admin', "m=users"), "ADMINMENU_PLUG_URL" => sed_url('admin', "m=plug"), "ADMINMENU_TOOLS_URL" => sed_url('admin', "m=tools"), "ADMINMENU_TRASHCAN_URL" => sed_url('admin', "m=trashcan"), "ADMINMENU_OTHER_URL" => sed_url('admin', "m=other") )); $t -> parse("ADMINMENU"); $adminmenu = $t -> text("ADMINMENU"); require_once($sys['inc']); $adminhelp = (empty($adminhelp)) ? $L['None'] : $adminhelp; $title_tags[] = array('{ADMIN}'); $title_tags[] = array('%1$s'); $title_data = array($L['Administration']); $out['subtitle'] = sed_title('{ADMIN}', $title_tags, $title_data); require_once($cfg['system_dir'].'/header.php'); $t = new XTemplate(sed_skinfile('admin', false, true)); $t->assign(array( "ADMIN_TITLE" => sed_build_adminsection($adminpath), "ADMIN_SUBTITLE" => $adminsubtitle, "ADMIN_MENU" => $adminmenu, "ADMIN_MAIN" => $adminmain, "ADMIN_HELP" => $adminhelp, )); /* === Hook for the plugins === */ $extp = sed_getextplugins('admin.tags'); if(is_array($extp)) { foreach($extp as $k => $pl) { include_once($cfg['plugins_dir'].'/'.$pl['pl_code'].'/'.$pl['pl_file'].'.php'); } } /* ===== */ $t->parse("MAIN"); $t->out("MAIN"); require_once($cfg['system_dir'].'/footer.php'); ?> <!-- BEGIN: ADMINMENU --> <table style="width:100%;"> <tr> <td style="width:11%; text-align:center;"> <a href="{ADMINMENU_URL}"><img src="images/admin/admin.gif" alt="" /><br />{PHP.L.Home}</a> </td> <td style="width:12%; text-align:center;"> <!-- IF {PHP.lincif_conf} --> <a href="{ADMINMENU_CONF_URL}"><img src="images/admin/config.gif" alt="" /><br />{PHP.L.Configuration}</a> <!-- ELSE --> <img src="images/admin/config.gif" alt="" /><br />{PHP.L.Configuration} <!-- ENDIF --> </td> <td style="width:11%; text-align:center;"> <!-- IF {PHP.lincif_page} --> <a href="{ADMINMENU_PAGE_URL}"><img src="images/admin/page.gif" alt="" /><br />{PHP.L.Pages}</a> <!-- ELSE --> <img src="images/admin/page.gif" alt="" /><br />{PHP.L.Pages} <!-- ENDIF --> </td> <td style="width:11%; text-align:center;"> <!-- IF {PHP.lincif_conf} --> <a href="{ADMINMENU_FORUMS_URL}"><img src="images/admin/forums.gif" alt="" /><br />{PHP.L.Forums}</a> <!-- ELSE --> <img src="images/admin/forums.gif" alt="" /><br />{PHP.L.Forums} <!-- ENDIF --> </td> <td style="width:11%; text-align:center;"> <!-- IF {PHP.lincif_user} --> <a href="{ADMINMENU_USERS_URL}"><img src="images/admin/users.gif" alt="" /><br />{PHP.L.Users}</a> <!-- ELSE --> <img src="images/admin/users.gif" alt="" /><br />{PHP.L.Users} <!-- ENDIF --> </td> <td style="width:11%; text-align:center;"> <!-- IF {PHP.lincif_conf} --> <a href="{ADMINMENU_PLUG_URL}"><img src="images/admin/plugins.gif" alt="" /><br />{PHP.L.Plugins}</a> <!-- ELSE --> <img src="images/admin/plugins.gif" alt="" /><br />{PHP.L.Plugins} <!-- ENDIF --> </td> <td style="width:11%; text-align:center;"> <!-- IF {PHP.lincif_conf} --> <a href="{ADMINMENU_TOOLS_URL}"><img src="images/admin/tools.gif" alt="" /><br />{PHP.L.Tools}</a> <!-- ELSE --> <img src="images/admin/tools.gif" alt="" /><br />{PHP.L.Tools} <!-- ENDIF --> </td> <td style="width:11%; text-align:center;"> <!-- IF {PHP.lincif_conf} --> <a href="{ADMINMENU_TRASHCAN_URL}"><img src="images/admin/delete.gif" alt="" /><br />{PHP.L.Trashcan}</a> <!-- ELSE --> <img src="images/admin/delete.gif" alt="" /><br />{PHP.L.Trashcan} <!-- ENDIF --> </td> <td style="width:11%; text-align:center;"> <a href="{ADMINMENU_OTHER_URL}"><img src="images/admin/folder.gif" alt="" /><br />{PHP.L.Other}</a> </td> </tr> </table> <!-- END: ADMINMENU --> <?PHP /** * Administration panel * * @package Cotonti * @version 0.1.0 * @author Neocrome, Cotonti Team * @copyright Copyright (c) Cotonti Team 2008-2009 * @license BSD */ (defined('SED_CODE') && defined('SED_ADMIN')) or die('Wrong URL.'); list($usr['auth_read'], $usr['auth_write'], $usr['isadmin']) = sed_auth('admin', 'a'); sed_block($usr['auth_read']); $t = new XTemplate(sed_skinfile('admin.other.inc', false, true)); $adminpath[] = array(sed_url('admin', 'm=other'), $L['Other']); $sql = sed_sql_query("SELECT DISTINCT(config_cat), COUNT(*) FROM $db_config WHERE config_owner!='plug' GROUP BY config_cat"); while($row = sed_sql_fetcharray($sql)) { $cfgentries[$row['config_cat']] = $row['COUNT(*)']; } $sql = sed_sql_query("SELECT DISTINCT(auth_code), COUNT(*) FROM $db_auth WHERE 1 GROUP BY auth_code"); while($row = sed_sql_fetcharray($sql)) { $authentries[$row['auth_code']] = $row['COUNT(*)']; } $sql = sed_sql_query("SELECT * FROM $db_core WHERE ct_code NOT IN ('admin', 'message', 'index', 'forums', 'users', 'plug', 'page', 'trash') ORDER BY ct_title ASC"); $lines = array(); while($row = sed_sql_fetcharray($sql)) { $lincif_mode = (sed_auth($row['ct_code'], 'a', 'A') && $row['ct_code'] != 'admin' && $row['ct_code'] != 'index' && $row['ct_code'] != 'message') ? true : false; $lincif_confmode = ($cfgentries[$row['ct_code']] > 0) ? true : false; $lincif_rightsmode = ($authentries[$row['ct_code']] > 0) ? true : false; $cfgcode = "disable_".$row['ct_code'];//Непнятна а зачем? $t -> assign(array( "ADMIN_OTHER_CT_CODE" => $row['ct_code'], "ADMIN_OTHER_CT_TITLE_LOC" => (empty($L["core_".$row['ct_code']])) ? $row['ct_title'] : $L["core_".$row['ct_code']], "ADMIN_OTHER_CT_CODE_URL" => sed_url('admin', "m=".$row['ct_code']), "ADMIN_OTHER_RIGHTS" => ($authentries[$row['ct_code']] > 0) ? sed_url('admin', "m=rightsbyitem&ic=".$row['ct_code']."&io=a") : '#', "ADMIN_OTHER_CONFIG" => ($cfgentries[$row['ct_code']] > 0) ? sed_url('admin', "m=config&n=edit&o=core&p=".$row['ct_code']) : '#' )); $t -> parse("OTHER.OTHER_ROW"); } $lincif_conf = sed_auth('admin', 'a', 'A'); $lincif_user = sed_auth('users', 'a', 'A'); $t -> assign(array( "ADMIN_OTHER_URL_CACHE" => sed_url('admin', "m=cache"), "ADMIN_OTHER_URL_BBCODE" => sed_url('admin', "m=bbcode"), "ADMIN_OTHER_URL_URLS" => sed_url('admin', "m=urls"), "ADMIN_OTHER_URL_BANLIST" => sed_url('admin', "m=banlist"), "ADMIN_OTHER_URL_HITS" => sed_url('admin', "m=hits"), "ADMIN_OTHER_URL_REFERS" => sed_url('admin', "m=referers"), "ADMIN_OTHER_URL_LOG" => sed_url('admin', "m=log"), "ADMIN_OTHER_URL_INFOS" => sed_url('admin', "m=infos") )); $t -> parse("OTHER"); $adminmain = $t -> text("OTHER"); ?> <!-- BEGIN: OTHER --> <table class="cells"> <tr> <td class="coltop">{PHP.L.Modules} {PHP.L.adm_clicktoedit}</td> <td class="coltop" style="width:80px;">{PHP.L.Rights}</td> <td class="coltop" style="width:128px;">{PHP.L.Configuration}</td> </tr> <!-- BEGIN: OTHER_ROW --> <tr> <td> <!-- IF {PHP.lincif_mode} --> <a href="{ADMIN_OTHER_CT_CODE_URL}"><img src="images/admin/{ADMIN_OTHER_CT_CODE}.gif" alt="" />{ADMIN_OTHER_CT_TITLE_LOC}</a> <!-- ELSE --> <img src="images/admin/{ADMIN_OTHER_CT_CODE}.gif" alt="" />{ADMIN_OTHER_CT_TITLE_LOC} <!-- ENDIF --> </td> <td style="text-align:center;"> <!-- IF {PHP.lincif_rightsmode} --> <a href="{ADMIN_OTHER_RIGHTS}"><img src="images/admin/rights2.gif" alt="" /></a> <!-- ENDIF --> </td> <td style="text-align:center;"> <!-- IF {PHP.lincif_confmode} --> <a href="{ADMIN_OTHER_CONFIG}"><img src="images/admin/config.gif" alt="" /></a> <!-- ENDIF --> </td> </tr> <!-- END: OTHER_ROW --> <tr> <td colspan="3"> <!-- IF {PHP.lincif_conf} --> <a href="{ADMIN_OTHER_URL_CACHE}"><img src="images/admin/config.gif" alt="" />{PHP.L.adm_internalcache}</a> <!-- ELSE --> <img src="images/admin/config.gif" alt="" />{PHP.L.adm_internalcache} <!-- ENDIF --> </td> </tr> <tr> <td colspan="3"> <!-- IF {PHP.lincif_conf} --> <a href="{ADMIN_OTHER_URL_BBCODE}"><img src="images/admin/page.gif" alt="" />{PHP.L.adm_bbcodes}</a> <!-- ELSE --> <img src="images/admin/page.gif" alt="" />{PHP.L.adm_bbcodes} <!-- ENDIF --> </td> </tr> <tr> <td colspan="3"> <!-- IF {PHP.lincif_conf} --> <a href="{ADMIN_OTHER_URL_URLS}"><img src="images/admin/info.gif" alt="" />{PHP.L.adm_urls}</a> <!-- ELSE --> <img src="images/admin/info.gif" alt="" />{PHP.L.adm_urls} <!-- ENDIF --> </td> </tr> <tr> <td colspan="3"> <!-- IF {PHP.lincif_user} --> <a href="{ADMIN_OTHER_URL_BANLIST}"><img src="images/admin/users.gif" alt="" />{PHP.L.Banlist}</a> <!-- ELSE --> <img src="images/admin/users.gif" alt="" />{PHP.L.Banlist} <!-- ENDIF --> </td> </tr> <tr> <td colspan="3"> <a href="{ADMIN_OTHER_URL_HITS}"><img src="images/admin/statistics.gif" alt="" />{PHP.L.Hits}</a> </td> </tr> <tr> <td colspan="3"> <!-- IF {PHP.lincif_conf} --> <a href="{ADMIN_OTHER_URL_REFERS}"><img src="images/admin/info.gif" alt="" />{PHP.L.Referers}</a> <!-- ELSE --> <img src="images/admin/info.gif" alt="" />{PHP.L.Referers} <!-- ENDIF --> </td> </tr> <tr> <td colspan="3"> <!-- IF {PHP.lincif_conf} --> <a href="{ADMIN_OTHER_URL_LOG}"><img src="images/admin/page.gif" alt="" />{PHP.L.adm_log}</a> <!-- ELSE --> <img src="images/admin/page.gif" alt="" />{PHP.L.adm_log} <!-- ENDIF --> </td> </tr> <tr> <td colspan="3"> <!-- IF {PHP.lincif_conf} --> <a href="{ADMIN_OTHER_URL_INFOS}"><img src="images/admin/info.gif" alt="" />{PHP.L.adm_infos}</a> <!-- ELSE --> <img src="images/admin/info.gif" alt="" />{PHP.L.adm_infos} <!-- ENDIF --> </td> </tr> </table> <!-- END: OTHER --> Эти два файла так сказать наиболее показательны в плане применения логики в шаблонизаторе потому код остальных переделаных файлов приводить не буду. Посему просьба к медару потестить скорость так сказать переделаного шаблонизатора с реальным примером применения. Если не возникнет замечаний то и шаблонизатор и части переделаной админки пойдут в транк.[/][/][/] Pavlo Tkachenko aka Dayver
|