Тема закрыта
Что вы, наоборот - мучайте. Мы тут именно для этого))
Попробуйте просто проверять глобальную переменную $_SERVER['REQUEST_URI']. Она пустая, если в адресной строке нет параметров. То есть когда она такая
http://fapos.net/
Если адресная строка будет
http://fapos.net/news/
то в данной переменной будет "news"
и так далее...
ПДА версия Fapos
Отправлено: 4 Мая 2011#11
Сашка_из_Шебекино, ты ковычки забыл.
1
2
3
4
5
6
7
8
9
<?php if($params[0] == 'pages' && $params[1] == 'index'){
echo '1';
}else{
echo '2';
}?>
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 6 Мая 2011#13
Очень странно. А где именно вы вставляете этот код?
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 8 Мая 2011#14
Drunya, сразу после
Хотел чтобы если главная, открывать вместо sys/inc/module.php например sys/inc/module_gl.php которую потом создам
Code:
include_once 'sys/boot.php';
include_once 'sys/inc/module.php';
include_once 'sys/inc/module.php';
Хотел чтобы если главная, открывать вместо sys/inc/module.php например sys/inc/module_gl.php которую потом создам
Отредактировано автором 8 Мая 2011
Отправлено: 12 Мая 2011#15
1
2
3
<?php if ($param[1]=='main') {
include_once 'sys/inc/module_gl.php';
}?>
Отправлено: 12 Мая 2011#16
Неа, всёравно. Ни
if ($param[1]=='main') {
echo '2';
}
ни
if ($param[1]=='index') {
echo '2';
}
не работают
А есть какие нибудь другие варианты, кроме $param[1] ?
Мне только это сделать и постараюсь больше не мучить вопросами
if ($param[1]=='main') {
echo '2';
}
ни
if ($param[1]=='index') {
echo '2';
}
не работают
А есть какие нибудь другие варианты, кроме $param[1] ?
Мне только это сделать и постараюсь больше не мучить вопросами
Отправлено: 13 Мая 2011#17
Сашка_из_Шебекино пишет:
Мне только это сделать и постараюсь больше не мучить вопросами [smile]
Попробуйте просто проверять глобальную переменную $_SERVER['REQUEST_URI']. Она пустая, если в адресной строке нет параметров. То есть когда она такая
http://fapos.net/
Если адресная строка будет
http://fapos.net/news/
то в данной переменной будет "news"
и так далее...
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 16 Мая 2011#18
Drunya, спасибо. Так работает, а то всякие параметры... Правило линукс - не усложняй
Только хочу подправить. Если адрес http://fapos.net/ то $_SERVER['REQUEST_URI'] выведет /
Только хочу подправить. Если адрес http://fapos.net/ то $_SERVER['REQUEST_URI'] выведет /
Отправлено: 18 Мая 2011#19
Мы уже близки к истине
Но. В sys/inc/module.php сразу после копирайта Drunya вставил такой вот текст:
теперь если после него вывести
то на странице вверху отобразится
НО. Это сделано не для того чтобы пользователь знал о себе, а для того, чтобы в зависимости от браузера выдавать разные ссылки для
Проблема заключается в том, что, как я понимаю, после не действуют исходные коды. К примеру такой вот код:
не работает. Как правильно сделать?
На всякий случай прикрепил файл
Но. В sys/inc/module.php сразу после копирайта Drunya вставил такой вот текст:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<?php // дополнительная функция выводящая контент из конфиг файлов
function base_for_search ($path){
$path = str_replace ( "\r", "", trim ( implode ( "", @file ($path) )));
if ( strlen ($path) < 1){ return false; }
return "~(" . str_replace ( "\n", "|", preg_quote ($path,"~")) . ")~i";
}
$base_browser = 'base_browser.dat';
$base_robot = 'base_robot.dat';
$base_system = 'base_system.dat';
$base_mobile = 'base_mobile.dat';
// применим её
$base_for_search_browser = base_for_search ($base_browser);
$base_for_search_robot = base_for_search ($base_robot);
$base_for_search_system = base_for_search ($base_system);
$base_for_search_mobile = base_for_search ($base_mobile);
$base_for_search_mobile = str_replace ( '\ˆ', 'ˆ', substr ($base_for_search_mobile,0,-2));
$base_for_search_mobile = str_replace ('176x220', '[0-9]{3}x[0-9]{3}', $base_for_search_mobile);
$base_for_search_mobile = $base_for_search_mobile."[ /-]?([a-z0-9]*)[ ]?[/]?[ ]?([a-zA-Z]*)(.*)~i";
//основная функция по определению броузеров
function detect_browser($path=''){
global $base_for_search_browser,
$base_for_search_system,
$base_for_search_robot,
$base_for_search_mobile;
if ($path==''){$path = $_SERVER['HTTP_USER_AGENT']; }
$path = preg_replace ("~[\(;\)]+~",'',$path);
$path = preg_replace ("~[ ]+~"," ",$path);
if (preg_match($base_for_search_robot, $path, $arr_r)){
$Brobot = ucfirst ($arr_r[0]);
$BName = 'Robot';
$BVersion = 'non';
$BPlatform = 'non';
}
if ($BName == ''){
if (preg_match($base_for_search_mobile,$path,$match)){
$BName = ucfirst ($match[1]);
if (preg_match("~ˆmot$~i",$BName)){ $BName = "Motorola";}
if (preg_match("~ˆsie$~i",$BName)){ $BName = "Siemens";}
if (preg_match("~ˆnokia|pcl$~i",$BName) and strlen ($match[2])>4){$match[2] = substr ($match[2],0,4); }
$BVersion = $match[2];
$BPlatform = 'MobilePhone';
$Brobot = 'Browser';
}
}
if ($BName == ''){
$base_for_search_browser = trim ( str_replace (")~i", "", $base_for_search_browser));
if (preg_match($base_for_search_browser.")[0-9]{0,1}[ ]?[-]?[/]?[ ]?[v]?([0-9]{0,3}[\.]?[0-9]{0,1})~i",$path,$match)){
$BName = ucfirst ($match[1]);
$BVersion = $match[2];
}
elseif (preg_match("~ms[ ]?ie[ ]?([0-9]{0,1}[\.]?[0-9]{0,1})~i", $path, $match)){
$BName = "Explorer";
$BVersion = str_replace (' .','',$match[1]);
}
elseif (preg_match("~mozilla[0-9]{0,1}[ ]?[/]?[ ]?([0-9]{0,3}[\.]?[0-9]{0,1})~i",$path,$match)){
$BName = "Mozilla";
$BVersion = $match[1];
}
if ($BName==''){$BName = 'Unknown'; $BVersion='Unknown';}
}
if ($BPlatform != 'MobilePhone'){
if (preg_match("~win[dows]{0,4}[ ]{0,1}(nt|xp|me|ce|9x|95|98|2000|32|3\.1)[ ]?[0-9]{0,1}[\.]?[0-9]{0,1}~i",$path,$matches)){
$matches[0] = preg_replace ( "~[ ]+~i", '', trim ($matches[0]));
$matches[0] = preg_replace ("~dows~i", '', $matches[0]);
if (preg_match("~win(9x|98)~i",$matches[0])){$matches[0]='Win32';}
$BPlatform = $matches[0];
}
elseif (preg_match("~windows~i",$path)){ $BPlatform = 'Win32'; }
elseif (preg_match($base_for_search_system,$path,$matches)){
if (preg_match("~mac~i",$matches[0])){$matches[0]='MacOS';}
$BPlatform = $matches[0];
}
if ($BPlatform==''){$BPlatform = 'Unknown';}
}
if ($BName=='Unknown' and $Brobot==''){
if (preg_match($base_for_search_robot, $path1, $arr_r)){
$Brobot = ucfirst ($arr_r[0]);
$BName = 'Robot';
$BVersion = 'non';
$BPlatform = 'non';
}
}
if ($BName!='Robot' and $BVersion!='Unknown' and $BPlatform!='Unknown'){$Brobot = 'Browser';}
else {
$BVersion='non'; $BPlatform='non'; $BName='Robot';
if ($Brobot==''){$Brobot='Unknown';}
}
if ($BName!='Robot' and $BPlatform!='MobilePhone'){
$_array = array ();
if ($_SERVER['HTTP_ACCEPT']!='') { $_array[] = 1; }
if ($_SERVER['HTTP_ACCEPT_ENCODING']!=''){ $_array[] = 2; }
if ($_SERVER['HTTP_ACCEPT_LANGUAGE']!=''){ $_array[] = 3; }
if ($_SERVER['HTTP_CONNECTION']!='') { $_array[] = 4; }
if (count($_array) < 3){
$BVersion = "bad; ACCEPT=".$_SERVER['HTTP_ACCEPT'].
"; ENCODING=".$_SERVER['HTTP_ACCEPT_ENCODING'].
"; LANGUAGE=".$_SERVER['HTTP_ACCEPT_LANGUAGE'].
"; CONNECTION=".$_SERVER['HTTP_CONNECTION'];
}
}
return array ($BName,$BVersion,$BPlatform,$Brobot);
}
// $user_agent - строка о броузере
$user_agent = $HTTP_SERVER_VARS["HTTP_USER_AGENT"];
// применим основную функцию
$user_arr = detect_browser($user_agent);
// имя броузера
$BName = $user_arr[0];
// версия
$BVersion = $user_arr[1];
// платформа
$BPlatform = $user_arr[2];
// имя робота
$Brobot = $user_arr[3];
// Плохой броузер
if ( preg_match ("~bad~", $BVersion)){
$BName = 'Robot';
$Brobot = 'Unknown';
$user_agent = $BVersion;
}?>
теперь если после него вывести
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php if ($Brobot == "Unknown"){
// печатаем пользователю, что он плохой
print "Вы неопределённый Робот!";
// останавливаем программу
exit ;
}
elseif ($BName == "Robot"){
// если робот хороший
print "Вы Робот по имени $Brobot";
// даём индексировать весь сайт
}
elseif ($BPlatform == 'MobilePhone'){
// если на сайт мобилный телефон
print "Вы мобилный телефон по имени $BName $BVersion<br>";
// далее идёт WAP версия сайта
exit ;
}
elseif ($Brobot == "Browser"){
// если на сайт зашёл броузер
print "Вы броузер по имени $BName $BVersion<br>";
print "Ваша операционка $BPlatform";
}?>
то на странице вверху отобразится
Code:
Вы броузер по имени Opera 9.8
Ваша операционка Linux
Ваша операционка Linux
НО. Это сделано не для того чтобы пользователь знал о себе, а для того, чтобы в зависимости от браузера выдавать разные ссылки для
Цитата
$html = $this->Parser->getAndParse('main.html' );
Code:
if (!empty($this->template) && $this->wrap == true) {
1
2
3
4
5
6
7
<?php if (!empty($this->template) && $this->wrap == true) {
$html = $BName;
$html = $this->Parser->getAndParse('main.html' );
.........?>
не работает. Как правильно сделать?
На всякий случай прикрепил файл
Отправлено: 18 Мая 2011#20
Я бы сделал по проще. Например поместить данные о юзере в сессию(точнее туда надо поместить лишь какой нибудь флаг, говорящий о том какую версию сайта отдавать). Например
После чего уже в самой функции getAndParse() в файле /sys/fnc/document_parser.class.php
сделать проверку этой переменной и в зависимости от не отдавать файлы либо WAP либо WEB.
Например
1
2
<?php $_SESSION['site_version'] = 'wap';?>
После чего уже в самой функции getAndParse() в файле /sys/fnc/document_parser.class.php
сделать проверку этой переменной и в зависимости от не отдавать файлы либо WAP либо WEB.
Например
1
2
<?php $file = ($_SESSION['site_varsion'] == 'wap') ? 'wap_' . $file : $file;
// Дальше как обычно. В этом примере подразумевается что файлы шаблонов для вапа будут с приставкой "wap_" и находиться в тех же каталогах?>
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Зарегистрируйтесь или авторизуйтесь что бы писать
Сейчас online: 93. Зарегистрированных: 0. Гостей: 93.