Шустрый

Профиль
Группа: Участник
Сообщений: 139
Регистрация: 24.6.2005
Репутация: нет Всего: нет
|
Помогите разобраться в коде (обрезал что бы меньше было). Где выводиться страница (присваивается переменная $info['scp']) при первом входе (когда в адресной строке www.чегото.ru) ? В данный момент при первом входе вставляется поле "pgs_text" (содержит HTML код) из БД "_DB_PGS" где поле "pgs_id"=1 Хочу при первом входе переменную $info['scp']=qw, т.е. вызвыть функцию qw. Куда и что добавить в код? (может кому то он уже знаком). Код |
function callback($buffer){ global $info; $buffer = eregi_replace("%TITLE%", $info['title'], $buffer); $buffer = eregi_replace("%CAPTION%", $info['caption'].$info['caption_postfix'], $buffer); $buffer = eregi_replace("%CSS%", $info['css'], $buffer); $buffer = eregi_replace("%SCRIPT%", $info['script'], $buffer); $buffer = eregi_replace("%ADMIN_MENU%", $info['admin_menu'], $buffer); return $buffer; } ob_start("callback");
session_name("session"); session_start();
$db = new DB(_DB_HOST, _DB_USER, _DB_PASS, _DB_BASE); $db->connect();
$info = array(); $info['title'] = ''; $info['caption'] = ''; $info['caption_postfix'] = ''; $info['css'] = ''; $info['script'] = ''; $info['index'] = "(index.(asp|php|htm|html)/)?";
$info['id'] = 0; $s = isset($_SERVER['REDIRECT_URL']) ? $_SERVER['REDIRECT_URL'] : '/'; if ($s[strlen($s)-1]!='/') $s .= '/'; $info['URL'] = $s; $info['scp'] = '';
$info['menu']['multilevel'] = true; require "menu.php";
if (eregi("^/".$info['index']."$", $info['URL'], $regs)){ $ShowPage = 'ShowPageMain'; $ShowPage(); }elseif (eregi("^/search/google.html/$", $info['URL'], $regs)) { $info['scp'] = "Google"; }else { SCP(); } if (empty($info['scp'])) $info['scp'] = 'scp404';
function ShowPageMain(){ global $db, $info; $res = $db->query("SELECT * FROM "._DB_MNS." WHERE mns_owner='0' ORDER BY mns_row;"); if ($row = $db->next_row($res)){ $s = LinkMenu2URL($row['mns_link_type'], $row['mns_link_value']); if (($s != '/') and ($s != '')) go2page($s); else $ShowPage = 'scp404'; } else $ShowPage = 'scp404'; }
function _end_(){ global $info; $info['title'] .= ". ".strip_tags($info['caption']); ob_end_flush(); }
function SCP(){ global $info; foreach ($info['_SCP'] as $k => $v): if ($v()) break; endforeach; }
function Setup(){ global $info; foreach ($info['_SETUP'] as $k => $v): $v(); endforeach; go2page('/'); }
function Google(){ удалил что бы кода меньше было}
$info['_STR']['404'] = array( 'Caption' => 'Ошибка 404 — страница не найдена', 'PageNotFound' => 'Страница, которую вы пытаетесь открыть, не существует', 'GoTo' => 'Перейдите ', 'MainPage' => 'на главную страницу', '' => '' );
if (isset($info['_STR_LANG']['404'])) $info['_STR']['404'] += $info['_STR_LANG']['404'];
function scp404(){ global $info; $info['caption'] = $info['_STR']['404']['Caption']; ?> <p><?=$info['_STR']['404']['PageNotFound'];?>. <p><?=$info['_STR']['404']['GoTo'];?><a href='/'><?=$info['_STR']['404']['MainPage'];?></a>.</p> <? }
$info['_STR']['settings'] = array( 'LanguageDB' => 'all', '' => '' ); if (isset($info['_STR_LANG']['settings'])) $info['_STR']['settings'] += $info['_STR_LANG']['settings'];
define("_DB_SET", _DB_PREFIX.$info['_STR']['settings']['LanguageDB'].'_'.'settings');
function SettingsGet($name){ global $db, $info; $sql = "SELECT set_value FROM "._DB_SET." WHERE set_name='".dab($name)."';"; $res = $db->query($sql); if ($row = $db->next_row($res)) return $row['set_value']; else return ''; }
function SettingsGetList($names){ global $db, $info; $str = ''; $array = array();
function SettingsGetList($names){ global $db, $info; $str = ''; $array = array(); foreach ($names as $v): $array[$v] = ''; if ($str != '') $str .= ' OR '; $str .= "set_name='".dab($v)."'"; endforeach; $sql = "SELECT set_name, set_value FROM "._DB_SET." WHERE $str;"; $res = $db->query($sql); while ($row = $db->next_row($res)) $array[$row['set_name']] = $row['set_value']; return $array; }
function SettingsSet($name, $value){ global $db, $info; $db->query("UPDATE "._DB_SET." SET set_value='".dab($value)."' WHERE set_name='".dab($name)."';"); }
function SettingsSetList($names_values){ foreach ($names_values as $name => $value) SettingsSet($name, $value); }
$info['_STR']['pages'] = array( 'LanguageDB' => 'ru', 'Pages' => 'Страницы', 'AdminPagesNone' => 'Страниц сайта нет', 'AdminPages' => 'Администрирование страничек', 'AdminPagesMenu' => 'Страницы', 'AdminPagesMenuList' => 'Список страниц', 'AdminPagesMenuAdd' => 'Добавить страницу', 'AdminPagesListCPP1' => 'При администрировании показывать на странице по', 'AdminPagesListCPP2' => 'страничек', 'AdminPagesListCPPok' => 'OK', 'AdminPagesCaption' => 'Заголовок', 'AdminPagesUrl' => 'Ссылка на страницу', 'AdminPagesAction' => ' ', 'AdminPagesEdit' => 'Редактировать', 'AdminPagesShow' => 'Опубликовать', 'AdminPagesHide' => 'Скрыть', 'AdminPagesDelete' => 'Удалить', 'AdminPagesDeleteSelect' => 'Удалить выбранные страницы', 'AdminPagesConfirmDelete' => 'Вы действительно хотите удалить страницу?\nАвтоматически удалится и пункт меню,\nсвязанный с этой страницей (если он есть).\nВосстановление будет невозможно!', 'AdminPagesConfirmDeleteAll' => 'Вы действительно хотите удалить выбранные страницы?\nАвтоматически удалятся и пункты меню,\nсвязанные с этими страницами (если они есть).\nВосстановление будет невозможно!', 'AdminPagesCaptionEdit' => 'Редактирование страницы', 'AdminPagesCaptionAdd' => 'Добавление страницы', 'AdminPagesAddEditShowing' => 'Опубликование:', 'AdminPagesAddEditShow' => 'отображать на сайте', 'AdminPagesAddEditHide' => 'не опубликовывать на сайте', 'AdminPagesAddEditCaption' => 'Заголовок:', 'AdminPagesAddEditUrl' => 'Ссылка:', 'AdminPagesAddEditUrlAbout' => 'Ссылка — необязательный параметр, он нужен для создания которких понятных адресов страниц. Например, <u>/<b>contacts</b>.html</u>.', 'AdminPagesAddEditText' => 'Текст страницы:', 'AdminPagesAddEditSave' => 'Сохранить' );
if (isset($info['_STR_LANG']['pages'])) $info['_STR']['pages'] += $info['_STR_LANG']['pages'];
define("_DB_PGS", _DB_PREFIX.$info['_STR']['pages']['LanguageDB'].'_'.'pages');
$info['_SCP']['pages'] = 'scpPages';
[color=red]function scpPages(){ global $db, $info; if (eregi("^/map.html/$", $info['URL'], $regs)){ $info['scp'] = 'MenuShowMaps'; }elseif (eregi("^/([-_A-Za-z0-9]+).html/$", $info['URL'], $regs)){ $info['pages']['page_by_number'] = false; $info['pages']['id'] = $regs[1]; $info['scp'] = 'PagesOne'; }elseif (eregi("^/pages/([0-9]+).html/$", $info['URL'], $regs)){ $info['pages']['page_by_number'] = true; $info['pages']['id'] = $regs[1]; $info['scp'] = 'PagesOne'; } return !empty($info['scp']); }
function PagesOne(){ global $db, $info; if ($info['pages']['page_by_number']) $sql = "SELECT pgs_id, pgs_caption, pgs_text FROM "._DB_PGS." WHERE pgs_id='".(int)$info['pages']['id']."' AND pgs_showing='1';"; else $sql = "SELECT pgs_id, pgs_caption, pgs_text FROM "._DB_PGS." WHERE pgs_url='".dab_db($info['pages']['id'])."' AND pgs_showing='1';"; $res = $db->query($sql); if ($row = $db->next_row($res)): $info['caption'] = $row['pgs_caption']; if ($row['pgs_text'] == '') $row['pgs_text'] = ' '; $info['caption_postfix'] = AdminPagesShowAdminPanel($row['pgs_id'], 1, ' '); echo $row['pgs_text']; else: scp404(); endif; }[/color]
--------------------------------------------------------
далее переменная вставляется в HTML код <?=$info['scp'](); ?>
|
|