- 001
- 002
- 003
- 004
- 005
- 006
- 007
- 008
- 009
- 010
- 011
- 012
- 013
- 014
- 015
- 016
- 017
- 018
- 019
- 020
- 021
- 022
- 023
- 024
- 025
- 026
- 027
- 028
- 029
- 030
- 031
- 032
- 033
- 034
- 035
- 036
- 037
- 038
- 039
- 040
- 041
- 042
- 043
- 044
- 045
- 046
- 047
- 048
- 049
- 050
- 051
- 052
- 053
- 054
- 055
- 056
- 057
- 058
- 059
- 060
- 061
- 062
- 063
- 064
- 065
- 066
- 067
- 068
- 069
- 070
- 071
- 072
- 073
- 074
- 075
- 076
- 077
- 078
- 079
- 080
- 081
- 082
- 083
- 084
- 085
- 086
- 087
- 088
- 089
- 090
- 091
- 092
- 093
- 094
- 095
- 096
- 097
- 098
- 099
- 100
<?
/******************************************************************************
Основной файл для работы с панелью управления
******************************************************************************/
if(isset($_REQUEST['usr'])){
unset($_SESSION['usr']);
die("don't hack me,please!");
} //if hack
session_start();
//коннект к базе данных
if(!is_object($db)){include_once($path."panel/lib/sql.php");}
$db->set_logs_level(0); //уровень логирования запросов
$db->set_logging_place(0); //0-file,1-database
$db->set_logs_filename("panel.log"); //файл для записи логов
//авторизация
if(empty($_SESSION['usr'][$shopid])) {include($path."panel/auth/start.php");}
if(!isset($_SESSION['ulang'][$shopid])){include($path."panel/auth/lang.php");}
unset($af,$rmes,$pat,$out,$content,$omrd,$mpt,$act,$nact,$msr,$error,$script,$opr);
//определяем, является ли юзер админом
if(empty($dar)) $af=1;
else{
$qwe=$db->query("SELECT user
FROM perm_user_group
WHERE owner=".$shopid."
AND user=".$_SESSION['usr'][$shopid]."
AND `group`=2");
$af=($db->num_rows($qwe)<1) ? 0 : 1;
} //else if empty(dar)
//======================================================
if($_SESSION['umenu'][$shopid]==''){
//элементы навигации для группы
include_once($path."panel/admin/group/create/panels.php");
if(empty($af)){
reset($sma);
$max = 0;
while(list(,$ord)=each($sma)) if($max<$ord) $max=$ord;
$qwe=$db->query("SELECT LPAD(BIN(BIT_OR(pg.menu)),".$max.",'0')
FROM perm_groups pg,
perm_user_group pug
WHERE pg.owner=".$shopid."
AND pg.publish=1
AND pug.owner=".$shopid."
AND pug.user=".$_SESSION['usr'][$shopid]."
AND pug.`group`>0
AND pg.id=pug.`group`");
list($_SESSION['umenu'][$shopid])=$db->fetch_row($qwe);
} //if no admin
else $_SESSION['umenu'][$shopid] = str_repeat('1',$max);
} //if umenu[shopid]==''
//работа с фреймами
$frm = (!isset($_REQUEST['frame'])) ? 0 : intval($_REQUEST['frame']);
//работами с ссылками на фрейм
if(!empty($_REQUEST['fp'])){
$dfp = intval($_REQUEST['fp']);
$fdp = "&frame=".$dfp;
$fcp = "<input type=hidden name=frame value=".$dfp.">\n";
} //if !empty(fp)
else if(!empty($frm)){
$fdp = "&frame=".$frm;
$fcp = "<input type=hidden name=frame value=".$frm.">\n";
} //else if !empty(fp)
if(($_REQUEST['go']%2)!=1){ //если выводим страницу,а не сохраняем данные
$dsql = (in_array($_REQUEST['ac'],array(37,70,109,851,859,910,956))) ? " AND go=".intval($_REQUEST['go']) : "";
$qwe=$db->query("SELECT shablon,used,menu
FROM panel_shablon
WHERE id=".$_SESSION['psh'][$shopid]."
AND frame=".$frm.$dsql);
list($mcnt,$used,$mmm)=$db->fetch_row($qwe);
} //if empty(go)
LoadLang('panel','panel',$mn,$ps);
$db->SetPhpLocale();
$pms=array("content","title","menu","top_menu","css","script","onload","img",
"self","error","user","begin","operations","user_full","search","noframes");
$apm=array(0=>0, 1=>2, 2=>3, 3=>4, 4=>12, 5=>5, 6=>12, 7=>6, 8=>6, 9=>0, 10=>-1,
11=>12, 19=>12, 30=>12, 36=>12, 37=>12, 45=>12, 51=>12, 60=>1, 70=>3, 101=>2, 137=>12,
138=>10, 152=>5, 153=>5, 154=>5, 190=>1, 200=>8, 240=>9, 260=>10, 266=>12, 800=>13, 872=>14,
900=>15, 930=>16, 950=>17, 970=>18, 980=>19);
$ptr=array("{name}","{src}","{submenu}","{image}");
while(list($imd,$qnm)=each($pms)){
if($used[$imd]!="1" && $imd!=0) continue;
unset($data);
switch($imd){
case 1: //title
$data=$head;
break;
case 2: //menu
case 3: //top_menu
$tmn = ($imd==2) ? 0 : 1;
Досталась в наследство говноцмс. И все в таком духе, ресурс с посещаемостью в 3к в сутки.
цмс загнулась, слишком много наворотов))))
guest 16.04.2009 15:26 # 0
Типичный говнокод... представляю, как тяжело стороннему разработчику в этом разбираться
guest 16.04.2009 15:33 # 0
Разбираться не стал, слишком много магии)))) Переписал весь проект с нуля.
guest 17.04.2009 12:25 # 0
на чём переписал?
guest 17.04.2009 14:55 # +4
На пхп))) Только без магии аля 154=>5, 190=>1, 200=>8, 240=>9.
Коду получилось, если было 50 мб движка, сейчас метра 2 всего. Таблиц sql было 400, стало 35. И запросов к бд в 100 раз меньше. Все летает. + фичи аля асинхронная загрузка контента. А функционала на портале еще больше стало
guest 24.02.2017 03:37 # 0